From f52ff61cdff0d7ee11bd46e52ff94914e9cb5ded Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 08:18:58 +0000 Subject: [PATCH 001/122] Update peter-evans/create-pull-request action to v7 --- .github/workflows/sync-localazy.yml | 2 +- .github/workflows/sync-sas-strings.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync-localazy.yml b/.github/workflows/sync-localazy.yml index 1330b373bf..f559386ffe 100644 --- a/.github/workflows/sync-localazy.yml +++ b/.github/workflows/sync-localazy.yml @@ -36,7 +36,7 @@ jobs: ./tools/localazy/importSupportedLocalesFromLocalazy.py ./tools/test/generateAllScreenshots.py - name: Create Pull Request for Strings - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.DANGER_GITHUB_API_TOKEN }} commit-message: Sync Strings from Localazy diff --git a/.github/workflows/sync-sas-strings.yml b/.github/workflows/sync-sas-strings.yml index d06cfe268a..632eb5d8ec 100644 --- a/.github/workflows/sync-sas-strings.yml +++ b/.github/workflows/sync-sas-strings.yml @@ -23,7 +23,7 @@ jobs: - name: Run SAS String script run: ./tools/sas/import_sas_strings.py - name: Create Pull Request for SAS Strings - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: commit-message: Sync SAS Strings title: Sync SAS Strings From 6f4150b0cd605ecdaaf34538bebf4c702b76613d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 21:53:43 +0000 Subject: [PATCH 002/122] Update activity to v1.9.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dac2dea103..374aaa2e36 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,7 +19,7 @@ datastore = "1.0.0" constraintlayout = "2.1.4" constraintlayout_compose = "1.0.1" lifecycle = "2.8.4" -activity = "1.9.1" +activity = "1.9.2" media3 = "1.4.1" camera = "1.3.4" From 73bbd1e62a2ed2b202f302aa9337cf19f34876eb Mon Sep 17 00:00:00 2001 From: ganfra Date: Mon, 9 Sep 2024 14:49:53 +0200 Subject: [PATCH 003/122] Pinned messages list : hide reactions. --- .../list/PinnedMessagesListPresenter.kt | 9 ++- .../impl/timeline/TimelinePresenter.kt | 10 ++- .../factories/TimelineItemsFactory.kt | 15 +++- .../factories/TimelineItemsFactoryConfig.kt | 18 +++++ .../event/TimelineItemEventFactory.kt | 22 +++++- .../messages/impl/MessagesPresenterTest.kt | 4 +- .../fixtures/TimelineItemsFactoryFixtures.kt | 72 ++++++++++++------- .../list/PinnedMessagesListPresenterTest.kt | 4 +- .../impl/timeline/TimelinePresenterTest.kt | 6 +- 9 files changed, 117 insertions(+), 43 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactoryConfig.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index f005690ef0..6c06bb5474 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -27,6 +27,7 @@ import io.element.android.features.messages.impl.actionlist.model.TimelineItemAc import io.element.android.features.messages.impl.pinned.PinnedEventsTimelineProvider import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory +import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter @@ -55,7 +56,7 @@ import kotlin.time.Duration.Companion.milliseconds class PinnedMessagesListPresenter @AssistedInject constructor( @Assisted private val navigator: PinnedMessagesListNavigator, private val room: MatrixRoom, - private val timelineItemsFactory: TimelineItemsFactory, + timelineItemsFactoryCreator: TimelineItemsFactory.Creator, private val timelineProvider: PinnedEventsTimelineProvider, private val snackbarDispatcher: SnackbarDispatcher, actionListPresenterFactory: ActionListPresenter.Factory, @@ -65,6 +66,12 @@ class PinnedMessagesListPresenter @AssistedInject constructor( fun create(navigator: PinnedMessagesListNavigator): PinnedMessagesListPresenter } + private val timelineItemsFactory: TimelineItemsFactory = timelineItemsFactoryCreator.create( + config = TimelineItemsFactoryConfig( + computeReadReceipts = false, + computeReactions = false, + ) + ) private val actionListPresenter = actionListPresenterFactory.create(PinnedMessagesListTimelineActionPostProcessor()) @Composable diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index 9466ac16f5..e4287cb3ed 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -22,6 +22,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import io.element.android.features.messages.impl.MessagesNavigator import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory +import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.voicemessages.timeline.RedactedVoiceMessageManager @@ -54,7 +55,7 @@ import kotlinx.coroutines.withContext const val FOCUS_ON_PINNED_EVENT_DEBOUNCE_DURATION_IN_MILLIS = 200L class TimelinePresenter @AssistedInject constructor( - private val timelineItemsFactory: TimelineItemsFactory, + timelineItemsFactoryCreator: TimelineItemsFactory.Creator, private val timelineItemIndexer: TimelineItemIndexer, private val room: MatrixRoom, private val dispatchers: CoroutineDispatchers, @@ -71,6 +72,13 @@ class TimelinePresenter @AssistedInject constructor( fun create(navigator: MessagesNavigator): TimelinePresenter } + private val timelineItemsFactory: TimelineItemsFactory = timelineItemsFactoryCreator.create( + config = TimelineItemsFactoryConfig( + computeReadReceipts = true, + computeReactions = true, + ) + ) + @Composable override fun present(): TimelineState { val localScope = rememberCoroutineScope() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt index 18f48c5e11..f9857328cd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt @@ -7,6 +7,9 @@ package io.element.android.features.messages.impl.timeline.factories +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject import io.element.android.features.messages.impl.timeline.TimelineItemIndexer import io.element.android.features.messages.impl.timeline.diff.TimelineItemsCacheInvalidator import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemEventFactory @@ -26,15 +29,21 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext -import javax.inject.Inject -class TimelineItemsFactory @Inject constructor( +class TimelineItemsFactory @AssistedInject constructor( + @Assisted config: TimelineItemsFactoryConfig, + eventItemFactoryCreator: TimelineItemEventFactory.Creator, private val dispatchers: CoroutineDispatchers, - private val eventItemFactory: TimelineItemEventFactory, private val virtualItemFactory: TimelineItemVirtualFactory, private val timelineItemGrouper: TimelineItemGrouper, private val timelineItemIndexer: TimelineItemIndexer, ) { + @AssistedFactory + interface Creator { + fun create(config: TimelineItemsFactoryConfig): TimelineItemsFactory + } + + private val eventItemFactory = eventItemFactoryCreator.create(config) private val _timelineItems = MutableSharedFlow>(replay = 1) private val lock = Mutex() private val diffCache = MutableListDiffCache() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactoryConfig.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactoryConfig.kt new file mode 100644 index 0000000000..3fbbc10acb --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactoryConfig.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.factories + +/** + * Some data used to configure the creation of timeline items. + * @param computeReadReceipts when false, read receipts will be empty. + * @param computeReactions when false, reactions will be empty. + */ +data class TimelineItemsFactoryConfig( + val computeReadReceipts: Boolean, + val computeReactions: Boolean, +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt index dd7b5591fe..c71e9f6a26 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt @@ -7,6 +7,10 @@ package io.element.android.features.messages.impl.timeline.factories.event +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.groups.canBeDisplayedInBubbleBlock import io.element.android.features.messages.impl.timeline.model.AggregatedReaction import io.element.android.features.messages.impl.timeline.model.AggregatedReactionSender @@ -26,17 +30,23 @@ import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.item.event.getAvatarUrl import io.element.android.libraries.matrix.api.timeline.item.event.getDisambiguatedDisplayName import io.element.android.libraries.matrix.ui.messages.reply.map +import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList import java.text.DateFormat import java.util.Date -import javax.inject.Inject -class TimelineItemEventFactory @Inject constructor( +class TimelineItemEventFactory @AssistedInject constructor( + @Assisted private val config: TimelineItemsFactoryConfig, private val contentFactory: TimelineItemContentFactory, private val matrixClient: MatrixClient, private val lastMessageTimestampFormatter: LastMessageTimestampFormatter, private val permalinkParser: PermalinkParser, ) { + @AssistedFactory + interface Creator { + fun create(config: TimelineItemsFactoryConfig): TimelineItemEventFactory + } + suspend fun create( currentTimelineItem: MatrixTimelineItem.Event, index: Int, @@ -92,8 +102,11 @@ class TimelineItemEventFactory @Inject constructor( } private fun MatrixTimelineItem.Event.computeReactionsState(): TimelineItemReactions { + if (!config.computeReactions) { + return TimelineItemReactions(reactions = persistentListOf()) + } val timeFormatter = DateFormat.getTimeInstance(DateFormat.SHORT) - var aggregatedReactions = event.reactions.map { reaction -> + var aggregatedReactions = this.event.reactions.map { reaction -> // Sort reactions within an aggregation by timestamp descending. // This puts the most recent at the top, useful in cases like the // reaction summary view or getting the most recent reaction. @@ -129,6 +142,9 @@ class TimelineItemEventFactory @Inject constructor( private fun MatrixTimelineItem.Event.computeReadReceiptState( roomMembers: List, ): TimelineItemReadReceipts { + if (!config.computeReadReceipts) { + return TimelineItemReadReceipts(receipts = persistentListOf()) + } return TimelineItemReadReceipts( receipts = event.receipts .map { receipt -> diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 6109b6f1c3..df873d2328 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -18,7 +18,7 @@ import io.element.android.features.messages.impl.actionlist.FakeActionListPresen import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.draft.FakeComposerDraftService import io.element.android.features.messages.impl.fixtures.aMessageEvent -import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactory +import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.messagecomposer.DefaultMessageComposerContext import io.element.android.features.messages.impl.messagecomposer.FakeRoomAliasSuggestionsDataSource import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter @@ -1024,7 +1024,7 @@ class MessagesPresenterTest { permissionsPresenterFactory, ) val timelinePresenter = TimelinePresenter( - timelineItemsFactory = aTimelineItemsFactory(), + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), room = matrixRoom, dispatchers = coroutineDispatchers, appScope = this, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt index ee6db627e5..c9439e0a3f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt @@ -9,6 +9,7 @@ package io.element.android.features.messages.impl.fixtures import io.element.android.features.messages.impl.timeline.TimelineItemIndexer import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory +import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemContentFactory import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemContentFailedToParseMessageFactory import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemContentFailedToParseStateFactory @@ -39,40 +40,56 @@ import io.element.android.libraries.mediaviewer.api.util.FileExtensionExtractorW import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.test.TestScope +internal fun TestScope.aTimelineItemsFactoryCreator( + timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), +): TimelineItemsFactory.Creator { + return object : TimelineItemsFactory.Creator { + override fun create(config: TimelineItemsFactoryConfig): TimelineItemsFactory { + return aTimelineItemsFactory(config, timelineItemIndexer) + } + } +} + internal fun TestScope.aTimelineItemsFactory( - timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer() + config: TimelineItemsFactoryConfig, + timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), ): TimelineItemsFactory { val timelineEventFormatter = aTimelineEventFormatter() val matrixClient = FakeMatrixClient() return TimelineItemsFactory( dispatchers = testCoroutineDispatchers(), - eventItemFactory = TimelineItemEventFactory( - contentFactory = TimelineItemContentFactory( - messageFactory = TimelineItemContentMessageFactory( - fileSizeFormatter = FakeFileSizeFormatter(), - fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), - featureFlagService = FakeFeatureFlagService(), - htmlConverterProvider = FakeHtmlConverterProvider(), + eventItemFactoryCreator = object : TimelineItemEventFactory.Creator { + override fun create(config: TimelineItemsFactoryConfig): TimelineItemEventFactory { + return TimelineItemEventFactory( + contentFactory = TimelineItemContentFactory( + messageFactory = TimelineItemContentMessageFactory( + fileSizeFormatter = FakeFileSizeFormatter(), + fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), + featureFlagService = FakeFeatureFlagService(), + htmlConverterProvider = FakeHtmlConverterProvider(), + permalinkParser = FakePermalinkParser(), + textPillificationHelper = FakeTextPillificationHelper(), + ), + redactedMessageFactory = TimelineItemContentRedactedFactory(), + stickerFactory = TimelineItemContentStickerFactory( + fileSizeFormatter = FakeFileSizeFormatter(), + fileExtensionExtractor = FileExtensionExtractorWithoutValidation() + ), + pollFactory = TimelineItemContentPollFactory(FakeFeatureFlagService(), FakePollContentStateFactory()), + utdFactory = TimelineItemContentUTDFactory(), + roomMembershipFactory = TimelineItemContentRoomMembershipFactory(timelineEventFormatter), + profileChangeFactory = TimelineItemContentProfileChangeFactory(timelineEventFormatter), + stateFactory = TimelineItemContentStateFactory(timelineEventFormatter), + failedToParseMessageFactory = TimelineItemContentFailedToParseMessageFactory(), + failedToParseStateFactory = TimelineItemContentFailedToParseStateFactory(), + ), + matrixClient = matrixClient, + lastMessageTimestampFormatter = FakeLastMessageTimestampFormatter(), permalinkParser = FakePermalinkParser(), - textPillificationHelper = FakeTextPillificationHelper(), - ), - redactedMessageFactory = TimelineItemContentRedactedFactory(), - stickerFactory = TimelineItemContentStickerFactory( - fileSizeFormatter = FakeFileSizeFormatter(), - fileExtensionExtractor = FileExtensionExtractorWithoutValidation() - ), - pollFactory = TimelineItemContentPollFactory(FakeFeatureFlagService(), FakePollContentStateFactory()), - utdFactory = TimelineItemContentUTDFactory(), - roomMembershipFactory = TimelineItemContentRoomMembershipFactory(timelineEventFormatter), - profileChangeFactory = TimelineItemContentProfileChangeFactory(timelineEventFormatter), - stateFactory = TimelineItemContentStateFactory(timelineEventFormatter), - failedToParseMessageFactory = TimelineItemContentFailedToParseMessageFactory(), - failedToParseStateFactory = TimelineItemContentFailedToParseStateFactory(), - ), - matrixClient = matrixClient, - lastMessageTimestampFormatter = FakeLastMessageTimestampFormatter(), - permalinkParser = FakePermalinkParser(), - ), + config = config + ) + } + }, virtualItemFactory = TimelineItemVirtualFactory( daySeparatorFactory = TimelineItemDaySeparatorFactory( FakeDaySeparatorFormatter() @@ -80,6 +97,7 @@ internal fun TestScope.aTimelineItemsFactory( ), timelineItemGrouper = TimelineItemGrouper(), timelineItemIndexer = timelineItemIndexer, + config = config ) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt index 03927ec994..a3b5539f4f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt @@ -10,7 +10,7 @@ package io.element.android.features.messages.impl.pinned.list import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.actionlist.FakeActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction -import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactory +import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.pinned.PinnedEventsTimelineProvider import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.networkmonitor.api.NetworkMonitor @@ -318,7 +318,7 @@ class PinnedMessagesListPresenterTest { return PinnedMessagesListPresenter( navigator = navigator, room = room, - timelineItemsFactory = aTimelineItemsFactory(), + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), timelineProvider = timelineProvider, snackbarDispatcher = SnackbarDispatcher(), actionListPresenterFactory = FakeActionListPresenter.Factory, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt index e90a781918..9df9dfc9f8 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt @@ -14,9 +14,8 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.FakeMessagesNavigator import io.element.android.features.messages.impl.fixtures.aMessageEvent -import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactory +import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.timeline.components.aCriticalShield -import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.voicemessages.timeline.FakeRedactedVoiceMessageManager @@ -662,7 +661,6 @@ import kotlin.time.Duration.Companion.seconds liveTimeline = timeline, canUserSendMessageResult = { _, _ -> Result.success(true) } ), - timelineItemsFactory: TimelineItemsFactory = aTimelineItemsFactory(), redactedVoiceMessageManager: RedactedVoiceMessageManager = FakeRedactedVoiceMessageManager(), messagesNavigator: FakeMessagesNavigator = FakeMessagesNavigator(), endPollAction: EndPollAction = FakeEndPollAction(), @@ -671,7 +669,7 @@ import kotlin.time.Duration.Companion.seconds timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), ): TimelinePresenter { return TimelinePresenter( - timelineItemsFactory = timelineItemsFactory, + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), room = room, dispatchers = testCoroutineDispatchers(), appScope = this, From 0bf846086f6ec6e987b7a58707c9e0ef13d7d61e Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 10 Sep 2024 13:49:12 +0200 Subject: [PATCH 004/122] Pinned messages : allow to unpin redacted message --- .../features/messages/impl/actionlist/ActionListPresenter.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt index 840e12583f..f4882ea7b0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt @@ -190,9 +190,9 @@ private fun List.postFilter(content: TimelineItemEventConten when (content) { is TimelineItemCallNotifyContent, is TimelineItemLegacyCallInviteContent, - is TimelineItemStateContent, + is TimelineItemStateContent -> action == TimelineItemAction.ViewSource is TimelineItemRedactedContent -> { - action == TimelineItemAction.ViewSource + action == TimelineItemAction.ViewSource || action == TimelineItemAction.Unpin } else -> true } From 004cb7404a9a514ddd64d96375a48b882ea11e6c Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 10 Sep 2024 13:49:40 +0200 Subject: [PATCH 005/122] Pinned messages : remove redact action from the pinned message list action menu. --- .../list/PinnedMessagesListPresenter.kt | 8 ----- ...MessagesListTimelineActionPostProcessor.kt | 1 - .../list/PinnedMessagesListPresenterTest.kt | 29 ------------------- 3 files changed, 38 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index c25675c7f7..4b6f3e64d4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -112,7 +112,6 @@ class PinnedMessagesListPresenter @AssistedInject constructor( targetEvent: TimelineItem.Event, ) = launch { when (action) { - TimelineItemAction.Redact -> handleActionRedact(targetEvent) TimelineItemAction.ViewSource -> { navigator.onShowEventDebugInfoClick(targetEvent.eventId, targetEvent.debugInfo) } @@ -142,13 +141,6 @@ class PinnedMessagesListPresenter @AssistedInject constructor( } } - private suspend fun handleActionRedact(event: TimelineItem.Event) { - timelineProvider.invokeOnTimeline { - redactEvent(eventId = event.eventId, transactionId = event.transactionId, reason = null) - .onFailure { Timber.e(it) } - } - } - @Composable private fun userEventPermissions(updateKey: Long): State { return produceState(UserEventPermissions.DEFAULT, key1 = updateKey) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListTimelineActionPostProcessor.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListTimelineActionPostProcessor.kt index 3e88a9d716..48fdb83d79 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListTimelineActionPostProcessor.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListTimelineActionPostProcessor.kt @@ -17,7 +17,6 @@ class PinnedMessagesListTimelineActionPostProcessor : TimelineItemActionPostProc actions.firstOrNull { it is TimelineItemAction.Unpin }?.let(::add) actions.firstOrNull { it is TimelineItemAction.Forward }?.let(::add) actions.firstOrNull { it is TimelineItemAction.ViewSource }?.let(::add) - actions.firstOrNull { it is TimelineItemAction.Redact }?.let(::add) } } } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt index 0478e08934..48a0cf5e5e 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt @@ -19,7 +19,6 @@ import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatch import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.test.FakeFeatureFlagService import io.element.android.libraries.matrix.api.core.EventId -import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo @@ -138,34 +137,6 @@ class PinnedMessagesListPresenterTest { } } - @Test - fun `present - redact event`() = runTest { - val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) } - val pinnedEventsTimeline = createPinnedMessagesTimeline().apply { - this.redactEventLambda = redactEventLambda - } - val room = FakeMatrixRoom( - pinnedEventsTimelineResult = { Result.success(pinnedEventsTimeline) }, - canRedactOwnResult = { Result.success(true) }, - canRedactOtherResult = { Result.success(true) }, - canUserPinUnpinResult = { Result.success(true) }, - ).apply { - givenRoomInfo(aRoomInfo(pinnedEventIds = listOf(AN_EVENT_ID))) - } - val presenter = createPinnedMessagesListPresenter(room = room, isFeatureEnabled = true) - presenter.test { - skipItems(3) - val filledState = awaitItem() as PinnedMessagesListState.Filled - val eventItem = filledState.timelineItems.first() as TimelineItem.Event - filledState.eventSink(PinnedMessagesListEvents.HandleAction(TimelineItemAction.Redact, eventItem)) - advanceUntilIdle() - cancelAndIgnoreRemainingEvents() - assert(redactEventLambda) - .isCalledOnce() - .with(value(AN_EVENT_ID), value(null), value(null)) - } - } - @Test fun `present - unpin event`() = runTest { val successUnpinEventLambda = lambdaRecorder { _: EventId? -> Result.success(true) } From 5dab1fdf4d9198d5f0b109f85cb7afed86d2ed5e Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 10 Sep 2024 13:56:00 +0200 Subject: [PATCH 006/122] Pinned messages : enabled by default --- .../element/android/libraries/featureflag/api/FeatureFlags.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index cc312b681e..124d3a3318 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -115,7 +115,7 @@ enum class FeatureFlags( key = "feature.pinnedEvents", title = "Pinned Events", description = "Allow user to pin events in a room", - defaultValue = { false }, + defaultValue = { true }, isFinished = false, ), SyncOnPush( From d2029c96a6a79ff8fc957f5bfba7a56d66d7e514 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 10 Sep 2024 15:01:02 +0200 Subject: [PATCH 007/122] Add new image for the stores. --- .../en-US/images/phoneScreenshots/5.png | Bin 0 -> 2529493 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/5.png diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png new file mode 100644 index 0000000000000000000000000000000000000000..b317b7de644e91ed81e9b3074979b00fbe6a0c77 GIT binary patch literal 2529493 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%0A>YD;*lF`dP3rK9SXWYRs0V9DltbM$w;)Uk zB>*8*`^w_55M1Bhz`O6hlf@J-zE0sS^=AB1?vJ=bg+762;)6L)@Q|WHAb-+iWByThn5}XV~^U%8gAwJSn^^==eR5z zLtnpo1@FIq55MEsjz>L$&0Y&^RMOAK@Zxf2>9pYsfNFfMf+UKXa#jUUL!X7V{rx(J zd%AOjvuPcnRExI^=$^VL?xeAw|M-W0g4b_e!~gw%|KDW;f))MKs?f7X7-t}Vv*O@r z9?GvQLC+nUqc@r3x6o^MJ0+nNhpNriziv_c@A?3jupJeSv|?Pmeci>7@FBj_4K3$ zvsq%PlEio9n3j_zVR9U^QHx>Xv_u-8(s(_0JB*dO;Pfy9oOn#bqA&0OoKW-0k}0ae zGWaBQed@5Jo;GrhGWe~Jk$q|K($g#L@ZhM&_^U@is2RaiPbzW_OkR~S^eL26rx+$E zHz|4}cr&L=oSBBH#)0lsjGm;(K5k-02f0!MP;BglT+;go`;A7}WZ5Ng(j;*g$73Y% ztHzcoJf$aaL$$zT8+5!O(%{=!AW^{qsW+d=IyA32?vtNLk$A!ENq3>4iR2j@zaJh0 zf7}I+TQ1(6Y?PVR82)4)*MV(Rt}k^phN(t{EGd>J=;DnN?)DRs%0i6@Jb^>Z~IzgcB2DSzN=E_#I;%G9vQ8=VI;;wE&iXQ&q)Z@RgGnlDb0 z%gKNr)=kRr5C@HSdK8c3ql}%rZQ;b&FwFjV9!i6=aapCWkvccbgO5go?+ddSU&A#^B z*!hzuZa!GJAN}4|Me&D-<_)YIO-?^7=`~BCTQ8Bc&UN+4bnY1Ug^KQ=^|LMuk7fup znI1Ylhq1W26k5HuM2Bwl0-*K;qY`h>r+W`OpY%EJ8+lF(Qv;91h6W9J=RE7gr!1Zx z#Mp3gp>R9B9wwz6PH4(=d0ywN=U>rHA)9mH?JowOpZv&;#0YbP8h`ov@3_Y%Tm z76bPp4j11{zwG2{;pz6R=yy3c{RCKsP}1*EoR;)tMyOQ*qmn}SJnPB<2iw8H6S@4s zBFKraq>Z$VSecn{r=ns1rMjuMG6~DRq4!Z~d?A!nP&0I85 zP8(QL6eeAqwf{N&LR;5h<^~ROZUOk*>igcq)nEU3`(M>xh6SZZ5rSjy8Uep&Alw5a zpBpQ0h!0XxD9726x01v>B*_~xz#tcUNAHmhv zySc~znCFw8l_}b&0gj&FtZLm&1yWR9Y5gAv-S(&&MeZ(B20M1D|?k%|_c41D!g|7DM^37r`Medt5*c=5E;}w3m>Z zlPfiRxdBZ+%l_Sv{RgLM*nBFMzR;yAfU9f;C~~Nk?a@NZt6F_R{28Dx7EP^)ndA`?Bir>l4K3APM^3u914QR=v7{z@wGGPjgJ`y?Wy;*GcYlNE|hbK z^lZiy3rG!nA~_kJ9;1EgKA*d2M+b4-IC83vmQ&K^LeXV>eEf@(y$Sokb#u8j32@6Z z5W2N}Iylrav1qQZ+MMn^O|63+427wNPN;_Iwr9@0MjW%dHpQsnT@c?*eir8seU-Y( ztSqUHRtSj>N%~(Z#IClVVJ|iF%H-v<@)M+lEup)3eZGO}G~jf=T|L+) z`ecb@{Y2%rm8YG$QzU_?K(I)mZa8Tx9}q$ZS;~ou>iz>B&!6g8w6knH3#c1!zNVrl z`9^`w?1lyr#!R9#NP`<_Zdv`5f%CfXmLEJbx2bCyy5e158or2qx3U7I`$2sJc}nzSvuRwxqdW20Km)ae@@N=gXnAtrUB7_ilt z;zL&^1#nJVlmzZj^a~Bjj4VXw#l2y`*3B55z=*S&i#sTZbqb0H7lFn=bU9a*4~l

SXbZXWgJuwsNNc3ONjbD|z8t9oiM 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 tqgEJAMcvK}H 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%0D>` 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𝔯d|O-!_JxTI24HzWd=v-O2oo zZ+xRiTDH8YjW63FgF0?=U|Ym<>VCi~Q__lySDP<%()<0GG4?q!$4G;JL3$&?D7#Dn zz(o)HBHa7CzFzE5vQx;Sw8QmZZOVfU)XADj3n^W$(?NQI7EfO?y}Fl-<^C zTCU|wE(_C%eA_jgST&drs!dcx@;x@_5rV1%8vZ@+ZNv8hIf2#o75LlYQ{_U+??8CS z9-aec!xkIFsNP^|qU>&{oTypdvAilB>2o%F!iFp=C(!{U<}7Y6W2AqsXZ?3euisdH zW83}X3xbh;*o1JyU#r*VzWtqUPm$Y~H97cMdPwJ07io^e9!VT$59B~S#Yfvs(La4x z!hjT!e9_x3-|e`CEwsbD{=2ONooSwH_Ba_Ww&*)j<%T8?jj1zlag$|IbnCY13vPdj znc!}r^F!B|&UNYGJ0q6$KE~YU(C@c-YV&Y)#&v_?op;`&C(oYHkNi_V(%b%_-|;)> z<;&0M>tFvmy?FkdzV^$%L@!^w=(|1c&uzAR`wKhGldJh;ZLlSXl78LB$XzU9eg!Rh zIp)+UI499=F>&;BRrdo#{3n4QhT{|6lr`qRp^66CRNZiV^zS z(L+(Ga~~hVM2=YCH*CL@y?DvMv-9%lbf>UM-2X9yGvsFgNITUx>(BWm)}p-kc^%^9 z0G1hUj((5#bFPnuVY27^|JB$bP6Rgm(4@==>5>zW5yzZw2-r`Dq72{na%fS^;CaZ) zKb9LA=%IT@&u~Fi7=`zE9q~YBu+A7`9K$$1Y;VMO_9?ps!BL%YoYiS7A-EqZpRx}+ zwfRjrj^}CK9`D9H2;E&9M{Of59kmNcKfr62@5WO^P6)eJG%GD{|^1jKmNz*pZx>>f*!8)&?OJvm^|kP%JaqA-a}i8_hDJViM99X;_XPj8)F`^ZM0G`g?!lFVo-qYk!Hp^{cefnVg5{iZ{m`iO}F`4jEYsGr>Qyx0&C=p6=lDdhfO zn2xD~BnA&U zosQ^pl+%xVT$gqaR=8v%axJKL9smowV?x}HEgMffqA_v%(2WVE-OvgN;{&_z?Cjf} zHO)l62=a6{exO-%G`C3S&p%g3^i4mUYwf851ahwKd79qpVz3Ky;WcQ3Sj5R8zAn=r zfQE7t{?I;^u<2cXJ}hji?XJJWDa~(*lnd9xvRprR-D1VT)+=Iq)+*wP9s)4sHya!m ztVDZmbG}nn$AA?vIOWNaL3noepnkm(zed^X^rA`uUWo3mL;5VTO7)5#Vwz;BJlosn zt)wJMd?$SF;3!=_K!Y<4Jii{|1<8*YvR#bIW1Kw6tB2)f_k}3vj&$utlv2eWxI^0Y zWOG#amx1S(wolIv>G$4$ugkf2&M$6TphI(>iybsv*NWby5K`E~cI3f`flg(2Kaq;^ zHsloWyvw6ezZ32Gps43z-3twZ%}>SNN2xGdt0V2z89b8Z*gfy$FYkC+N^|^3y&p)U z$Js7NK8hLq;tc5QU@17<(QI`+^+rc8tPeQ#l#3pHwu$A3UNn@T{SGHI;J|PXhY{|_ zAcK;4$p81C4B^rLhkmh%j|q5X=35zmm+vyl^xD?=eZ186{9gTk6zhWr{Z#s+-kbCj zzs+yb(;6M*s@}^XF0#Pwc`WPY5ynUR|Asam_WyAi^JtXx`ClLh^oWE@2*pnE+7ls_ zvMCT11Vs`6)bYNVSmPcE6OK>p?}14?BECzL?)PS8XV;7|#)I%?FwWXegEiZmjpqoy zBZ5$)hIT?=gy+(=6B;vRHNX_}9J)`+oQ<#^&E?1_7oaS4z1>54q!hqMbRXr~r{<10 zq?Zs}SG^C|LnD7$dhdV~dZ6i} zXK-DTKaW`yXW5}$qDR+$2t#GP!R5)cl^OoI+>u(4sc-$hJHMp(&bPin|M2hrE&A!d z@)zl|Pd+j_Ym2jVsyW?9OC|#%@1Zz|8<0BhK+32)HC0TBJDlbT+FVY_(kX z(havgUnSa$LLmzmOM&5sfAUG^?dr*Omp|86PYO?L_h&vk>)_`t%J1x4{`lihd-VJ# zpMFBOXQ%VWpM2UK&@H8l&aFmmUteDv&Q3AD-k!@vi+0qgWNtUeWkA~dROFvJEFnj7 z%&|R}ywA|5Q=8i&&O1KmD*r4B-C*zewLJnlrcVNnX3uyeJCg^;P@%h=;VNU?bn-dZ zHt108NB^zAj*FBz4p$xNP%o7)lwrDPE;k<66Cw@fFjA3a$r(y>=_TiX-?ly}!`WQN)OAUewtVigNlDe> zdZ6)0e-YabAhZZ|G3qONL?p(qy9QiGs(k5bZ+hw}--(LjR0fCBTS+s5pB@?RUD3)aPQ+hcn>Jx9u0 zniD@|<(N0T6ol*&>&=v_N&@haBCch=gUZ zb8)S1BZ~H@w%GsemRvtqVara2_FSe#APf2`Cb-)W%6v+Gl za%PUmOA|4B#{BRk*84d&alvzNrP8psF_hnBV5%fg4x*N!Et>pB8I$nMne@`UKQxBp zzQ4qV$Z+#vEAR@(wome zr&lkY)3?6bOr19_oH(0Z42uwb+ON1Ef1rfcN{pVc8ZT@ zXD3neiaM0d`2e_fymZ%nlA6iAdD;HlXg%|)>zw<+Xf0Jhvm@TTx$TaY7cX9R$8$Su zu)X;C{QTmgrP;VY-&-xULUK~24Ij%CCycm(+dQiyX&VII@+rfjg?NI;Xn$^_tJzgk z>rBD+j(yD``6BB`#-o%8k%sbHE^+ZOrOitxPgY#=q`i4B?#_^%9Y`Q1UB_a(pd%=q z+!fb#xDg3Hl-uPJ=Hh z&)~n27!7423BQ!dR%bWa+C!wi_;Oq2$bKldVC{`kjCQ!4W6yb`@TB2z3sXiW9UNaX z8R1eId3#4sZcBMLGV?u{y~3jDY@{93sxP~F@tpXl-rKwHzT02Ked$XdoL{`(_tZq_ z@XmEBVvuOh(|#{`*T+;wIND@@D<3MGRkmv$br1PEb^v3hx@dmMFn3^4pR%ajOvmtHqb*`@emjxqY zOr;llK^s{tk8>Nj`V`n-lBo$mLg{=CyUS3e4R-BqYo;T9$)CR!{y(``X0`^Kugj3e z=e{ie9%EXnFX?F9SoipO%Et%sHbAZ-yw-7F2)^)kSjWC+_(Mt+TR@?Vx&+^2p3kmh zSPXZ=vxG2Z^wn(gN5E#^5r9jRhTl;rX89_T!gv=GNL)pSzonK(AmxZCkDkqla4b8P zAD<6AeR%B{*#`;Fr{xdEJ}Yk!?Hi~0JmEdOoDp{ShIvQlvzFO{5FZjeM^~8#;_3Yy zCp`#b^f#G9RGvja9gH<$=b&R(GIl$e&IF1ZsL~q~SFC-K#FB{G;*wEVS{`U(jubU9 zDgA_TKdh^j5jP^0hn83zjnNM_o{ec6XV`h0LS@Goc6g3YQ}vD~d&?X-prslPdia$K zs%i)~gYWq#ANOe2fBf_RfZqGy%l+?%e%FuESAXbt(3ijZgY>~yzC!Q5|3N>%@ag%_ zBMBXcOhkL5D`^~+5D#M+2bkxF9ho2ABjk^C)?+Gg(bPb#?Jk7*xS95Ahi#}XyB676 zqDRQ1+V%twsN?*%!QjT>%uRG84;$`V)cfu28@he{nqIzqL7#o}UHa_f@6t!#{&o8B zH@-zLKKq1j&dz9$R%rjVe5k%FX|V&PS`=oFZDEwzMp`71H&}v0@-G%py^`mLm4K13 zoRt;pz+bfFr$xeu!OI*6a|KS>kOJihdG@~lS`H8 zKjr|*N8yMu8_&7}>gGw2XwW-Ksiz%2#6T^v1!EMp7z^=bRuX?fOPCj zG4xz}utvij3>h=#NbiMdf;F%AIu zpvv&k$d9|7j#HROs?ESX_E+pQI=%uY7OA|_mP6rmIC}0X-}B71F5?!m^{s-xm65vE?*RU*w;ri|qElz9s}?=koh6HYhKw(H+mvKYQMt)348t>1He3 z+e;@;*WtS&5>7IiuvUC{890c!aI)mAX&YPED#%K%_Hynv#qS35N-+0!ZLo8~o$#kK z-8Y&)EhmU#mB@STeC2ZzbjbFctGGcr$6vT1pvyBCE;18TAYVv|PIdS<*L}Tz+^J#B zlG9LaZ{7<{6?=fT%jU-A)A7@BC3zsC49&WoxEXHONMEqU;#m6?(7`DasjOWbH^U1` z1sM8dqBw{xX-?bTYI{Q2uHCLU(*FGAYVR8&hgXk?wlW_5?BfJh21796oUVC#ABu#& zX~1ZBkt^Heq~q8Cj?_IIxQyJ*0fXN4lUkh6IP^R0$6)lEycnPg*&sMofeyzbl8TM^5PuXvVz5a6lk*(Q5iDxoFh zWs`Z$`P@@+oZ2plC%x|<_`x5f_uu~#y*}HZ@4ojgee0Xwq?)Uh&m(AM&oow$2=kuEQf2ggp6v0%TW&uA>0<$Y?n$jBMY z<7IPBGPMc3%&gDjwjCD7%Y!gXa6Hb9Uzg@#?*Gen7T4#AFpw;wDL7_Cd8soT#A7D4 z_TfO%?vkBQ7y+hfUn87HupcoVws(Zc*_diu*pARlP8>}zao#I$K?c~M!-BvW1Ch68 zFr>gez&(s{&Tt7AmYL1DgFeIM*x!-Bz&33tQz4Okm~)oo5dP9P^NtCR=(*pAEuLeW z!l1XUfGJo;-ecEbx$+cSK=g@Gtr3QRZNur2&m2Wlz-UXlM~OFB2E-!RG=AkKn1jFv z1>V94NL5ZFAMP893Ab_sy{GyO^^evskFaosuq~E9{pdsb^y81{o4@jpdwcEhrc+x` zUSI7Zy}Zo@(CO_NsZcD2#L(nh+_EG&3Vj!tk09K1=k}LwDA^%TZdj3676r+};tUi{ z1jANum;<}Ba5_YK%NE}2PLoaaa5i_Y=2|KZL{-i9ui=7`AV^A@BY)wiXz`;ZeO`R7 zBqqwN9rA7aDHk$+K;?#wJLt=d)xLdn?T)f`(97N3O>ALx_&P4|Kr~hZPv=)7^ZVgl zoZIvIV#LPM$7Pe3J4MmcM?p8aa1A0!oO!Yx%B|+aT?OWlK)jI4U;DjD7|00&)4lb3Z##2W(e0O8!0Nod zl;7hOa-cS?Y?>2FktC zm-7rw^)3{vx5PWJH;#hRa+?%IrLq*q($Ua#t?yl!<*+MI2;u|q3;2u`0i zexl@Yv;%Z7l#4AvV55y3B2Q4pyE#dHJN&kPP*oJ0%>Uu~EZ_n@P8wr()7ZQjKXb}2 zB3L|w{h_>Le^!+7nD)-AE{BId!?Rc!cSyGb1%-9Hy0nA7$hMI80}HRt?|k%`ZfS2# z>0yP-q8l66GxM&zp6CCr>m$wOywNA0Jns?CFP?waKR-V^SX!#177^`f1^i$`$2lYH zDMZqgIk1~>g31dW!=cLQm@#s(&EBt1VJL1Y<_7Xr+PVQr*Pkuwzo#?cC88X?V$9oE zH2|GEBP0%bOr7m8sLdw<<4$f75n5X1BVbGU;O#Iv5(oZC4z0gyfAy76=(4ef={%Q9 z@xv&^d**H<3S^xP0a=4J*>)7R zl-I{TM+A-Kj(*RcjgHB&kFk6*8i9h~2ix}rQaHqD?r6pOxJci%=cpW%l-(^vIwK@( zYsA6P=d6taFU=WsG*Ay|jpyy^rx%bZEZE1W$i}iWIu_e@HQx8~E&j4Q1iQ9S-N3dL zy9$If__+M4-wj~!S4;ZPY-P~9>J2kD*G)tsk~!bJJ+E|Op2-Z6C_@0$g)4e=x+ip~ zQRIMDx~?><{kWi2%W)elm!5CcdlEOZRB^Sf!`%>kT>)YMK96veuz12K-J}>2ZfJS= zP~GhIgz~As$xlPc3^a3wI$m;tU`s#t`N(J-4lE=xeaUS>Z9NB|wr{nzj3R=i1hiG} zEIuEhG{NE0|5h8PQJ_Wt3ArQMWfCYemxXBT`6pB4BW2<;MqW^sdag+8gKQ2kI!z?o z^&xeBQ+%9^-aNv^UpQ#+u;hvFHt*fQ_jbhRmn~YCGtqEFmv7Opv6}rQ9-U@_>{*>y zE;AK&pF9fu_3xX%Bw2#)I9pa6ZT9-6mrw4IQ0P7jODwwD=gs}r9gnL3%}3oV=bw?= z*V^$g!_`o+u7)#<;vw5@;B%f%{JlJ%>ErF}@amsKlw6BOLSgSvue&7BdzEk``&;yA zEWortsmH;9V~gHKI_0)aijn1gNEK|8CwdG;Ky4V#ofX zjFV4$@fBWbAZk)SBrd2&rs9o)UrIV69cKfr-RaGk`Fpl0f%O{HR{V$ zvMx6{&=9gKUX*FWo6$t(g}313;OHg(M%f^qm)db-kHOm5%kF&s?D;EwnfvMUo^qo-?>S#h`kYMH^xW7d z3LUr%5r5$}S&i2%(peC1#Kn-%dys3Cl&}0d+3&Q66?abIT~2M4N4FJsbXA`B9M3J6 zZjS_S;{rbO_RuDgY=BZ98;uN(XkrRIJk*Z#MWqqrA9rq1`K#~)Sy684a_6&o*}^!X z-F0j_qg<8z#R!MX%52E(nYn~YfCbtU5gPv^>>Y62@2H8WU5eRed^9$9XpT?i05*HN znQRChMQCnDSuvp{WopeH>bfdn*3Z-l?Pa>_vbKw__ZMj!w6Sd?OXHyj-^JWI&Us1u z%Vj?!u5!oFGMrD51`A@NI*0?-9 zX1Kc6msdafqd!c)?YDik2S~JCBH#Y?Z=YYt-}kY1T*B@x$7Sn!y*HcYEOT=Wf;8hn zO@5w-&58*3J#GIwR1 zwZi#=QLOS$|<-x9W2>cIV4mILoIf7J*lst3L>Dd?NRKF2<+XF}h~tW5AH zQCWYCek8|xr8y|&3EWvbT6Co^Q@WVW+k*y@a!rvaV9Y)Rpot|G2l}nVh&|X0U#O`e`n6pRopnw`FFT|k?X&m z_sQi#zYp~oX!DY6-Cd~r^tU^Hy8M*Ushe^Laj|ce=%L<|H*47nH}BLz)z{c#!ZUs* zO~_Dh2Nj|0nAsXfmt1;?I-9C&@cHvC#f(Fk^PS;S6q)kApN*)bpq$G&82ms5^`9&( zah5XKBXVQ6#InR;gMQB)B>j)oG0m2Oqx1Y`(RB7Qv8URw!v)&`f-T2$d-?F{^EY&N zp7%FzZn~4KrOxof8*z?MzVLw4x$VW1S*?1lm<~I_suxdM8Ox767HrOnyHhxoAX3h3 zQYPe0m(E2H9zawf%bI9YQMOZ1B~`^7(y6r_`dVrmF-HV;FSawZR|k7|aTroX2~jn$ z@^<~bmxoenIZw&q)IU=EMSDoIJZOP&ZBggXeoLjxaj3Bti{gm;Y*(Y0^I*ke-5{m^ zdLJ;)11$jfZU+DwqV|Y`sNw4ts`?& zXD>En&^2OfuXOg>xKHY&c1Ns;?e^<)xTq{W|9{1LaOu;hPkS3*djCruxaXgJc6LTz zg@akl+3F5xeYtRM;!2(E+x2z8fw;^UaIPzG+zbc$8b*xf@z7-T11w=fIigh0=L^1O zH#aAAmye|%g0%yuz3BjOK##wD4m(R-N3xA&J8kBpjW80mM~hxD{YWsJ6U?PhL?ox; zffpk($`b1Gy?sAfKK5`tZ{xTOHc08w#@KL>hmH<)m_r_pFJ!RXC8-)R#m5^Y8Pv_z zP6BD)TSW6_0>=CWUEsCKekh>X&Jj|LL2_IaHmQ$*s!i))#h54G#{nV#ANicTWs&N% zOmNuL02dZVx$&THic)q}y8Mf^qmf1uCk2nW%jr5a5@r~W_A7h}$TM|y2H zj|VuIjsLgK|CjYP86>*lr2W1cE9?!-`MslOGk|cAsU&&}gvNkF={XdU$sckkj>L3S zmIor3J)a@`X!5DRM_>q3D81Qa6<7%zgL8RD0+!Nj&gz0$2AFl5JmUU{_zrOh_S1-q zW1*$x7v2l&hvsMp$APrRxw^zqLkBw;=EagWkJ?rPz~-$vDmU0?gFvg`Q?^qBsw)Ol zbNZ|c)U6#|tD>mmd|`7~_4@{cxg@0#P95R1BJD*M@`((1vAuF;8L6Ih-&jMiSjY?z81{C?N~1z8Q4h zrrRryPmTT{nER^qJxZP2SnLrgIo}>TREFZkAIKqdn3=Byn(c3Q9mcrC!r^#q!9y zF4_+CV2gU{k1YRe9CqbVH=F0c)bc&u#Fhv9b?{F)J~J*$US!8j%Tw6%U|YGKmh$V-soK(!R?Vx+l^X z#^*N9PS2Bh{Acn`v9 zrt79bE4seedW5vklcV-zJ4zN=Ob@rtPG^VmU8jk)-DvvYiR!_pPv56^-+PCC_x+Fc zbVcpnn>TOzVXeL0E%P2HJ*iEF7G_Rel?|Ka<6gTRsl0`FX>*}ArP|@D15RbA}*tlggqhq}Y;MZ!7FI(KKJJUfW^ivK~k6snt?9 zIFH({nyu2de{J*I=kZ?advME>vyAWk_^uq2JNK~b09z8E$F2*`<=XFc8*DA|9h|y- zZFPF4iA_RtwK0>+MicDc+h`+ohPKIuOIZI)-ajK~f%Si%8V>)6xS@U?x16jWjihe% zH=3^72cb9fhlG!3xOY?@aWKl?;?L2?Qx!P#3zd4sp66ZL5BZjyo{yd%;;O(Q1%}ZV z7I0`KkZE&R@g;V-2K_(c{Bi!jIbLQscr*^7>@f{+8GFCyL$do<^uTpU1Vb5|v`cjo zCLd(wRCmbcC8^ACBIUC48xc9ebP2{8b6x7IKFcvxfmh3qFzR9nl<)-R7|Q{1Ov@T` zIKzwz(#!3bVMgqnu0$XV*A}Iul!n&OJVllhYwCc~ZHqeMrO$KJ#dyy&=e zbz9Yqf=3j#t_OKz_(?-FaAo!Ms}2?l5W^x^{lw`wcldpJc-&IP6h<_R*o+IdEqW9Y z&;l?aRW#?`l1oj>L4cz1En8G&fTPXrD)w`MAwFx3)!E-{Czh&xOmv24xIJqA4EJ zt+#Aj4j{%(`FquQSr&H}Db3tB<8;%*vN|m+F5^??wrlk*<+1q6ega2CIls1Ga;KCZ zD(KGm{%NQA`HK*>B{gaUw}AHu6_AyE@fx`R+sl}%zVH!af5+c_pKvv#+kdO2t%J9F6|N#Rb_It>4XPHAyz*I6B1yx{oieFTgSFX?SAi2)i6Z zdTjG_XU;BlZnYFt?FG)w-EDU~-@Li)5za4PygYy2cPB}UhF;NO%p*_CU&i3K*?d3t z8hPQ!X7hfMC(>CrYe;+mV9P4bEGITmp}(vrpwYqp7~zI54EjA$A+_8%78sK|IEk3{ zqnHZFNqh4-h%x${7J9C7aKGp+9R&YKB^PaH0`+LuZ^Hp}0x6?VCdIi+5!^mU0 zM!K!cK3fY(L4we9&_olvb-=|$=8)@tk+c~EWe26*$4N*2otby~(rKm04$k%xNLvbk zeHNcwX&}~k18vk44ZLUADVBoYHsx*|RGM>F2u5*i^mZ>On)?T=t!fq3(PROy& z67!&CaxT*LY<;cfz-})BpFP{?D_{Lef5G?OyYCu}3+SEY-ck+5z>o|qsFC%HO$ z^)N`Lbo@3aJg*phL8iM?H@e)(lr%0^HQ+&q%`sw~hb8QfZ42rt zHrs-z@}8DH7}zk5kT~)-{y*2@qyI15BRiQi>tpIKE9F8t?BFSD)*{^L!0w~6CYjr; z*yl`dO#ESzx**njLz(*G5#+5%gh5UaLT)jX!8~4<+M2a{+=fhlAK|t9W(tNxn5W~TV_{J1 z4?Cu_ zIoZ|C5FC!if|M6_oaS5qw)MvHH>vOeRwbg;=hEHD)_Hem^DIxODS-e$``Jb73~xwJ zCr>=M*mf$}Ygsxk6g{7O~KSJFl2iV1{HIN6 z^zMmI(Yrp|z!^9bV81v{RH>IbmCJ$OHjMg&;6QFSse%FSW7ys zTNca0nK&c-Nx7*xfT+kZHST)^l+PJEHsf8B8n}Uze5O`MWiZd7x3H!~c>3&F&)a)- zCH>FGx0x*K@ROzF*mTE>D%IpUfw>Bq3@J9kAn(&+bL0!hK!=wH9=8HKm8qfRqr6D= zSDh9D{Iiu-7HoX=o|Uabf)SU*QdN2R64r+KF}ln$1XFZ;KKx2X)E1S#!p~(;9s%n9Y(73 zsy3?6jgCPK_mwB%vx8;n1O#P8LgjkabK-AyAe(=>&UZMXFH4FaXLH1T8ekFHJ>bME zt|tN~pa7C>wQS^39{aKzzP1pUe=LYm-pcb^Z?nA&YG)ZVo?JJlGq*D|N;F`NJnBjh znr0^*X07aI5&Byh1UPYchbXElj3H;Q*&RI+y9HCI++xa|PI&1|+F$zV=@m|)XWZE;ApaNt^HfLCy`{?}-D#ov|GqnS z+oZhn&O80@-S^&8d++w%QK6q^!}zYQjKnwG1XdLG#pl9OD0TVWQX@6G+BS&dtvtM- z4R3a>rqsF(9C{xug7|*B*Uvj`f4#fwWj09L&?BIE2^`!4^k zN^W%8nP`_e2IP~|I90jZ*6#70;yJrhx{t*^qc2C4wc6WoiLLjUxH^peWvu_krbb(+ z_%v{=rbKpngQ}f`x?9&kbkG(JI+cd{dq?OFzEXA%&#eB@HTGLz-Lw;9s5keyzi!CKmpxleTLcf{)qu5m7Ab;mZ#Jv3DOHyH_t=plqh1DOFo19BY1 zjF9|3GBoI%kaq0#+y7Dlcfu1eVrIzkzDM{+WIkrRBf`h_jxQZgZb9DTqf9z+SqRMF z#0ljIyn7-Ubo->ean2AA*(V+1Xhyg)u^-1W*#8kxkFXpGJBAbnSpKMQ7pRxUF}5)Z zv`R}0>0v&Uw5n~orqw<+jec(TS@+*ayzO$Mf$dEv1b&c6)?-sP5hC3SP%I0X<1CAy z5z2)<*Fk09j80JdBrfIRLgs~@#_5iBObPno6<)48oJGPBfd@_~yte&|+;A}ZcX(~c zwp)sbQihNjgDNuw93#dPh8YhR72D!xZo>U&U=0<`dxNoVNddbVoNhyUjWZCS# z!)=Z#Yr$ULyri<_aq+iwus49Ke&xG9fymN&14AQ zYsA}nmPc(Ne0Q$}PG?7iZj#d9tChRC)kx=;FJJX}YPp=7Q@Snwdj#C-&Oi>%N_@Il zPr8f6Ab~!l)VD6@_xNK(l92$~mOlRz;s&$=;pL!? zou!OLZO+z4bDBmPs`KybQ;V`bsdIbXx?`6THQ^-PJk^Um!260nIC-YbIVp}J^@~oH zQshHNVV+pZk=a%;I*+Pl0uGEPPFKPV%TalaqN%7HN%=Q2rvH zA(;Eo<`K(}o#RG%lwji_gneA@SoYu(a{0}HpKL%-papyDutE+%q4+vKyN#)d#>L~a=Cyf_`hNNU=;GB%ZP=b%@c;4S z{D0%U{EaxOu#V#&+w<=u9%lFVIN0<0rMd((*uG!wpI1lQIOy46js`l`Nmk=Zn3Sv^ zgeg_wgpnFVv`5B6;}|D@#zaTIFSS?klOuWvZ+Opqj*gvOpNPFnFk>HCpQdwp=^oi$ga=ju-@*TNiDWdp*iy)a~;i__Pm9$*_DNFqiGh+ z2JLnAVg%wgt4SNtqvTbAaGXBj%EhV5oYN|$WBMD&c5ylG{dKxu9}p$=Mp7KhlRs}2D7%k*#xs$ z5vGtN9phSC`-pAeX0fx=t*0u1^bY7~$UdERZLH3+Z1ZNHjvLQ!D4RJZya{n!I*KKb z?ES}FGMBU`>B8lx<3HJ0#1Aw<`53tsNlNwp+on6F2-r!YzWp8yi6eVL;^0X&dNzwN z?rg&vq1;B=0%aUW&fEn&>!Z^U!yoCQwmGn!Z=YE%*r!jfd%nA+M@lNb){r|k+%7s6 zI3SLRc*y5Uz_z;|CL#)NYh5Wud)%fSwp@V^&HJZE5ciyoy(@?Z5*>-^5Wk&cWClqi z0{o-6b6Ul|Irx*R+zuR38RzU8b$)%O^#Y1wh|z#I-oaChNSa?`pI-O)!b#wvyz5Sz z=B^`Re}hIwofq0I3i|HuRwJ>_3+r|OQ_By1eO|O)o&OZ}++#rSsV!l@oOtT=I!;obcTL^^+%ko3?_Uw1+uE#s1^4x*Z$(f#u3V5&3MyX~nY2d)lFrjwpUc z?^xRHH1^N_g5;{dpmY18wQ+CxJ=ygb(Le)fUz9#2;TTjI055xZc@8tm1sUoNUD6R( zBY4ZC2bY7c9|gwdI*2*>#dZ6(p$#Y9ndvGzZp_ZFy9UV& zodG9Cr=volq1+UKGXLaJX3OrQ^C0Yi@$t3?ntyn+e6tc@F#|8L569%5GqohYGgZ^Y zEJw-)_;5^&-^>;!f_ay$-fiP8Mn;z~MKY&U_CbPNE^B@(I~X~gnIh%cX7rO*938p)4+r-`js*m8ZV%r|{_p6kW>efOPrdfD^s z{^IY|tCxMer_)u8Q(-W9iMw|wgE`pfuZ5?{B=MtV?URE*Y*hKlxDu6 zb`|Hd;qSwOS1IanKRd%gt=o)t74QkeYU5zbVVs=fJaO}TT*G@4pb&6m|Pa5TlH?ip+53MU5wL(!V)uPP(rq65 zqR}?2eKEt9&LPsSqq8-zrbS?Ah=UE?=<8drs}bw;tIiAtBb+GA=9Y6#V0)eQbDm~3 zc1Y5RnpmO?opYlYoUwvW65ELz3OO^Tl3|}ahr`OnDovnU0s40X-^&GUSZarE`BB2= z+FxWC2Z9TH)+%gfcz6xtouC-QSMXTy+7f)|zq=1N#sz(H%7U0FEgWN7u)pM% ziK+_&)L)1)$2JI)e;8>43tl|YJ#@)1hJYcr@6K!nC4c1s0mfoxLX{^*+@7{)rt6|G zLLpKh8ujt43EIIKU?qHZ-{bY!aJkq5x-IUSv$J)ut|lMPPR%ERuvi_>xyuv|&eT0R z8gaQ(goDlZ;?6!v`VEMDOSh%t5!5{c&P;ZUa>%6%sO6yb-hPzVd%80u9pFyyYdD~7 z?(Jo$>o%Qdj_*~7Z?Ua;U6-zF?(R-yzT02hMt#5eA!ZW!p6~CQ<9Y3Qo!!~6ttOSg z2JP+zK3O`W#S~`Jn>)jNvEwi1HkYkKWLLtMe3hTP+hQ(5q`M4^%Y(d)GN_B$rDf89 z+di4HfWwYZdqAW4JS~g9B+Wy+%H=;jmCL$;J;;@RLdWeS1Ms2ICENGeb>Z1g_QVv7 z%q@kklwJ*|UKRPnY~s%68!m*CZ#UU$dp<*u3ai)&VOv-qz?0+pg{8_q1B!@7c|XwH z1WzEwcTZfdCw@@o;T&a4xp7^eE<;qNwMN}XXY`fh&$-uno7pfN2m9#@Ix(HJW%4we zlXBRw<7*+9qm&~-?*jq^Cjv17yp-ism!-Y~M8@|)QMmYu1HaYLO9FN(XZ;KgaD8Zc z*yPOVRMSp5?M8|v`%Gw5UTsJ-2A6=o?Q_s&;Znw`biZ}}b_o_v(MYfd?YX_&oTm%f z7}{>d<@|!H!F;9ZBewhQWNo#Zt+v??L`|KchXA@GI{3lT*-6QxoObGB2j}^^ZnIzy zcT~4jMB0qmHK!$Tw5^sFLo^b4Caaw9JgpuXEY90KJ>Uj-aNcc?R+ZtNRz_3q=z6M; z$5L|OuE%1xn4F#YHc&lC(KQ0}y6tG%aZ&0GpW}Dlt2OVblc| zhDLcqwY~B800#lSc5r}UEySVYypK!cNZ-%EA@a8Vze>BKZ*9D1L*9+0&I!ICpvuGp ztcglmMAr!XQ;@ZP048LwH{Ib0S0eg5s;$khxuZ16G29S1g>Ky(zM@GTQr{xze} zIGTZ(XE4l=dW480_z{Um<;RJtZFxN#0q+^SJsRg5_hW(7-2LxHzH3lz!bWnv&Eh-eNpW4C|kAr zJuL~rSi~N+Qn2uI*5e8jU?=Z8Ji(DC;4d3nZ0RH_0}7-q!+rhI-XQf;%3I#TGrq5% zKI;*uEz0KU+3B|gPR-CKSP=VII_^&vX*1{t`!~6n2QX5P<-x=DWZ8a>HM8LTXh{`kz{Gx zNp@C->hzypTKg<;}5n6fg5#&!dq>FZOCs;VN-0;AQv8z zXxQ)cIl$9JN3eGHdH5_K?V1^pZd!_wm#EB(=So6zX~JeQmPTT^P=n z*b493L%RWO8U({_B$umM$JeV`mE$j7+}OOUjNW?geSM*&4K@+DuIczokTK<({5xIE6}HFF$>!sI7tfq1mFj#?j7i zIK}mUUl&oz2YlHdXQU6fqH$eIeh!MjnJ5yus4<|R^RPL|JC0#@B+X=lpgmLV`u&x# zr#u_~au_+*aks*D*aI`|+MB~Mqef_F*YHFQU|ks;%H0FNyz6iWZ#B-vwq$my26HDy z!=S~0@QNeQQ<}&HAKxHgX1XZ1+L`5A(Ed|2~5=`k`al`*{Cf z|1}lkrJmt%lSlafybe?1h%dBFRCJLqXVW&7GA_K1`aik~?eIhXzr#i>*dc||6*f9H za^xiRI(Xj+ZwB8FpHq2G=*nBm+_6z$il_kY%a6Dm2J!>z#K=+Q}2*jzh>wkGv5fu(X)~8 zW6^R+kWT6$gow8ty$sK%7Z7n*F|?ClVU9+h1rhxzYd4z<9?i}Xt0L7rxDXTVjqmR^ zx@q}id5z}M5GMUJ1JsQ)8gf^XLEZJ$=)|;t7!JHscr52H2t1+0wdcf50~YWFj;x5d z=4{uWhXdF^Hl11W_v(PfdI61WSR$%|I!DEcO95+iSn=o+F62y+X9@1rWsl<2>5mFF ztr(1(#|UUaVmNDacDyq9};g(iy_g!LkK>yXo+-U9cy7k4qD7H2vX`WwvqockYSrXhkN}4 za{htit>t#^2WOoZKW+Q`)%lN?^TMV_RFUaF?h9+p^SnfpPIh8WC*pwy$pwfMxW{WW zTKs#Jc|u3mCH=U;VU)AJMDpHo``HhuKb6@u%JjqmmLsA;20@LGJ^kM@E|(2B1}ueD z#2Rt=>*S8zj=Jn2o8mFo-j*4iAt{IOn^Sw(1sxZsfVnMhTV&VG?H#!Rd4GT153oDI z_T0u>ddMA{%;MnyHEqzNE}bTF9Vjt5xSK?G!JPZtEOk*Yuu1fu7c5Z#%TMp-T;Gpukj?JAC z?5VY48~Z|xdV?SU0SV7?P?v>YcYM%}J`op)GXmT_o?Jmr+t1q9UN?!!db}1tsMgZP zEMb$99k}XFqf@l$wp_L8QupwLU#Kel0%0yc5`SbABD0|o$WLf*CVL-u@$iX4CD#wz zR^ddoJPxmDgi)t5@8tD(A^n&3(ALKCRbmboPrnw}-a<|y%6HX*|7izG)p5+Ulq1Rg$IB1#OSx{wCCza-mJSBaR9FLoQo}lMZw;(@_>znyi>Bi-%Ba4d- zLo~Sh_w9H=_;j49Q>LXTqL?JaeT;#QK}{aV7m`9_Mb{ITUNGV1y541`9u9l5xwhj} z&o)| z)MKQ@oF9TviDo==pc}Ql*mzWtnI?(%8|gOyTnU@dIZq%Tw0=h@#g399XCbd1UGjdM zJShE{&nE^0_ukI`hxTV}H*})Z`go0P&TM70TW4e0`GiOYTjWr(l={d1zdFA0dFMsM zj~1Bf4j*gr|M7f0$MEd&G4thxPfy;$|91hev%U&;z#a|Sv$9w7LC8g=Hx6Q~H$xP( zJ{WU@gViACSRA>*M-L8qHlcWb2HRthd5Hi3xVD>cQ2NQkt(LQG?eO0oG9&iC}(VGrrgl;8JvNwk1qfb-wq&*IpOw2=CllS7TM5 zmz<~lGlZetTnbK!DsPP{)7x8?!Ie8iiN#9=cDdy3+4fUO;+l2je2`F$`>28bYopB+k?cLh}YFlh4)n}_m0Xbm%ZgL1^9$k!@OotF3 zo_u!L_5;|BCv}sgybB6<$_Jo;#_^7#Tjd;X{|B+RAL794Za>uiXrep!M!(l{`AM|z zRF{z6ESFq$&H3y$Op_URcg;b1M|bD>Y7xfv+aiLheS%G3LcP<;s(C$Ei+oC+}OHYECC$ z#Z*QX2X1?tYp3CkqgKtgP2Zchc2S&B=sc)z*bO|3ZjJUxXED9pzPEdK_v(ONE$Yl8 znB!nG7360;Uqu9Ar&W(MuiA?UWz&|)MLfDscPw!f4ZAS(-6^o+_j}C^b_Q{db=x3% zz4uvuTKkpz6sL(hp?t9zc-vHcX^MT0G%q1z7B=U7?vUzpwipgg@u%I#6o@ITEIEN= zYM!Yo>YsiLZrP5kEsD?ny;vIL~}cTiUaG98s!8Z$qjb zBU0C>zP9M+!u38qm4XwL$+%q#IM6{zztJv?q381T^bZs}Nrq+HlomTgK6XDxg0CVc zdZAm)M=Uy)0py{5w{7$ugPnB=9=EkL5<1J{&L^MJcEH>fbC>1eTs62uR@Bb42b0H( z*|4(t3p~m5TsZANmtQHzhN<@v+XGFtA#}QW+V$D9XV1FaX$Qcr+kHQyqsitkfBA!c zpBI0rXf}k=(qiqcc2NCldca?TVRF90XAK|izh)0E`O+fOPZ%DJ=N5aZySnaN-R5$q z^A@^+B+ori7!(fuv%n&fSSu~2ZyNn~`D`{=bDp>L(dz5u7z5S51Gg3D$=9PVspfL_ zm$@l7Qm%EJj$_@;DYmp}U}nJSd8h(1rXW5(d55cspCe%|W2tjC`c8a)W!Jv9g`arM{4M1> zG3YLn74m@p&&w>|tN$;@C4*qv`Oox=>b|3~Aj~eHoVRISZU#S0{eJ9|HBTLr%;A^s z#s60d1s-}?yL~mAfZ2rL{TcFR_4Wu#g7F1XC?W~gkAt*);XpEX{2lduG(jW0Gni-f z{oX@($#&6LqEH+&_|c$0x^i)}$LTTiINT18OzY43+K&h7(eXSWgCZK*PtVhv@X-{W zLt>ubDErl3_{fGInMfyON+VbA-wOGF%y%IQb z!*=QBB`pp-)rLGGDRXV%loko0?;^-)GL?xNHw7mJa!ThZ!idFvf+IN0WDY>!xwVBd z1qYs_TYJ>HI*r3&WQ8tJKEbT8KLZ>S&>fc<*^k-gB>L(2HO1}pwX3Fd#={9M3L2BI z%(Lne_i_xBefkysje3u=9w*%H!0sDQw?b76oBis@JkT_N=(A=u3Tr%uklIu`%i3qT1O zS8m&Xn`E@D5K^!G+D}30hoKvMp12}t568qiFdw>(bUA1X=qr&rvdWRYqzl>=^qaQP zw<6mMqxG{cE^I_ z+nYE6t*9KaokY5QAj-25Sh&I5!NIDH)-BUdHBOA^eM{HC;=kcD+5x^1JuGy!Q|QAn z*Vk=$hhze~^+nQZk(4CTM&TNtU z9A#?EeF`=Thc2_F6|?-}-2v&a`^!`<>kc-L2KT!DeQvKJPdiu0P%gm}qannHpshtC z4@$3N5LQGlBgO`~$(NYENV+0r`!f|yIf&dU@n$OMW}Vu z`Q0#hch-Lk&~>-bc(FsHDV*lbA>Evo?a){S)%BkCr%}@Fx4sx~hcr%k$u)0sq|9TDKndDV4NKYDPOBt zB8v5Yi)3!jmu&8!|X(cJ$> zfmflq@8_tV)+G|Dxy7;T(SLUY?+oTyeZM#A__2+t-gExpnH_RaFU8!h?95*^gMapY zR(}uf1OC5*aa8|brHA$l{eJ}CuP#m2Y_WK0QXhIYE5|#Awt8-mxFAnJs^L6A_7Q?d zIA&#!h;MA;60WpPe$M)s)lm!x(S(kj9w(1>a8($*FN)en#OKctPXJiyXZ&8r=Zd1z zj2yr{>wgCq7{YUSbBr^XW=z4fr|~JBUVx2FIh)ZNYRmniZd@x|iyjI9+Ls3a1^a3r z(LmEuiymS~3Z%n!(+((VhekPuTuYn=dwjR5YMG2=Hk%dEefV{vn<5v{&ft4U=7qWOQQ^Q0LUvb4F zVJJ%GSaxG}A%KZUq|Q|Y`7XHCIzPh!Z6n34#ZxX1<4vFT&DjDGBa^80=_i4XbR#q( zQ+hPiNu4X#*BbGxk)_w<4!;(Cv-$x#GRiXTsw;Mb$4yk%H_qJS zp?gY;86~oea-M2G8F5;lGvL+7j_p*(v+UAvV4lK}PFok4-Q(9O3;=4&`G>q+E2|m^D?&Qh? znQAU>UKHkatGZ(`cSpPk9BhL%q9r9vOzG{ciEGJ&pu~{b@#7KA4W4^FoYixbirE6~ z-Wv6{*naIV`*2Fa5dykE9a@gJrOGiGvj;Y8iEKeXm@vCzjR{-G&75wLy z)S2-TvuXTpvxF+N;u!^*eNr4I*!5?7IoEUGFLA(NJB&+=9@SZ*Gwp+5Uf@v7h4yx? zK>r#1qR^}DApR*XgTTpcZ6q6xvT=W0n z^EF)F`2mk=2v~c5kgOPvon{>-I4Co6^9H;!zylZR2@#-00eXfphZ8;Rj2I6k9pw?< zh#8$bgb8hzf@6^>tvKIj1Sy67?msPDd5csw%C{O|>b$5td|DQWT2!` z&&};^1P%20KkKws=B@|*a1S0hU7xxRT-JqNyn1CgvKL~;hbP}*axy-g?8a~z% zY~blfLuau}(jQfNuy3TiCBuDt;?ta?e1wHIzxsGx(23ajFiYC>4nT^dST7#=H3~Fr zyxiC9Ad*4oY{SCR9z~iC?!M$j4>8QQUBF|?#r;TBy-2aW_fr-B4cwdgv^am5_@rUj-tNk7SOQ1zZG7F5gqH6`UQ&b1Hp~FJF(wvhUwzz2C38WrT$WoY=%q>-2jw z#s3JxM!3>0sd(GLHn|S{f6&eh&odk%{&3##x*9v3b#w&44A@J9t8Mge{yzYw#9>Q^ zd{OHdW*&@S*$sSzYjiS>WoP5NgpZLxy*(=l1WMC(ynGb|6@RmF*^j`737JD2I6Mvu zO_=>L^F?5w2whShNce>#2E%brxKm~v1p&~;SO>>A&f# zzGQZ@*oZu{Zs-;Jh0R(wg3)$*6oJ`>+*MKE5~h>h9zwPbjr!5D5aj~OoE=F4FHs(B zsKs-emquDepix|f^UQ$8$EjaSMUe@p{kjmDzWSO_>K&Tyf*ETC!>lvR~NQBdB;9Kfn!%W2_& z!Q@K7%Te^_?Tf)RQ|co>`C_bG)~L6s*%8!{)IP`bCN#*rP@J^CoX!;`*halT; zlePelyrUcaSUlHq0Z&R!*uH#;#T;j`Xh)6c#hh>Lg!HTHt5}S-sF;(TYTld!Js*0c zte7n7cvwILT@8eSa)9ztlBjXfMAo5Wh?9U~%-W;E><*(?VAz37+g7(a`uEy)zBGz* zn~(%=9_vH@^M$+10f*Olpt#a@I%eOt>#X)94tw-mzEW|@E&xK*3W{8#)hbsI&S=lt zIl&7Yp`<&FEJC}9vwuSR;PPBTtyJ2`15a}mSH!qC&MHq@J3XyZTNv8`u$tQ9?0~-2 z1N!dn?z^M89awnkk^NVlw%cdEaM38RRvI z49k7D(oQB((safx5;0No`{wMtEH~#~EkzNejlJ!6h52iSY zA}NyHWJ~JX)1AkvQ+1~OtK}P~VKIeZKEoD~HI)$jHcF=8C1|X;J=3 z$(Lm%C9jt9T%o#$GS8)VhgEwX6(;cD#gWNCd2>F@XoEo#ViVODi*?$3m3$cQgqzJb z$fCzY1tg^)zhPIa>nOw<6d$bw5ywH-zzHVu5(l;$Ehgy|p zlWy7*Y%NsB^Jkr>yJJpl*BemHJ%=WLo?9+imXI+88-rp4E%cqND+qK>)OIL;3?TQ| z(fwq&gT-#YwqPpNk9C=D;*|<1Hrd|VlK+~b1_i* zO?m1to2Gx(Qj0*yQpw|6Z3tyQELDKk*Fb^yVkmsx1JhR!zfa}jhGv7fSyaM>pv?XL zOlEd^NkXQmla8tfT6)(>;Dc!m(B5n(8eocFakFoMh+QDBAl-kB$g6u<&GlTv2ExaRLV|dnSk@0C>)G3d^9_xVE0XPi$THiIHoYn6W zHJ$P|C`Kr6_B}2fuJJM}-v$QZX}Z{%jrKAqY5E%iPd4RDX*S3;TXlqH1Ht+BMTNXt z53cvnb>)tL^Gx>I&IcQmcO8tHw-^@7!;4uIhk#^(X(yCHeFL|HoL?s#lzRvn6vp6@ zP;?(8%`VH`=2W#fVOlQbg#j81G;J@c!IIK9pS^*in-Hs?^p%zo4Zh~X_&MYwh&T4& za7NI^+<;(URnIhCzRo%N;hrsniN26U(`R-#Zi3?!04K?~RdY0q6_@s$Y$^}G(XPuB zHH=pq-8ab)+&@089P&I5CAB)U4Xk&W0Bf0Fgo0`s&CHLPjF6M2<>85S z_159U1dt`hvQHuE(PKX0y%8yGwZjLl^qtH0sUGW~ZQA{Adn6!y!5z$!5%> z6;7_5PNxUUHZFQ&qO_QfKEN>HVzT{pV>pI(X>^n1fT@_1AF0}VmW?G3na@5e zFTUr1^~*PCXTV7vvg&3km|zP6g1~6>FnmMHPO9kj{@)g!X7fsSc~Yc3q0&Cv%Vc}W zsQnjT<_FeS97^Y~(`E~U4WaqurzhA^ULNW)i0uF`2gLpYKv+9*TZXkALIgZxUuqx3 z)3a@fv0;8PqOLcqZ)$5PvDHm@eTEkB{szM)*+K0jbo>2bn?LR@@Y##cj^B6i`t4h` zp>l9lpMuyq;E12_KCu~gB6<&Fx%enP_lR`t6wlTz@!1%5?-Wk`+6>NfK{o>At4)sm zkcUaORa>y@sUBV9ojlE@`d-OG)n)U050x1eL-`ba&9E8v4z?oJQZ>xJIgY?D8H~7s zk1;+04K_Ydv6Q|>4P!(@cz{IyL`lnK?htXTj9tuaT5W^s$hEb?h_OMc({#6*>ta*l zdLi;VR(Q{SnAC4mA0?izVMkg;Q;WXq!6b#0RX$7uIL4>=WabYgk*}mN7lS zvuTL#V4W#LH^u1o4wtVZR?!6ia!;-0X=PA_>dwr2g)rY;a1KXROJ_!R-Pv&$qO+l5 zn2Z+RS$cv9tn44uDwHtD-;w<2}QUAQOIWL@wPyH2^S**6JHvN}Cbe8mmK zRTgA6nSdp1WR{2b)^jZq5wJ!KF)O&lZ7yNXc9YQn<`4Qr(73dExIR<`f=i7PjP?~j zIubonm3LJRnGGmd47`ueXougmj&l(Vk0;J%od9SEsRo-GR=stPxGrwnkKaXWQZSX* zy5awJ_RieP-rr2o4A$$HyV{rD>S7)z(f`aYEjXixJnU#_-diu57*sruj*0#%x4{tc z_;`zas(I7^PTPvBX=GiHP0la#DSx4NSJ9p{PbwKitbf@EGy^qq>AZ22TOkq>b4QRD z4a+4#aiB_Fgm94!!#jFw6pxlupQnwBBmYAxrE4vf7wzO$;kQ%?W{snjGEStd1ug;Z z740Q`+MXSKp7iZpBx_hiZ>bi}H2oPyBjtN!pi`XGa3o_9s>o-~IU&^-J3CUhhNiha zDp?KuX5HleJd?D+q~{`z;KF$J;Un^Ns%Z-!$y)C=3_bn6gg~AdpphCjW7-sCf?8N0 zE5Nl+$ef3fGOKHlp8D|2O6BKS)E2&VGOmQB3{U#41bjk`Y_Sr$j|i& z`1CQ}!47`mX35xQ-*~-=6(;#lvTCs-HnF=9zOlVO9|u)_ojHj2k{gZ*!nSss*9Xq5 zqCUG}n3ov-*VJp60QlHZ0cga!f&9A~fJX1nk*3(mxze>w$ngRXqN+}y|4n0nXTeV= z#^qVzr?J3JC9JIaLP2+D*JDM3I~J@_Q_@wFa`C$JEjnkfaMqQA%mwn`f>TVuw@Xg= zpQZ%17*#8&o#g~&3-;+U9+XWM^JLeH#_fN>zq|j2>Q4E)&t-6YpXPYRQ5xycwgSCQ zR|F^8ch7NYZ}40q>U<^T<55-?Gk&&xaRl&#$RN2B2h~a7Qw`Wjz#Rn<7MdV>#i~yG zyI=xWOEt9e9?&&XZf3x>!f{JrgnX2Z+gkrP=w4UGPwa_s$WH1BS@{`$Br0K0U!aFz z!)xpL#N3fK#C@B(Dx-Uv2G+`NujR9h)J)~5@MnE*7Kc#cZKhEuyc*<)x@uDeSzl># zKzk<2&C^&@ZEbIkx$&0PqQtgn4K=&!C1}n%YgTo5g#DAR996(#=AmQr2;A2Pdh}>qbC_OS@-?&c` zehR2Dg zN7@jQFJ@!Ml^h<?v>*%lsT{7XC{2lqO4L`)) z_S3(KBIEhOcsX6pD7FdJGqKmY6kZhoNJ{NH^nsf99qms$BZ{W^Ybeen&8HoNxGEpN zWSpA8qe#Xcr$LDb1-F*!R#2-K?$+ql?`8MrZBjBow@zv!&VZF=*h*xIAE_$k~I7M&Ru@uh8h$D z&4D@frnZ>o%RG@wY4kI@MZXayW`rC73nO*78uXnn;7wDPY4!*IVHnfEDw+$ou1WM3 z`Mrs!lV_|J*!sH=*DHlRV&-b@_+&I9lNN~551lxUuZqU*fuA8n-%skL=EPa&4 zfBv_Fkj}v%;zzJ@A+Dx!kxq6#^I9=HS!*J>q$5vl_jJjPm^4o(x5EKwB)k#73jiY`L2^ABpLC1~`?6l2Ljm!@_+=BMKW2{i1mqtu zOD98Mi>Rg8OGRHBS%jxdKuds1edRPYQ*lFjXcnjg;+*!O1&fo1HZZUerg|56gYA<9 ze@i}oFEOPv-{&I2BJaeuLN}4V?@%!=zrn?6KHnjCj?k$$=gaTz7I9-|_JTS|;76T% z&#Qcb2QsNs1%49-3)&7y$m*X9aTdUE12Q@ zD2eT)lSK37No@;f8$0so&@aD-Hq#22K$0{6E>gZ?5(63_R+S;)lCGHo{O#d6^;sbx zut-)ER9E?`*RR>p+G(5?wy~jG8F6jx(pIP@pFzgLh_U&jnHO!8#3D={-Gi@i6Bb-$ zc=1T$HHE*zzRr1JM-t74Er(QW5`QHgop8Lvm$nw|Iy9-wo-=z)(Pdv$G=2TD_^yHE zUBCw^wauK;P^84p_%zR05d3~xy<7HsrQ~3glaOxOj2ae?4?k|y_Xk$Ju8{k8!h*Fj zVz^n;61$)R#uius?9TJ7a}HKLm9={wZ{L^cA-@#ACXUMUsHXhZFhCO{|F_01hd$2h z>1F$H2DL z&QUWq(nkPp^LLyJ;JI5uEbJ7~Hy>GEbsb34tNV74QK>CbKt(}d57&dB2vNGt(x;PN zK66_ZIvAYalHtl6B`PBZLT@239sqB`4;Dsz90{Ust24`*QL{r63=@ z=Ci+hHE@mQfg|CA@Z+?#kVQDUz~ct*=|TtA6TTO-E4+8CzIK)pER!7O8zncC)_hjZ z?zqHI%~)A*sWLQ8ShosP9;wH~^wD4cWe91retf!sX7}hhX%$~}^)v@rs=@YPkgcMPYf_~u$hd~Z@BRz$c zxy{@z1-iD*RjpjT5!J=|Dmnj|feF6Brq<5ECEt1AU2)Wd=lg*S@Rxrvzi7BRj1wl5 zZhC~S?Ogonl3#~2gohzA(r8K7t;Wl62sAt3#mS)U>A}e`)_FYPv!Be!$H-b@9YW9 z_gc;T4=!vv37~o33qmR*0V5)IwmVt&7I4a=+auPxu|72(X@7j3#%BWFg^eWJ;D_nd z^-YtP;ZOMC7A1nVixPJJU#BBXDqUkm=}rY=H)_K}bWvt$0(GoTypbibYk2XG$+YjK zq--{va`%+MXSy@?PZSy@8bWVAiX1)bUr4r(NeShzodc#^$))Q+J;DkAclL;?1L2xT zbNdggTF7+nWNno3)hFK%#iVaEvqUqSs%j(s)ZiyS^ntZ6cOsr_I%G^E1lX8h$0A9K zK(k&jwR(s!&^sNI`MR@#aAw+Su4}K<(QYShAbm-eBSPecrv^|zHV@Ay)rT-@hPDrV z_mP41>%lf_ygZlk{^hT*3DU!*(`U-F^`6|H5o-anwNI`%n`R20x~xO7 z+v-J5R>=&xBIrwlV*=0Re?lh97lu(+_={K6m_OsIDY#LpMx&2+y0V!sjvOA(7=2#S zS}O(hoW$chTzqYnUqyoJtUps;JIty2p9v=GQuf*B&5tn#We?|sEt5v|fkBZDo3wdn zKqpfUd=Av7fK0!>i7Nh@>R&d&2G;tS@u35 zwrjc#n3CUIE4-a~6ZYA&HTbF2%g3E`7c^~kq&rLrZW0tvhQ8WCTz)Kpf5cD@mHm6GRhBF8 z2Z5?^>U`Q>*|P3pv;W5N(SGQLE|W=fS~(Nqa$JK|9_n2E#qg(oFfz$N)A1}XNgAZ1 zy}#h+d_3>-`~Gk=MqdY*+v}gYYo~&)PrVB>Z|^B6DwkE}v}fA+7gE)F@mqtpygd9P z%*TtvR(op0%#|LL2a743Vq^awH4nKlZ1R<_WdZB<&SW|S;IySm50Wp}wev5EJBdjT zYwXQOk$1jq*c);RhTY`(JyWanYSVE)Uv#fPUszAv8v9J7gD?WB%#B7h!@qVAVhMKq zg1oc%YC=SPW^M$bt`5)*GLP$eee8(iDP-;}`hgf1A&nQuzEfDpXa{!SsdCprHjl*NCYly^vT>O)r0BhH*^J`VvGLGXZRfRpczZRW5X5j# z!*U&osG6<3jw1n0=l)zZ*?2V^haHdwFJ~7K=S?AlKVaWlcy*k-Wws&0ILb{)cZgd|Enl@5THf z19OT9(6(gf0W-W4vWG2aGp2CABx>S3`({#><))%n*6|&v+dPH8z?<6f+qIH zs8MoN`iM%}&MffBb%+vl+O_%AK#h?)a3at-MZ~eGG{TvQfZLQ{#{ch6rTG>fhPkiV zqsujl*E{A*LnEw{89jR{z~^j`;mUxF|K)WNXilMf#i^w86Cvpet3iD&pUB-FBdQN)joAk0)VAr%=^r|8eBp<@qNUc@esaj%@wj24p_(@q@kAsjIBEwUlEkcJNiT9))%ax)R`?|0ZlkII?ddG+rz8qx%k?)>^c1B%rl&H)>;plZF$rH zxMhVIe|^P;J4`$jZ*|YCRubEN48+YGX!a&a9tTq|5Qn*^EzA;6l-4(X@`c4VLSFom z?s8EuE^Sv@oZFxG*)QG+=)%%MQEj6m%#;tmo2Yq&^%OG2J8Yu@JCM% z(zX&P;&6E!=whRP+(b7TLtV8!me2*s_8HlBEinmYMP6!1n|Qk}h%agn8gwU7w8*j6 z69~xz7H@VJJAD^9&a$>@?0fX7E6=Xet-}#S#JxRz5Ig_oa1p9=y||Td1-*)2W_5F! z@z^02FiCZk6`-XSJi;G$BrZ?&2^HWqJ2?AbNDTnfOM9sD#gS6S_Cl_=Zf4nhXnf`R!h~ihU23f~?5CJft zwu7pY-Wm46w}h~AL=khO;EACFgZ*NPUpJb}%?xesAKRdC~niJ!Zj=MR;A z-GyxN_vkE^yxbX1-I1(-U&kTe={`jsXbUR8FCc9GGFLOJZg}Qbu;uy?#=2J#8swiv z#m9Le-@Wr2FDR4fNuRQD#=s}GS z2)WFSumc-yxHQRY9W)W*hV0U=ord)i^2looH4k!S#d}4l`nx2OWA{NsaDfxtOy=ur zx!>UA$h|;F>bBzmo>SL2YkUPu3aE>Rn8o>*@x5FerJ;VuO5}UF`DIFZQ%CYs0F_wq z`6T!flOs1P-qYi$wGRr|*q6dQz53C5abr@>UQMw7M(N7Ar*iId9`raslR8zV&OJZX zuE~#)iE3epo2{ak7jq%qCj$_8oZ_rb>Q~xp$-}J;5h(M_yBcoj4fW#aoi*g3j&T9i+((hFpkt&D;LBgP$T>A4BU2uR>^Jq!7)-Qr#Z@Vt>NXX3WMSKOFO} z_SWqylw0;-C^ExaW}Vi}m+IQ>k=hC|%T`Ty%X1*?T&Y=|Wo{N4)d-v)tHUN>fe8Wi zyW0ugiLAU~7_O%^eO9hSY!iLCSPiK8+y5-m=QFw29$vXTa&|65o{B!eRE7a@jcbA@ zX-UrT?8g$rS~7)*TMEM?@27OC1WO&RCi zGU24MeWF@nr%bKpXOwWi@!&*KKqp)U8_;4_Pm1t1D{vjT&j{$RP*vTX^{I}?{S~qz z{!^bUrDB#5t7r8M*8Vxm#?fk{7%G6$Iu{L%>=Ty9NyZyC?q%W^j*L)nZ|O#;2g8xQ zdf01(xfM$46-!`{M+@5nk2ulQmn?y3vGZ4Y{K}8jqxHPbCq*Ela;HH_5x|fN1``h^ z5U@758v8KH4MFy3^G+!IceU?Fkv&Xv0zoTFz!*!e&c+cGdq>$Q%iE*l0z~Cv?nPsu zl+pWCgaVO4gMY6o6>D8<29+!DJV&?Hr&VeL@DCPEe~a%~N{%|wk2c8(vg4~!`?05a z!{28oXRcMu&3+9j?7wI02fG(ao3+#La>*$(V^e8R^uA@n32?EI^OBFfY?{3LEdDKN zX0~XM4YoOJ)u`}6^w4ul%Yi`SBFeO*h$OMWc1Po;tN6gw>;goMTTushW)bayv%<*3 zROl_ymhj78UwY9T!6c}Dg7FgT8N%btuH7DFPj+jl^-J$lLs8w*MGf}(yj7<~6an0h zisU7L@B%kT5LRlq8`}5VIvzuv)&+v{!ZproTmJ$DEuf6kgVx^5RtR1ukrhWCm1v#~ zOBZb+^P-F*mTdLSQiBC#Ybq_KCMOjP(^Gt4lT6-YP#+05 z#RoHXD?sG%` zE)W>2gzK0I(5nVJOetKA{4EtV; zRw?%CczcKz@Rfm30wXd>MB^&?r{v3>Y zcvMBQMz_)CaMh{!@OYu)`SFT8c@n35dui~y&g`9TSiZQs%yb61hJJ5U z<4Acd>_2^vJ5UmMacP$SSP+p3KNb}2${<)67jc!_>2L}>jNAK|;<~YgsI?`-m}i~y za0Y+GQ~o-JAROF4m_%P?&}>V0gIxW)TTaH5T7zBFtsP`K@Zpd1ccyuL8v>I@EiLVo zSIx3#gE2$Ra?{+@EFffCgRVTG{zt`TEe!@3~1xX8I7qUo)QQpGmkgd&{CbZe*6l_KzB$tAXh zGTt!EuSn#6xs-tOMJa3GZ_y86pDFur10wx(ra)!u$!@ul<1AtTr0b_a%OR;aSHEy! zNgP-U8+Jho>0sfy`KMk55b3k zg6vCyPe^|GQ^=rCIzcYo@67`fd@^H^Alt{pF|4p?E!@RBqbZ|cGG5oIJ7-qT)Mu*i ztRqXdiEVl;cW`Z%^~XQ!epo@+p?MNRgLw?=&oH$PZu9KBX60}nOhBhngL4D;SfMD| z!w!9yoUMjnj%Sm!oFI7iQQ|C&kZ8Kv%f)UtsnRij1Y)5m%qdD+JdO&d_&OHX?`Eqw zjI9#>oby(g0LJQyR;2GoPP{V}EU`hD+)1-(*ql1GWmhNAky^>EhtN5X@dEk;7h*qJ z+AMeTWcV!~JblQo!3yLVnKg%=#6xn@qYjZJd`A6zIS_M+kWstT{{A`Wc`9M5@ zZyr2}T2XyEFACTcPR zpjZ*(obXb}7~jVCz_Mu*$D+5*ZfX3G7z12=#D)$2u=$-9fOKb5Q)Zxe$=vMGpqW8Y z(6CF|)LSRShkUyjf783t#dhs`LzB(nV;xTy8Zn5MaDFfcNbEF<4rr(H|9%5r^l8P- z=^muEPJN(E5}`t11Y0m~HqolPtxn!rcc%#|MJvnfK(_Ai(8;%B1M3d&?Z-;ud)dUY z6QtK#8Kt%4eL752KC1brY{AD>4fb zYldX|Kc$IIBF(*Ni6V(!OTur)8}^X;DDN{mb;$EzU9549Z7O8P4v&H9d?Q2!wS0FGS*Gy!O1nhYQw_eK<3^&q>ACdHKv%Ryv zZfV1A?{%hdvMQheLdaJE^W!6)Aqym+!bJt-P)U<%;~?`*pq#rkfS5et*(dc=Ks?@R z#_t&9HfO~<%d3Vn>;*v#lIeyy@RWyV#vA1;uWh+#)<=UiA%Q*7G-o+Wfc=v(^XHSN zhcf_VnS^3 z5_Fb48q__IfGB|E?LR=k!j=Umf}F=xU3_7@JGT~24mXbILO#J{8*%HBLh=d`++B?O zwkFvZhbJ@MpZ!#yAcJY~`low!V6HCtP0r?#1vfjdzY9btWCd@C071|(sO*QyuYOd) zDl&GlG^^KZThPLy_!^{%3Vr@dM9QS) z&opdKHP~5lsY`I|(GtV`b0%0Tvxp;qX9`YM?9r{84&U}QqKmx)9@esNwMl**0yOlG zziY?h?s$gaDh=<`b$tp zNh$-DE1UXn&0>+fIbV95AWtp_^>p_Iau{@KzknH*1fUh*CZF-oZ{jcn3deFl#ya6S ziE*l)^>Kb+1qUt;yArUI0Wp1Di!gfh-YlO_(x&GUi5|qo#I;2V_sH@Y#*n22@Z3KZ z_jCSeaQ@5N*y+sui0sG+!<11z#o2Mmfo0EZ{hjiQavEP)j2m_-u>V16{>k`>+#t)o zzF;MEK;Wub^p+ER8aCD~Brx$lOAfmuFY9T3-~wf^;IuW!(;B2L1-WHubF_g-FYFZq z)*SQvEYdv=G3jril|Zi|g{Gh}0ah2yZ;uv75j^6j;rBg#zz)@0hy`}i*t79e4jzN{(U1 z##`-6ck==6s3yR|h)$oOza^3O_Ag9Q(#yKJVv;&mGsQ@6iEWuG1R>cjDT;l?EXGQw z7pjTs*i5beUOZ{yP;%3rb?!MN z#{unb9H4&5MvqtB*VEyKwhrWjt?Tg3i}o3F=qe+?U}U;L#MmNpGn1OY+2$k)N4S?E zizgOj&0ROoirb)3%)Q5)C-Hy30hbZHFzdTuqI*Yb{k%P^dHWy$sz;rHA%DcS;yHkz zf|xJS8oiLROtc3ROLLa(>rk%BDm-c(aQf6thN|?sPcODrxTtK`Kq<1N|&Virkw2pd#iUWQ-9Oifo~nI%O&np0qJzdK*&l3YmZnYuUuD z9bE_ot6~8aK4~v?@H0Ru%@_H#h)+1tt4MDo;Hj>!T!v)41>1-*D@pY>sR%PVq5)D5 znx%j31Vh-yw>L=HJV{#0Z1CYP3ktQj4J=WfE$h zA@dPEXI+aP+~!80Ruox9(e_6=pS73MwhYrJLUZ`@g4j)nq+jBy=A&sGJObf`?G)_L zL-ubG9{gk!30URph=gc|3+=$~jK@gw)#+7_7d&L1n&ySw>=}E;q zM&)bN?mVm7>tBJf$nplZl>!B5d16)-8>ifD=)@o`Mft}v{yFdyd9$?VNdWhO8pq|R z&)%W+l8s$BymWaUQMrr9QkL*9VH(nj2ug+OS#d9;wS9AgryDwX83E3KJ}uJ;n&To{ zs!^s=L|t)xtaU;OyolP61mQdeysV{HuGrrT1lq;9R%`b?5o8V%;=F1BW0%l5@WiZN z9I(NG+*6^!>u5}I=cqsE%-^CdnQpBK&dX0r7y&Q2aRZ-N>MLGYlHo(HcDRZ%@sFHI zk3-vEw$qUbzzIsh%{S)jH1NuEsposu!ByEFu|0^T7jK!S2K-|HF(*E!L7A+7In}D` z#_BKrLmc79=^xzb5#})w?sf6+Vk~M~Y3%K%gkS|Uzbjy5 zkyQAczKmBRyx&h6LblsmR1ac_Nx)q1embByzW%M!=&8x`|K#?)JuM?tMrMNOS3QFu z0L?q#@Y@h=@P6De-S%xvu8*(`fd3yyR9r#t`Iky zf+FIvJ;_T_O$@IbfgQ*D%9Vk+GP{>r?V?5v2fRsdl2#%?pK+-?ff4a$RrFORpj7Fr z{>r!)7#^2ILKAlMDq-Ltuq>4s{bKxpPYzt0lPhX!2|M$+T;!4LMf{{WZ3_=fdn&p4 zxdeG5cnxV`@xIKF(;^SbZE;w(?{Qxi$RB*;_A%M^kmIx=$cf|62J%)>jK{H^nxdUk z#aC@))X#h`|E8zfnX#+a&ZG4vRvZoGf^Q3F!f_dzr}+8r-UIIHROTYqg-W(b~2bwTKnIZSGRW9^N z0gP__zUDH2PwC+05RKiYNZgA3C6b04-y}%NlCa9Tkx=(5HKMr>p%c9-)IUCy~XT1u9 z^ARm{>S6KJd}Q5wT4i}c%ONjq20_xla11xLoU3I40+zy5&o5@72?k8H11pW$UxDM!gPy8m+<14(jpTW{J zfIMtCedy?3aML^Y05}`2EDlv%p-pDJ>GqPTMj8)rb&-JXKNGs#w?g-LEL$N8nF2zY z9Etv{bI5p|We1OcPN(DeK(_$68RGSb2BBlbXEqYOqCXSjS5Ae3*O06_%U93_`9dn( zL(1FiNmxu5{1zKO{OVI!-MNxO`$+2rDlhvX?udl7S~g-c0ZYyAh3a+`1muFqu!TIV zbvhe&7FZbHddgXsCdyH^lR0R0>4t=9j-x6Cc$(Q1w3Ahs)uP+4Z}i?meapUR`Q?Es5H& zpAooWe08iX)%hOL^Uwa%_wrev6?l^~X1N;WaiHJR6Z>5D!)HiEGGYcWv8o!(EJl57 zJonJ(2^srgT|0DZdlF+0&bJc4)N&H)Q%7pE{Hn@?p=~EodWat+1ev`50_JZGo(N6s zh@`vj#B$hpOjg0tHTv)M`Z86a8VGi9*H^Me`&qnAI^mV*C)#~AE8(-|n2Uy48`hIS zcUKmQ=CAHFT0NHLC@nVL=VZqE4|hj41lm&2^J9Gl8}aXZ0gpQ6z?oBQY$l!U!gl`b zbU@TM+A)5A&uPVT&MIPBZ@(Sa+@pRSyFl%L$VgSp?M~M+fb@a*zbmV+DA9pI|qKy%Z?Oz4155 zT(6s05hwiHbJ~+;ke}O-;_69!KS@OLKqdqIUa}d1kO_W#i=* z$T`7S_k4QU&y`9@q!*K8a=mO#(mBMreVSpAD;ry|zEh_SW7GV&ZHFR_i%BO=_63AV zKWOotxMO}k^xbOgGJTBH3Fj``2o^Gp7hy8z38ve%D`15c0|QTkP#?aMGS5QKEyu8u zCP%!$i@)|MBOg2%cFaPP8UaS=4if!CF&a|)Pp5MINe#KR;ZA>TmY$t|`w7yGnhX!$ z6kxi76^O2QP7)r*??$znEMvI+qPP#OK*7(J7c5W($CT>nMs1{F5+7wgq*QYgeuHSp z^R?G%&Dz+sxA~q)xGwH9o)x15pj0J#jApbPYxzEG4E&Rj8K_N+{3xJ6jLT@G>3Bku z0&~oQJIU8k-AGR()=D6dvMTI-4DB zv_(RDoqpDMb8uubmvQ(Wy6ETo-I8QPy^&=dcv2N`_A`SRRD-<^t$d)_HT8JU4yFAn ze^CN6fP7cR>A3wU<29pj4x<$sO>liGAM+v#Se`WuEsSdzH$n3grwYqRtH&L~tCSzR zF#=3ERooo0FW0(?XKI{P5Ms7Z$Hq{%>RJltarirJN7h!Nn%u|;kFthhZLXK!MO5}3 zRX`z;l7`#|M7EKpe3l7NhOZ5f`PGyGwSX{pm=xNx7vKubHXghi!YMWOODreDgzzTj zJAX$!eFj$vy@$W0sp!mDI-?dL4{VNt85jNafI3onWy4m*3LjCD^))zOOFectvg5M4 zu+{!7_k!|~=}wvzZ~4Ji_!_(^1L7mPK&onA_3nf-JZM!tmO|=Qsra!%cV{StA^ayp zPEO03B1ju#JM>y+RMeU+XIC3wh79%avchTFzQrpzPFX-yJV4#Vhzh>Ph+)t&ItlI9 zQOe&?cAz`7aDo_fkR*=FVZ^>ey<3k0%K$O=V2A;?`aYbszwJ!`BF(zCn+ohx9WWbl z?p}pA6_lSMzkUgHFxE@-6(nj~K3GOlCane^M~@8V2d71>`E_60Y>Fq0Bf6-VO9 zBME$?o`EN-dYSdV^4LS|eJR_!Obv63v8z)82iIh8~UR$sc z>=z>7Ff#feI-IT`Xhx_z3b@79=x|xCwm{dd@uDzrnodIab3&uG1*4D-VDfheBJ+q_gfJhE?tHH`vZ}N6<}u1U5$XfuX8`5yYGsCY4nX z)nFPQo>u$6`&_)epp465e~La2otOWDOkEd8!~T|l^!1adVr7YT#hbzf%akMOL5Ljf z2sEXnxlYDAyslcoBU(`F&G&>t|Amh*+;(f_p&#C-MmWct#04)%ZAQ8$I9Xs;!G>b;8N%@^JHEivSL-vyu7 z|LNFl&)tH#IM(;l5ZGF9lL{n2{uZL}1gT`XI>vk8Z_1UorQr)n=-30}D=C93--&V+ z_eCc641oJA!&Oe%C(IMOpVmT9x5#D~BReNN1s*1tM}2ukWa5=-+|+oCe1R#LIfs1- zr%1Nfg00y7D95h-mZ#@mJ~)LNBNKNxVP#lm-v%BRn*mpP>r<+05tK`}t+n=(M9#y= zkT5{B@cF@)bKp7C^)ll(Iq*syrRh-||57}Gu#w@rp{=JC-Brv^lXJ8FVl3S(7m=@p zx9m1cwGXC=;fslO`jc6f(B)&a?FpXZ2p=9(cL^1y4D$)hT++KxC2O$feb_@j|8EK= z-l3+3hX2QM|4jIbhrZ6EPizi+@E=Bxp!)$lSkW| z@`%5PGA+PMJ-@BBWd0fl5PJY~ieNY<`r-9)oMkvuYrjhOjOihTz!vizyq=s{ae zY>&#Y!pD5MSH)N#Bc4d_tP=9{Jhzo5FlX;y%l_ol3!&VSA`$LS|0$inPRj$LU(AiR z0Oo_ymqJRA*2ewYsnEW0>5Ih#lH;}@WIy7uH`@tG(7E^_I5$CZL-rIwJ0tYKAC5o5 zOFF8=i5VzDTr6TxXz@aAV%o%l`UA5ViCA+7eDow*36yYdbv2@MA8rfv|HEj|`L`G% z_c&gY1#HZl;GB_On9QbBg-BC`lV4bZ@rnWzrD>@4G@hF8e#l=k-*X=EbqL+;X+qJp-XzJj6!`hi(r$?Pn_aW%teZYK zyJ_JAt&Kw8vj@Db_^+I~fMc?}fLb{@;jRQ~R^_|t%VXb>=m*94cnLKTrFvtskQqL^ zm3LgPo?jcBkf8_1)j1E^Kr%g}PemBZeKzP)@b*Vfp(Bq{F}4K%U)wP=3#*q%yG!L_ zFV0&sQWxD@s~oGn#^C1huW|?slR<1vu z%t8Lc#mLO6v;lz-UE>y8xUMj~#asc2i8YvnOg9ASZ~M=Ah7!y}G0t0T)eI4s)s#Wu zd;Vlo4u^CTrMG^9pPa`mSZJa70L~-TOvuLsUOud^A*FY2zqioqK6pkCqAx_>azX^s zH9vcGE9*Tro{b-KzD?c#0RG}H>xbgR9IQmX%VF8z8E#<1ogf9NZja?JJ$%VfX4dshk>{=cvm?MGb<@(_F>B-S-21b^tPecT8yZd*m5EW7Z0nN=F3HVgrp@WJ0V z(+wY&v+P=;EA^s&Re=o+UH5t6j~GZ0S|+a%)J4We zM&J3Na^QjZhrUK0xtR*dQ)?gP84hx;1qqAjH&+~3E*SVPh#AdkO<^);aQQIjkjf`x z=V2cGF_j`)+rT+ID+hB@crl|^xJj^X-jFEy-vGZfYU(brmTW#SXUqr?T4uGjT4uCY zVlHj!^xB#_@4OEzPMQlgC!)_}dPv-8nOSOZc3&xA*j_yFum#Qxl||!DUb%lD3K?(Q z<0|^qDUzoV-i_aw!Vm08mYL~ZH*t*><>v%#SNk>g-_sV8@%_(}Wic3%GYys&M>p!$ zV~m&;1i=+hnsXQ$oUJebRS`14kB??Lnr-Oa%CygdKPWl@kbJ*_Dq9?iVIM7>VIC)w z?{|AxSAVbTmH>TR_q~1)c8?%ACB)*NhcG{SSx0(Uuc zNci$}?^u~7nl*H#Eh$$uA`*Bq;UQHGu5q~3tnUERJ?tt1du3+7m%}C9LYFQ_&Gu4v zFnKEvqJamKCuL#}`R~i}e|zF=9VM10%~= zAr~tgux#}HiFI#6Q)33-9vODSqljT%K*fY&d2|!@xg_egI>VvSGfCPt^E=alWMbLgdH{_V z|5eD>0M77Nb_#m&$b{i5|L|7?A*<>;s-wPn1^pcoo#FN7(+3!nk^G7Z-$>T5PvjhxhEp2i1>F!RY01DEE{88Jt2RziYaM+(3M8S?#kPFTv%te1Cjhk5t=1YxAUH?z){;x$I z=D79_@uC2v=22JBoO^prI{Bq|P{#d(pqIc1Hl-|Y^BSuC|03%x!=ik@sL_ETq`Ra= zK{};jKvYCYQIKwi2BmXoP+F9Rp+mZxp}PcR=rgl#u4 z%?z9bTqi~DV1ZrxAE4wi0Xk@ZW|aqmmQ_olT`CLs4Tg_W{$47-p*p9KCILJz3=%Hj z$e4@{v(jy%9xS_rVoXuVr5#1DTp~sU@0F<+-lPDbzl^G;??(GVCw-pM=CcmQMzzlZ zpixoP9WR81+|*DJK`vUbzhXV3eTvkU))%t$j%QV>y^YgS^l6&w>_Tam8ZUZtL(~wF z{!)SaFC1lhW1rGinrtI2(}FB< zB=>!v;FXgRQ}tfLm~G8gbk4uZo*=TC%{b_W0-Qoi&-9$0+6TiWRJ4!77Vw5vPjU+T zE<>e-l?N)C{LxvbQq!OwGyvD>`u-G#a>Rt$-fK+bCymjToo%#j;mBe^zv@`qvmO6> z$T)6~WeF7cCEcDyfF~n;#-nxC?>g8{QB@DCg9=$PUyfy9nD=4g^b`+f!q-}D+p7(W zmv`~|KTi?@A6DoHl^+|@Haxxwym5#}o_K4|QSbk->xJvg6~3D6c;2i?yLS7kv0Jjz zzo$}07*&%&2dU)uKBQO0!P4iII^XIo-XqHZOuz?44b`!*p8x(HyY?kEg{PH<*DHd$J&2*xGDi9s*8dw=|F=p(IW_cWH~=yHhrahDUAHi^{=2f> zbOs&;jNekMk4aYxtU21Bg~B?)D6B9M=4f<}3ti%Rb#RjEExEzB8$vq7Pl7<~wV%hF zC|n~^6z-K0n58lSN>GDJS~bN(vn8!*QZa8FpSKNIw*gSN*b!Y}Ap*&D!Vi}ZkMn)x zwc-g$!7sQiT}2ep`Ux<4RNnOCOS%mve&ol1bl(DQM&?QQ*%qVhAYmrv9}(;lGe)Jx z5##oc(VQ}t0)EqKT>CooX34eoLGrA$b9zJlEmsrbIcH+4S<_;+5r65{)S&^W+Jix( z$L&r=Mq4-|EU-eUWj=Cwiez2MlaH&pV{Qud`!(rWGv&hz# z_&fIoA9%;4tGCPQZP#Bykc_evqy-fRd@Ny1Uy4P5L~YW@F}bL~OL5OqYps&BUmtJs zW%TzH+bbbMuAJMKe=z-V_xt?;S|iN<(6VUCx663DH$MLSPJ%Xd@T1|bbYzbXgwVGr zm2CKJ83(1o`3T`}jNb5T;tzl8xt5daRERgi>yBj`vJuCI{87!{?JCDNhNWzC#a*`3 zXIz9I!AztGq6#N;3NmT_p@vWnJhv(Mo=GwZp|V~|!t;_{Dv|^D%rvE1WSXjAeWh z13!44W2l=Gx=8Nql_~v7K5a1)wA6B2x>Ps&GEMV&j+~RIA-+ML$}R?OqXXE!H=O?+ zVkjJYXb5@rhAAGe(md9E?y8|R_mT73r}mS&5jw)+L;oMsY%~W#?<$;hSI+-GB>I0j zctIeKFYEqfv|2XB7s8K> zVG2Z3DXYxcLssaSAD$QO)n<*egwI~4So#?yg^+UvUU2z4;53k1R9r>E`n5MN_vEyZOP9xf_U?Cf50w~P(?LDd%ml{Fljf(({i8Fh zs}%jVja>$r-8`O*M~f%u>{m7+!wl%}&YJkl(=kCK%Caj6!FUyRLVRGQwu*52o0|!< zmlUaf+ZbI-Nk8etKK>g|uR)-fCz+I(owa$sJ%*TDa=h#!c;RLbsA-Y&g*1S%L3HDT zyuB4i=A@@2r5$GeDU|ym*vLEYRv^Qx3MU+?UUZEL@WUq7<>w@oXUvX<5WzwIVjSO0WvS0JTP=4UXSiTf*8#{G0H5d+@n-yla0b znUN8R$BPWBz}}6f8*0;PlATxIT7LJ<7e8G}p6IE8&m~Bakv}@TF?r76OLA(xms#N@ z*I~o2z9}Kh0CpX{y;C-^(e)L{9JC;2Qoxx8j>s*19xdV5!D&Q&rYVqtk9|z^AGiMC ze~#ga6H8Cx;6sz?=WH~v` zAH&Zh(y9u@5#WXx*tTCUNTqrgzNvv>cYz(Mm7baNG#uQ`|C9Nw3VDl#4&o0+Tiau! z31-x>oyy~Y16l`8j=i=`)T$PJpT{3m8GD7c?>$5}RInfleLmO7g&;EFZVa^Z@F|b| z?}A)Ufd_%!lM&rKktlyPk3`J`#KjE`(>aL`jltX9NN7c{BE0AK{l^0~I$EeA%aH9G zx*rib9K*q%aB0?B&c`GL#eR{COAZ=iKJL1~vmeGz<5C=syTid$_by|Y#88U8=}B|T zr-;l6jEcOITj-WhbqgQg)Vzrb5-@~b#v^InvTc%OlDFbvv+Wcov;b3I%;)>URP1cY zAM1EK=RYuMliHIO6l7%lc4aNXoxa)rzqj81^RYt{a%-)IK}@Od(A|LDg-P|fH@3}~ z4u^*op)lFqUbncsQEmDz@I5p`_wMTn2t=ARn1D8w5MC%<3nPpFrbrGZouEWV%$P!~ zkP#~ofEz%-*hE-|)6W{df`Kp!c40rHujFm`E{X>ZcCY^aRqPfrV0CG5Te#O7K zmBBkVCGn$_mkbq$=qng8O#Zpi)pzn+lGiuvm+6?%A!9mo!U7j<(Nf3CypBTQ`G9kV zx8**uETzJYW4BS0R?x|s()H+f*8F?MXJbj_To#y1IX^nn3TX#8)m7MFl_RIu$_1Cr zbj#d9;}iJkN83S>l`HM#`c^Bab&G{_-{WSa+84~;yq|5G>{;8)e2inK8L#`kyw(_6 z*ltOR%EW%j{|{3Jxvv53n*DL@WtPJsmcz*#0wQtH@6#87c>?N;?J92=limtlUMmTv zXI#j1y`$Wo5eVM%03*lHT>ZL}&{b98w8#mX8kqMfD8lHa#2TQ51eF+YW&27HdPQT{ zcRTT7&}X<(=rE!tD{jtddb{#S6Iq^H1h+&mzcSF+BG(+g)S^qq7^pt3T&o_H;+A3u z@iG(Cr~Hw#;jbo6>z|K=S9`~W&DG6jMr?lBenzdCLf39{vku`v+TNXJTn!_%JG64@|=bWs1&Chpt1| zRHtEGX;531ibZWXO@a99PV~x9C)$OX1zMM3T6h)~e`^GNRc=4mw+E8 zVQ09sG8N{Vko17KAY+0a2u7|H; zk7qAsAkd2Nn^3WEB8EbvFq4v7m#I|QW!@>Jxj=Eyd+a3@=~dhfSyd0w%FJojcHzo0 zw!P@I3N}p=x^SX2!|g;f@_F}(o6x7cr4-};B2#_YzYuRJWf0uXTm42<{7yycWYm=hV(b+$vEnZ1hjX4q(t%uw>R_xRRq|= z0UQ?Xm+}Z^iMFI{z7{c**tC&gSyIwNjzV8?skhj_VM8U}6m72K0T9N>n59EX-@^72 zP(@9~wWwt#cjf|J7x>rM&*x|6#`ysw0hXrWjFcn z;wO@xhPr@*x(3xBm|tk#OI{Y1G=WW>cxzEHd_xprO{uS~4=JIq-!!`@x$zqsCkH1> zUy2*4_whH?3<_SE0S=T& zj{#XEWUp)~JVe;wjTGFq|GfvuB`U~A6Euv_eO(bL3|P{n{&bar3<4{x!Ct?4bHB}e zXzDdu*$za%wkw~4gbvXiJ@KJ0`?y!^GwSh8`XdYSLA>e~Vg#qI1;w7e=Q%8DnRneh z%ss9;IM3?+JW8luZtp9A!hN_qO%4iD!pH<0N+Ul?79T{`lz4iI+%vs--%wnsn@bTf z@d-mag(zA_&j$C?256~x*Yc2Wg!ZUUl4&9tPZ>LDkR?H^?nTBhjyRCJxN5|l6g1X9 zpBKC5*)%uJ`I%57dHc-W8K`@bQT4V8F7D0dReq+2aB7-@1}-tY}LaUT-++=wRz5g|8rbYC3zEyJx-&N4ot=UPAQ|Ik za!?E}FUQa{xCor~^lt7sy6d^qYo4Le;3Jk-hS}L^ryA~bTrWY*+T~-CPyNPr&od(| zGB~Tn#^tXy1t@!oOTT|zO7xght40dnbkn|wD}PktjrurHv%o)*c*8^}GO079O*o(I zkVe-VCuTgJq;@)#YIVoRsq7l+4bSK*w79koW8stszd}`7iFCY`HP`z5pOST*wA9PSJ z8YDj+yU>nj0P@3<;H~ngu$*6l13LjB zPT$3|oCOnsB~7(I1#=uqSFa5};pXmHUSeF-2+v99TtPp~%}g)!%>e8GDr%Xm;xpl2 zCer(d*pj3R|J%*cp|~`&#t_H8mo%1c80uV>GsXDvjIn1doH4eA93LPwQ$ezeH8g-Y z^hGdtCI+Cbb)4135{v}XIP=XfyJ8)`qb2;!v0FeWTnc2&=ukr_I^?J-eoUYb-6Ebw z1#N@Yt{-G1cz;K$IJJeXK{A_0e*vu?&FO^xE~yT*#vERR8y|{Pu0^whgCx>bMeDp?9*vbU98-_e z4HkJY#{Q6XVVfI%qITSG@O5BO`0amHV%Oh=k)|ee&O2hd{RBE_dUh?RwF=a>-s9g2 zCm-9aZU}qD`&`OaA&lsxTyI*GqB9E}qj9NE+L{1IZk6}{Otp_t+ZM7|=xRb@JNC8@ zUbLQRmm`Gnli7LKnzzY3kS4@(xNmP13F)E(RF60F$kvV+m!51= zMD|7B^5Y0B14}VWmoZjq?5pL~_lp45s*}#4`|Eu2*g6u^FYt_|wuk(;jY+L0dJ7rK zVo%ReZ45ZVBa>s48e+68-94u$#=E=(G5h+RS5X-0Lv*|edIcN~N6xLboT zEzdzFf6{!ig{<4f-+A#sB|#V$BC zeRnTZm{?MXRnN6ObL+bF9pcn)!aSjWzk)Af+tM@`b3aAvINW1S86Sg@HYhCQOTj0b zST5F|P_7@e-o{SsZI9>2TH;p;&kWz0e)g~=D6u#*u}EiNP-o|_-%$i6H|E|KYFMyzMxJVuHpL>BK8@0Bg$F81b_0e)6a= z)RSj~yRE073HIE(d#RP5iFb&vNVRh>I_*z}G8iXoFlVsim*DQAb;jx)R&eyL`nY1+$(FRbAi%6i$A~lB1*3r?D35KifPqk5x4tM7*$s4!o?4mo*!3ZfeDlroi~f?@en!kVT_TXrEu zk>5(#SWu*P`>iK1C7tVa2qlT;S30keEP-eYnf;Q_CI`8L!v{;rLT}UC?_^tpV?)b> z^z(hhe7l?+MGGz8(O_#Gk08d#m-mgQC~T_l}= z3!S`@;`5wTc?DiaRP*aMLNGhp;%doT*i;uqG?vCk+4IQ=ued#P$dXEie z6*GTHW~duZ@(~+Y1Wxxi{0CV29ZkuZ8lW{F)n_3B^MGB{w-n=txgt68Rx>Xn&g~G< zYlO;g@k;_&1Oj73NOkwIJZLlNAW#$W%E(hO)%_~9VO;zdhdjOwD=q55IXjD|AY}Ff zxFQ@@b?rF=0=#k7rn^F?qo3eN_n=vfV@DmkQUK$43qER> zHyS&iFt`*9r(4WqFtKmO`n5H(t%G)@vECv}mcfTbaMO89Pv@|UDV#TI9le7Dma>*D z?O3tp-;IW@-?vD8orZ$#W1wIBr$j0VAEmmu;#ygfS_;+OJ^?Jrx^W$9uAqIKi0nW5 zoiOy*AG03oEOV6hXl%8|2hlT!{nq4U`ijGlyCkk3mV4-|4DG(PcBD-8k$v-Toqr9Y zw<-4Pl@ZlLU)OrS%|dJGha2&{UHw3EX`S>Lx1OrTvRzkzghYS-B=CFV1>uKnU&Jz9 zlM^F)2*KTs75S#&djwIY;|A;}y1EZNx}OOUO=TIsL&zGMB1~!~8=ReHJV%|T{mU^4 z@6oY!ePhXXW9FOom8pJ(pOaq?b7ZoeU*AVz(rR4Lv3L0aw#BWEO-PEF9N2Uw! zgH=j!wsaXQGjK1T>3hGze3*1h|6#dEj$MRSRvd0EOrCpKcPKs)_2@*hC~Vk?09#{L z5P9Plc`6qw^58U!*WvgtTX{(uG$eJ1(>@bF?qY$hh7qLRA|5!9P8*aE@9{%X09%Ht zG{hqEEq-e#TBje*PlT50`(h(eS^6w%;T#xV*#_l9;rgZW8x-kpG4T82+x-WfK~ zTEUA8f4%h8`r6@#Ub4`e2Zzgf+X60w;4#C3Rt0Z>%kf)br&9)j$kTVXF#mY7JCg+o zfiSieFBMv0Kx2Ny4fk^Gfw0c0J3bIIzvWd=#OBEJ(-7K@fmKu*EFh@!Sf8(YF~)CN z)UJO7aqYFqTk66588qm*^Ip*`KKjup{qOc-FX{NPS>r0(R|TiNW+|zu^bKrLu`}jW^ibluuVB2|=q}wxlFk)Ghg0WFJtU7OPcS2V#PO&O0u6Zc!F}yi8I`lk+MfmhdZ|MsplQr zap6i7ZD3dP6FQS=9r(3=-7pXs{vSx3Ch3t!?oRj=Lm zqNTq6S0WI^d)vTG3}{0wk30E?KP(CF*!O8=KZQ=-GMi=pP?RGGXJzQesOOwM*X%+AHM5+c@9Q3gY6UL=LgH5vylEJLecj*M*Rg^lFX3)!haYIg zI2bR-<*6Zeqrg`SPJ?B8aj1W60u1jJ`KbYD*jiT+tIAgSAY0BVn7lj@Tj=H6x>SwQJYn1ZmCrd$E z3MKCu*1lzzvW8v9{8XG{{138%kxs#{%vZ)eY5FT1ZBq9N==5ASWt|$ zS+QOrmi1?3EH$^S`a@votL;aQS&^y!tHNOMNr`-lV9~CU2Q0-VE^|N!feVdJYFceG z6qxFtKPcwEUIVh21L2;@IUa2f0^VNtQ~SJdjcfsGSGB%?bbnbOFWY)GKA6!Bhwq(( zQr~hiR0h*S^vO#HK9ZH6VaaDbYE9WSwfFF|(TVLk?Ps*^QluOlzGfcZj79d^+4`G_ zeueQw%&79+5N?!Obk|iKxN@vZ8x=-b#8MC;{|Z^M)D9>__KACt62j9TNYP4-qts?p z)a=T~lVtXmt+Q|FW%t>D3UQuW+DLXc;-}F1YVhkHYwGy$wNLMBvicmJ7i@?Am(I}m zPuw!odIMxg-+6_PEG_kMLofhucvPp+;dgDC(wWae3qcku7!SIa7ECBqE>!!( zg-V*v8r0sLQBy!!&xA>jbuEOke;EO&t6%%2uDEIAFUJegroU6L@dbBI!;*zY&UP-7 zdDdDHjKHKqo;Pu6L>2vdgtAOSt`=Adb*_q8gPCW0*GT8-#Os08NXzeu=IVn|!Z_hK zQ(x?3LRSC```>|IdXI-I>R=;8_eDnwef1jN<;G^!$NEQ-3Ku0Uioq4e@R^n zmM_}uJ>4{r0t|0o$xHe>b&UO+d;Em20af=4664j3Q#r_=5;-`{K(`fJl)tBXdpIo^ z09v(f=lJ8lN%uqJq!r`bbiBW8WM>s&M2Z{PpgaN^;WqY_Rz;{Hm>(1;=G^07%ik3= zI{elyD~$?ad+*gi+QEc}K$K@ljH~l^i>SHDV zUe30B0FUHexgbQQ6O%5Jj$VUaQnOds;=8rY?d;`kvV|M5k0H=-{gT#6I>F5TDss|m zE7x@c^`}MHzb@hZtKB~#Iv{ueQ#suj$2*BTrlAUN5$50p8qdk6btd?M+-d^*Lun3{ z&mVk<67-)7f3%%@94LQxa74b1QelYXy7m}t@>Z&RACyK+nyPQrXZ35K7_ATpWm_u1 z`1j1Rp+q4;X1?;vof79~(9Ul?9$y>sRsq@;n>lvr=z~jHQqKgt z;#VXeblVX0CNPE*CVdFPHs;9uGF;rkU2-vsU|s?E!I)76oo!F*b!GpMCWsD%V4@P` zjwD2%y{2X=TW>gyLa*MfLLQuY07f|DlA+r)9e6hzGd+)S=yL3lkXi_tlq{G5QHa?} z;-Pw(rVm{#PN$gP-%88@c@>@nssWgNLUUXe0eWg;+&GtGE4-1Hex zfa2exSf61oUo~cL^_2QXsF2Z-!1qtvD#9=N=@7(kH`CyJCyg~d&v74p^~v9SLXMG@ zaX?;0qy+e;WQ5omUq|V~%T-}tbkPcgb?ShSA_6v6$<8ZQvukhy3ZC>@zjW_HZxsvx z0W_nN)W{folp^s_T0l2f7ywLkuOW}(k3@GguRvl?K==00zFJnC3%Xbu5cqoMRUEef zzF)p@TtLJss1<0U$Kke;yq3mkxM_6U6P<$5NV?aeW%*OspS!Pi^n#I7yX7-H_u*lS z_Ta}Ao$79Hu*m+971l+to3h@}rW$H;1bb1s@D0nfyXbgn4Ew2@w834vJFZ#d-{&*L zlxf#_bk6?4r)wpQhcXy}vGr&b#|!ekGJ~J{W&Je+-`hFDsI!AMafG}tHK#gr)INl? z{+HRrt=+%mZqMcA{0JQ;>oO#tvqb+rv%PQ@j9Nx|zY8QD5}6Yj@1Ef1n@m&0*5 z`pXd+nxJ5dz2PIa9PY{Ai7uKh^iISYq%z$P(q7N*VSs!wm4jeTt0!WPM2}Qd@%y7y zDw=g2lqtFvh~GB;tW5vpqlHM$p1u%P7YxkyvrlA9QIQkBC&45=Y+rpL(1?l#Y|!-= z`TR8qnu*q7q>?WE?xG?qEW7W1pZ+WUjHA6Zh@Ch=2QpmN*Rt#G;bT&_x-$4%XogjW zAA?O!f4|7Ta#KR)zGU6|pkS6g+=tGi+}sn8Px9hv`UmbP9^bF~;UB1N`JtxyII`zI zt2RriOglfz$4U&g(JoI={2`gF{?9R~L9v?G;)ikV$vzTaEBS}vJlkO0+Ks+W(cIQ*&t16{e65)L z!V=S8E4oLMHyO)KcC>}7H1CTJ%aAj8R!O_8DGO$v!a3|>c8Wjn(Lr`1Be~1U^(948 zIwH=EjkWPZ_Zlhd6K-ruf869<*Jc_)c@duA@Z67BzB#;(Q~fy-O-jxdu{>VPHdPKn z(=g7Wmu9Vx+{{uoz)C@_Jw5~?kKxcSoi{OebM|!txg(=g%eyeWVRujKw<)4$F58KJ zXA9}8PMmzd>6te^=Et_3^DB1X$vDZpa$X+!S>5>6w+dRR{6+dVTW)HWV3Cv`IPLQn zL(q4qoQPz$0GU{axM3fwAZrU~0QjwJDc4i7l_^bBRUzZEIa$c9(|wjVtrV+r2qne2 zTyhpDyvPkdeqH8Tkotc1ncnbed9gLjZe+aaSm{|Ci*)$!+c)vT3Gq?!OWO2cS%J|o zqtXpuVs`!b-Mgf3=(5RyDc_JC8|&*^dd|zPeQxeKm*ef1!W^M(w4jS6G05BnsqJOn zr*lp2I#>9}2$9{PbflHTaVyJbEOs{Sa* zJ_3fZ`Mr`5u^BNcmtjB$;i1BUG+If-WuI}KKZ|cW#FgT-W?zL1zuKWc&Ki`pF-;O(!})c_n`8ILN!>fD`Z zdv-pHP9&23&PuFu!zoVo7W`;4Ckat`)-PyzKr(qjG1;Be6*|063<8rJjA8lS?iQSM zG2cJ(b3wLxoMOt}9bmWk+~6-QwI2HRt6A0j4E^CxJSQJB5X-8j3t`i(4=Fc^+ZAQC zP~>T+z*@wpC!^$;{1858q*?wbp%1f%-FDSdy{2XaUm^3$VnCKkT%U{44Uus<-qU{3 zUsUFtJ{qyk>*f(JlpYUpyMEN!ue~zvT$~qkYHSXg?^7FQuURfPYz@@r2mNp0>(#P~ zwjc8TxT{zVf(d1SlpD2%iiM3HG{@|2>4|Rpagan!`PCyAT#UN)`J|+qT2~X3>Y`%T zkGEC|c=7q}@*EWx2k*6x7UP(@D}@Tm2cqhhAiVYwi_W_&5*_nHA)8)5>y?@vNDL(* zj8<1feW|H>4W1W>mEE!-bBH(Y!_d$gmD-H_P0x!9PW`2}kkr1IXp#E+CDiTTj&mYu zG-7?r#hw1L1DCn8dYf6!tiBa;IS|j$8o50N?W`^sTgi#Z=v>bs)I1G>vqv0S1~rR0 zHlU+n^|&NsAP?f0Xg`g6^>*^Wkt2Ij#wX#_LXm$9WAh`DdQ*G{mqW!2-0pAd1};_p z{*q_AIqrB#M_xzYe~e_J~u*F>8TwzlBD=n?Jf zJaxWxN$)Xlw;XqL8n1Y=YI5xmBS;onTbidn|MUvHJbU!n`~Lm)5Sg#xRpZC)-i9`L zinO_C9@V0P{wWIe9ZG)gSran+p0;uwGqSk=U`(FP4NaJ>yx{~+2`W%;_=9d?6lR({ zi<{wPn7uQUe+q3?cbp__#wb%dd}%=Qgdl)flyVDWv=MjJnG zzQiJTLfopFNRZ4Re*v8QEL|gbnq}R0Rkft6Gx`(YVqKNc#F@JW(Hzq_f@x^KBCZMh znDK^5gy@r2^y`ET&rj~2`UkP1;S?|%v*(-%C{ZO2U&Y<7#a?-a){Sl+BM0Ga#4r>+3{Q=OnWW4Z7*Q5~i{!ClqGj}{yM(Cy zovdr#0MPM=J!}{kum@_qy_@8Q*Sx)i*i%AnU$x^seLfo95q`bw$zxABPy*6r0ICiYziNflrjrNA{wS2HfYm zDfNh$c#_R%TbZCPf3dWJhBHrB{c=nFdg?ND*_7c#Pp{y{4&>@ z#13a0~yP@D?L2mWx96tI=~Rc{-VlF*xTPZ&6@N|nKCYAq?by?j3ro?sfCkR`tkW<1JNoYHos>F43V@?gzcZdLDk@8o zPR_r$=S^|8M1Z{@mSP2$Jxvq7%>;gQYI`we<6=c;SZVwA5~7dfD*yP+P1pSFK$wRn z3_$f}YT}gu0w?Izw?HFHjgIczYi_p zo?_I=hJwd3g!*UXR_Y1WjXLq}*ni-Nz&yR<>f~`1rc__p$StfB%LxdSemOoq^1$#e z$gKUjIB12;sTsrA22Qn#F!8gz44vO9T$?_Bv66dQ!3b~x{!0C1OAud=TY)UZNO#!< znCRJo(0kAzIKNTnx>?*ALJ1hh>^{D6bUwCnip%T*xP1sgFQX|JLlV-WEK74Zhe?2p8b z?RDMbZPdW>7m^jNmEEJ6nT8hMMGFs!_I38uI;9h2P`Qg7Yi&M^*R9=99$*Y0BP+x3opXYBh^Bkm#B_Xo1C7V}J~Oo-FX1n!3x zO@<7a{ExSxu)THp`!Zs#y2?lPz^Z_L$Cb-exUaNW+wpBES>hkjw<$+lE7KidtXbox z3!*-)tEio?X~!cmR4tkJe&@GI&a!tUz&|5(z6g!^!n=x?hz6P<$!o#Rsq)iFy$Kv( z0d2R9&}`tml@R{AsCTO|i-BQ;I$*97$3hpEU6& z07EFRLc&_M{sOzf(SnKOwkdnowI}WtC+p`I_u*Y)xpV1d)p*&xtNq@ydWq7%llBW= zVzxb(NT*O|Q5b;@5~Fo4>oxYm@xK`=YN$#LbYXiU=#Uo5XOz>MTDg9+nz}ecf$%rY zy&L{mzo^%;@zQyw*-w6?YX~ZgZn-{9eX`SgCMA&_`WFbS6F zSY+fUJU%*-tbhZ;9q$LA?acQmnE1u6+RCKc-VFfXu+3|Pqk%XxGoWG~BkAm$_Rftg zr zkr4^Npd_i#R)w4LgT*{+q=|z4ZV_Zbf28>P4VhhcmG%{JD+UPCTZ4jmjig)`FcNS| z26q?7jC?TFpb!s#XpEPP7kPc{{$C7b$l>Rb8j3Re$uPz__U%;SGzYPm+qLF_>~se7 zgJ<>;?CkV>^ln|R4Gze1!z{S`1hmhPMQ0Y+1JH+TjLpvvTa?U_1H2x|1{x}AyZvr@ zaY`iOEVg#v5PL~CY3chaJN}L_q-SGkvrttaHp7(MDQ)ge*K1Y1n>AYV34hsM{?*)t zQv=mD?)J=7Y$6Yb_OP)pA5x+Of1s2ES_blN=|tf#{GoBA;hCXBbCZ1_)$)Skn6cDH z%8ov!HB!5NDGUBiQz}o&at2QRvcko1J^aqS_Pr(n8Ezk%0uuIvFZiizE3a>7)bBQW z^bmhAB+&>!`uy?L6pmxBQs+j@;a6w}7#g*u~hAIa;xUg~&K`^DWyRQYjMNzQGf5v3*XpoOIkhe^9-4bL*GKrs^7*;Upd-F>jUTDX zv@UqxzrkUq9bgmdb|^9?ukJ&TF*el6_c!+LOYi&2*{V~97DnK$X!VUD*gvHs0DtL5 z-G6;Tt@WIO>(+(5Uz4{vc-fTDx86E$TLOtkWIcXxJ)fG`Qsj2AzUVf&-C1h?F??Zd zE+CcLzLy0Xf4_JJ+(9xqe-CAks9XJ0;fxKHSUvS5GjghKNtK?>K@~2X;J?y792V%w zcyuGV?|szYL9|YgA6?cRZG`LJYHXJrZ^P&C*RX2Uj z#gK^;|79(v^D`lXE$B^go?jq(-OX;2T7AK;BGT~Lrp@PW`jdpm$@drrLEm8ucd+?- zM!$>u;|>zowG3h#y#ezt7|ZB_-rd4ijqbQ1wZI9;su-HeW19G}vVHdxHodo}jlwRO z@65-7m%hnHtDGwLn%whaZ@(^CBlcC`32epFmd9av@Sgoy(`tEcnCh$bA+76PPh15; zl=#g$d-;Y1N#c{kk$7JAKfS7QO2tq3SK>rkKi}$GiVsv=Jq34_ZF3n=Vic~YA^v9a zGs^94H=M%1W7Rl+@4z?ZFL0)4;Yx(xe)T;}&zH`C;NtkI5_Z!q-%1%OwsVrq@m)u~X_a|l z{+eU-wum^J4mQ2gKstu>D&e^JC=I_O>~6#JjL>bXBbbvROSg6@%UWUNP0`R}@Huu$ z^E);|5+D|r?+g$d9MFr&_i4Sd)e5#HH-O1@1}FkXmghzhxA~UNk@O_?V_@x zRcGK%okIH2A2+&Vb>#cs@#@XR94~8qWv!h@^mP3_zJ27HYd;JdB<`(Yk4VlD%ExxS z`IhcpP4t00;N4HT=B|yRbz|-AUW;tkFSGdmp2;cVgV!Tj^!8cH9bk+WKBCw+vVse$ za_B#hd;V1@x(fmT$%+d2ef1yXH)@l0*^5@IaW!^4j!`==;;6xPob18*P?Kk=ms6uo zn@Aei!6=NXgKa8$Kp9vBq4@~{#EQ&qK9_Ys_EIZZrFusHS3o8m8!=qK67^7dG*QA( zh}xEGtk<>zZRvpHLlGW7ZwQl`@uH2sx^BWatO~b7%6cJdhKg#p-%#iCI=z*0U6k8! zJKv0;IYD;C+~Q4BzsahtF91<f=Z5YuF5$`24Qtp>$5 z=6Q!Bi`v7mT9)4PgfgtS7Z>zp$`Wy?w)n+g{K;?1 zsiL7tq)yrRYh|A7D=IJ&S&!)(pUc}?8Nc$T1=mXG*QKWW12yt+q7{l#p9$CaScCa3 zH_BIIFU%E}J=Ve%ank4=+Y=sKX&Ka>Uc*%UF(WN?Ca7H#+f;jx+Zve{PV*{V2@Dt+ z%NnK)mkG7_S1WwKWe9{mSY}6Ze==el(Cn?B6HSkhxo<2^LE_;PXjkSvJ+G@BYqMVD z2*dfYOHq{X7QyuUy!Foduh|e?x637m+7eS6hSE;9C{4YJA@BA?*OOEIrL7m(PI@{t zQWhi!HmCH3eE34D`(Q!dlY4t2&~&cs zLn(|)zl=Q3^6MXl>Nup*OH;;p!ek6w^jl|?tdHo8XzZUz41VovP+c1phH57AnzS-Z zX_c9{oOs=&=Fbl#$h=zW5Wlc}OiC&ZaB2|!w2#W&1%*h+)ZkJ!B@orHI46R@AHAv5 zyegdm=VbX7!BIj*&NR%4aI)vuZc^##gRzhap)YSkSy>~2kL7%5YH?Zy&^KWIm1-Jj zClt9VcB}aXcDfBAK<%LsPe0vIRVdYEtJ;*B zd=PMi@vW2IcK(lE@o{7x$aG|n@-*RUBQtoRnFJl-hFm-WnfM2mf9AmPpZt2nc5Uy= zwnK@IKV>}pn;3-d$&$&h6`FXOI632(-q+bsih!P_d1|)Fix6x}|GauF+h&JU^Zl09 z8a{f`u}un;#512Dt0pdcCox2G-rJTb1T;zd_0^A=@Z+GAX6`%q(Fmno!j`TVuDiMl z;c)x(pztyv_4As!V82V}du1BPIe6#z$90O(2q7VdHg#4wgn)c?ed?W=?+I*n`f(S&->CD^(9hT29gDoCV3<6}Ey%ciRh zj6qRmhqH<~lg!>vzgYcQ_2T1*zL7cEX>3L+tvT(lHw8PGi-5=x0bCfZaV!m7E!N{P za8FPT_Uz(fD)7X2S}o}eueCL7$?D=}n}0YE&`y)~A%;tqM?&BE3JB)<|mUjn=`_!_{ zUr%N_Eo;0mNc>{Z4m)pjeRo$SGZ^JA(xrcU!`HDRqT?W-giI&T_a}(A=No@8+@#w~ z)b-od8(IS96~~%*=8BHAJ`<#$yzw}Sv0r0sk)~$n&EN-irt(JLTBoK<3M{S@X+}i( zz-cZIryK~bPqzT1M$A>{IXL7H04JH1@ms{6nsf4AKp#|(-916-fDC3lU>C7O$U@|N z+m1C%17P)uagLQ|qu+nH%u&F(N*%yksR5*@dvf>~1KlI-)GRuXuvL)}?tZ@y71sRp>Wn^73Fi&F*gxbs~J z-$l-9Ye-en1=eGud+pUnr4r0mgtJe)C%Y19Pf7})tk8@%nS(Ge6qE1fRLwOJD+E69Gj-7@p@xo7-!mn zOq$vziBNOyv?o z{Crsxsx72&vOKmmd$%IDP1jIpb69Ivo2%RAZR4pw@%8qugVGIvZZdCk=|>-Z^#Gyy zJqxTZ%$u)^+{TkH@?^~tISK2gy{zGsQyE~y171twdcD&_-*f3I^SD;?f6{G^F$Oa`U}ELZ%rETEgahC@CX0(zl1;e<3E5u_qAVz|G{7R ztMEI2?XMr8^lx@uTI9s*{|$Fu;Gx-N^0*xBvc`snZ2%tQ?4Xzgx^D_tfJ9Tqx=A#{ zK;nH(lgdLhUn`XX0O$B$uEH>>Fit9#a)v>A~qSI39uJA41&1Vn%Bo^q&6S=7;ll5giOsW^|(36ZwtOFgO=t`MYk`457 z#Wx8KC4{c`)7J|6`d-IAk%l_VSj@$E;@js&E=%=tS4AW+SyX$g<)Wx+JoT-z<$Edy z=4*#@5IQ%$YdT+QaWyE|64KKzZTWDqYy_LzAE|uPB3rxqkpq@R15w*)-gct)$>S$1 zH5qd4MD$yU?f8T5d>j7YU;K0U;dj5wv6CfEE%q_ZkLNZ3<|2=mUk(sjUoNMc3YT4F zX{N>6y-PS|06(eRThKt%9SxvRpt}`xL4HY}E^ z@mv>oZ7}X}p44}qAX-AT>#P^ydfQ}c$m$m7Td`$w(%0v6=qE|-#2|AZd^pdTc$52V z{Nc${-neTq{hK}45-{+0({1YkM#}fwM>iGGvvg1&JXPlbbur&qE;jAyKMIk3cIUr(Ik$WH1z>ob#( z&efx1n%xHXf7B;2o+9H?X2eqfBTrI$@P!=YKncl1Ktt?m(H#Nty6AiS=C=$uwxYgvo*Eea z@<{jk*mP+*UwrfleEhYqA9MK!vWW`5Aq!l;jV|==P&FQjvJMPkSH$-OxlFdyvAK{Y z1=CQ5WG;g#uiNBKU?JY$^@h%8ggM*>WFI09T^&~xg+adN$m4aT$f*e-I9g4AzVod=h3|gnTkw1T^dBD} z^uGyz?ce;L^iUlq7UY+TP@EN#&6RF*0APkyn0qRH#DKIEqY9!xn%s(jb4%1fZe%Ka zjM&{7=v*>_I>WOv#`a>#R(wSSxQ45pUDvuzc4jPaT7SZJq8CgeWE{({d|c<}Jb%3A zHjN-I{-)SduzP21n)Q>bM)3RZ>Fev|<@?vtoZ)`}#R^Xxu-jNkrJ*poj+oapW8=(B z`xw%4#PI5A88dv*;OQVZ835M=J!@ah7r&pic~(zO+pmCvp)=5V;EB{xC0lF_Jg33L z@|d+VQoeNE(98zy*fuUzMY6(Ac2-b$ZOw&3c6`YHYM;Gv(YhDH6f(tq-w z{-^Md|H(h@@t*yJvG=_%cp(l4b4L3|H$UoZZZ>DQGshi}#`J_A5>sb>TpBmkJ^;`I zPO`J^s|{698bIHt?7EpZnn=9l2rw%jxlLObqADkiu1SGczP+J?=;mk?N1?f13cza2 zT;B*VJs0PAZg;KDT|o?{$7#yI&m(w^m|XNP^hp_6T-6wfp+W z-@uC&7GOt`)5a2y4c!cKUsXqiUx?K{HS+ zh(loX_{j&z+)rd3a=$&wfAr`^`uO0t0U<;kdMT9^3ghA;R zx}?3B@zo*w*RNm0SHJo(yngu^ynOLV*WcS;{q-Koq@6`<8v*TXHy|1Sw$Dwo)=s%#Sv*9ce2&=10@? zQ_UeJG|&AY<1<(i`As2qbUU@ybx87TH#gw~Gy@^}*0#=KumqXpq_{7(DB?) znzQKTF%>>3|D7NF0KWO1@50wU{tEo1-}$TzliPLI z4c$2PIa8e(kbZ1kczYvy6VkQ0p~pQ%ooDzi&ram?4>E2eBazn&S`Y%j;PWCx)Jum! zJFVKU*q9`1P6IYu=%TxuyMC>mn&uY+Zv9D`_(DV-;9R{tr2yfyF@(b>;Nwq!sc+d{ z!uqI(R@yBzN3%uk9R>X*oh>%MWYWFfxX_*XC{q%jJ-x>y+>-*?tJNn#P|}*H5Nsi> z{i}Wgs68gLGZ^aO`4EQnB1n3z#(V{|3WL{?&g@^@KFyng+Qi1H@9r-F7j@GzFDch-0phmKB^x!(79vZWz*ug@%or+ z+j|*M5XZ(#-%M$G+rx~#?QP(8yzOCVe(l$O9iD#hyq{>j!5iy-fG~z#(?z_Y-z%vu zihe}@CtkC3a1K6)B4Ma5O;zLN{zUXDGK?@`mUt0507B8@W|Gn>i z3;yH(@c#q<=pX()_#6NB--N&ZZ~cv~@4w8X+Sb8gk|R3k2WiauRlDD2L=0mK0H6R7 z`l7;}4~O*c@=5)>g5NX(i8D+p(ig}7#xk@qvofz?OR*db1}GIvSMa~7EdtT+cg6qm z{ByM}MEM;>G{OJ0eIWQBg!?qgA=5G!npcW#iof%Y@7ONSr@zhcYBpC!qN(w^*9ay*q8hsUIk_D&cl1e1w47UV9S=~r-M`s-_OL$WrviDrjiW@;1f zAN;`|!2kC@`1j%4-~M*$&k90M34NmML@Mw0o1N0##v(7G^@Vki-N{_6MDmJGq&uft zmD&(V13G5vB%`l;K}(Nz%FAs{e$gI#<@u?F(ecoFROk3N*yFF;migAY`$CuQZMJR03O$GkoC7Myc^KlLU8yCiuMiw zx6^zLuxD_Dfzr=DdjXH1K7l94wYGSFbu8>Zd+`E(_1AwLe&ts_hVOm<`^Q4~b&qTM z)vr81%6Zn?|NZZNyO;6xU;Pb^x&8S|ZU3FrqJ! z>G$^C+R9AJORNOc0{QDF))dsWA%E9iwoDlX!vC2Y$mM9yNxz~XYOtBQ z4$AsOvBIGpS|@56P`Ul&4UF z6xPr%TN6edpd@EWVLC;4WQ9N=8v~S?2)Ybv^IR~} z4z#BRliLt%CFlVpv2~#S0mSO^?^u><{igmT^3!T8W0zy!v?F;nAwmi-;x2gXqdj=t zZsF7i{NZ=M1OM-T@Baz^^dJ3w_+S5T{}1pRf8n=&dFNeHT{!?_O!1%1Zc(tK7}h$b zGr(c|w*Y!HkRhz$EDm)1>~mZRLpH;1&PZ)}OmiQ09|D#>oNtf)Y9ps&0EIzb!&r-WvdOR#b~-_6KaN zkj1~q_4~L{`$Dpyxs|%N5QmZL>wGp94*{^9m%Z3}1UDbqPU+l=QPeh$$lA80FbZUg z0Dt+T_BXgJ#QvIF-`a#ZW?#$jw!LTypaaftUcc;R^zWC~{nYLE4k!8_{e!;?KmOql z`w3}~m%X(R94)4DTS(qsI2^)$!^+Y?&~_TFo!))ffY}Ca_Y=x;QkwWIww~&Vs>mQI zpD<>*b7MQGCXZvbt8e-X01qGoZzb%&E(;3o*LEtd0Vt39$-EnRY0}vv zyuIbqSq%hik9nhBd3*O59v?t!J2~BAX19~o zpMLU5KYjJ}uYdhmls|`$zxq|614#Vz(@*<&YA36oJ$uqO4{mO6`pN4KWFEq~(S@eO zQPv5f0nr9RBQFT!X@k~xyNrK8cb=l92s3v8Ny40t0XR`pFE0?}G=5sTKavd+YCv?i zZ%|l>4gsOnhv9Ny z{HTjxw(U1IN9nlbO%$FWw-QQFH)QT43`b{0;zOy=*+cW#rjm@E9*YAyU+pw*vmp)C zyp_1qyTrREdv}A!Z4X{7uoc*?FVX_HEMo0niiahjcCeQR;I;)zwJrgf^Ql$^c9=p9 zP`o)1K~^(QufB16im8Q}Xn-4vd>f$r=GDvoLfmeb!&50YqD<`+^P9WZ9e@T|Pk_Yq zrj4IyY43n&Pwuod{Ux~}S>_V3%aS(_Tb3=)2W?H$pjFSEe5H;;iUa49XWQ zj*Z%f=%;GgG+|TIqWXg2cf5Cw|9Lfv$0UBBg1C82Z0SPz5&y%)C%_ELJHwb*)~cUh z6#v7}ZDW3umEQne!(owWZ13QsOw!hCd7VvHecLaD|4sOv<9}ICY|an5(l*|1CyJcD zUjuI{Gqv+al9LTGDR_1QJ;}tsd~&eKDJt1SAW6XrRRx`O{9M82`D4C%KPo`BD_1(6 zz?@AxTQyZoDR;tGBbjUxnSd@JG+3AVIy~aEOiV5B*Yg|OC`?RKVYH9U!XQFi zMEtT)TYR;b3;wPD_;2;o&kb;6(X!xUIE!IIEjp{Gr1e_=Ely*c2Yj6Ac-kb-MP9mA z(#a&Zr#XKzp(@wpY5df1=Lq!l#=hJ8lY?D}agnwC5c2DU%irS=9C+5rQ34Wgn?CyJ zwuw(c5r@lwNM@B%JyEmM@F!gs*g%m=(HBD;nn)I#6x&3Zo z9NKB87INZEdn~n`vTWfqUVqkOZMGA;fAk06fS>&MlMakF;CZLF{iIU|YUOlPJ7v{Q z^7fOqwA)LwnslD@M-OG;E01RP_O||Pahmtt+QEwqZd>D6feUv2B$SEB@2W|RwyPSk_8{b}7b&(Tyt!)f`9@l}vm1BL%FYvozi01M3xW^jZ+9@gEvCsgI4o)9D zKWdBTqx{DQNZi0}-Sp`vx(-0E0n?8qPUhQVLEXxF)WeQmj)il3{P#tF^!V8aPmjgz z507#C`Y7XB2bP~ceGbo_f7pTlW)h!1d)npu$&Y`0^v|nfv*6WH&u#C(268`s{Of%q zKtoT+BZwYnUv!FOv76?C4h*P@L;GnJ3$I39+G}H{`{RZ81Qy zVG!SQLGqF-?sNvBcOa4RZYL>i{>RN?g(`Rp;q-SOzri_08H^NwJ*6$p-Cg_mgt2?h zF26e0h_0KN=;oJ6utws;qvKAfbV{?ADe3w21N9d(C1=87(J*! zl1%O0?d=A7ka#CgkT+Pxuf*$44}ls_0DTRUo$`-!n$9Jfes_C3vaG;4pEhm)blVuA zU0+@&b=c;MRbVsJCbmb{F^G`hF`)R{N6u+Q(^riy^t6Hag6 za0sV%;@M7O5!+b~pYc{=?e7Na>x*OezA?e~dMs!OuhDG#+a9{2g}kEvGGGN|)xPvi zV4_}jKmC5>`QU?R9awI5v4Q0;KH=ER&p-OGpK!i8=HoUX`jZ`PbEa(oANtl_%G=*V z(fIBsxp{twro92sys5tT`MX`dYYHkaIL0G=dk@4e^5K^mGZ@>$TOFIjA0F~*PcyZ5 z3N&Bhvtyoa?Rxr*dI%T}S>}Bm*O=!2S)Zw&*%ik^vzfoRTPm{|$!CV5Hmav)bHIE` z8*NpGV_6$otaSHPG3l1pq3ggwZIeSA{SI`bFjVa$S;jmC8=Jgr=O*J`ubmDJV(<=qX*jiPE?v=Y_upxtZ6Y!9%o>(pYkielQ}Zx zi}m?R)_oPdHmifL@*0sm7vzM4`xCHK;S*B3~7Fir+I|Fm3m&+%qssJD;250DG0qph$+k%m;Picf!}K zY@RsN9e^u??!MngZuKdO^}u+qrNZLS+UxCiK`hzbw=qo&5dZ|9$um z{=@$teCIpg;l&{MiC}d`F+3(X(*wkOirLiaTRW-Di*J3i z9QT{WwG6t;7l6l!wZUx%r)LnF`Hv31I@<)UHk8Jo*&~?QHJ=Ic7`^MC4e(}p$_o&S zo5VbO+qsNz5i-Xn^;PZg|+ z=pqXFbTpsrl^4E={QD#3O)TNXR_*h-#CQgIQQooi?ThPH)??sDhudQLaXXH8^mRLZ ze36$mwNNG+pOj;v5>cm7Zaiv$*~2qoB-*3+z8IHY%mO9|Ij+O_%cEL zEIZ~ay;f6;YnD*NNl34ZVb;MH5P*(koeCPF{4x$kPbWgc>uFpGmabCqLX@SqGB3VP+6u7w}u!W0~HpOq&$9;b4e|5n0mfNp%T z-Q6V2OnCDyhj5VaOD(jKJ`&&U4)NxQEgV6|ruZJnn@T!H+Dlk5_{0i4>r+Yg0$Yb>W=B>S8a3_CP1@{}jAh*p&Z7#g*7h7L7 z3w;qVw?AP6s-ONe4aYV==FJvsy3YZ3K(DEX25Die+6HdhTy05T9~-dv;wbO3DjzUdp(aZL>q{RwIy z`hwQq+SfSE6M-|mL21wvP`EZ*OU80Y>`C{bh-3pPOe~?^Jq$zFSqwb*JnF6URzgY> zTMdxc=)3v#nszrIEU_i_ApT~b4W&L3Lo2iX5b4H#kvuKo4!rr)t-X8oS%Z(nhXPsG z_rPI)vMX%5sa)HEjeqnH{!V`h=KuVE@xOxK`ip=0muB;qfq7E~bpMHur!{Dxfzz^q zfE93+Ijp-scD^n4h1k6iauVgbDcm(&4+mne0*JK<+y>x~)L$OsJ8m+4ZxAO*;cz{zPIFi*JKr!B|bZPlh8HIioXP zW_-o;nkSY$%QI`24#1*kiE5|m+&1fEOBX8wm>MFOv^&)U8GOGcqd~5CuBa-jtUsGg zhAi+#UP`_Y4(?c zS&xJEDBA(Bzu?lDbIAH34lCg>-kJ2pVEmT(Js*Y$>BFP1!BJ*i+eCwQ@C~{+-RjuI zVzV?%MRooo{{Y#--aqy;zbrQnZ?T2+pnmL7uD2h-CvB}$Pnkt~3DUj>+RIDDQ1pH; z4jGY4#O#AiyxMjvG1vgHU!Q&QlVhRvteS%E!-G)WS|#!eJSML*T=m#cLx@d<8lWkTRt_%`qdZAfFUlRwp8_m zPdrC?YndqVDH+7}e$a*KO+QU4adrhDZ*&oW^CFMx-L{k4x6Q=d99TE@$0l2OZ2{g+ zCO>X~eaqMC-uPtn&7<31$L9x#+!r?eadql1KYU9Z?&R|WbpGh058=a)z6u{a|Dc2R zt<1In|NQ0W{Y6J@?6gIBd%T(Um+;w9URyLbpt-#mvF(|EaDdQlZfR-S3&4nOd*`;Y z8Xw$H*&MkrperjrP#_BJ#dVvi#xS2o9ai1*6Zm{O7xqmT7=3KClU40_dXK9efaX1b z$gNK5r{H!ut%&xrC{BAZ(77*;)tTg@^$>wxev#je8L@i$IFFB}SKG9G95P^YJxew+ zl!Xo~LtF+UnzM{C4J&vryVao~Ljd(ff(589e_MD#rfz5TJbgojt8b#w(78QKhdfT+ zA9n|pnU~qXn(zJK2k`&@JAV&8|DBicKm6_A?y-Cq&8f-uhsUt~!3zoZ1KbC?BcSgD z=)*zBT?8f?_`kc~Zu$EcesT0==NEQ%9oxii?;v(m>jCM@IS?lU)z^ZAc9nIch*Zl? z6(HCGx1W9n=%F_NIQD;==ik10)#o4RV$R1hB&;BY^itpWOJ;x`;m z`HjVdMh?9JycvPF*f*)$=I2d+*`Vtf$8+8|tjmRCPq#aFa+10=qxlm3Nu}-ZKlWGM z2icDC)?VD(!cw)r{qY^#K0d(bn@9cRbUXe0x`EpNEqj0VGg*@5iDBp1b@y+N$cWrC ztGcUure~&`9Euc00g@mI0t5*V=7D;lAV44>K!Tq1sQ*JxdKI7t0hB-urO}W8mmYG4 z!>vhnS9f)FRaaG3WmjfpEE(Ikf1kTwqn*``*}eWnWY3W3$l}fX!rkv;*Op^v`Ps2^ zD0$*qaxsVp_sB9@`mD$j+QFr|lu;w?uVGNW0Nv~ftz)v?kXJu&Xcyw4czDRMr0Jmh z3GiNDUzPr%M8M*OzuMauoq_veXeX!Z+m+yQr=LW6F`c}%y>lo7!4eIdJg2r;cnZKU z>vv9b(?7KgQ2kUSIq3hD#$9)?I#nKK4lqqyAcb9_Lahb52KY>)o{>cle6p8FN^nmES*O2RqX!v#8JRtj?tT9@OpM(PKN` z4FBuOGr1Vc2NQ$2DRWX^t>>=ywC4j)fN8t?_xz>tKbW@hZv4*)!59B~#ck17EE+Ad zAZT~*uFBojC}V{3DU5kSYBE!egLzr7gZSUH)8_7(8>GG;`f{e79V!leKj)o&TAxxu zkmouh-Un)oDKXDXke&egx;5q9F{zqsF0cXSRfw{h&nc$34qWa5-cP$MA)=J0jY>_)Z~Ol-*G&23g{lnoZZsF z$ae0am~Y2H0`?F7;1A&M|C@iG^(Y8VZJCns5MM>a-n&8EOC{Tsc6lCjT zrDFj>Ez|}E9#+Q!8)Ffm9qOt~3y54*3!f_(lx%3**Uss7u1Py%M@)rHtwWuWv&uoX zxRp35Q~qLH>Zt&$_vYq4p>xnal=#xBi|JU#vh*FwYnsFPW9%bS#Fam(;v~1$_L0GV zb#Y!m$`u=f`^9iFa8MR2HayO3sFw4muTJ?n@;D-(lR=hJ76H3Oo|z5Zz5NB#Hi66J1$cd1`mz|HY(SSf zT%4am%E(@2R1POIBxAQ2`qckN#i%_#Jdilqm)C40Q_XM6efJ-{!=7uG7i*4pNnX-a z4^E17dBOcm$(let)2K}9_vLcXq=W&$%+f{%CpGq}1!Z?ijl4X{e)-}wmr>?K#z3bi zV=7}QbjP+G1oMC|n8K~`Kq<6|D{M;tx=29a^T>eQhJg=`2MY=|i;pi@>}2zNH@+tA zR*&eETH}GMS^?ZDSdz&wzxeuLN1c`~#@%--Xk z%zDnYh+CK&^Gq|ZKH}}-ow{H!$ik{vIn;++-14&*h1UPzkG{`djsM*5{qBG32|aTV z&AuvA^wpL8MwOCsG3s^*7WZ7n&iIqbxlksUAqd9i%N!nIowjAJTMTG~5SPmJzDE4n zC2T=ao0^r5^{>;Es*zVgFRt^bI$f@9V~~8SA(nLK0mS!V1Pf}NMP)@dV{AUj0_N!b z1yTP8sCqV_gG#+>oN#*1c6MNh1#iF_W}Ms)dB^wuFnuE2iq7OfgnRCbQeLSw0Q;+K zwaWgPdgV?Rfxw}3n<5`Iyok!og92I$dmK5gG_t&2 z2z`vAQ{Qmdkqz@cTv-xWol^vEZ*Qe-l$KFLNf98O*1}`SBb&f`-lbB2ahAdQE}jQN z*!gGrSvFnA#!zQXw*V4B4QPhn1eXEP!8sv3U*$t3wm84yyo6lqAv9%miuGYjK;(Il zdoJg_cB9jK*4!O|tik4i%?j&?Q9DPxvUlk36MbIV4`4hFJ;^XP%XyCViTi#+#5nw2 zVl06Hgy4Ns`(XDW3(3uN&Nhp)^ZF-`zJkB|ul+yZe^o%}zx^-#i!g_We5($j_o_H% zs4`S^dx_sXYybOb$w=pn-k)B2C40dcTvu~Z8V{pcbUUfiT0;|^f&I>pMem#AEJ-yN;e{;yF2AtKsvlB_&mIu~A||VIpW= zGoU>o^%G&&v5Sc3-ZyP)?ylRlR+vlxVx5px83k8HCzJ0ErVxL(ZOuE||GNIG1*>p_ zyz}0^F4+XNHg7K8a$o1Z+*Wu_`(mzt`|=}W^)ZkO&WQW>86c6n@@B^nU8!P3fnz;o zGqBLKeofk51&=BlE_^C032Ao_Wls)^lTt1TE8SBqF*_2zZce`K2Q{CP4gP=r?!V3o zww$vr#EIajV~Nn+g1sd`{w6c=rP!R)Nme?r}VuRQlz%2mTC1eK8^_CeOUX$$ERKsgTmr< zkCQs*P}Ho_0I^P1AL%1`C@N01*7ofB_J-p?ro4dtgCq82UM%EBGBnBXTo*%*lxT{# zczCc6@4j=N0b7cB%n6_fe8y|A*t>L)0mqrcHQbJQJ!f#+!huWrS3)7^N`AtyJ=#31 zDPH90=LYj|SH-pM32Cdua;);sy#EcL!r4;Y_o74j~M9pz2ZS5uFd2 z(JGuKYZ#KPf*cM+kGi0NvV|YjiB>J-9jaD5bT#u&GH8mc4Ga8QM~iz}GiG)H(A*iI1R@0#e)Lw^Ks z?6KC9JQ~0Mr#~#9(hB~Wzxg-dzdhNC7;oSMVJdTU9;%)*DL8O4 z1B$i^`dT^|Lrx7WA4v*uR8-_>FT`(tyQ&Xu2EhBTHUD8MRckPQ(6{aHs znMto9+N2ojrMgTf1QM4=VL`HeRq6|a<|@%J2^1rHJ8~P?donE8CGGz$gYat)3pH+Q zoMB7YTi|Hg{|DqGov`RvMQ>X0Vzh+k;F#xwjvCD&Xyv2vf=WPj2cg(t_4=rWR@L=e z@7aE)R~cyYqF#?|Db79qh8=IfN^}0OjIhWx{T`H8v+bt5&uWrmi;WwihXnCgW8ej* zNBA=Ux$8@p?P|r)f(E2*!~U3;nogKRHjkt2;*kEWeK>FP8!HN`_H=Hy%nW?@WO>)~ zXJ5nL``7=U>~Qd#zxCJQTYX^oKVS}O2UPG`ZnYprX#9;qWfZN8!0Mz5eReg}WRW~( zOFLNx5_eT=4%cfiCr~$`oNL%a#5@;TIX|t( z1QT=JV0!Gbsas4h`}cUw-W%)Ac^j;DbJ!8g%j3DST5KTJ*V>N|cTc~`^KXp*-O)F9 z<9{|*Q~ZymVqdXcjhw5@t_t2&UL3&wIa5>QBtX!*?8asgcTI*j>0rAS@9#TruDo4? zXw|Ee&Z;|3%E@zW2whS=GulDy!RL5A=e&bBbJvC69E|r#tIdnTdG7u7Q`!Q#1#<1) zzCQNb%5B;ijFm>_YWpHH$UA7HWkTQrcdl>zT=#6e*Us}b6X-xY@khNS^qFftmJ!QZ zgH`zW?X_@|@4UU0-;*N2uxy%R3g4E4yioq}KmNz?_x}F>j}3#KmjDFX0q~gP?VL0Z zQ3Lb@tXQN9YN$-)GC9nz8N}FZ`B|Vb=$SF9L81pD#8u$RCpvm>=0|-; z^mcv|VG?P+9$V-If2?!l8x z{CA!oTv9@vWFaNCyxn!wc#f9b>AD!KKl}3^!OwpD6SyoE+*S?AtBYGUz$_l})%BHZ zgOzN6Fctun3_VXcH>z>hDPVN)c3j%d%3IT=wHhbB7{UYW58`=Dk4bE1`ELCv9)H#@ z^OmV{$9U2($U+HwFa>!WX>*~8tOx)m+TyL{WUdzDk&JaR+>Z*V%!X(N_ITnxTrT;! zYuZA*6`*^6e+7G-)Np{C;Sx^IZc4vwnO^owpVQ6-3ej$J$nVcJuQI$`WhJs zfB4{DF-)Gq6@}&~bA4csv^_XJz6Xbgl%()Tl0BAs%eLwSdj))^c+u1x0uAX;L2jZ-3sQqM~&NZnZObj9WMz}Hq)ni?Ru|Ij2f#>b`)13ZK|L~6( zO!{a4*57L4f&aQ5L>YzU!If_IaOZHQSJ`!wE9pSQSZ7QZfFKtw$(F15U}M_yaHgQ( zi5M?o_v!Qt^*)&^wan}Q5;Qt&Elch(c>uZPr=#-JVTd7+bS8~i^)vLf4w(eXJNU#X zJ5zXZr0`p`oh`y|Nb+$AB@5S+q3O3Aew%!aivhL&>s-&H_ej-EEM!?7mfAOb9RrY6 z`^e=+uJ4!7D$oE{5M-V&MtkuAwBDh%8UWU5GLthLf7o|Xpm;qqP`cqHgBwa{n`vQn zS?2g{k?l7OKGUa+F_oEEww&C%$NZQ;>+2f{fx%-_82s_!35Rydsv}rTXp*b8D1kvY zk}w;i_Ms#wq=jp4m*#e$=L9sT*wErZP512Ytr+0mY6uv*zTvpeMb5%fWKaTb&oHdm zGx}bsyYWt5I4=pG4!BsnNpA0}B`fNYMzo<-;8yb!z)eJf!#bPi-~ z7ibbh0-MR1g9ve}GL7SFqsYZPh~k14OFGzZciG=gP5myyARj7S0DuE90Fc`}Bqr+O z^sy7Z^9E(NR1T!s)JB~?NH-Gy=27*oZ7VZvZg`!btt)rO=(pB?R7OLvOHtm)%d4Sp zjHj_)k*h~@?L)&KYGW7-i}lg@Y>N_>#8ax1eVA(O{%W(>ViG`rr*rKw3mIm1O&u@g z3tIl^%NOu}|G)iT;eY$T|3AUs{Jp;o-`XRPXl5*z4`aXD>2+SXw8&lNoy?0qSc_zU z09)FSc+w0EpzaOI)47GA%&7miy0E?naYD&Bqa*d$Pt8}<*{p!G&-LZbVlF;GbLg3A zdArJp$6frVw^8f&X_YMH@Xs=Up}a@kucv$^X1PIWit_Ww4pC| zZj##hxjM+XyX)AL-6@E|GrIc4dO|B4cM(YKXAHDI9i!OxI~fb$Ec1x>#B!we3^^aeF%~<-R32o@zT~)5O8jH=sYw$hpdNd~tYP}la5$=hH09Dw~^=z{OHBRYS z%YarOY4g?4s&%WhZgVEW!3gXcHYt+ac^@DgumSrp*yx1-GKF^>v*jSN=sb!ho4fu<63S*{r9McM7y zD|rxbc%|EHX&Bb*C7Z=N8f@{T0LUpfak4E2G>#IQfI*SGd#*@bR+v5CkZv@Epenhp@+O6(Qzq=2IV&o(zI z;AQ7|%d}No2(I#x=((iH_L3&pGp}QGW4w)TJx1B0ePE`f^g-pB7Izsj_5)60Ha2=y zEkOIHK5KOx1`8olc?w^*T6-CxmRJ|PnC`Xi{J+Y^6!>RC3-3{5PABglXzOn?q4doU ze)JQjyWjfmr@uC_DR&*j+SX$wmt-A3fPz|Ct>*wj=#h0y9HPLfVb@A8P-9Eyn0CD_ z+SojC(l!0hO9%@SO6`rF8t9&Psz6k+tSk)m$RVtnyqkGC8vPrwDaq#=(>7rg;6Vtx z%qF_ust0u9#B>su2{~+$$nR?JRGXmM22};hyCq+iXGShd7dauf^`f>$XP^=4eO(h= ziSh@nTFMyFuH^7&B?LR4Z4jVW2-+Ifw$;`}yOCosb7-iA?C{AOk>xZr8k%iSJ92 zE8yb%l9LMG-mE257Cm2h(ca!ZFR;?PF3vAB?9(mtW6C=~vS>&W=3>;bMWv^j{8#F~ z7$p3Lu-)wZmjGx2v?(bd=?t`!idsiIu87x@>?7GlMcvYZ?6~0&RV@2Zyi-YzDgfo6 z;qCfT7lapZP};FA@|Vh5qb$Bsoj4({?s%*5iqZSVysP&J_~!a#2C%QME_nf(4hi+4 z{XA+iP119yzkLB0eViw{VbvR>zF+m#dY|>Z(^t4|=9S(O zWUlcW*L+0CXCaJ*?-T(ElsPeXf7r$qEBwl)BSxuIo@UZy>#atvjTX+$@@ zVW!V=oIT>CVEw{%$?fc7zMU-b_6TvxL#H6Y^L0JewYk5?8XS1q1TzZt<4?e*%(*ti`}=!^ zhoz>DyD&3=s!vCWH&?coXI*agT*qVPj<&s1tS`Rvp9uep_E5MM@9EF!7kOSP5c(ra z2##IgW&G?La95=#6=*uDBhD%hW{$3-?BN|{$M^3dBs;f@2zK4y-#Z6Jw)f{rU1C`c zIAz~+6_z^*PMJXt?U*o@39(Fx_%4F$%aJN+y;ZrNYyaf;8}u2>+|$?38L28SyZSx0 zagL_rgqUlm0phVtV{MUvOy6q?Op!2ZxhFKxt=vhd-KeU1Q?VNSLDE)fKmo*n*qJ)w z)zRUwxY8E!>)UsH_Sw(iAO53%A1*J?V7W+uoeJfL$6#)sr{4lHCpHcQ)DzE-<9nwFx5&bx~ze=mEi%Ua0irMzv)O0&peMmAV`n;Byyz z4#f7?c+z$X)$6Ig)fDThaLBXch~eFJUP-KGsSj#~ZFam#5|_}D*`ZY@OBt-pBZ2l7 zW_E%wjUX0vD zA`vTLHH^MEA)sz|70)@@{z!`=?BSaw)^ag}d4YubeOZ9C{nZkNJpq5%V>yqy4ZG!a zTn9B0*VI;!g_gm+PqWjW(K{U;t|Cjl$hc>(sB-G|=9ix{L-4+F-ONIPn1M_EqUV$S4K;SP zC;LLxXCQ#q`rVRd%5AX)`kb|cnwrFGFk$TjrcaM0jXti}gcCugqd)rLpTR*{So!#a z_wUq=zRd@3{!y%65<4pYR*@$O*o5DX5Dg`jBmP6FFt)8dE&mczW^nXka z<|j9hJwP#G75E(oM%r~oJb_I&PENpcu(?8q^!k9%k za`SGL!$D`Ui?xs8jw8@Tt~w2h;_s)~k)X_Jl1=nSZ=^BE8`?Q@?TZKWPFn0def0`n zzIds*LlQ4+QpgPgo)5}`DfQ1~0iP+16Fo^gqxM$&>=|sbj(04n{6HNyP?>7>0Q0nE z;>BAEX!3Y7W$LI_;TRp~&Ppz=Dm_41drvM2}pt(i4h z-;tp!tI|7tm1S=?Ouo#QSh$FN-@h}epKn#?pE`1SbTqN$Wrd-m--UKT*`-~R{yHavU!7*<0CBqv8;Ao4YUBuR{Aij7AA9w&1d z1dO9k2O%JGr8=g(O?DLT&Ri7wHC16_V5(M0_J~7UxylE^_<~NsU});BLIZJZz)|V4 zHqz;_BW_efx>0w{B?0r)T-0sB#&4?q7!7#(NBs=Ty_^sy3GloeFn~uwl8~d)RaOWtaw(D_-@DmOf;GGa-|=mlF&fOoA1*+PxU%%LL4 ztCoz{iiox_@se+i>X__Il=cm0R|RmOl#1keEI>9wpaTdYIlj zaNtE`x~2C}8En|_;z0#?kUgxj{*CNOycp08HTqZ(3B{$selcR%D=CuGgBR-?6=RveOWE?fffvPyU+o{1epqmSQ+pr2`>xo=)Z8t3k}oUWP`D8dZBgeB zI&FcC6?8m4Rb^MUyc*xo1rQFUQs<8Sws~!aKby%K@7We2GGoq?aB$RZ&CZunlOhfhd6;OKcIQPbvMA=Us&ktsFHk0|i?!kYl#+UYIu!6-xDFB{uPyu}JJ1#?# zd`bNVjbV*d{`$M?yf!dAhTgCxTVJ{j?V*JX@f_3ZTBgO^t#PS+s6w0M%tZmAe)yB0 zaiYxoC&%#Xc9^`N{-e0?!e0Q~0Z;itO5*X!^G^AEjIABzp~+U3fw~(5!#4Sz=I| zyK}@^UvrO!s`JO2vC{==*CX`)*ORJh-vq2o`XI;VWalY^?g|oJdgSE6ly88%o+aio z>Q0>-c=7y2`Fk$m+dx7`Ef-5($Rs&NeBtcul0$RQE+uS%I`e9v*wC+^>W$UBHAPXQG|IS$C<`q|e{;d!Ya)itG} zUr_wy;f5DkX?GFHTzclP)Rz`*FE20PBm9JS6)iO0GRG$`^hY`lc~X;CH$6vsZ_)*9 z%oRM95OV?&Q-9b3GI>02G|b(0vo$hO2Yp${%fuAcve3Q-*#Sm!c55TKEmxL83nO(1 z(@ptgukTSjp;gw}IOiOc_&_(&maH-~yD4CEcGL+~W3$G|Ve?IOP-O%fIR<=DND0~a zgiY7n&}sXr#n-bW%h4@l#ddQuCn7K8u^0`!)j4f#WL7e2^5cMm6T3Y+F_iuQcvw+e0S+x0U)m%B(6JyOqqSr|`{l#ZLf&cg) z{R8-4{+<6dhg$o#9l~-Qc<^&6*#C}Ap<|ETA4g9+$8(EP5tuhG29 z*t_sQ==gcO2WNE2_I=PEHUVbp)Z>hEcvgE<=c+fx|FF&$bO$h;y}xg3ym!8>IQcyX z#%2Jx3qOmpK4OCN@2OL(Q|%|^_VvE2zPo6lZ~xu+pB(0N;5^&j37Uj3-fV^E9Yojv zzH1oWIy7m@bo=Q?=qzIotT4Ac0|yXv*8jJf9hl!?>w~hoGOA;1I^9w@c9Q8rDjpIHOq^)f?T_3BO@a;OtSonwk!M_8) z`tlbA%rl0qG34r03rDYT@dM(uTMQKf1lco0LvD~a^$=n|N8q*UlNmPU_lAMFfjy!J z@^(c5>s0RPuo;D0W^5Z_fX46(^SCaA$GRtIEagxy9_!p2+}M1?_KT9}56Zc?SFZ87 zs%I=~wt0*XYFrU0DO*e{_>8_TAc+>Jega4odxJYRE9hnlF1@M7zr&!8Lrv8nwI8Rv z%-fpdoJJpm$Y#gz{LR&6v43u1kAUR@juI$IZ6vVa>Z%xlj~>C-j~{W}kBqtCW^okhH3S$g7lZe$d-f5yn$@cZ#c%@kDCZEk0Eea^@R2|p^U&H9!}|QAJ74=I@w$fXy}Nfa;MsMGG0866mSHE z?p>>|O?B$3gXy zpa-PdPSKx)W=)C3sGzC9vHPVi<=r`f8~BKm#DemOBtjxjZSa`PgNi)#1)3%fv|ghx z)j$IUvapTO+{x}_q85cONZBD4G{+Fq_B3UnDJk&y>DTb5KmG~)OaJ`e_T*r{ZU?gx zVsGWk^_V?(qw#U-FEN9{WiU=(2nbH}eeeD|46sr1z=sbW!e9HH-+`~6 zJcXbB^v~g0;X4EZ-{#Epi$Jor(Bkzi9G@IAT3D_#nx)ee7g>Nypd}eTWu39f;fth|MxoWzL{GZ)gG9#*n@nU8ijlc}%(n$GOhc z@+m9#%xl4tYty2$?c~wKu$llbYj_)H1W_;5dfOGDE|pi<(ofyVmz(>*XflJ#3z_@5 zrBA4CR(?%iUAg;+?Q_USpwrLp>5<;BkVJ;a!kN#iKL$KD} z#WzTI>oj-1FSjpaSI6fJlXlMCJL%JgW5et_dLo`{ z@2)<$>;ArvcGcDJ(>Li`Xp8|l7+`sW3Dv*TX$k^E-Z3t(YvZ)cH>8~%6D}TTxdAk; z0jm{Rz~i9hWRW}4Bejo$0+b`8gt}c)17M;nRCYJ)?##FJ_~}pn4F33!{xjgDJqDD} z1r9i(P0o?Afh&#H8yv0@706py2m%407a5YM#Mc4O_A;Q(>FPh$m1KImrvu;j6T-gl_XOhZ^>+j~`J< z^CJa5r7gZGATwlQ6{xay! zUc?%j!aVC~Td4rQgY!3f#$qRewukzYy_>VpiN!$^=rU_!qRio8XuP)?hQY!KY$d0u zcvAtWL;XPSrzw4Qaju?c2$vVP9P(p4Dxmk?0gv}$wa35!!XbkWr|0LqP;gW_=kWML zI4p|`WVAnf_Odi*1s{I+0W9|xs?5cCgKCxSkVWy{R1G?LjOs260%NYGs>w~0krg}< zer?{AG!B;Z(qct3U}6Lu%JF#4=&E{bfqFj=;lAV{g&@lDQGi3n<1lrlRGDZ1PrQb6 zyeFaV_R(plb64)w&?TsS47EKH^H#xf1@#SN_P*t+I6kbgg*D=J<0nr zlxaFauJ?l$`OC5>_35Jz;Ws}0_)dN0+jO`*)lXtadrNSBUTLu&79M4^c+oQ~*-lKg z_eOBZ7^H6LCM|`4}Jd15SBjAeiJJ7?}dvm2*+#)#c?C%P5v<3_!1Vag*c}@$nl1 zpJ^Nh*-5g#-7sj(p6!~z*2aqfTPoK)t7(Ciyo4>p57mwHCKMTcd!w;+DI^BHYap3+ z!R@&%&n*`#mZOJ9C-Cv7zX8AX*Z&$P+x=P5L!Lf)!l6JmoKP`yD6p%`YmQ&di{nMs zKl}O_)51red|b+33P_H~?Yp^=_}8{5#Iegs{^+h7i}Os0gQ?F%2VQblZ%4^nK<79V z7KI8cbjx1S3P!U-LQzaM%yP#e`a(iM{q>IW>=?V7Fz~G0mz`T4I^lK*EnwI%Tx=_p z0SvIU`y*e=O-kpdQof&$U%(@4XxUgQkpKfTi1lGiBU`&9yUd+MRb|RH{Te-UajTi09_< zzgm;K-gg&{H`muq8@e{_I{q8O{{Y?)|C=68FR?5DSnR6U+_||I_21_jT%Vg~XIoRh*VW^$iLh%h=K3HG((aDWswiSRBUvoEhF3}HUG>4Uk+V|9t; z%=Jb8eXcIfXw;ybUj~T%)YSp2r*UL-cTM{K{U!wG>zpU$%>CX~=lI^K(LFsT^+wte zt|*bZzoJ_7ekok9JPkCq0AZ7b*pFA4DXxjm7AOTw@1#_ zLLG1VNNx8%WlQ2zGCpe(<~Vo+Weqww>e{{p`J@+&w! zJA<=g=ur^|1^DD7dk1^PNWJCI56i{Kp3vkKIHbyxsIBBRM}4%=FfWG(D+V_>-Z23j z2<%BYD$vZzyM{s(Z%%2~b`%f0<)Gm`P=T|B#C^UUHTfV^pn%%FUX%Bo04X$PVl>Mg z`^$wGe_3Kx+Y$sXnCP}|p^eNSiGeL-sFD#%`!1+V8e=lTw-;MZNJz0RZzvgIY3Dl+ z9`Kf5-oCrP52^GSKYz1Pu9)&Z zr^6`A_Bm+tPyWPk9?csug|c$s1)!{Yj9ys!H}=U2vnOfd_YcYW0Ydx!zMe@#Svc^_ z9>xOz*5rOoD1(&2oM%$1{Ka^Ul#N{{M4$4VWB>K)Av z-YLW-2MB!~fNKpuVw|)YH^5LwGq`hj$DsAH#Bnx`p5@LzbJJeoS%3J$KZ6JN@4>xa z!%!S_aF@_di=`}zahRSY{EA4510$g<%)%g^jJC)a!4n=As4-cqJcFPs3Xfu-j1sG< zjF0M%OkyqHX&4+%L4+wSff`CxsJtzUS1&k0oq@gUjR2bERt6#0 z>^Ztt-2mMamt$A!!qT{vusZ8aO`6QKkKnR%qsdoECJdHTP8T+%-4#@mT?TSS;{4V& zOCr9=8=_p!?YA5a+NllUW1|41@i9o~{L1HZ1|J76P6pjfa&TP+%$u^-PE^?$`Jcgc zr8v(eN#9aKRc(0DmdBOHsm5j|nMWa_UY(x8i{~%Z=FregFpR~KY>@TUX?mh9*B+TUTfrpgZJ*; zD{>-p*p7$qzF*#d%`{8759m78jge&b+|Op8ZJ^ih_smHI-#ZPQI;alQcirQa3{4Tq*()1bEuK@t; zva9oKU-aMS>Jr~M*FW(c@p|Q9=yZfRC=Gx$1jiiV^~O*C;`q!QPQ2kW)ecr~(t!x8)!J>p%GYe-kdw zUjZiX0R2}LD&3x|`k#DLjnKSeluPK=YjBU=h5juykzP{80R1@~75XgqZ49)a7`9{p zf_brOxP(ymO5@OITILBPibG(`hJgeUGX8-H!^K|Ep#GnlzVrUU%1KQ*j%B#T z$#5jkCpM_YjeDiBC$xv;$Z)tPz%RvWW&@ADFQq?iQH6nhL|zb)I&=Cj=k*->ITK(a zhQS^g&p9(F97o@b0($1A)NMckH+YmrA9UDbKsmbs?KFi(KfngLB|_Y=hnLiU!C`A8 zhA$cB<{3psEXB|!aGwD5tE(&7u~Gi^3V3&240kg8$@rzDf-4TMaU&E!bFlyf$45tS zc6K2Kz9uqSvv(G-QL|qFY0OKGBYAy$11ky#LdlbcC5Hwfkl@wJQ}#A{_uYpu9-S0` z`(-i2FX4Fkj(TcUfNC70JPbgV%ar80h$(+5S@T19kMok31v3E}Og*vz8GdVp* zTJigncV3{QP+Uey`D8e zy$HXD!X0R_U-Z3Kf+U3 z7i1j-J&|zD$xz4459LST8hoc2Xm<;cMBhi(J+eP*YF4m=I-G>}z;gWC8ES8Wt?`>67F;B^TvTDP^&N zc8`z@p;vMI=j}#!CIR0=i>m|z(;@`X(^fr_K|RxXXI_$V-?}zdo=*a#qAs`*cut@% zB^9J3#zlZJZEY0*BoA%k-)j!tat*)z*MFxh@E*hW|L_mtIeR)w$R;ZEye!;O^5Mh% z75Bm8$B#?j>~me-efPbxaDL3RI;fpM;j*Ys!(z#L3VCf0v@lKymC2J|35)a?21QjK zvDY-Hyk|1Vnp0upb{&AmhPT9w##eJzoqUu9>(ZCh_cR6qR+smoEXeR)A_kw6%LpSz z15+||dR~S)KOop}P^sE!6FUM^wiD^Or@!XN(A7t4ly}_fKeFd*n6;$?sO|GI^2_W? zIH7Lns(W?H0RXozvWHBwd;0pxt}XCBt=CK$Y~P;)H=eXN^r7hV7D5lb|4o;$w_5%A zBkEq>4|3O+fAI_WPyW&G!~g7m@ps_caG0Y(79|u_<|$hg;F)as;H2mFf8^u6{ZG%C z4ykmF_PpwJRk#8)xKA^0^6T+Gz;BBGL4>HLSQ8k=0u#(;4j-BWbo(~NXK_Yf6J0aR zGo0$b&AoXS{%0U`ZpH^2`HL-%G*joveX%bA=i5H>OdS`T)#u~8=K8F8FYdtqX3BXT z{^#wbd#xYjLBF=>D_{lf8o;>@i4~p_;v5LA4Abj@E?7iQ#7VjSJ4~F|p?B4BZUE=n z1v|=}8>H#Gp!q&ChLd+VqgH|H0%vAWg?Z;#fWI%689)2F#dERjUH$0yK>(lW{Fq-u zBcV>=R|c3&==k0_Mo=paU7O}6;q=*l()c+WB%EiwvA!_F;NtyFADcv>{>e@4<)mo& z?n;7Z8ho*A`V8umqd<> z)W&}{u!)ruA4c&I2M%R10&l=fn%{Yw6!@$ld8lG-Y~&#r+A+qq*YCOOdz#i{v@Hs# za9xa^gTs9WF=@uo*po4K`toG~Enjgc2nrj)v4`1EyDq@fCC5^f%=H2s*j8IM*fc>Q zRgt&e4hl|YNo;7IY^rgxH$V4ls^Lxc77DNO zI4nT)WiiyBzj(=B*Ids$awwdo#<(PR#P#(R+z`zz_uyu^;@H&G_S4fde&)S*AFx66 zvXny!p^i@OH@Zejb^h3NH08}@VXELWItYtmbsMO!h?&WNtTUdsCJ&Y2 zai0Uvf=*wM81}WUNitq)=nX4t(1e6-{O7)%sQj<~weRxrgY4Rq=#JS#1l0uuXv#O< zTUky8y21NLKEHVK7(V*yefW(}K7wD@gZhFOAqVN_t!9hMx#~w8`AFpiO%P7ln}ePY z!T4*+Mqb3BcSxRrg)UI=O!E8k4uv|(EokT@(o}n|c=E|Y9HHeG1=xG}>XdmV$p(5g z0fY<`YKRVLvdBA33-vtC-Ume2nHQ%PAaSLIze;!xTFlEHeusKuQ=Y$7kZQS-#mnQP z!%)i#7TbU9J!?sDQ9V^vJ`dypnatY~BPb!WL>%w5FGpRhH@Tg_z(`dqeW=amA1OOD&^ehW`N=WzATHy)JHT!kYj11?gmQY-oc1;23f$7gv|!is&>`r zeo2Qx)Jb$YADsrxsmt`pXib=^U$2E}2X@KEI?hALtz%UVYHF^tf zkpkQ<&M-eY{6*+hwU9b~qBXW_n{)QCVOH73zS2614r#l$v9=$f)3GZi(b(7-9BgWv z5&4?vojiNI<7yjdKK^_E*58BQ`{(|<@Zm?Fz_;bV3g)0O%xLR7zwQkB+}ZzhE5(Ek z8G|a>D*DjAxT!-dc!FivJ-e|TfH%YcU~+GRH39C#<>LJ_{h-g=G?*{rPW-Q%T$AqV z>e08g>XTC1+`DqllPR3Lcie@;_1COym}#fC3gfjrsatHruJ_(mzy6uKXrynq@#fk$ zDrOcE(`nq`g zGfet2_IsSDbCbE5MB0~qeVXqxb(rh#q+9Kw9eA1l5=T}}77Z_BTzPD0F3aN*#8#8; z@$C{{ZOn)#k#uQMqn` zCNR1N`vfzAYlqmxcCFHcPgMvTci9{klWHmYTi%lbSWjh$2Q+yG8*l^xpmTj&$0~Eu zb3T`n+7#Kn=90Aw0x5$v14C^ro@}if3|`ThL;EmGR_!GjWyJ{N_{b}X!ATxK1d=}f z>IwYx$A1owiUCJPCMo9U1^6V7XYx2AuP56^>TGwEL{q#SxDe5PT6%aA>qFk|s)^ie z>!xgLO$^K|6~L#k7)0aTB$Vfs8LOZmC)&H%o2k?_W51(d$FLfQBea#=K~(H!2lf( z+t4r|8TTBF#+*ZljjUdKl9)`qo=1)gYF^Mu<25IJXQN-~pY=EToY6TsRKOX6Cv=Q? zJevNbY=O7)t2v($XJog~0n3zd9TiB93r;?LbLCZlR@a&g(L#hsB0^p8v-e`{_k?rc za}Of7b+u_91%y9`#&R=6&3|5(3pCJ~%tWI<{_N-Q$p`OAJlAjKk)hGEXYWwDOWAoG zI*7o;C9(r#w@jwp8f0>8B~*tktj&4m@nw`y3&VizH4`v>?ZVih(-Bk}1ksSHT$H;R ztfhFrWnJ;?{E`>SPR}mkrtqpkL)xqvkQ7k1CRs&~UoLU~4J0=}iWZu(#JII9S;O>@ z96^Tiz;?qC-=>`^^y6kNJ6H%LO{taN%&*Ct^>)JxqvS=)@r+4kfP^NhF>ynm4B%w# z>Y?HJ>d}goi9uwAEpHpcv_s9Go4a{u?=f)6s{y7@`E>O~aC=$3*XFE*l3J>Va_0OE z;*PEhcw6D8B#$W}A1ypSfAIn?&M(wMePBLM3z|peFAcH?OCH9Q6!+xhNWkXn%QC)e z>5uZ8o+t2`cy zdvO231Li5upM4F#`qi&W{VxE@Lg{&-!FvTvPEWsvUw-~`I4+B(C*^($3vzqAQSi8E znnljif(g+Eks$5TApXDMgv!?(qGMV5Evv4O3&2fnvIM?#AMIk=KRlEq%a>QGE2~VT zP&$RihEhjbU}i7nEOV3kbFYB;OzpI&q5wVbGBYn`6NNT6z!t_gl3QXF8JH+HFahPf zAPYKwlWNQw?u85M=RX<=gHxBuUOt~2xrEBA>LkGSdyo^k6YsK%V{C12lSyU|at?=D zWVA&MgfalQofcJ3h?4;AJphwAhW?%a8tXk0(yPj}47E)@zdFS^H+|a5$(STnJHz>l z?F`W&c0C2!(!9_7nkpjRhFov#?P}VA@cRXX{#X9h|ARPwyv>Koq)}baV}H0!sf2)f z0*#0itYE+yt3`yyK}~0bDCGbu65Zk|O+R;i4xzjW?q^CQOvh^1xkw3fb(q70Lj5P@ z`r;qj0_(J{bMI=~0lMIg&3ks$@oxMNT;J?5tjY7a)n8_TVX#HBTIO8acJ-N+0#WD3 z-5Bm0iRa^Ne^+nv>%eS2eAUsJ$SdPfpdfrpPQ>(+X2=|bpSgaEamG=HE-Ly z0NlCjyND^?zpI^d9Xdy-bLGT)dg9sj+uOUN??R!?rwhxOi6@_Omy{FS2WQ$fH-RT@ zF@R~N-{<=bTmWT&ofBbKyLXLA`yHIFcG2t{Q<&?6Scm@i+?X|G3z&eOurOR^VL-n) zW`^=Wi`vT}p)-Ta!e5*6t3G9tJHFdp7~k%L+Wh5T`~;pn`U{XK1_`2}D%;4R(~%??G>@6}{;v3yQ3Fg@q^<(t+h9D{c z3Zm4Ci6JILYc!;P#?V6}oEMscnV~5g0x(q>ebrP{wF&0w&M$obpkO_F>|(AVOcb=I z|B}YD^mo`;G0?nq1(}R)N`yi9@*pQ^Ur<;Uw-i=XPCbz1{lY2F5on8&E9Sm41;29E!87V>dwh4HDn9- ziO$7AlLtyjjTAzaX7`+574Y?dk`$o<{NnYtR}AeH#adiQa;58=1V<}i@OhDHN0{#e z)#thZvs?3o-ipT%RYg3`G=#@ct}RE{j0S`Q6EKDF*xGhm2E7w6$k25GH3vzJsN*~; z?-LKmN{h5*9o6fLJbd#;8piyKz!60DAb)K9jpUD-MJ6OYk#F*65FG<-{ zv#q1n73+NlX3K<;@GTxX#9}+6%T8#Izz4Cu$n;0Q+xpXZ3+TW=l+ob&LDNoqPfp!A zeO~+K<>@&*dio5$^YMr9?K=WO0XTbE)i@bO{cid5^0p3<|FO&!8OY&+wz>K;hu35i z5+LVBoj(#2Hn(C4(I2j45$0+Fmq*59HvjbM%!qj`tdC?5_cCha4Vr<8wz6XCJvvjSquV+ky#g#iLw zPs^eufxR@A#9#7O7g&odI6OHn3z&QC(Yd*muun$?e5Tit!vlqRqD4+xB&ENL%L|ql zEHg8(Q^^=&<*G#IN^eG~%X(Ymf}1>`g;=`JcG*39{+vUBymS8@_HKUo?z`~mcfVH_ z!w-wj`xU%+PGLjN;QIQu0Op6hYlpm^DF*IpxyPU~g|K4pXAtji3dcb?4`=~>v0O=v z<~0G;&r2C6vR$8PawGX6NM|U&*WBJ`@ZjOYQYT96d&=#Sh34epnt1dXEEZW#i_#p{ zOXn^nek8AMmT|f64}h2(feCFCo#jSys_<-}-BlFRTX``#xN|6upyZ>IQU<`5wwi?& zrQ_(QY(y@LGr3o9K~y1Bo@0C{a>DF7v&^PZx2Zv}?QAivz7L{KTD1f)o@KfLfO#6{ zD!;I4B4E?r>_&!mt(R@FsNJL3TN>*HT_30&Z@N#;9{btmtgs8L?^l#Pds%ANN4c5n zm^HFC)WPr^oA@RJCU$rE`?DYXF?{hCzkuKTt-l6u^&xyAqabfQifFS#y>3ty%-;St z;^f}yv5l-S9?s%lN{I?dhr!gj2=M0kpXdQS4t5u|($)X&d(8L-@VRx@ z^Y-2JdZz#UUoZX#xdWf?z>+5Y0z1ltxxSyaIezZy<6ZakdtNKQ0zuv!? z17+ij=Z?FGs(*G0;8kXe&a{;oTE+EuR?RopLY-Mn8u^9&U$jQ7&EE zc{e!it1%E(X=cVE4xF9qzqbUDLtU&6(?x-~GUmSfCan zo*6@b)oY*c51gsn45L^5qFn`weU!;PLD!>|(MfzK6Z5eT4V^UnE@)IbU)e}efi5wk zynZr>qBCR=&oq}QZ{=}wa|J*9@gElj`9{DL*SCa*S#FQU7wjJ>b!->da&^Dkc0mjXJo zHn&<+@QhDpJFCBSidVjY7_eDm{JE(YXurnu;0C48oH|u%oNNu-pdQh~pq?u9t`sPb zSu?Vt&PF+Hz05Ug#+YSmwkx>JT&#Tp%JWTX`CJcu;_;&cf3?MpyxU z3y{oM=D2}heD($W@X!97V+K=v;>+u6ex5=~5D>be#83zf)Do{*E`)ZdO`J?mM`B^# z&UIAOP(uxQp-H>S=izFpF|~yrX(42<7+_@JnP>7wV@;CB6dBn2s|7!2#u9v7 z9qdW6K#KP)F}BG|SPgYcR0U?JNbK#k1}~);lGL`1d!<`gj)BLEfLiCHnAqr~j^@N! z>k(FmN8<5}=-%wPJWJkCSne4p<~14QrAz|KsgIsM+rYaI-_ay=i9NKA3phX?XKRju zDeeB`e27>Ra}H0|9k5x5bcNmT|i-V9}C+XEMeq-ZLjzDtzQOzW2RS zha+wmB}=69|S0%PCePFf&=ZTo5nwHr_LD zy&uKf(PT^XR_Mq9T}*uUdVuTLBVGi zCNR*==blY)yLX2il|KcZLElBSA5cBC2L;P(y)EHcecr|;`&*sI84ob_&ihAin_>%(VKVjU+12GBS@P&r$++9Z;cp!(P}0 zu;kqe*es3^zsbxqB@BiDY9qgU(D`Q2g3xvhAyV6(t8nu~y~LMaon5ep^L~+6gUTJ! zJ?I<(k|eL>9m1FPxGlAQysl=6la=&GsP=_Xc~v9ZgZoC9qn)wJ`*=fYb&9-G>DD;( zUR18$nvg58nDHzlATqGbv6I5PIdst$nj2C3?7RTa6uN?T&0H1Wo)QqEjt?czqnr;E z0)vj*s~cY2eEwWm*m%rrP z2n5#BE-eaOwOP}`=`HWxIXXUJ9pR?PK2lI9LE-iFnmyq!@Tx49uO#X5hP;x`IW&fN z90SYafkL7wjgtI)`t<7pY~NS!ZkboM@M628h^~^(30fqfcGKrI??$@uol}@A|EBO? zlsuR~aRSm!=27BD4t1i7)=nb~e4{UH$)Y{DOvtTbt^GUJ6Y_>T>97{j(yi;&mCS>E zr}Nlk4Jr*s+b?Gb>h@IJWhK z6zkGQIPx+zp9t}fLAU7f`H{o>G@Bt{zN-N$h9PAKEW!E(&}BKrv>&z3tpukV+a0YVkj48sl1+0c zj?`l~yYRm})0EfafA*?316}8EyV-kkZe&+>-UIMj{4eOPwi74nx$(KVdQFeq+}~qx zPz}_k&i1?SKmML7Ps7}{eb@NJSM93HuCe|`_}`9aclD9$=os{mpzpD)=_|2|Ap85` zz0FJCfH-TN+JWf-SRXhymcSV^%+xt{SR{C>S6}yCL?7GImpLJ_(B|o6xVui1zB7hD zLoCxioUi{B*s*ucPxxKN%@O&o{;vHyPk*)Fs|btroAhC% zE4YJ!K%GQ)F-ty|#DBvS2w`k-|5p$!bbnAXfa^EPdK|h30Y9X|riT5>q8Tapj8-_j z#mA#BKZD1QKCd*X-cyF}@S!pH8X61=B#RTYp;bT=?X%8HHZrjXqpSBJ(;0mx$!Jbn zEi=b~1c8DGMcitVtMXoo1?_1dRKqf$T&gEDQE5h$cJS+ZT7Mway4xA3lm(_3+b{9* zP>)}GX@>5d@%j4B95fUM(@Yj0w$o|M*zlt zF$}re%5O3f5BCOs*UjyQ%QKJbRVkl6;gnaAhY}|-D#v;&Ntcea&u(eEEH1=XC-5!; znYY4Am_~0(TQ-9L&}@IGrUR2| zSAg>iWx2X=1=@Zk&PJYPn?&R(NdUdacpiO=xX_rye6Fv-_D`6beg?jgEpZnp6@nRTwB*UJDqRPae~ zjG-x0c(8H1sql*TS%)A(9fO=9&s$cZ5P-T|sX#blBlA7f3ff(vF0LO*dtaQM!Q*Go z;Ws}1HpPO@Z+;in+ilEvkupmnJdroxUaHpB9P)zHpd>sd=imszg~_uV!eE&+wz3_n z(*-?1#xcl6`(seUr*WMt7{^o=vv12n+Qros^KFi2n|td!sixR5ablP8u0v4;0>EmrAL$fSm!Fj>wE!GY+at!Q-Fo7GjS#2HX!fH?($ z>$@2|)CW|3AV+2yuPMr#ji0IPM-5M8j~Fo4*gwGzkb9Ez;T&J&gjdfswr`fcnPUOj ztB5gwkuuZF6EVAOp}SPg^WQp@$sjvlH-F#y0=@1PjukLxHRJgie){7d@-Bf-zx$i; ztvIp~P;dWhVkqUCCM4-_{S9pAG@9+loh2y@g-#VGLBr1?R<;Y{x(okHh+fZcj{gB5 z&U8VLBYk;yVL;&}4gG#2{4dYf;hW=s(>C{bRefg;dMivBPkf)wzv|fZCiq|WSC}ol zs}22moEe~<_+R(_x#wrW>Bhh?z9|)+gy4u3=nI_`JX5K;2DbxP>k}0s^SUwc&X_#( z4G05?p}up+9N@XDUiN#g{d1GAFAK2~I>vzWo2@iJ=#yRLJMs2}-IY1_y!j&bg!Q`d z^g4G$eOEumd-O+BZa)!heC#*Qw8<3^gdLNkWwL#_u}xTK>MV2h_I350n_L(fi=ISn zb7mKTzW1agFe;a?AR#!|?LsavI$+)j_J~rIXbWr6B^%H_= z=I?Z`E%TDfzU3Yu3XND_tnTnA0?Fd^`E&lMil5VVUv7K9*NywS&MT{Tfx#`ht+rOEFOUg_4R0a}ky3>6e_ zG1=G4Pc6h4KO7Dj93`;x#q$^N?CEpf&P;|B-FH-se2P^7dO(H0%rSW}GiYiF~iw*@CW=|xP#7e@?vc$nnD{d=!J<|XXaJ|y_xZ?E$yp@?i=3x-ecWRR* z*(1Z9wj{GbQ|dv_5vjx_HgtTp}3@01Nfsyer5=0eZ#omxT@)BLkr6TAd%r zaVj~PqsEQq`^!C>7+R#`ErCnO6icXy2<1ZLUn;LcOSI19)unvG+907pG^TdgNm1Jg zKIet+82hZ(VMgERkD6;Cjx9`heT1> zrqhRIWU_f1sthJaGV=if&qke-azncxY0etBOxy}Yn=7y zpt86oC6u1*jDGB>A?I3s)3dGbS+~(;$`N(U>-?WH=3NhOW>@?Awe7dA=u z(t;|53*o$sBd213qF%6mK;W}1vXSh$ksVwVgWAjxa;nfUTcmg2-de8eR6JpxE;aAun=?y&-dPlu%-v zjJcGVRfchXgT~sgHb9KK=Z>M!5Ot+T{hhPT)vBillGiglm{60BRQYK3h7?`pVfX?* zY1}5&`D?c|GR?qk+aV<(wrtKqp6c;{5uncX-lp}^*19{(+5x^8Rj0f4OMQ>*G>#oo z`EfQqDfEG<4_>NmV|6BCbf%|`uRwR$m`O9?;_MWD`29bG4?q6&?aje}?GJf*SK z*9~{pC7w6^-0V!ll7ch2-`Br$?zizt!!zgVFvYIo9GLcz_hHbwqg=hKU)$^2GdK?- z|E2N2nK79gyXO8*Uz;my(VysFJa=vmh`S45trd>fg#*cIXQ~6_jIBFR6jw{Sfiv}- zBXqoD;>-Ia>I zdPhH)@S7XTH(@mKzNUPgl+*f6E4GV9`}SwOHb0h7C(({_+kR9zz=B1EgVoGEoB=d= zhSbYCmoFxCLjcB3zmZi^fS}W3^YK<5FP=RvE8JfI;Xz{gyOk1awrM$4gptYEfj%LYi*oOg6>Eu z0_~N?P0_5TGt|A#(9VU}Pfn{iqpX4e@vO*F%gy@$s{-O%oV6{g=4ij$xCEyPRh$J7 zR|OhXcS_o)M80D+LODDHX02KPinZ=3xUW^SRRJkc$f`1i6%>eV2C$Q_HnX(2z1Yay`(e8 zbf(h;K&%Eyg196=yZk=d8{lAn;e39dlO&3zW|BI zAyF18cQON?nd?uU+XOsc-mKx8!d8$c@wO(@Tntio_T(Cofn)N>ChsZQ4o==?Yc?u5 zDyQ_bhU37}9_o|*gQSizvh@};#-o8a6w~xzf5r8pN>e;e^2(xdBhdM%04bKJ>A}PM z?3H!z_!v$KfIyyYD>6h;6iu|)+w`ttJkxs#2plL}N4aBNjP|sD09PD4^B8{hS>;z7D6DUo$JR#Ic&m|9GF^DJhU;y;O=cdbEWrk^#c;1{0FaY4pBSDg+Vf1`P zRKVF1Fv?s$6^0Y?34nRu;rIV#BSCzx$zGKd?aTTh`P8zXScGTrQ>0^D~B4=1x)VI zZFUPl!eP|~hhC+!9VF;_2&=+8!`5Y^N&Gi6rI~> zjP*FBV_EE>B&p;0{tITC>BNx3ep)|Tkl*g(Z#6H1!Zs8+V>^z%LujMP`z$7S z=Fk?ZXPRDOdXV)qRZCYb#kNaaPl+|2D6KHqZW-Eb^sLl}#+v$>LuzUG7D-}`3X01D z@L_4=EiXO@SdJQ>m!ipVo(9c9K;b{=-MlEAguXVE;5ci%bsfHu6E0HqgvKdW^tcdE z`1VHLvt>O&cJr{u`9|g~E$ogO*OkN`0xJ@$|BNRnu9^ws3d}s zvC3sbl3mC^#U<>f#{O^hl$4yJCG2MaR(cFYUnn|RkaJyqVA_T%JKh}s1DDx7o&#N3 z{j>ei;4)5AFsb((j^p)1pGDI$Lm98f|Ef$g6aP)XUV9Q}%Iy2n5+%m@7qP2d{j}@d zecyj${BMpX!hO5&%9)Ba9k-YpfVn~JE7<>@E2AfZ_PSLZ8U|E>MsStM%IQJZy9Qww z5%%@%2em4K`L*TGzq1OQIU=5$s9?eiTHtwZZ1lnA`&>Qcob{q9MS16>>xn0Rq6uLG zU9e76zdq?-ZCKkulfGye#9e*Wy}zw{Eq;!6+dc{H?dsH4wY?|OaNl1t2Ks%}bYaqI z!Q4q$SF5X@ph5|)T>6JrKPL*0z9v`=dNRXq*6>&SC~bK3t6vBpq~OIkQOHDbbKz&t zqHzcNExnwp&IM*rMDOHWZw}>QEEzEVB)dVkV=`#N9vz82OS9gbR3VPVm_qB?X-Bs; z=^?l$Fb{BD8*d84%2)zT*H3Kdq~qI~2(Ni88*Ppr3eFOdpz&n-BxA;{`|N*GJ?m`g zV{AHKzXsx*aH$Xe?c54J*k6bqV+Na}Snj0vdTE1>nt!-9x` zO51G-biP@yH8y(Y@F#~93dGt&ZQTk`&FTM2dnv5PZ8=AP?*0nd*ko^Oj)zWd5)WcZ zCYKf~NE!=wTR@VuS}1*jd!diCWt@Nm3YUS%UR7&c(`ID$cBA|6-G2v;Pwti9dj*U> zfP>XO+`D%I$Hzwn=sV~7ad;W>@?A>b49R5U$e=UzHziY|d$El7vViRbR8YSXh<)## zBz&Yg4GRA57vPz^x5+EMyq1k-^U@_?35?D{tmKB2(V zYm}H46dOHTNUT(KR-Ft{-7$Rq|AY9<^t(08!e-L@Y0+=XaiMSJewE2t zu^o=VKdza-*+u}Ga|C)8%3$y1%-*3WI@w~>=Udq+@w1V23iGlha;C*2_WJd@3P4Vw zg}6^OmOOhPX9{yvoXDTVyqe3T1p$7g@vvMwLC4SDWs5O&5hw7w90WSr z;(n)xsBu3DDjW2y7^*h%GpaK!O45!MT1;gC78X472pHZl*eMD0Uc7iwY$47_+TNO&jKzBU5BQe8mj ziOhuo+&<>P8JUkWxJy8^^8chcC$a*Itg?+Y_Be;YfUFB9(8w|y+EL9F^L3!p67Fg% zVVY=n)q1VFzBbBlC5dvnYj{LYcH`Okj_@4o*5+=a>fl|7W{^)*-4 z@AkjYN}1)s{�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

C$f21L@tA?2p63&;r1!$jm*C(@hICTh(W%00!VW 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 z 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ý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�aSTmh1~0t69$WCHqTY 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

aq+Ua(E3^f1C00b6?6R7bo5~t@) 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�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
$TTjJ?U0s_kR8B!~d;%N&Rded(@rw?MC=P zo?{WxZPYaNtK-3mStf~6nw=luz^BPG`K z)s+WgWna737=GYhnz%LbSLm)egmfi!Q zAGR?Vd?jd7U}19NINA&k>rGCifMydRB@@=Jf%7F*NKo-Cio>%KJ^^H)4X$u7jsSpz z@TrqTBF9CPX=3D{QxQ5)>=XPFea(ug^nR8lT+zi9I`*}|WA$6gpFf|OiNV1SUNJQw zK&MckA=Es>APabsp^HXD@&gX4Ky9H3M=2~2?XLK$h(OXznTPxp2u20Ld6FkL4N4{; zVVZ}<9RkS#jiHAJzlcb}CTzR_9y0giNyUJVn2)dsdp}c0rl%}PW0m@=bAXet7@+Y= zV|(S>_aEde?>Y!K3rKHCX+b{sm$yv&_{5$(NBKz z-%gf9vSND_r^F~LY_6utYt%9yu5*ggg5egZ%0Bi@#{@aTnO3zrn-&|vBZ-q7z61Z< zILPXI@4wfRqo*o(5Me8_uotSO^tk&}csybdT2I1oWfu^KV z(M;vIFJT`y*tTgT0D(Y$zrSyNqUXuBbvhuFO^iev!@ntMBGoHdH^ORn#_?Y3D$}`X!huewYsc0k5b#fXI%iz+#2GBgI8kZ3 z;^j6O%fr{)K%NJ@kcZH5A1)mDnNEM0IOTC(i=oo&@M|aZYtEm)hqiN@`q{v*HpCvB zQLN%tow|KRY22ROjK>FVX2xpB%@lc*{qB!tgCZFErT&6wD;AP_4SCBQE$OJJxK zV;LfaH~n59THwUW@H5ep;CM-`;PA=ZMpY(BVQ|L9>Q`K=Kun4YVW9c5DvnCCm11Iq z1!yM551^PGoT8XWN1JO`vg~gp*o=RIXS=XfrIy;mQWYQ5+7j7Up4i$HjSW>+HYy4A zrciP)Omgrk6Awc9U*RM*IW7KH#Aw43PN8ftu}3`PgUN7g$NQrtbpZlOb&W>(CaGS^ zhD9JjX$~d6qGl^1ag_xox%>BnLwWK;>NLqPL>^YvpktwR23$KFd|>FS{uP0}RF#?9 zbFgBW)zFxVbiKWULrD;jk^PlqXj@5M3CS|z%=R_|eZ3_9+IKm6fI4{&SA z(FY%T(EHoAcr7)6j?Y+CMkg(8)pJW$nhu=AI+16XXu7w#cZx8f{^SO^z%3b_xkl~CwbkyCHmWnaoaaJ zh8L4-BXM*0-S_l8Sx;4(e*XC5kHDr42yBJ+@#J&A>fg<7ReJ?bxZlx!S7z6LWo zpGFc|9hkHH{}Ys0I1oqFh@Hi*X%m{YXJ`6+fc2X-?N|!Ai#=iIZf6N{lc!%!ExF zPZXs(K1x!}@F%b#v=YyB0ep*AS7I>^<}P|S47$UWLmGv-$dPLjeJ*vMv&hh{B$#8SUDdH~l+m@x0PnPU%!BeK*EQ!H6c73ZQ|k#HQ1wf+Rub>FK5XIGsUb&b<=8Qp%tvXN?klr8Wv<%j#m` z_AqYx`z+y4AV?_M9R(W!sLa8XiF$_6tQ1RC>TallZc|-^!NC%mJeEn$7m5oNzoWo& zonvL8Os3i{^Bnk{IVMG^nn2%V924iV37;hR&9M0c98WT4%#gR7>+rkXO#?XbAu0!S z+Qn3Z8h~UA3090HSpu*b?TRW5cUO?)AZHSelg~Pf_GQ3v!iI)|Hs#3`Td=QEo-1@n zK`~Elt@V%gudSw_1KRYHU zBF*^30&O>h2ByMh<8FuY7@uFb@Cco%v=u=u!BJOzVp#=THK|lrI$K-I)uUv?VfBcf ze)_v~%Fz6rJ*tbXDd-q*B zRTQ&)=z-TcTmZ@ms_IDYiIk4GYu7rx9w{%=;ie)Z`Yd;qf_s-GKQ zpCZxI^)9+>1ZeRTcm4d*iwjqF*4Jy@T|W2aS~$H)BUyN;)85Kx2bkWf(#Ge* z!zAP7!z9@A&p%H;>2D*1>_=b-o{?V<|MX-kf839>{pq49 zd&6yE7MN)fnrIhcxxxoBUn^wsl#~qrl+!rI+XPXU)me0(pU1@fsY;WjUtWHFyfxx| z{pg5(7yOc3Z%Ofk)N33*gaoux`#u7i0|KvE^w-|vkZJu8HIzxlj5rF%W{~# zI>v9_4+kLy;wy<(3C3~dyDk8sIZig_p^TOXPc)5lT$A|DbS91GB9xfMuR-?{lU4Yc z=A4Y&1df6XudZ8@vY^+hNuYzp#0J0fo|OJL#x#MTzI?)cp#$oe!{w9&hIlZ^k_@>6 zHM|_cl;hFy>ZmDSqRtlLEb@oHO)?stK)y8GNTCV_0ZxFFL15t7XcwUtpncIylK@4( zA>;|-s1HO~@uqtf3#NAW+6Dw*T{RVWR~Up4m;8#Bl$FV}01$9vWHk8$gc#u@n!FEW zxO7cuHG@KnMA1YT>r4;`E%+PEAs`DwYU8Re7xMp$$43RkMwco4Eno)>lfMuDtQa<*_fdgMkxtq_QP+ z)aE*`uZxiJ*TCqLYu9=b=oF=`fHrr8QSKbFG1yC+-$eb=3LQBU=AmaiZ~TIJ&9x{d2~pxz4qGgo!D>n+uJO!zkazVnxFpe(}zUE*zyJN-?)yzXz<*&aEw`)58x7S8q$9UX+0ElUD{C?~0x9L=+`%e2FX$lIO4^Sn1083nM8%z*T z;$aSkGe?!;U+w{z$KR-wBQd5>S6xK`QhZU&?v_DD+YPRgcsOah_eLSggZ$I8N5f(2eyg*BS4t{bEPeFJ;%SoE<{rd%IWe{ zq>O+Z8=Zv2!CQwiv5qh>QKJEi%YuFdw4e>tErVuo zq~FW-fN_(?VM+<%`i!H)S!v<5Wnb7Qd`EiKd#POoQxkvDHi3}nhe&KE;5e0blHo$) zR>f5M!0YyXW(yGN=*OP~kAPKx9dAb@!@`7HJwUZoKXspfJ8j6vLZ#W|1r1yfGeB|j zxk$0jQ}1JZ!Op!$qgf+%-5~2bEi$1wX*BPMh_a>{<8mmL-$G+w*rhF zF_Q;ZWSj=F%oO9?u53ovcHe{L&P|qu_+GkIzb+=ovO4%P1|R6<5(elEco`-^95d3`*U0HrR&L!(}AiA%&>6^=FrPb4_~-Ix4N{|eJ#m2+&a^XnTK%? z{Q!>!KGHx{earjI_3NnM*5G;`NrJ=OmF zZBovX{GH1-ULK5imOdVKjE~oK8$Hsz=wp5IZ=cYW4?b8PUfJ~5$A?LsrcWBLU%mPf zUHR}zzm~+v+P0ONW z-JVZ!qx@kKh{nX9`CB-7amqx#fIrPg?vX;#N3_fPSUHS-;VH`N2Y;t0V7ouQ4_TI2 zO=>-d|8L{6K}ZyEkDpr}M7EHywRetw_wmPcs&dcy^J8CliMOvsAO)^^lp)FEsSEQd zJSL)X&I}pO zh6HsAw5AQYukD{fpZ>hdzk$lYf*@})`ud6w4hM3Mq~3GdwAV+vG0280(@v7mK+GS? z(HJixO$ufc7R%9=Hx*DBrsUP=ebVuMQd3ADS_@xogH#}#W;|;NS^b9B&u9&X z!$9PG9|nyUJY(AuaOS%r6FI4#2HM+bQAhNb;astGa@ZCuE6D&)sR(VC6S*W2fx$jR zK+A|T$OHDr2#O~?GJpm<^4_YgSqh`z>Roqu1SuFuNg6v%MzgO;8Tb4|bA>~jHvKnN zE$y0o2DRLNZz}J{jP@-qZXjAPtjT9P2*oi?##chOAip3DU`%(xmEIEdc+k#M*@|mR z;O$`0u-NLNy8nN65<|wVT}&i7&svaab$PUpDhQLm=`~ z%6q?g*BvRoN!??K4Vi3C)VI}7vD&E7c|U1lv;uQ1>5TVDW$5>rwD^5XTLJBQMd!3w z7770X!Y()|#Un{gG$ou&>HBK4L))Jmc)2AIPx1Cbo1kfO+76*gETFo?63=${)V=rK zOSihbd*ENz4fJe+)f1gn=PmpMyUvn%JISBh4+guK^|w`N6KO3edaEa|TJp8-osJ2= z2OjvwNhZu%xva_O@n(!TKUz7ScuwxkRA1ot2L6^*U;OadRx7v3rS|5;l@I^*z|&U` zN$D$xr2JtbPi|=9aMxsKjG_0bF~T(I$4oby@a)$uVBGlh?hVLw>nmU$kkI5AbNaoW z%q$bT_+%%8CPDFr%&Wd~o8)|9Iw#zTnC#n^_DwrJQ3?B>>18mwpF{2j60X*!6WW2s z!+i^y?JL8V)VGh!&9jwxmLICIOL*RT&|+T@(hd*a2xG~i()Rx4zxRWkPgDAK8V!eS z^R0D;jZ>Mn_}pZxY`j=gI2ybrF)5%oIWDiSsN(4VEv*F z8EvC~pSv01M~t1_a7`#Q`2iuH%9on`8~#>~SA-zmtF+X{@NJ$H=cnu1E7O!jOG2Z+ zd*56skBnQ!(itB~C!57=sibg3V85mxy-@%-P3) zadOlpDoh4a3cs!JMxDkP)|ICA@#l=ovi^}a2%4~GE8PMR%K6PjU$THP#p>EuVHa-! z${P%r~X znfQ%YL`5VEkA~$-7h(Y6)6g0KgUa!QgpL|CmHPsw=)V!#GchSJ*d?C7OA#tw^ih~K zz7{5QLzExSkCr+sm}j&#| z!677BfGHBn(GlTSNdicOLMYmo6yEik?fDHEzV-&M4my3Jt(f!)_>q)@ETJqI9D%AF z9cpieb$BwJoONB=0tTO*R_EFGgeRg^f{a(cQBL$a2DQCxT!$gC8)^oE>y?WH`Uwol zoh&11v+Ezx$9=~Yz!dO0 z@;bh|xGi>+K>|#7v99tShZss4BMS^|)m&?HC!-CeK+(0iIfgXGz4Az1IgwT~6RaG9 zar1zYP;KU<)PRq&541&M8XbBHP#Ug4#A~(S3Pnx<`#J!x zr6zc>y>|Jnx86Eg0{Y(jS|To11`4pV~PJ&(x%plB=o5B z=?M=OOLnLPt;dox{>%vp-jeR|R>nLLY~>jJJ9w07jGtB)6G83w^@A>^6X@c*?z(fV z8YGD$J)neL855VQ6|8@3dH?3i7BUEllO5<{wcY`?q|3U9mC9bWvDNpM8r{7R`6Im9nQRswWrv zH9SE36&|WN>wJXIG0DWm*YDL)4u~STSK7g{9ZAO5ORSD(hJ)#prp?ij^@?y`i~}*9 zB~S~QZ)s`U!n7@@&h@1IPVojthtO9G=QtVgBAlFt$@)I9d-!gec(ym2y03hqGPcvO zL%SnE>OQN=dgN;?p0a&l!A7g^?eQ6FlASCz!?7cv9eL79{D~YpISo}AE$>l@-8k#J zku(b4u_RQys*hf@`q&iFfEVBYn`RkuAAuktZ>!|dHo=N(?Zap(*p`lgz%vjIS8Yxa z|FbJ@!^YwpvAzfz0fHucx!R1N2=?dwt3Fb-k?Ul`9Jm|2iX+)`6LCY{LrHL4!_U+f z^zF|A4)~Lb>`tO=K9S6}YN8c3fJ8=E>{c0sjED(O;8n+=wpn0`+_`{#;)1uvtF=yI z9Lh8d#o%qn+k6?F1gW)=#;ww>7T2_EN>zTT0?GkznmE&>!UT%37V4bd+@9)xWsIL3 zQ5&)v`b6Y}%!&pGh~p`~@*)vVN=0xYeARU|s-DP-wM<+A2)zcduhfu~0iOq@I+*Cd zc;|AA8Ib8G>CDwsQPVL{UCBsN+^BfdCt(}qI@U#;Y7u~G^&FyT@KmWz$_Ty|oiV&Y zyl1c_%>&&f%|SSp*uJrtgXVBnIE1n%N^{VrNj+3Dl90g1&7nWL$T6Me4RIlH@Vvh! z!Gm~d##qD+Yn|!|qe6rN;C7e|_E19M0K~K29_ohhi1lN9rd6?ye6)*+^}<2k>!25F zm_H5mL{qX6=uV?J2idAAd-=sYt_zO*ce&2ofpKNvAYp=XY(J^_StEBTPnOIl1Vz7BE7`OYi z*lOKYKDhEhU$J_Mq}gawT!u27A#43t$iHi{wftMDe7K_JGTF;9E^TG* z>B@SH&xUi&bGNFr{eiDtyAF2ASbo8WBu8L8LRWki^n&r&CnwUymR#6(*xG3c>wdBc ztj8XEj2?O90#$3bN<1Z&YB9Z9#09DM+W!;Z& zG0hW>qlG$=wyXWOc9!zFAD6#Bx^P6BHZe9}-@}%tR}%|tXXrfqrY?&6O5!!xeV?>Q zG!Sp3T9^&#$MN3pi`9Ved3kL z^4uE>&_4XHn1tEM-b~!swn%HdFp{*ky4)5_jI~NzjIXxZzMtaF3{u#QXE&5_A7@pL z8Y}u_7TasDI!$T%ghsNf)1s~HZn&{-5lBX(83yBB_wh+`T!^r^!d41FTxf4OjMg$Q zlfu@08E~zA!Up_Uql`WkeGz%G)Kd@m82YS|SA`1&j}X<^Oy3H{#vtyr%c}ZZzH!2D zMH_F&^={N1@&69V>OlSn;S#mV~7!zi2co@YELt)18IL z5f%um3lF8HR!K}ETsb_om%xF>7;rK85hSq$Ecxl6l@|na|p zm<#ejh-L8r*mXQ;0L6?vpnWz6d!>95osDlSB|wCZwZTcb9dZbRVTYqRjq{N5$)Q$# z5MbqCqGzZpA_PU5XqMRt=1dl39}dMs4;`1u{`zlU@7ZjdY|}hy*>i%gsu>y~e?irzuoND>r5-XAh|uwvSJmq7E6dZs_5Lt*fU(7NyQi*P6iGw7szZG ztRvaIa2)EtLK%k!%eWNsC~qE61a);Nc7vTfDCzdvL4{q93BV(Su1zfMpv&=cLK&Mn z2d#0}0~|JK*!xJ&!8yD&{jb^nr#lYk@OOrv625_LR0~<`q5aze*NuPLlQ4$_pw*5f zqe-XTyb0KOM~`b^wY%*o3kF6^My9`Jm znp5b4Az<=#0=dc=!{JNQCI250VoczU8}THC3{U`yi14;faF#1!42CWcx=@eqzKjkN zJpQZtfr7yD+>dpD_tF1%xm59??W!YDWmwUb8J+|L0pn#DR{c!{VA4;<@ua|rC@Is& zrwVX+cr_dW8NroIo%6DLON6WT1MBRpVLI8{1Fr1a3=m*DpxK-`C0GT=_ND-*D{Mt# z;Ln6H(p8zd2!Nx1rhFK|6c9-4RS`ld!XjXsg>h#3H8Zf3ehi5|s092g8gwNJ<6=Lu z>TlH#Eyvg;ARoKJLTd&}ovnLy*ztSCbyyK|N%%^LEla}dw!HXm{iUgL?hBb&R((J- ze-w(=^GTqyk01NYL^aSBpOU_0cOr{cNK)ft|(7mY97aFY&b@{0FSIPf#K>O z!=SUQ70c8l3xbGaGgg<4E`{EI@8}HZ2g%mu25a#0G>liSir7~Vo(}0#8L)a5sy9-D zO@OxXyZu@JLR7QE#0_$QqsS)4x_W`Pc)670R`mhHm}A|7F4LTu+#qKvbV%879qfPd zHKvK2_#EW9{WM~86k%y0wA)l7gHmttzg)hL%cgJ<3gNF|a#Q*k<-*(;| zFKA;hvoF!7X{g&^G5BNK#{&N=xH6x%DESG2E*35N`Iuj3k;NClysEG5rwyX z{?F#W0I!?1H!OywP81ByNftkh{Zf8m6ot)KgY_uH(9NGn0oEd5J4h(u&}RD;U1M|{ zIASHAQ+CS_DDSoxiFRC`7I!sg*WSfqh6sfXZclR>osTE-#C@9aifih9v^w?z$OBD? z0XguhzcYqHUhoFIZ#IqjH7B7;O-`fW-wE8+QTx9e=u8G3gma#j6Z)mydSRF6?-tv^ zv6zr;CTZyYf9}V@G0x<9NSm9Z6M1o(Km>@X$j@aAgeelUiVv|Y#m`U4V`c7vo%og! zjFZJRr|{JcZi+go^~(0Q#m9NuS7M474rf@dG?XsfpYU3dVz_re;+b1BlVEIQ*n4Vvi| zeFcVQ^O73>QOwigH%Nb??_D)e(Uj)wl~ID(IYKo+Xvbx8$Vj8Bd@m@mLQ{jQKonh0LZ1f2S32Ya?;;CpIc=2qvL>QRPU zR{dX5(lCWtCm~kuCu@&pVTtfL9%>!!XT?0AP_XL7x#-!6gx%wPfXl0(K-YWL_^t%R z4!VupoHt#5g#dH(b7WzN{?^LCHzs(Zr1PQ@%%B8)b}RlDSH8ojt~lrT?T#0%d704& ziO(csY!=#AWF8Me?ncQ9smdEC6-fRxMxV<`**N4t7?LM)<5qjNmk(_QhXnTeIdEWs zv=?6;SsrK^Up?@w=Ru01m@&XAE*uS~HqUX3T@G3qORSC(p^WAI;1HSUii~XXae_Vr zZy|?FUwC#s$Y5J}QNX-s1_cIkAvOuf#h)ub#e>bwGnY7TEO00-1@UwaZe0H(<*mH& z`s+*CGzAa~=U_7AUlM8zRygj&Aa7`KfXgd)(KOZ(F zmqS1sJZGG=zlXo{>Bv+*vb0TC6ZbCC&*h;nK14^AcKn9PB0tW6ui}68X^6sp5zK<3 zB-0q^75mCT=BP7`3pSGVEq5VbE^VmQ`^LLm?1k$tJs5Yo01KDD0FdgYM8y-@m&TW) zf&GR6zTcC2#V_NM3sv0^*WCgKnmHXTYsWYzm4V5iBD3q=j&8Ww0HMc$rFh%OpCUC{ zFV0u!|Ji2{3V*(D4w?Pt^9sE8K2E1Y=QQxQfoB{1Xh#P5*?>N`n1zwS$%qQ**gli} zP9^Z;_I%~cEEk;qC9sY6Dod@97AZG5!O*xwR`Sg_0R4Z-{+`P|v)vI2Ly}O8iS{Z{ zvgKJ7MBr%V=QJnx8Lp6Pg8skaHWo!c%^$^UI2nQ)$g8AU0|* z`g5ZsKn40R18a|%j0qB93T272U{Wp@xb{c6FYgMG2>4CJFB$*V?+$(EQW$Kv+Jd=F z=(zx}dIgT!Pwfkr$-9g-kMXXOg@OMF+D3D|lb7p~FsM^0z{*4izK2V)668X(qz(KD zcu1x&$1xMR&oE-q?Hw|oCw@ujh=0gTwm2d~d6Jl9A;|5h1o40{Qz%bEHU@@ieyYG= zl-LnNW7D~dBbe>vp`;Yx`#0bad@wn&x_kEs@C~vhF;8DSYfz3=G zwxodaPN~^kIrvH)U%&g^@A@0-k0|%ucfa$JtYodkX271Ub{$2Mp1B%#mja=8wPvDY z&~XJ{5_SnDTyy4+Mss&lI;Yt&1XtB9i(Y^4^?`Y%kugVy6bq1G|GpXQxE&hxzRw?X zhWw|g^cNBOvRmfkcHWFV?uevYUH*Ywrc3-!mkXDtaZG1VW^&d?<6^#EWp3VgTT za%MIY|K7O&eag1oaGxXDLIP`;O?&d0O1*h~C90X)?D#<7AvV)Y9pU9u<6I{UgPZSX<6f{~G1!WJl*=vnL&C$72omuy z5n&z|2^$yF{J$dOQ=hcBH|b7EILLY%`r9iea473tP%fo`(C<~4=TBZe6%KG`VLkV|}+II|y(j`LO^L8=m=W zM3?3z0Gfjk6@ZtVpLpg3|uc?Fr<&YT|Afw|KN zoLB4*QjP)%wibfS`QV zeGPcbEhz%CLbL^OH!yrD)~*NiPs9_S zlG9m#9wv#BobAA%IGz5?02fL1H)b#r6;y5MPKRcXFc|CGjW{%gkx)qpv%V&2W`xWD z>!P^B4kF7)z+U`h8E+3hcua;}%P_Xhj+%X1vvIEuj8barc$@0&_hD;ef%o>f`%ziY z?IoJN1Mh1a^oW}P#B^9mSvdrmaf5Lgv)wxdp=!tI|U1{@t$g<=wqQa|#z>hpf{?k=>?4K&%w)Jku za~x6H(-BCUzM(Tb$JfFziTdUhxH3YuP+7n(G++Ip}||4%mhbg|Ia| z{ARE#MPVC$m3_~4r&&WLbr^8tb-@4kx|$>tFi~!YvI+5!WEO?|70AK_Im}A?h&c?B zIllLb$s{VXN=z5{pGx90G~x|r^>dm09By)4LuKqnpWa=Hmt>brH{;J2eNhjuuW;ir z3eMka9UqdZ#tXt>v`Ra3nDpN22lPw33Sx0_g+Q3M?6q6LN{OxzH@pG`WFb`&*~4c9 zZE1!hzHsSy`d9fM<79G4hBCQ4N%F(wlz|9+n4L^oe*-@$=u3gLb#vjGIgLEy69YOh zAm^zE1S`%Jny!gkJ+=O#q2Ql@fDn|#l%^7q5tug$Xq>YNP+rg{V+R=qie`jk1~kxo zftR9Kq7NvEFjsxhT%RbzsxZuaykfY(ugFz{Q9|9cPTqW8V;8(ApcMamBj$`-9A1)~ z^)aR%#u%2}8$geq80tiQg6qL#T&9M-@oKG+#7bZ)F*jU81#3#Swv9~}adTi~GY911 zo*2_dYq!!BSZiiyHnSUpwycs-T?{4<+!FLbG#OT&1uc*bP>rvEQoq;?slXdS*%2e+fB(CX13W>ok6I8 zKZrqSSP;5Zx$mF=#|Iz$PJ`T30)t$@%rZt~$^QO5+kLsOi@^@b_1a&9@rcrbM$J6Cex6omM2Oo5w zCRaiI0UxK&^gYzkT=?$R@-U)->Z)ZB=`EEuKhQ;J@h4y-lux7fuay7|QNYWI)r-d{+T_l=kyRR9qh* zAE^VzTHUyDBgS_}o*aikgL(c(>ZdW@2o#$?A<3hP^>b^|?M~|eKD{n%_9zY6_alqj z|Jx1M_s-qjzB{S^GM-Ly-^gfVi>C%hJv}nyRQVJ6S$s*&&UKq#GIa+g*<(23JQc-{ z=191=HHq)hn_U54fC_Hl3lk^#ZT$$Wt>X@P%iOZee^3d~Nh?0~kcQ^s-FZ7vAc4%|sj3lKWC0Zy=WzW}!PEeo8lqTSE+Nt-a($U0kzn-d9 zB3U47LL4gU74hIg1YsIkW$DLp(b25-^JiE6?w6)!Kfmmx> zEF$|vSn+N|SMVTH8>C#T0c(N`k^mH-DbC#>!6m$KhCs?SF0dp97`T=NUZn~$ZNr3P z3ssg&YpZp9sU&BZB70i4SCwT61f`9l#|EmviAd-u!aI$bjADb4(lt)7iytQv1{~nk z@Tv9f$LMGL%L$H(D=M-h;D)KDx=vXT*iO6L20I!J!T$aQTLjg{JZ*CzGKFnoBLj2@ zNAj798HOC$v&@?-RyTNMym9;JbD$r4^f5PRW2)@94cug<<=6FdQ~2Z2SKGuu+EWfT z!%x4D0L*xlaL)eJ0t{gN_N-^-Y>4L%6@L=rYTd23-6%5VZ5Ufy@!w-z#OI#_QclQJ z1Hc#nI4Z#L{+UL`Tw>O<^DF?j!AHcaU2dXDo z0ow}9+z2Ss!nD@)FPqhw^^0tv(4ia0Mr~=7^>pfPp?~qaWNS=ZWU~7Wi;dVGv;7R0yt0j}GkcJk`Kt|Zzt~nl=0yeDM z)8H$ZeP=pDp*$Qi-(Z%2$mKi*ADC|veu=g*vS4VEAWR$ZE(70kTdv2 zGv%bDub6GzqYPu2N*t5wU4XM^^eqlaI^)_WO_ZM?hC!Ed()}nQ7{L28nH2uNt{?i} z1|Q8uaGW%F2ot0dcDUJnVM#p!Z`6^>e0{iN|D!x&qKi-$d~msTiPud2p|V`W-@Gn@ z7D|lP@NsT0r9WpHXfg?Gt&rwqbby@_042a!i-JnC;-I?&H58qYGT|h z0Ftwsu0cSt(p7@jS|eJ6(9Fb11qB!caMHa*kU~pdL57+L5<$@~yhFeO^S)b;Hpwes zwAC7ilq~S!+@-XWymPB_9c#J>c%XG=ztfmpfR1q@Ubw;U4Lo2|5rH$0L#f!25e&2^5L9%TNd!)gI%^#CjOcdQiGBAO;kUqq z36~VqXQs3r%7BdQhy@Fti^6X~ zKXY2fx>$Awxw1+bizW&nz#Cb;TeNBYo+Qgd$&`j?h zw23k@pnJn{(S}HXXQhc;K`8H zsIITOblImyTMG69y`tU_r&r^9Np-Ba^kyLLQk=$BwqQY;o;S%rCznPBb`3O!O|a81 zgDptMZBn&jLHA`T{GT(#Gu+Fkh(H+*`9rCV-k=HN7vx8hQ(6^YqG;bz4-$6OQH3Xb zggqz7G++Wdcyi<`a>?y5hie)vHiQ}UuF+~dRbT=@?e`8hlliveh1{g$9EfXHTem+o zw;7aUo=U4jc9lRobJ*HyCr9Fk2DJNk25p&b=)9q&n=tx)dV1E{2hiS!J%I`}V1hU# zhyN;>&i(lfQHYs{fjQPsR&ab(xHw&a>KqA4hTFg>1 zB*Vw0&gy%$p=BYRq+aKJa8k8-4QNmLF^psNOb($SOY@XVGA&$?i8$8N`0d0J);(WdS38ogXwSPAoAThr(L@Y`sSQm(b zpPU4X_#^{Li7tpzuSnqadYvj1=6qZBt9o}nwqz#tY06xgD!^r2v_g3gX8nEwd=U~Z z?G#-H8>0#_B!0YJ3#SjdvXY>}0~ov-uLYjb1eboDfhoQNz2&(TunMCkRN-f-Kzy_0T;!B>hT}eKf?IZOE1xX`R0G2 zN6+)V|Ni@Y?a*np^%4wriDoK7rYkx?4D!6)jsQB}jkx&GMNaW*bT`}=0f4kt3TKgi zG}(1bi;}Zqb5PQFFCGV-$GyhFRWhOW=X{^(u;R3V&KL>MeX50 zxfhQ(Xa7PbQz6$kI-_IY0XW>Tu7gR?`kYw^*RY9X&En(eX4mP2TIPC-uc~C;t?(Vj zL!Ywppr4~1dVZKJ2MLJAL)&2TlsV+)L)if3xX*65t&5<*-r>jmU2QNn^I4{P(O~?; z@N=zOgp#iYJUR3tmu|;<5w-&b@;G{9mP79Fg71;#ZL$a_eiZbbC{5ef%FT3^xIP-E zCBm$C0B~(DNXS)8s_3#w_Mbrd$c2qQvwofQKjYo;$=gOp6_nC#twTPevK_w0gmW+y z-QrZ+)7Y&ii%7_2KhA}YE5S3H+jPPI;eQy7jo)Eo8m}4cD>0F62>TOC=5$Ea;ilUe zRAyw42NY2URIA@dd69dEzvMqze;|u>qM|<3JO=3FXb|1$wVoiv83@z=$niCh}zK@_38qu2mTf4p9t2}I*<&AK*t_5q9PVq3uy6OX?!%P_#Z8 ztsu(g!m#@bQL~(Fg>xaQ=nAMb3qnw-P+Dtwu2F_^pqdknnNj4<04T|_im9JO zn*u?0=4oXR!2a)MM`wr|ZevXSuZyA6B&0L$^tZzeWNU`arb-y6Z1e6QoaoJ4$G(WL zl_#Hil3scB)e(r@IGyV(#VG0X-Z=9HS;hi^VMN_=>7n!gV0qmPr~iC{Mk z{`=6D!&iK9k&h4IQ-d_6n`s;7>{x&t@vaJQj zix34L3X=V3(9TV?7Z4tqIWu^!$&~pKXoK1H=;ZYBB$}%@UyJULw>2=99>Mm1kDGsp zLk58`aW@_5r}zE^q%MP;6UE7HJO4)JaGF_=reoq77Ue*!(lS6oR3870a<2lUZR~Ap z0cf5S0B#JqG>K&ZU1{{muB%<%m~1wgekPnDzv!^SAO~>{_5Nq&qnCGXzcU*Tck9G{ zr~-DM(O#0VReln@?(%b;I_3U zV$iW@{M4-EBju7v*5~#+9#52{_uAL?;^)(y6Vc)FQY~^eyRZE}l>8~wFyVTKCCgMo zFX2}h?c5oCZRn5i!N?v1`jR_d`>1@? zdttQuDv{J+P&meIjC9B9#cu$Uz&Z~fXwf%WUDoY(R=Z9;S^=4cM|zkY>msl(nOy)q zYW_dc2lx`g0HxVl{W?z77bn5yLpeT;ZX6)*bKpSfFtV{IA&x2wp{&19iox!75XamT z^;ca;v1WO}f?rbgNdOt%rS!M>#USHweqw~1yIeXe0(h%1!P-t^awS5A*%FbkkD{|< zJ$XH*+Y>s8ZQ9R`04AY{iUq$H#@K5%jV*5`yC~t;m$7NqCHQOevsY zJmRpg#K43U$BBT_oij#)@vNR76@s*9`0-J6EDicHz#DQ7@dM-X>|7ZyGEsujsYt(X zj@zvtaBn#5pIh)<7&al0Tc5qXW;3+F?&)-A+_wOUX7P<>SE;4Dg9GlZ2T0%l;DbZY z|9s-{$LW<rkZCS`FeMycb-4SUJrSHJqdO>=+vk%#-=6Hh$h*KXaqb^d#ce*4=u&Km%? z=*>6Zq`EO;GKw7u`f?Zn`qsI~fzi(tY~yth+5nbhykH+R*-uv&l=1Aa7+-JwSb?!- zk#%^@MJ&q=*CgM!_2T0avPS<5U!-IT$^x(c+jK`b(xV%8JvZ#jSt4KQjC_Q0>Q4m_ ztv57a8Y_A^4lEiOZ9Eq^wxdN>bD%ZbepWt2 zsrhtAZxEV38c+0`CzI_8iUU%Lnw)2>UZ$=(CluEoRVw7eH^g98!Cfeqa7C zy1{Kd(-X8Eo4M;YXwhwziI}pi0C_yxGVN`wS@IOdB)NVH(du17xnC~&*KARH{Q$0W z1)ENNev3`bu>xE(otyi~M3etdi|s9`qbuD=+*7IS+5$!oKfK(dB70V4&+h=EmU3)} z=N_FQ%e7W4=?h~88GvlW884vkCUDQ%)b+OZRIeAkNUJ*a8qNI$fTch9O&r%M9j@kV zRjmW2%f)0F&>JThBw#>a*7Tl@ZQoHDO-ovnWn!H;38LWX&WpCOMi>}35KSIL&z~a* z3^-sqiaDc*_?QF&0{}7MW@~B-RO4eXK>1G_X>_-a9$Qs1d}BsxQsUfJXFEK zsXYe&2!dnAMB;r55@ep2(}(sCzgs|XFdaKpyYP;vgR8+j30V5HY~n{uL|-viUoMjY zsH~u`p~!3`Nk?zQ%My#r<@gcLvKjqv<%xt*2QxK54n==9Bgu0P2B#uxA%|LFNsbV# zrSYb~y?QM~1H+D7Yz7QGhLf2xIw%1jFbJ%q;h}x>4B?T@YxCJ82cLZn+kgFt9CbQ9 zbI5}0nx(Xn24h9r>I(_`qjXH~|L%ix5c*a>GUBMx`fe|Dd;h)n{Lx9vxH78la|ISR zypDN~7YJge3GR$0Q6qLV1`%emjDCWS{1Hx&RsMoQUwm*Z{A_4F+Jp4PDo&SM3Nl|R zk38~7|9k4GC;i&%Z@fXb-n@1Ge4XBT=QjPzTW=AAE)c^9%yVRx(M5^)QOkXwzt86x zYZi3A3|uIl?H1Z;dv#`2z*E0D@F&^nIiR!`Fq*8XPJRD(GaS%lFJ5Qiq%X(#DQnCF z$QUHGCKmMJa3rgGS~$NhV-G4DoTI*?0i=&wPfiEH#RD!39Qe`oB8mPDo`5;7Tm2+l zD7UlB=hGeCG(3`tiD>1#*?jJtVYso~ID8}W(@>Z~AY0I&p}pbuh|*tf$b+6TZJJ$G zGfc_l2hr=NgWZvYR=#NwyGCl4G0%mg(dPK(%%HNOWYuC$2Di z$L)~?uc41w*JcX36HS3J{OY4|Sor7_Afec_ zj(G|)kgmUw5N^JA>+dk386k-QBhd)bo(Qwp?R%`DWF@w7TFdZdR9CCz8)1#CC$7IV z_&=vG=!T^6ug??s)8KSG4|p9j{b|KbeURV-_L@YV@F$d#e#Ryi1y7J$RRAx*#J(Dy z7=^VF!nhXPQF+9JTM|iB1oaHYq~sX_vIaNcNfxloFpc`=^V2COaV3iZeR5I02qGfH zbrH4ka5y2%Iv2o<`L$E9T19y2c3s>sBNOE0em_z8|JcS2yh3kCgJq1X;UEed8L_#j z=VKO_bgb#V(*Om+aV;jk!Tup_7$CjB?ugGgwn#MJO_5WF|}|n($?~ ztUH~nv8@}>Gx=S6_~ZkZ`Po-qkFl7ufy@OgW}GV`U9ggW5B(bp?$QPL|8o|2NzrN& zs3RyV^!AC;sw07zAQhZM7J!HvCj?s*L%s%dtjC(!knPdYCK;%VAQf95d=o_TGhTLn5fW&DwXLz!!uX_ zi_xADEm6h=bZxOfvgr^6O=*!qY-4j}5v(JDCYv_rz=H3BQz#r)5{9k?ttQ4zc*{aJ zmItyJ5Kn@#7Z@Lvsq>E-oiH4(a^jNcbRysATT5%X^4gYz0> zeadqsA$|Hl=&(}gFVMsjY-j`7Z#Sn@$jjo1q0OJNLz%sp?==<6+?I50uP#vp&gX#5 z^#K(DXLER}`bXR%Y{?#XdbU!(t1b|vcRH-}z#rMu8u{3scP_Ko|Qrd2bu0 zBLJp0D7=Sa$Yb*r)RH<-Fog^ni5EUP(3}*RKLvY_D3ZJ@O1Zjju8#Mp#QL9-&x5Rn znbDp+VajC~!m#E-N0bq4jHkvdX@%IHGz{O6D0II-a2a*o#t?}?|A!dxHR`*c1OB3@ zvl%ZT3;%WEUiT-pv3(Pn0?}l5IefnKG;kpsd~qIFN-+zJSxg21$6y8-@+m+ICY$^J z0>DVAk4Z2l_wc^K5p)E;vd=e5p3eU&BkgDo#&%dgF97yJd!>T`4uF}H=~z;MEY>ZP%E=)Ac%f$}Bp#RN+ zTuESy3K|%^;(jTeh$$ODGcvs{FiA96EhK^Rq6HxvLWF2(d|-q0&_^EESJuWnS(5+_ z|9DL-F;Af)8K5!NDX@ZI#2_P~@YJfi#R&?SN}W?903R#COjI~6z9XR*R5AAD1Zq&d})p5bsAS;r`G2` z{*AMJ2!gADe*wA>8;8r*5%NJY!Uhc(ug6ZR-WAG1hh#c+#*9Tl7>H899gRg~7wtBb zbE5Gv&seD_SXWdC;@o@=I&Ys}!IP|Hi_MSJ(E$b2&XXHm>e#1vGc`NhxleoSyIuWn zzx;1>bb0#er~6C!4Eq}cY=+)#WaKmqoOIeX0>t_s$zlV;@j^-qAV>9gWM1fsl(mfv z-;ELzc_+FQX9sD_pntr0^w?vMb-exf$3LcD{Nfk%m;iJO>L*oV0>=Rfd3vOyP9+#% zfsR7{Ggt~+{yxKr8Pj%uFF0~t#UBGkoymdYN$3v8U=iWanlbzI*A z7#5EC@OgEay5-EvbWej1AH07|mhPviG?`(=gHLo^26TI}Xao__s+2u(U5fGgLjJ;c z?KJhDGnK;L!oDr=##N7(f@5Kz(XQ#2@CnE^UURoCh{?(8J*HRy+`&S-8j8=M{~*fg zV9{4 zaGEz`NRRa^`Y5&1;Iza&)Y%4ZJjo~ezXUn(T0dV)amPl-J7sy{8z@-MChfn;@ovFc z+ejw0+c!Lyob91;CN5``F+uQ}q7S0jvhe^g>MOFbh-h~$DEV}RB8n1cSRlM|VTD@d^q_{rGrlJCOP^fhJDD_JB{P$A@P5+Mnwc%c_XXHHMipEEXelV~(y zNB{{kjhPXU=d*&b43Gz}jN-Y;qFosE(-#{) zE3CAVEeIcS>Keb0qfAL*8m%ba`!_K3cH!TckTzu@fRK4a=^%C$M?FCrx9`xE2skN8 z@B}ny)QQ0&;*a9gCV0*8kbdMvUcEZuRtd4_YV`Rt4_Z z0^P&cZzsq3h;sk^_xCJlCd;Of#M^zYCsBG!tB`POt2!n=g2b$E z-S#2^x{H0zmNT?^RM|5{g;LNnvbB&lU>#|kLHyJ;2cTD_WkSm-*0*OflJxVCZ@+uY z`aSZjg(nDR zD*R3OaV5a;taV<{X)9~~cS~=- zly=yE*fcVYD=BD2yM=Kak!2q`SU>=Rpl0(+dCA$e7qt~aKEQPdWaN#WbyrolR&Poc z*NtPPzSy4En@nMEQMxBWlzdl$&0dp#cc(HwREa0J@QJg$=9YaM(>Yo*DGWN6Z=NtL zZyz4BpDAsW#HP*6hvqAIKsFozI`mD(ZoqJW20oV82BslM*kQ-Y3I9u2WS5QWT{57M<^&TogM)IIDE`Y z*r?zVole09Q(Xf8A1bjWTLr`BL_13S9|J|W-Mk~Kg!F-+!1h9-`KyX0iDv&lu!3W! zRYd%FXFUC$(S?qOEbj4z_@6Z?0uV(d-V0-qQgBn?x6Q@sVr*!&)(O^9XQjt0j#Aum zr!OSh9hsi*!YkZ`sxeWY1zE5zWS=4t$Q+f68q13okb}qyN$ZX zn43Gb0<3@;#8ON5` z@5}YB>fb5%T>rrb9z5*WfZMm zX&e!BREaZde~&SQoZb&9fG74B6s-pXvAwv*SMr5t9>TezM--a^9?N8ZrUy*Gz4Oky zbVO-SZoJpd|7VW%W7Xf_DEWPZx!}0sb)sWcA{FE_?F zTx0{Z^L%`KVu5^qhZaUUm~GE&qo;=P0W@fzDTpaq%rh zBm6iIymnNXGqWYh0Rf)&V>z70j#=lh?8kdj%#7Uh2m?`Dz!q{G!DXhm0H5V2i^j1X ztlx{=f{~9ZwqZIFHuMbhPHU!z;zfm{m@F7Do4gyJr&-pz@4>|+3W^f=<;O%Yxkp?v z;l8Dj2*t4zl}4*Ik+0*wdsHo6pLkFIgPc)bl*8oJO-z)yY@fId;G1ig)w7x*aT?I#rws%OCHbKTrwPO?9>k0GfoWqEjU`C-H0;j ze=htF6s-RC)ZRY!#!0G6GE-BX+uRAK`!qj<#FWphE`8h9Oe>$8X;S7v6DJ`HGvz2n zAsQ1l921?^!|qF_WfT_4IMc`2#k2791b4pVEol@b!IkxZp4A?B8J&25B)-xVJ@Z(!?#rlOR z0RyMY2~7+_n(&AR75W0SiOgq&XuPbjw5;GbN17Hm;Y3dXs*Oe ze+(0Z8EXdV$o5cKBAxIUfA5ftz;l>z!NJa69o`QZWRmaX;7 zv(M5GzW;+U8+Cxppc*g2A;%R-&Q|Vi>>M*A&!m8rMu@2f3GBQ|HvwgQ-}J#6M5*;H zMFtPKB@TQ0{?He{cu%sQUw{2|mzj))rHmQ9^X@Uhqc1)32;Fzz{TGk;xSV0PzRp0~ zQ!wK~-#L4o4n4cP1^r!SFJMEbXp*tlSy+!rpuCB8H$hI!GQ(?Da1C4>isAXVN!6g< zxK`M?l=1Y!M#mO$xpI|lzke^^+zUvH%Mm)X@P@LBvTg*}jtY{t{zu;eDl5*iH(88Z z+)l4V7frnW&V-F!S9cmZX|PD!U@(rs?mnGN2bJ{%^RO0_Th_0c?WQxb%xcWEoi|hWA_8|4=?M8dU@$Zt$6E#$0v3I}RU#1vW~;6;m|034%5^Lu zMi(k@Wj4RHPoytUDdV{N|5W^Ruv5oyZb;S;NC-2|m-9E657WN?zbs72;G~f80)3~& zS`}bE!=v~M<8eMTi40cx>Ch%dUX4Y0VuCQh_ugf}K zp383(8ZH^^lc8_y6Pbnz3^HG%3-DE%SkQ=2X~#)Zz&z5!e$mDZ1K@#4z!;;}@sR;1 zVKX`r7-s^^*4GUB6-m}2bY)3PXiARAjTr2z$D0KSbp;DLd)T^u3&;m%SdCkOesmYe z3>D&p8*_3Hn$?thYcqItf~oETr!J77ZEtG$Ve6L&caAyHYlguUJY%4k!pIUB6JfXC zTF>Xp5R4|)^Sg~+w&}2Xjj^MSzm z-nz_ek6&9B)sf|!Pe0wyHV)@&z|cUn^Wto-;S7_@u>O$ZhVp_b{@W-55mqM)hw_sm+i&|^NZ_-SqIN=$Yc}Oxh@Od z2jkjkQMlqX_di{omaX^|ROsYj9ni;3{(2uh=x=->oP6LrLYD_X6?D8+8q6}=HlW;R z<1Jk?otoAfd{C2r%zQYyx9!HT{{^y$P52Ygv&!BvO?{t?o->~|m&kZmQ|wRrX3$zn~)s z?vwlf(XaCW=qT^M#3TYRPO%WNM-i|ZuVILwyY}zAu!CHpwM^u)i0L;Q(Nb0x0{xZ# ztBpG;8CVNWls4BbK5WAOvIu3Fi}fX4N_djRr_i+C3$^Wb7!f?D;JAZ26<0*y-gDw5 zn&fSKXNM(m2Ze5BD$LW%Mku5mAWE|mn2g^mw6s#}L$D@}%Lv$AFq(L2X^7sV zknZ?or4dz8m`OniWEV*Y38!bTR@aQe5y4TJi-OIx)bBA(Ps$7&Z$YZ4oc*gzFcjN% zi~-JgS=|uS=1@`KbdZgtxjRoooqk^+fQs|CKCB)5jz^L+4DI6tlSsk8J14;RHaVHb zPc|;D&2Z4oNoV@?uYN`MqWtiOFVOv8_`-l+A@av7PbW%b$po@_eAY+MB;lW_>d>+5 z*|8p7MqAI|u)#MIE^6$moEvQh&c5~RGlyif)zUKO-g@gTve~QxU~k=ei;gN!J@q8e z%bdN{p<3vyRj@9L{2TziDu`W!6RrAD8PEgYOtiF^Mj13E9%MPJpkAYl2Pv}1XnolY zTsOSqHRAh5bdYH^x1!+wWK%mks0YrW=1rrtsK=-8fwTFuOOZ zK_u$q-q3!A&O`w0%=sHPA|PY!Ecu>sJBgq!Y|O0^ewt|7k960?I5CkCYL1o_fNk+8r1)LSIV? z;J9&kDOiIKD#rC$C%NY^$swSLWNNPh;C#F+g3|bKWXR%6G>vyc7H5#gOd|++{blg~ zNK_an8Dt*?zj`1PHZGlyEDN1O{2FZ{i;8WC9f^8rbbH6a_sn0h1S1MQbQ;<`6WKi` z)_L)my9byFd>8`Rl7yvGqd9aW@pU8~Nq)*pEt>GpU>qN9;g9!E$$?)TQInI3FGgnK zOC&eJ%pDSRMHUoTvz!eD48KKjJjP@2{{v8$hm2TI9N9aMurMWGRfov)=YWz{Hmf#} z1VqMX<``G(z;XpERo?4I=N8H@ceKNswoYEz zY%L$h89zP|mh=f@OMo;X(fg6ypBvSZ?}MJL>q9GDxr68B{T1xBZtdUnIWOuth=?c3 zWand%zbw;RFs*%{3DSYOl zAkj30tmaeOpQ;sb*$G^IOF&UCNml+F{fuMceu!x z*)xSX*KZ|A03cx|%ZUzU<&&pX@VFKXowIK%R&(t@^s^EZE!<}C{)X!LFD-M;hy0g-OPSXK6UhpZ(> zdSV|AM(ECu)-j{{1WFp)SrB75ZW}%N!1r6kqj3m z6sd<4X8*b+j(Ho{-7@u z`yyt)z|5J!rwg0P9xt!5O4M%fpb=UGp(3Jx$~0pMK&H>I z>6mBQ@AchyjP{%YsY9=~_dK*s!Tav}e2gQp8IPOowV2I$X)`a=(D>Z&ofvkeIvrQK zY&@;`-{uNi{r+#*+2rka<%9 zhm!jm$LH8)MZj&Jr_*tO_5NY`y9vi; zdRBzP2SEK`+1BFyk>e}CscWP2VDg|D`&?y`Vki;VUzjR+hQ`YDbnT2>A4Co|!mk z1)~cbS{K1D0?3p6#IaqU4K2OKD}zDnvHPMl>FoL&`X$c&+4%lP`z5Ult>L1bE*OX{ z@xN5#Yp!Q_P@IJRfp*haMRze38-x-J3>R0^lG=Z*gmZ#x)^3ZN9Fr@A6oE1!BvLcX zTxM}8HDfnEK+J9O=S=Zmg ziQgND7MzFGHwLbN?=VefC;?nm*g(+=(#T$4&`eZF>iikz6C)286D`%TO8_B$18jI- z3WnH@!kD}8Gj0%lqDoDo7bJl(H8B3gR)s;q!&)icW*Irp56_@X_0`D0nTr|Kj_blR z%sZ@6gq60Da?uPFf%TcXO9lvI?|QsO)Di7-<@AWoIp!)!I#C&)VQvVUKM*EFtIQ>@ z3Cf341~0ktByi??K!^3_*%)~5{SWBXS6-oeQJRzb-RHlXnNsbPZ#Az4%XH682xanKaUe@ z2`B$tdr4WWNz;x`PB)T#Mng{k?9RS_hQ&9)fHQ@Di4F(Tq%+qxZ3p5q6IwpidgCYQg94 ze($^Vlb`;C{>MN4Q~&$v-~W`p`+t6~zlie7k3C9X=o^`1qn!5SW-^U=l5e38Xqw;1 zXs;I5^_Ic2q36Q4EHHv?(?9GVHv25=wcJ){6>S$?kX`f%tV>RbLi4X&(&sM5}LfO4^q; zI>?YO%0vCk;s5^ZVQpv$^Kdo;d;wKJcz`Z;bRan4$HugS?hJTA-4My&YQ6;{M0 z`PYd?OlD@)coyIgR1p-dtgfocdw|pwKo0F-?kma2N84 z6QM)dBi}+m>1t_Y@VFA=d6HS0-rYhPfymCi1lzP~lqDty?kW!N1_s1OWqbjNQ5g>n zt0t7psaP0VN!X`((Y(F@Qj)x~Y9|RE&t5jT;C?y>7{;_0&~cBL2DwUp@`_$-r&M2i(F$5-5i6{?jj06IhKP`i;JJ3z!WH zg0itQ-|oR#mkCzHNkh`+bw-9G%ukQNc=_d5?nxGOD^EZD4SM!l&-(e@?s(~ME9MkA zeJRfSOJTNnl-214amQ6{NPN0dAUKP3E}mh1?(e||9;ClNJJ|Q)=#5r>e)A^1^Uk|O zxZXrTqo>e$zdG;;m8ZY?G=1R`HE^>EHm?G9R%)Mfw&@^|r=EQ3ur+As zKaW71B-)Z9T!dgAJM+1&B9Jl1$)Jzy=l+{QwwNsP>)YmS1}{Y)NLSWkV>+y0z+t`7 z!}IS0;pt-#xy_q&1rgPN|0O!Vo4}3nEc3yWB9Ije2hp8C9OHg#~rz#L{odky|gn+dd*Vcs`ICiO6_^OGXOVVARBJ@P4) zNBg@K5Z)Tt+<^bFctFp7kBj|##st_a91_H2%M)LHBGtbC{`)#yEinDV^M>tDfBIAU z?LYkw`o%APaSl@dv~NH^@%R(*gbioDsPu|_*Wqx{i#%v^IgYP-hAz>>|B`IB9S{s{ zlKFA^4!%+{+r3ZoJtUd;vu;I6zw9XK@@X^WNb$r(7R(YcI66eYKZYC2n6oFqB+cPE zi_?`E$kpbu^&JRzzsUmApg~-|63oqMR8Fuwa<~n#^&<>JMv2YM;Wj_eU?-g!k!=_` z#*5uS5R5k)!fkEMq(0d~6Z=`lK1>*vAXSJs`Jp}nN%A~%Vvj^u03S>S>rmDkSbg@3 z^$+|M=YL{{Lg2a>AXAw$mC44^LERq~U_)KAO8GXXK(%!9LdkKCctK?#{6u*r3~tU8 zQ}s&09w!{fgk!yMqQF0i2K2XeZGf6lfPb{W0s6-{9xg)qj5&<8hc)s~&h?C+1mVxR zY=#r&P+|7(P+wr|MCdg4#B4X{}otLyQ&<|Zw z@x{E(sxQ1zWLSb3*9H2vB-Q+!A`&JLS0YzjB>Y{0oFHG_r?N0W2-&L0#O<(^K9?|5 zqMIzcb=K2gy^uTpX5{j+};n8P4nQ}e3cm|+PyPaEJ29E#WVjRb2e zx19jyDaEd+A$U_2;DQ)+9QiMZn)9LAh!e+Zz8Zch?5O5!1cnZ#^6S! zUwfa_z!}pQA9|=e(f2C&+{%xB^dtQ?Gxx~E+I;@)4A-MJ584@{&z^%wC*YSF46lJ4 zyjRO!;H?JBl7lait$yV3Cq4Ulj7sS2ba>q0f(E?M5!YBcjp~_=p%a2O4V)3|GB~|4 zc0{P}QFd7|C)#DqLB-{*LQXm3-!gLUCb;`y3+mX5^)B#$cTw6@-iR!^`BC`m zEizu3W;VwFfWnW!pe&y^v3^ZQlop75=qx`6z3$I-#s4Oo^#a)x2F%dd?JTXTpK)wU z(z-eZ$QKIvlCsYfPyU_bJIVrUk8;YikEyaFHwnM(GBIRU4Q$Q}v>A~`E{+Dm|qqu(BGN%8>IWYb6U(nzD?ca3S{`gnELXWhw!@;iK z=X@lBlWx`>Cnw_R4d8z>s&+vPDz-M3MZGL;?+AtUO=MASkeEQDI9$=iT<(du-M86U z#gz3dC&oLXh$$d~_yBy0xjzbc@GLL7D`p z=%3sjKz$<6Q;~5LbIa?A1eWXPcv4v}sDtv>W;5w~7}0AnQ&lA(iUaqIwh2-An7NMG zR8uK>G2Lp-%@(79!79p9!c*y=mn=g~ef>yITR9#8AT{rG05~%Tx=KA;pht&f=acf{p#NmCY4q z&?bYt5ugJP4Cy^n&Rp7+_L0IUx&gHx>8=&Ly*cTV)mE3e+OEa+C6!`U3s`|i7s zPXF_Nj*Gs=Be2dz#`LM!PsxryD^6LFFlToXg%Jn5%q*cJ3xmM@1L z{=fe6!xvs~nLBX3z$-7p)7AdsNlTBiT93lNEfD@M|MD;N>Z?DY?|tuk=RoM6(dR$^ zd5|w)`IPVDW3g5e_fl|La+P-P_1_+MOj4WMpPlD3+!CJTGcWi*e#U0Vo*Odp1KV;i zee2sFeM7JXoWJ_S6Wt#8+rRx=`iHZ={nvl}7y6qY|9Hr*-In6;4ft&Vjw#GxMdmE+ zQV)N~YNMP0-rdp2Y+PR4>HU$X+`b-beF)+ zQo5lX9S8hnL1n$6U&QCg#Tl|EMutw*KldI<{eMwkDbs-IQG43N{B+l6#K0+F6Zr~K zeCqnK$h2JM=k=!xi75iG80=2lLfOwtcknuqR0s!|0p7&>6Pr7V7{54>;s+jFsQ@`1pns}%OTf;45&GrQx6==_L7P&7kJSl{wnab9o|!|4;-SbWrc0XQlKs1G zK)~y(RYh54{J-i*vRngPp#SfN8Sr5qmgnJlF`uf#RsO_$IQJ)589s5H>-32-Ax~nj z_Q7kqLz_+z&z$esL=0zAV4VPqHU?r`mNJ%voDod)u?hAgKRGwD#i9(~G|&>j1;Wze zmUgZfO?gB&k|sn88j zZ<`Yu$rC`F;WgptiUkHxDw~&;6Rapmv*1*5-XB#0;i-Q%t~W_=Q=!HBJ%kL_bu>3Y zypSzpoS26NF+)iNgQV#?i$qvW9|i@8asLD; z`RmtB9t#E%DN}*NX>dp27{vpDqW51Gs3aRhP<$!;OgU&7<2zh3v;2S$*GQGGPS)B( z1;>}IR2XDiw6Sr42W>9>=gH{37?-{Jrp8+YTv};?%vb*I@918ZC(e%NFaF^ldSKDk za*zu5fDmS;RioA%|2RvKJ%hr?4aJc4JAQz&wM`Wg?D@9M=!qQ z4k|NKj>CkphCFoh=1n@X{P2fAr2G0go^#pDgudG#bqX}oN;aG~0>1p^L(hJ00l3#3 zhoZb3`lV<0v`l^fPakc)qEW}^`@UQ#PJ`X?qFx3sG+`j<-hdvTCK2VkGe{Cb6odbQuiyp1Ka1Qd{r+NzY z1JYQQyJJT2ooF^gDs@A>^FQA>EI5~szugu z_?c=6P4^7-Q*UR z_3UX($~J^s6;kXFg^P$M-Dy`{Uz#VzdR67K`#MBZ?2X-bTJ+Chv{dpFP_0_zqO z8n8pJ3%g3O4YhzDNp+Rs5tv<9WPAr>LO6UvvbGGtdg4Tb{*<+h{#-h8+{fR>|Aer0 z{D`B09VX*im<+geXVfi-BN7eQ1Qs!D+U1^YoozlTym5Vz{w30hfzX0Y(HU!er6N1rwKBGWSp9 zN;F3Za00Y075Vk|%9%7ma)N?|srOcWt;Siwu!1G5`T&Y|5O3&nDa$+KOPYsx|E0gu zw*b-kiv*P@1eIi65?*u*1_8tP_HXa07(=})IYBJ~0ck=PnTGP2PbPSEtx$$Ih&ne{ zjtd1RlQ1-Sg2G_*Y9cq#4-4e{;bA*h-n}iy9b~>aBO4$Q8yn#Sk|4k*lBeF}Dv$|C zu#AV?ok-6NT;vsr9r{cLiYYhT%U&w;Qsfx_qrtp_1^Y9@tdb)dft5`LJ{#P_02UO) z%wZGbd|Ahm5j2woIZ+M%*pUveoE`Hc9pzPN&fP!$_y11MKJyHH9)i7d(3#^pg`wd= zgUTCz8E8;R%Z$uzi;WuNhn7+Hi(mXh&-}gD<+Yam{O&sm<`Xurr*J<~=z4?4@b_^b}%RSx5--4u*I|9$a`4|xFTsPe0x{d@}I;E-V*M$&+x(ur-l zF&$Wv-qlM}m9il*ssD`I{h@g3@2IkE7+lUrZd90zPtj>SqC~cAWI+f4UUFrc?5_Zt zs?Fv4g7oPZEr$jkC<0Nd4I-}vcEqc%zCuTpAO7$KdQgwzFq_1WjzYV#-8wGK>gDq&8x(b=Xce+yN ze3bIVhaS{%B=Jq%condd3FQY9)%ZiWU0}x(rR0h5C#3(0+1HDyUJ7>S^C^3dZulygfi6|kV+K6ifoBAj4-zS(H<&xJvEnMo1GS(UHa~=ca z>gwrF5PBx?XWWdLqLKNAwKg6GnGBv@Q{CrX5$qh4aL4_oRy%9!=L!Qq9cg%5>Y z+EH#sI41?g@y(R4vx#~WM$UBv4G1aAUN{(;q@3o-%zK=(1lNMICZg?5Kw_a>Ny6L& ze#+#9Qss**pr{y3zORlI?bv$>l#1UQ$_4AeT+A64azkMRqa!ORag}7*X1|khE|NA4 zMDoy{>8vz_!NshTVy~8os*WlM3M8fMSEWt1>tKvX?avez=P~Ra(ltsDgAvz~C-8D+ zzDJYWaF&tR|38uKAdf0rz;m)kso~|GPU^vX@jz6s4Ci3$BiW}r^!|JA(+_^|1Nu11 zx4!-D9t3#m91!Ti88e<8Cz4*MH1H;>7sF7B>gxQ%dCC43dusPtgS*uGXaR?x{`Bwf z`FYP+UV7<8!Ys*EVVD~}zWK__e@91_FP(!mjW$02`MgOm!^bH=Q_IRpo}Ku?a}Tt@ z_p7fSz8qH;`Jh#yt#asQ+}3ay9- zlX7tVIJi>A7yQ1mp!{FKxPUq4bzHFD>=2U^Hg45!VfzTZci=G`jepyb3jHYx)9K3> ziW$7c7NrV%ZPf~HvPv~WR~m492~??t$gjtrxcLDs{md4W)ITuj;(){a9P^_ZU=MNjG!L`?4#7u z#p-4Gi4yO0I!@MFW^26o5acI;tT&xR1bXQ}9YBMI0v-aVM3YzaCkD41s=gMXM}2eE zCvX~n%nj72AX@Nz!DHTTbDj zn{H}DfS+t(=z;T$CCqFNpN62XPIG6SXH74%3b`M$t}YO>z2k( zb%>_G2gWn)b5FFSx*%_ymrF|I$CrgQ~-K;N?H-`9&_E{RaE56bsr zSuoKJW7j|s*xE~s7x#d7IfF18 zkCN!s#McVF0|L(E15AbAk#?luz}r{+P?-x!k_|B(F7R`Dlqc}xP>#zSFt{> z6y-lU`Sn{F;NO59vke?g|I}`e) z7hj^IN_z=ile6O}A2Bn4;>#WihfLq2V=&91J<~&9e5k);;G>rQ;=FHulYV^es{o)t zU%%<4c1CeK^5Ve<9|#CRhE@4y>)mAY(R#IICAYKktw`bRRhhG3hsigxDC;#WW|z2yx+|aO z@T7CE-l#GpbVF%CVW;Ai6~A$@J+8Z8u#%G_0=78AA3>rB9|u<(`E4j7Hu!->+NQ(}aykoFhr+utc${)w01TXj*QbW{@JT#K z$?6LUCBIyhf(7|Sl1uJgT3yP%ml1jjO`wlz^%g#0+yj{4y7w=|CzI&2wl{AqdIK7k z$lu048!PE4Yod7O6_=wP5t@#%bYLAegcNiuUS~{DgZ4EhVmg`0DVuyw$gRMf2TGk4v{D*7Q$p*?bFS~vWD)%Gaz2(xk5~XO53?`{L7sCb7CUG#IUsZ)()2g z<=HfErgi*}C=oiw;Fd+^aqE41$^m6o`Yi>A>~c9KSz$*0x4HyyR~UBiehM5XJ(<>$ zXZ%^CG@ua@m1}t#{#$=+S#0bTq*RK9vBfl@y0^Gkuq}2C_hYR%Gr35qT>7lvt&h~6 z_J6P1TvaOLt@_%lqp;R9aCdQoeb#{6(dUqgU0WEuzT#@qFn3to1{`JVppml>8B7_&RSu{B@_z5)(KT<*a!AZ{Pubxm|QSMW61D@--eaE)=~0`D=tqm(;V=>OuY~|55Ws~lt<_? zcvK4T8&ErV>8N!S7@_v-xZmi;UjWcR8#Umo}ZA&Dphtsj-%0j$(Xa($_Oa{%_p zzKi4g6I_mdYp}Q}*0ZAO0(0keat9w@k`RkKFtsEKTIng+mv#zDl6b4KX zzSrOQ&7nsyH5vYkfA|GG^w1Xr9_wT;78Fne~0=`hgR zxAx-3f4B!5f~~yv+D*;Aj&s>3IS9JX=G5L}aa3vZe)idKk!6KiMpn+u9=1lIdcUYEq}{kV3_q}r2>19&)2BUMpd;O~Zs#2@!d zjm`!(bYnQ=@5!YF()ReY|3>q$34N_q+)qAJ`*-7|w+H#r@GZ|wpmxAgdUE+#250tQ zEnZfHWmr%ol`&$qt)ghW5R$6`P@RjmO@5@nxyA{Y{Ij;*i|06OO5f^pOzU8x0Qi!Y zaS6%4L5A4$QgYWy-fFS@gY<4ld0fjS+bnYup4ZPzUF4*3qBFy z*Q5~b;mP)x|}f75vV)Qs!0ar1}a|?T@I`C0BYMr3+`4@Lvp|wm&W)08RN(8>}i>X7=oT6q1U23}Y+od$i64AIwQ~xj}FD6s|FT zTywm;LC;x1a}LZ8yp_|z68pdylu0&%Hn5(Bf6y86U=ndMoD&+-FI}}3P`j~pNBN!G zZ`1S7Jx4!oZ=(O0OUs0{%;XjnzxC#ubnC6R=-qRmJorHG=b?5M=_jl_{f)0@8=!xOKrR@K!F-L*M{Nscz4G$Q{pCwvhc!5?dlW-{`*e*McYa>IjrZKP}tN_;D#UP+ve0fVX2` zLRd5C#u?QaUm=WL^2PPqA4Pw%W4GAm$5G{^FJ4-OxhLILoc^QAus6f@8fM2D2`ju^ zMFWU${C+6yC@pMpLG|h!l=h!$m$WSC7k>Bx9aS1{-~9Q_9*q6TtFQXF9Xhv#iDaTj z&Ze`-#DlH=v(G+5-~RTu>B!Q~>VM~*cNLzD&m52(Wt@9H&gy^T{P*a=8=mc4>n2MZ zj$ga^8gb#S)rJW^xxyU$_ux5@-H!Hn>ZvE`UX-TG-+1Hou$4H@1$Ov|;ImyHHrodu zyiZ4#Z|aK|+fh`vZ{Hp;2-u+G1ukSZb<3D;S=qB+lgqZyC1wve^Fjd7Z94|NRpbn5 zQ%ptS;y1yLtqmK;M;r=TZ8e90%w5V zac>*?OJ$iQkl4Id_W3a-Jd*VEl!I+gf8oo?+5N4}1Jv43Uy5!$x0!5AB}NoaCz#&% zakZf&A4uS~gw8@+KqS?T&D12}5?q(CVg4PWL(;sk$l!5OzGs0k!vCLPk<80!G#Y_6 ziEHM=jzldDR}1D}mr0cM#I||TfpAPZi0N?#5q}ouW4Gypu86Y#LiM|inPN%=J~LD1 z9(U(l9-s}w3i1FnXlv#FkGg#2wYk80C46xP(yLp&I#Qif>AnVwsa&sgBRKG4p;ilr zYd8s0m>*Zr;TpysrU{j~#{!Y@^SX~rcl}DDODVXZq7O^KHA+NFMog40a)8JF&zQ^S zrd5Wt?0}k+KuMFux;3zfIILxL&$Q2qXpxZYQ=OV|e}P0Fs9u9km+-CnlC{veo8o~i z%COpZ^b97%%DR4H8cH}zjIV2x1Y#PG0GFH@m5Dqs$C3ruWLVkPp+p9*>X~04M!5(L zTHp*ihgBF?1w*_F~u!wlOhkI2;;jz(q7ye15A5Xn+Sryd6S;4Qat*I%N@Rh}qZ zj1EDB-`Nc=%b?d;$biMW>0>hh5%mK?ZD9h0g5x>QL=_og1Li`}KFM#JC(vX}Q=%W^ z=XTtHuAv75DbuxBeGRfFTBQu2oFu`DFk+iQyV{1#D7>TC7>~*JM*zieR&gQ$tIEmI z9~jdzLKnaMyuJiV6|l{f7}_%*I8PS;QxL5Hpsn93n`<{zd(>c`D{Gq z{eBNZAN_(TD=ibS{oTBIv(w8jfA!0rxn}g$&+^splvG5RuFXk*^2w*@i6@@8=SQHt za1JD7r@ZKmMZo~mkwHWY1i4aTMsr8yDLQSEVFQG_BPek_1xCk!A+ruEAaneRX5URU zIm1r}!XP6~bl&G=UJHXv^S%a%oZD+YKKEJ1zqK;(@0oi%q`Y%kpAB28R7*r5#$OT?~?& zow%w0&|q)D-nL17ni=B1Bty=9#Jj>dqEO@0*L9KZ?a zPDkooBJd!`6|;|1PLsQa+2m&ILk2j-MzZn2w-Xq zkQwGCFcq`$I9#*tAF;X`YX5eVj%EoF@X?U(_&X5n z^@r;{TUg@b@f4f(FB}_zQ;|99fN>EjxH0|@*l8*I?7N@Ujhj`jYoQIny1+c^u^v}R z7C-I-^97MnTCvRpLrMU-9;n6%YgrO<;aQv;mxZdawDJ`Qmpt%lFejREr(?dBojXb~ zx@p3t50mwhdreI2!$`*0(ne$gVN|XG3`m4J9t++ZH$OLFi&xl#$rDa&0VM3)Eh#QJ zq_V!hS5Sds-Cbl6j0KC1h`z)clDRV&QkQh?B6AjaJ2V(S<#6mH(F!MXy9Im4H+ zpsLJqj~FB8H(yt~?lOdfbc~FEL6KQQNx?<{1a$@RT9iyE2Fo&L0G}0}%B3q;VkYhu9t8_N8SM zZtYG}dfl+!G_!<2i8Oh40(^3zM@cZtrgJ_UXDv9|9MR@beO9i&G$*#jTg~PCw&EaZ0bZ zv|ig|`29teY8UO%tGUU&jec)3sRb{OF5}Gq7ka?E$-?&jfw#_bqa8^UK@VG!tk>IF z(hvXX!}R!9pXfo-dnNB~p5?~dZ?`9I!ur5KIMO(hRAfQF(ffGv9tCzgj$arV?G49G zF1IY>xAf_u0rq%W=s*02|3H8Gr+-RMeD$mMRDW1$>;BqnKOE7 zey8c0dtk5J-9|Xtc9M<`yI6|v2No<1KTrGCdSN;S{e@{8{LdF)OfTR&P_?lJXnG(K z{5up+N$(lZt=YjZM;z~B886oxpz#P2lld-YTMM{7q6swS_ozH|pMkpl&ENx=o;{tK zKX%;HJsqMB_8k&@vz`)&dwYgf^CSA@;Wrq-MvV-<(73pbm)0eJE$k7_;1K2-nXeZF zOerK`9=(Sz(C=bMs)2DW!HnFKk6PZY=z1csj^G}0jP)WonWe{VW5=ZY>29|Ns*T2} zrTdCFC(1qo6&uz4I_q8XT8IC?n3E;;!3`zzBzMJno&OtOG98>buN!5pRCI_6PXewt@qL7dF`d*0=_=s%y&W#c1T~ z-L8GE^g~W%gn$!)M!?ELh!W3}bEerAlcjmlCj?OenhGK~5$n{R02ygPV4k(4ITo0? zjFD)Lqn;C3S$LQ9L{%_Lx#q*}F-IXZR{}}M0h0;@Y(w(l1QI`}TFOUURHmXr>hMD{ zDLTYyQ6+X+lltlC;>GHOU}J4BWhn??_2BW;3xV-nu4}&ocN_xIp~HE_Jcj&ZP|1TK zo$rvJ;4|b7yJGaty~O(DnGTL z?+f4met((cy)G?i@zp23+W$Vur3GNxOCKBlZuDbk0*@=1JO^uO$b{|4?4^)d00~*H zPZq0%PM}83(DG|w+!{Tdq)NBzD{i{%H~_qGR6Lu^&)Pf&u0Vx2Y?6U9p!9d(HET=> z8-pp^f7qt>cg>}B+mF9#A?3Rng2^p|R(}5TpZ5)=d-bGA3zA~CZQICt>&;vA-uv&- z?|%2Ye$D8my*T!fN4`W4J#_E&QG@G8{TyfIt%)Q}Zj;{^v!BeSJzxCMi$6LC&hLGY z_mlqg&`UpRxCNgC3Zo59p$oSgH^v5)qW9LVH$Ooe=3L|$Y#7tb{w_x(9_r6BCTuuS zLwm*EAli3oWEfrcncsAbs8!%}?N0e3;wJpG&_<`zUCOc#S#YD*UqU#3(#b7<0w0FD zkT>0`8kB4+?#W{QLzlYcHop$xeX_;1=1bATy&n&=Lql{ZI0uz#v=w{WtfjL zsF4X5GW<@={iRq_q$^fDFoB-m2-xzfQ*vi+*?p|5|3?2mcT_sTP8T>xw^bG}U64^Quk}P0 z-xqyQU5ACRFnkHX*ZF^o@6h9Fl;}IYbGj@UpJD;%I?0M~Bz(tv;VQ`j&85p^1r%i1 z?@Fk=Q&$B|@@(v$Bw!2E>IJShOMQ|BY*0ZNF|A>}kBf+(iI`3N>=bieiAW|!=5!p0 z)cz4CRj+2_KyPd|(TWYvKqgHe*aG#p#-lvtACk^m!eWy*l^(LUE3Y|74p z+O>ZQKo<&{fjy88Y9M~hJB)t9<z0c7479Y86G7|aG5VHa_i<$xf6~i~=K#>V|MqV^E75|_ z6{nF&hKf}Aoroq~d_cj?2ERsCM$PTG)UULZGC4TylR8-`vdniV^R%_5f7brhx*9=ZF>x@lAE{Jmw(wm|g9QJS84 z^s!H#?0WU(SLoe$-wnM{kOKM%)=8Wr{EY-2Z0mH;?%q9E+8b)vqKz+Ud5Kpl6 zMH@q6a|cg_5Q)Bx7V7b+qi+ok3&KVT_7s1R2z*;cvxlW>EDq-+N5gNtBT z5esC?l0gN>7H0;>Qw>5InsKeiFMtngz-?7jL*_|29wkj$;US)Jkbsx<_f&9!DdCU= z+U>^w*l`l{LknC=##x0k;gu*3iAMy1FvyFUze^pLsm5onF4}*B4ada!kIS10EJtKw z4w@&42v`--iBA*SgBb+?&HYY{NSTvx!Gk@4KnomG-9-_AO`r|aEF9`MRtIre=Ym0P z5D>MlPqpHRh^FH}eBHFaf;ZN>(1ZTVGwmZyPHz{5I*G_gm)&6TTnel~L%{`3gAK*; z!hnO^761{7^LSt$rB+tFBECGeOoF}Koo7TItR{}ovjFY*ULzPLF34@UB;=^~>jBL1 zhsT$2nOh$PE+VNqn~1{35Wv=2qJ8u^GVYGD&&%aE3DuVb8thOF(3b1^<^j+y10CTS z_#DtEp-jh&_@c6|h5lVE>Fy{VwGe@#F@on!SO%s|a$9E?jx$GrS6L}Wx`YM(w7J+! z#^0?s|CwI+!T0I2ay{j_?|dhM&w9=1#=b*-LL?a|Eui5)nvHfXm}-wDKlj{o@p8t` zikEiu#?9Am_KYeM>8*^H@bqt9S5SEPHCcYY_Tv06l(!56p6!bBBQa|b&vDd?X==PH zB(Ja7i;im9%Wk&EmhFg{Ba47ya-4(EuD?M%>d)fv?0r(K!%%<&q0?y~31 z8!eO6j&As@j3-uJeCb7%8)_@y#t7gUHy1>Ihru+;%P;?3KN91!GRiZ5^$ggC7Tf}x zsuk0LK+=6Zv{q~Ln>XH|PfDqxB3(p}1NbkB(o7LMaSwVyT_FWQQb)^WkS31LLrvw`4qdtURD`n4GcACETRHxi`;XCv?!fhb2}@mplH+7qjh zk|m245X9E?62=Xjwf}FM5!HvoVsiu|0cZk)&s;{r&1{&N^SUB~xloO9Kof_JZlVcjQCl+^Nk%Hv88_J6YA?)Y8tAP6G+_w*Y@sgMoIRz(kmYatxK69#Rko z;o#hj&qpfp6_{jk4Z1}<))%kAr#W2ry#EVQxGZe(}#o~l^9n=%I(U`{Thsoj3u)ETj34wDWk{*a02W_Uo}W> zZGmWGiCz3oqpbO#2{$CT;usq+Vik!S1;c18=J<|Z6dE#W&A5|zxq)AjI4}7Eqwq=6 zlGbHTGvT}+@B6xJxHA~-GYjaklHvivoASz%^sY6m-8Yz$;Zj8Y~!Swmz*tqz|gBE{P8W;pECX+_PZ_ zU=I9>HxLN0vn>*d;?g+E_(#XKz?-g%pI_&4RMe?E>FGqL9u$A=9JG7xxz94TK5A)! z;a~phSN*%u4$20nE2X<}E+NBxCUngGkM+75813BUHr8h)N(;#U_@y5Y4q=(p=iLO9 z$8zPomLp1-HB}q>4XW8QQy*~Of)lbbn4zzuj=G>U+yd4e+{;x4`L&cBsEq)K-%hZs zw}2N}+^%am+Hs6==#;XeU)NyPm*&CR`&^0s?(hDu{-U+d3eh*d{`K)_{@hz9L5CG)TIi}VISY{Pso}d&&mX$r3-w0k zvcZLmHiFarazjoU~H zik<~lR)S5fg;Rm~!3dw#_9u*^r_r_=sO{>;;I}%KBW96c6k5H!Fa=HZw{XZP3Gf4F zAc}~?MP{g*J_iu~nUA_8pMUkieMW#HA*$x8;vVP1As@NI!tiMX3IkMoZ&ge_)_MU< zMqI6zVs2Ej^-Bjl+n%W(Z;}R`%OsP8=J=n&%LQpk57=Te(Ix+2b!)0$nB53YpacKz z5)9RK94kE#ub~mQAVxvB{M*G%?3Yqm_U_S}dvy%KP)lgE`nCagiw` zGYv5As;e|sNNT;rG!rEf7?-gt{4oF1UGC6cWf`mp7Zy7yH!jdK2n>|lX+2apR5>Cc zpuM>dGuD)SJz`Dl-ngQoZemCi>h8KL3>@^EptI$gaUn^PXHqEBA%vC)P+#a1gOIL> zxbzO|=2^O0j{z8g>x3jJqn)2IEdpm|Sx{G(5P_!%lUMm;Vjj&1Uqgi6jQ|Fon%N_8 z1K&lQg!P>!|K0D>XXV3{=g$HBn?Juvp8c2w-S|klRjIAY z*F?|tnh7}WFWGzX#h2)_GLAiIL8P~Dk3ff?buNbAP|%KD4*m%lWotroWUzLq^&GV7 zgsP8slvpSe5K7L=6- zSvEJ59Eod263P05QCGU2!OaQPL;C$Y@U+IKwX~NqzJ1=%lM`5~XrqhTTe|jX$=%H5 zWc#(A-g)<3dgibGiayPy9li0=OD|D9=iTVB9yyid1KNP38M5d5?In+&j3UXVBPLos zm4Me!_mDvDq!75cS$3?XDi;GINma$$cw&mWF3k8nPOn*zc{Rqqez5w-$;=_&H?zdu zHc!4*`Zna_34<0y8pz8!Ou(1u`bO!RT(2FgcSCov2O81l@p(xc5i@?9|IbCng`V&% zXShxoC8I0ow%We^p5GrnNzl6aRFa)UA+oG&+swrN7k3AQ;U$NAm^spRt*VkshHM&l<--0*uxE6Uu&t;@j9C zF(z<5k*dLB^2-n?fy+6Tl{>KZh`!NYS4&(J;;?SFa8@i+yI*Zu#S$2`xZn6V=sdn3j(cuYF)1VuS#046;a21uJ}Xzf-(rD zNNESL3_O#B#G_FGcE*+H=jegrWrwa@Rq;;7@aWJUgSYlM3qrC&q2MPw`U5FUCY(?f zm=o^V=RNuvxa&9)A_PpBVhw#7;^gFTQOwEoB%akwLYZ!)0_kWYR~otwd2mz-j57cV zS$$)#*ROLJMRj)>*LScQmvv!Z^GefR4^&nEG-pZiCuKaVvn;^3lB@s5}ju*AJ$vjZWKRSiEDieDs38gv}((ztCT`u;~pmIbCTUfhUrnK2%lKBc;%a=&d7{@@2cpig6IPoy;33R>0T{K$k)ZD1hU zs}|fgwAvF!pOlhiGRj=Ey<}R|;)x6E@xcEuVNjodF*%TRV92i{3+uQMc(<{M zvg5#D^R$2MxQAnkJ;gFUX<;9<@$>oBt?sGd8}+W+6RjPGZ+6lk(uMa*=^8dB(?6l4p zoGt`R^{EN>?J36fxf=iQ-2F_7y1u6|Z%#N6GtnJa$%Gg3Cp(ZLgdn7j_P-&rPE_G` zTSeh#{R^N~=n4@A%R`k(^1$7uu%lCcz_>P}b4C+Fu^`v}BbTspS$fi}B{jn0QVgO!>w&RTREj7wD&BCMoA{qJC7cQ*q zO+xZ_S>1!lB!b~QzQIbAl+x~S!8N5qFl9o%?GmKLgYU?tAq`6Z06UlKKqU15`5~|* zh)`te(bsNOui!%P+QiJV%V3$n2p&1HDFr^T7p_Vam6-_#u3&(RDcCp6*FHIC#3W&= zznz-UU+ z#s3MquSQZ3i6l5tpo#+N2B&v7>ew7u7b~2RF}4L@*w1nuhGw5do5(8i$0#}GstOw9M;xR8=maEVi!Tk9f!QZWOJuI;&%TOp&a6 z13HCmzGgDs;2wM;^wwLq==tYAeaA1g0O<>7+1a0#SosVDGJLh1ZgPfB?%DiiU(pDh zzI@&wY%=Q8RP05(@4WMF{~eF|N64iI=@Qx{ea4OP(Q$ij(~gb#B%H6!DFCw)U_Afg zI0~;B^5YmZ=TP!PV8I_wK|U@=D_nq$!25`x^^sd+qkp%h1zD+D>XPb=p!MlM{WR$A z1ipj&l|?bywTAa`{6z8h%-l~tuGQH3bodd zVNN+@9+796ve6`Ge^B)cA$c;z(V6<&@P$turwxC-9JCWU%>()=7Lu%s7@l*25}VCI zI5$fEHuw(Cbvnq{HQkjglM%!cXl} z{yUUsQd`#ah+J;Uf6R94jdmp>vd}`sAuw;<~~Zjt9+tq+yW>= zohkko)s~$kp-_3EHVV9kj5rk~m=XNI* zcP^b=qmIe%D&TsZsYtoGN)mOopL%U(xMAPGV>eb0hguO31H%@FOTUEBGYCKkP7{$8 zQ!QXH`iG|0jUU_~`F8aw%z3x1md)cwBR7TnMSNN z{kRCIlbG7?&t{~{Lm^NCfJ^P)juv4##qx(G7y?}c`t#wVKON8?p*EE3kH9EVoRyX5 zoxZEU!?FGBMUh-rjVc492BQ;R1haetCzHrR*;K|^Q1SRYohSu>y(8YqZ08a5MS4pt zJ!a&)$5ihz&=JRFsAD)YD&Y;XD%A+H7o3gxZJPacqV2}WLV4?-|G6J&@L3Rgzck$Z z#ee!w^yaNwE-e@=ObO4fQY$XKQA^JeU#bKbgkL#Zu7$fT>GSb6nE% z-+8VFpM8^+&~6gfbLKiBPS+c^q%T_@25LLj+QVb5J;`s5!`PewI;6z+GG8L8cjJ zlRdrVjRE_YkDZcxSDq|HmT4}&7TqTDjO>%cJ9O1aX=77fH2(qo6{1)lW!8=J#*6W= z`7=ldV$~%4%HhYlWvpUVacVjX+WV6QZ1vbNkbm3i@~rIomn$FnpSdKq$opp!n5z+BI~z7xVx5lK(I6gJ%C<{7LEYhsHqAxB%PM;BeR( zfwL5_M7Yq$gJFxoCINsazYFUxwej(Hn{;im~&LFy16>#B`BA3rmXQ{6I(^yD1SvpMlO{J zKATJFpRsKgr!g-9JOCr4_AobK1abwTk0zWX!(G4E!YgrC=LSMkWZCzOVcc2cse61Y z>cp5_!!t3V)wtJ_@esI`m1f`pk{?wCC(#@Mcr_V|*zxvg$ z=xcxR7yS`-5B8h#7N9F4r>krx8=gZ-q3jy;20F#*19VRr>-pzDT|wyfXnPClpz3YK zf`Tr4oVD2)%hxM{AePM*yv=l65!4yQ5zd97zD#P>?%RcuWMz1(iIO4crHWu&`k z7uIv$pqxw2c8#Yb#O=*|7WZ`)lRrds5k^cZYoK%)D#r$EgTJ}(`*;c@|E7q!aAX$a znoNQH6WD)dmmO|J7@Q{}^vQT$3sxC4>>C+JjfwFhE6Ct4SHDOHFdg4E^-n2yNpYSp zMc3&aLHOyUu0dgwm)b*6u>H=KGkVwJ|AuU_JL0{H2a88AHR}0T7{7ob)&FM-|BeGb z4{tLS|KF5EBuzQqnNvQB=S>&A?!7Gi|5z*c|52{=b6of95UYq6IjtV_yXMa{+%V9gev#qHKDR5jwlFTr zh6%=?6!Ysi^)LBvlC5FS(F(WdU!+(Hd=gF=$A$h8{8gC^>im7N1OYcCIg=+)8zD>y z_}q369{Ajr2r~&47v@hRe1VCq0#&jA;1W>NoHd_=(R6D-}tOj><$K zbRAZo6Q>vGxwy;{CC;U$yi|#~2|z;{jEh;BP@yo1tY65fNaMKk$k3m`mXrbl#hLVk zD9+uBY5|MHeX_^>$4z?^a8eou9;~}?mRZ)@IQoOg0zHWytUtz`+pJ{WP*f!xWL)Uc z@Ca*wk1YlJ0skxBf@Rkac3d{D@gY;CJgyyR-}>FNr+BdOW;jwrBQ2b8o=OM3#+{RA ze>xl>9$Ysu7d;c%5oEYkK%0^I@BiPw_s6q;@PijVF>jy$I7`DpJM!YM{^}We|GoG9 zx+oKfGMFqV8?$Wi+Nubl6W{`naHBv#1`W|GJqZ2B9^`0i@Z34b@pmu33>zj{=P(Fq zmt8$$MJu>q%KRTXi|ELg<1xtZaBjyRI=i;6+Dfls-ElpfWFZtdo?UH@^kfuVU$HDO zUdiF*u;OQB(m`-xumN?5jn6xFrc8DlmpP1U7?_TRqGwyvp~ZAjUDtRrjnt-rdzyIQ zfdpvNzPBLs55E6>`eQ9^Q}r7y_Uy;aB(`C#L_kSD-ByB^2=$6_A2$;%u)oN`lg$tObq-#GemtnT!Lr;aWn;oTEA_qkKHB_+sv0Vy_H@^p8z-# zB=-1bGtB|%=wq27&I|ru+_NWzjwoznxo@!pr^#b7`6Ub4e7&V-eyhy0bCLB9*-IM3 zh9lRfmqG?MaLNWfTPMI)9#Gqlk;MVj0sTb6#;m zqDO6IA5EBMe5suiK6Ey{T>f&U{(wOtiTRRoN9Z}bXU*a~xUSD{!q-CZfP% zw72n`Pi5{4lZ=S6J`VrTg5m<>t2_{yUo2?-ruYRJvHF_Z6V6_T$+2g#1zaeep$8ER zYiB|oU`Y4_yQ;$O0e_CnbU-4&GVWOxyj7zr79?gLS9Dh4a&jRO(C2YIP*H_kPN>L`qwLn=3rn))WJZeah|8psL@A!r)p6D?I-xcN@Z#lVB#u z?6rIOK4C!8{|Tj$m>%c?A5#&(Mw#cB+({#vDQL;}oU@?u>@C9q-WM>!gw~JP5DG9V z3X^j`2@Wab2%sbw;oor%)J788C`dyVeIYE~lfb8BawH%@sEYzV(G0^;5-_)*mqp=t z3^psoe82xmWICtElNNB;HLi6Et&0;CK`_Yg6g;S51h2d2?Yu_-vfd*pB1qkH??;eB~VM`-}hd7ax1p(Z^X@*45X}IC%BtSNxjc zb36!v0z=9t-PNPBbIHPeEPu`x^DN%RLFcvlaStN>alZJfWiPg)VcL-aea5U=OQ&W` zjQR7*7#X#v{#Lc@hFK^g)&Y0$^Z zuf9ru@fTnFqdR`-jo07kI;;hu$5O(^)n>dOn|ZPfqzPemtGF=~bYN+J)n>5GqAs8R z$X-ksa``p7bGk!@69Ihg726=n@&W>-uuhu>zM5Tg`|aEG%>VK6zCd#X<7n4f$HGPb zXDP#eCE31U>>4kxWGY^(_i&TVHU$nVXzSAa-K!aILBpeUZr>ms0D;>c8PRINl?}@L zyXs>x2a3!sv%d8#XgY2aTNM5-+u3sYPJ}Yb&Y=%`K(YfzloMA}Mh(5Njecq1F5G0) zb>d+er!q8b6elFb*GcLX@`u&8^&=t(=$;sO1_R5KVHp#p#9cmqzMk;l?GV3Ufy*kb zgdAtn9fma`0-X@^a!;A_F&?r550wBga+a_8lK-nu4K(feM_EMf|NGi8z_Z{}tCL1o zSSM^tS~mB;Mcd4)LuIn%kJ6TeU!#l&S`~~tT$&&D6Z0sm2C{ZVV?isWpdFg{Guvkg zX%h@G!#({jp9tpEE;9Vr0L!97_%0N*Do)YSe;OC(J{YIIk8WxoLOf_Q#n@m>sc@@3 zv78*20n)@c!Mh@w^!NxyTBIzh_eqojvT1Q~T!}Fa29q)(sk;g;p_E>bplta^XZM0cs*3W)MbTj5<7&gs=%!fuVgY zt;F`I5=wX;Vv9wRqA;}~i7$e@yHB<`5>Fv<358NLsgWVqpaveCS{f$eIuIq-{=DI zWcASr!VC;=t2D<81@DG``*AvjM5uJ8v!eQoDI6@lm_!0YaEQq>?k(%UR#Slg%n@@1 z-0I$l{cOzob1{}cLw*?sUTbM4bAQ{jz8I!mf44ol{Pl0pbI*VGQ*}0U%d%<#gQvgo z^ax(4OiFz2%fbtXOKDxQLO^HcRMy4rSI#m=GuD_?1%>l|=gv8Zblx!d^FRMehxd=A zwBtpd{My&()~#E5rcTgXXaK32g1RewSsRyogqm9pjIXUY`l_@xyY*49{DK>=j zpV!y)HP*gwy>;sxQ2Yk)+8=g#<&{@@fV9c-kfAC!U3QMT_&t8((Jg`ds3+x93!{u7 zvW&u4&YPHj{^x)GN1;bsV83ORH(H56s9QHwgU^+A@xE=+25t>^d&5eD=m0 zuYYWtt?a&E5K9hNmNEsCv=7tYEQN~H4n@&bXmJXL5-staaDAw75<r;tZkD5*bZVvcHYO zY`oe3XUOLCJY#ZwZ@dHk60RKDXdWmf42TC#%{K*#(SLl-ddqDhehWix!2`Sl$ot!7SVBZ;8u^3|3eYVD8d> zqRd5o214P2s~x`};{)p0xzUK2>g%AawXeYcB*^pQ`+iu?i4VRf{ea_g%pvirF)xCF3ud1cpCBBT zgtVe%7*`g!Lc_?9kl;e(=^9abi!4`l!LWp;T(;=V1&pc%j^L+fzZTLA#ffvl5n(R& zDe#yK)agb+XrG}Vp`Iz=G35pBE%@N|Gi#0cmMk3oHwVj+WI$MVJS2$2v9Njbyt6sR zhn+JNj#yD*AX9roaYcB#8UxK9Q=Be(*Qq9gq7Us5?G+68vU_ z5R4O<$-#E{tZtCkz@!5n$hxv~6$$B{gI+BI6oL_=iXm8NF$ljQ-h_@U?Fj?gS=+sg!6}$f+RgPrWn5Iu*HOgRW0LbiC|Fe|!lTe~ z9Ij9B(i15co*4*6C2RfGE{d$IGXt^H}6p0R({%`g1m1-jRz)6+K25cYMJ z{L~rBYb;#&u3rY)C2Y*-bn-RU8)lh)2Q1qzZm*?)Z{hL;u7_P}_X&KX?5|vB zVYI!x!nbQ%*6 z-zPi`rASWKj7Gz!$-@VoQuwRMPE%W2?5GIoiDII@V>TZ!NsOEid>tsua`em4pRE7d zJ)xCk$5JLm=rM!;q&~l>$+-%FvibkOi(!6-07XA^bZ>}^1U;)85<{ypm$7XfVLcf( z35XJYyN6Ts8mZhuGYUs=Yy`0p!yb7$$o z;73h%I2D{5fBC?aiG^_lhW>Eg>~!19hO3pU&lj~nJ8E}PB_NbCZk|IBJ$7vjTxh(| zXbe`?jG(^5K}GIM;{T~nyIx_a->Je3efTFEf$zXJzHi<=8k??zz%XaZQ3*yII^FuWGQLt!6RzU<$Ps_A$CQGFT|K!j;ArFX zl=1=r6y#%0tS{I=0mTVQR9$17Fa!pT4CNekd~8Y+j`2AJF^=h^iX}sIr3U`Gw@qaAL>G7{T-UAo^{@#22r@ z<_n>a-WHU$Iz+K9%P}|}UAEt>am|y;wU^ETq(9Vb=oa93{2WC8)h~ZZtPf1x*lqwW z2fuk{92gxZ+^Ejj&$7&W62Ch{lF(75b$vR`{o|wNmmaHLwOc*mksNC#Ix+|?r%80@ zPrME^EeD^M?EJGc1|AuLg(v5$_L~Ekdp7yC7Y-Wb&GbPSA{LAeejrpGY12l)=EdyO zc45;7Z3C;xkGKB7vZ31s=~w>apZ6EWW|#ER3p3Rk65JdFs7yptFYF$vD6_G70({p z=FNE|nlTkkN7g!YV8)Jd4+f?gg7HobtC&LSsyyuoePM_f(dH;BK}PFa%9wtSIlXtw zKBd&Hp=GP%G(kN1|88$#fLq8hJ3Y~P$^Qpn(s~R5p#FcvF0c;U*f+!!ziKZXoON`A7 zu_-3p#Bko9;(s*5Ql~lyBtS^@IPUwB6#-l68|5)ax#d%|`wxztUfLm+$9?-fQc{Gh^77-_*<1LhgeOrXHH zz^?*uv|;ZkR-20e4hlfl=wFq5aSeQYf~ln-bB1M1GlW9E57~?aI96N=8rYoID;X0Q z^fwmeyyJ^FZ?D@ImyA*m~WP1%>R$5e6M}{(WOSw9@-O-5G)C=boppJpOnO+WsMzmMzy_ z!qpy)e*Qb(IXkoCMOB+-tpy+B_Er>>mTu!WFJnoht&(t*kN`FVoVI zv_mt!_YzNJtUz=5K;nFaBBgKQnA3OyTcpX4maY4>ul+&Dk0v|XaU1=Ki4WfI^Xyr* z1bSMF+df%=W;Y{|?zj>EBP~Uue78Y5X~O?^{;Rxg(|pN=Py8tuM$-XLjDX5D=4UfCfl z9+vKkq2K8cSTEXNk*zD+D9(M>H5G}hV2xe$F*(b9 zCfpnXp2G31GO#U5HiuuNa&eLnslRfaOC7wo;uuy~m;OJoX9jZ_+;QY;qpdn`hpED`#`b=>AWsy9X;=}tR zE=hI-SiLL{rud&I@Q=H{G1{;iH#9_=0@T3cpu@Kky zF`VF}3Oni*xw;=?2!?fM_9Tnwh$$){5_knL1Cr{*sBmXR28^3vfI6~jP>W~It1$Abob zm(vK+F(GGT%iOyOYi#FjP7=pYSU`gF+>BDQkO5gEI1W+Gy0Gzs%45N80y9=QSwPcy z69y(Yldav|f{*QNXr`d+(Y-?Cb=kA1*_0s%t6G2o<##i-anobGoJ0t0YjO%vhqLw5 z0_pF(eY*#3zw(vG|6qcgR$4Y!JLCB)|M4sI;*WmRgSBnKBT*a!7ovDr2Y517>=aj5 zY6>F3$(nAZ`~?$o`7^mF9&GB%xoI}=`O9lRdu;?dzVqBCGNZ9&E4IwK7C`#VZ~h-p zHJVLMC!N0dzoX3h0n4RKvE`>+9q|1q#n*o^ehqf60$F>ot=h2}U3>*?e#GLmhxU${ zILQ{t*N?+8xlR|*Z+k&9o5SjR{k;l4V^A!A9#N#2L_=_AJ!{vErnH@2=W^dcW=esq zp=(Zkqw?l!uk|NGK8Z5E$?>nB1CU*IoP*G~M)vZ$Ud#qj#TMoi@);HUa`MOQbI8}t z^(x!But`2=-nQ&We*($YjYrmYn?u{w{UqVH1)f_b{8!GKn6KR&M{o6G1}JZItvC8O zY&`;9Ci%#ofig@G2m!J$?@+7>y?x#^{?2pX=|@i;eMDFrciXP!@s(B3uL*lUZhI|T zw*vgB_OsBw-Mf-qL4$Ny>Emo1wj!*JZMc}-%Q^B(a;PQ%pGGVZBjhx07=?bw_+33! z)Ypw8nCpQo9mj3-Lka|Z2SL%KV9A2#D3?M<&vsF4=Ew0eAQwaGQPwvUJZ!R0jLwN_ zK+j$>7%w?9Uz{t&gWo~LpL8swd+6UX)E&RWcDLgmdFmJaD@rz|k706(=heNm+A;r} zRV@Yf+7B<Y`6Vd zhAHmb*gyvy)*~l+Fo59#${{0GhrwbFGhQnkD>?4-=m{SF2Bid-2g4nPsTT@L7Wht1 zYvb0b5DdZzUHN!S83D$q2!qg)+AKa1qJ(BWMA2Ub#Kx$Cl<@iv&i9H;UjiN!7y{Q2 zZiMsv{d1{e9R&?W*%^$>M6Q~YK*Q9o^z9Nzv7Z*V_KASuMa!67EHDE?I0l{s5lTXD zivj|LnC)W5_(ALw(r8J=(LoVF@ZGAK0uh;oCynLUkG8pz4|=3xUFP8-r!~EU$BmpKolI8 zP{j*V(5;Uxu{q)OjIMchet6OE7>g6`IMIJ?YjS1qp%9>}blzVE*m@UuCcp-AR*hcK zlyH=2%Kr$SYH&dU7MD{S%y+y2QCUwETyeDbQ+PLAuB|)GH(z_ZAItIZ!;jF@Pk)0R zee5xM=)ni+lT>cszI}%A=k&%KZ_w+%`AxrO!Gn{Yqipn+#g(K_LX&|nILb6$GHF3) z3p!vRG8NJOiWI>yOlI)v9%JT?8LcNLnV-G(v#~~xoY&|Z-=N3->@j-qV_Ktk&TG-K z=U;vKRnJ&#(Dp~M6%S)h{om0jv%i<&0I!crQEfsd>c~zI5WtFDiFVcIIezN$ zc$BT!A7+hBpBLDyWKmAWva=-k)mFy`bYrL`^yk8xzf34KN zc-!}sT_vN+*M!$YL}cHeU3UHX{N~^Pll;4X_y4%Q(ex*O@=Zqn?9Z;xpStwK-BIVS zwrBEd)uHbusIv4;HhId26;ivs0HD%sPG18P+BE(Q<>5)o&^0a)Uy05lDyWhVl^RnD#1s#Yds@CSS`bpaeu_08H)loxSz*3_A2d_KGx|R z?2mzuNu2}!DbXM;s__0~+bAF+JC3=X?F|5!^BC%pw=0)bxr=&Op^0aH=Guw(d&q3# zl>Jf)b4X)9Oz3gkKEn{8y=0IDm55 z@Z6{e#b&!P5@Dm(H&74^iW_QCZ9)#Pq#Nni#nVq2m{g*1STA?Lar(RxvqJQevDHH# zVM9gk zL%}DchBRp_h4BShsZM}Cf+HlQL1}k7# zr=RhZ+=Y|d)xY_hzy1~k{<~}3AO6uFT|xBgeZH^j-}=qplwV|dB`RLQ^k04pq+h3O z|LeCPzf7H`oq2uc>2sA$_ad;;?tix`?eX-*I0tfi-*W9Yf1siShJ%xqc2f$IOX`OiH!uSNYq& z{k!}YLim=L18pPP&Ok7D)Auqct1|jqxgHSV$-uJzk~%-pwB6U>tGx6pxA7#;L1A47 z)u<1zS3F$rl5cy!cS+nGFD1QLKaTcXf%TfK10es7m}W7w)6IuOd)o`W+W+D&{(?@i zb{RO)u=?T!`>DTveRCmY*!_Ybeu-G41-#@SA4Tedjl0Av`D{}A7g;~C@|WL|zW?$6 z_aEhd{D1wA@~{8&U(5gSZ~h1QDT=$5&fV3)Bpa>w*1f6{h$2Fzmh-tqd%12{k`9pKm3C~ zkl+5T-;&?`{og;z>x&}iE&TrO@7BZP*tbOCXcLpZ zp#YK(f?hnG?0$1~$&-;zR6bdW|G$cFd-)zI-Rq~p6 z$ylt9(YaURPV>92bvQYx%}Q`*(Lqp9K9g~J18Q?px^*i4%MNS96*w6BKEa25&}RGt zPWDCIJ(rR1;71s)Pyz0De)s=+uQTQb<(+07nbg|?NoeD(qHxFPY)!x?2|!VAxTIli z*C^3A-K#ts?ZIn9Q^&YKIs)dp5oq28inJiJKMgz;Zg0F|&$-}rM~>rlPj;W@KeRNq zn{w~aW1r3)jL`d`#pGxN*ukEcke1HS*!!AT^;1WN;94atDfy{;Lf|C51Nx1p>yDNP z`y{gzU_hc?hb4~dzHvY&1ik4Y1#EPYR&8|j)AxOTIov0l!9m?>wAuD5nGW+b|I$Al z`HMG{w6fw8CY5ue1~hCy!y|+lkS4RuwnuQ%AHS@CVeK#@K*9}v4@j;{pF3f~W=~x) zUxDBs{NW#5iOxU#!#})E;{H@gi`VJqzxkWLxdO&lvgVcK{4f9IzXA<`t0gapc5)qq zW^2^zjDYQY!OcA;uzE79C%9{wZxVuf#6-}xZ?bJf70j#GY3SF3f!WP8^)dw&o71j{Nq=m@0)#(hgmQC{zJ+u z0r+3P+4H~rX2bvbum1Ym=U-mQKh KXA{1??+x(l~?C>9aOP;=}$fe&;ex%%>tfAcs0|K%&M1mMCgbno$q z^*7={nglEA3`x5aGqI7M!G}%1ls=#@`bdD@bORqAatvD)Cwy=Pqfh*ZWx;(OX_)q~ zYfr5gPnVsNx|Z}Fb12(!lCKp!I8Y~7HEHU46W;0pZE3@-=nA{A@mA1wqn;FWB#!>Wr1|0uZMD13d5L#8O$RKg)}D_X+dELjP^D^h#J#65(;r0sH4MhA86 zA3}CZnoGF}Lh+SaCHZyogFH6o!E}1)r_vl$>gtexCTB zvqZhV;Ayim3Vkb5th&aN*rNfyC;YO%H`ZQ5QdUpv5!kwh0&1F+xWfCU2Lq1mv8<%_?2GTohh;e@LC(Ea` z38yEy(Yc{R&i0BNn(hX1lusPn@kaTOIw@ghJ5MKsa}r2?Au;il!R%Wb&=pKPJn81L zZZkCi-m-Mx|~a4Jdtq1w^|*W+*3|KeZ#=5;FR1@HHM z?|1!`5Z?ms-}=ofz($#Powj)e(0~8!^L3i^AO7L*uK+sg^E5`Rzw=?i@T9|_`WS%h zMU&oRA`7ZZeh+;S@&FSPo;$ovV}U;+r=7@YFG0&G@p=mXI<52SU;O58U2F0>HTGJQ z-~4v}Td%eGcK@0ePkX-Jqy0+yza9oG+{E2sJCPtJl!ybm*J+-n|6#-Y^)Nd*Xo*U` zj>UlYS~4GF?O6eLoUF_Dx5K(D)hlb~24DKxS3;-cKI*?x=Ad|Q?{zizBVYTG|3Y9K zvSXX<1pcv>h(FVUw0@PAST#&Oti8g6;1dmw=k@SH9?dT03Lbfd{^fg$-su0{*5NC- zzWTPsdKmJAJwmM4Z)E-JQ}b7(%BEo;jdI*W#9X`F%**T;MWiQHkiKevt<5@R!d`a$ zOAk#ioBsRqyWi~k%U=BEl`vg){#9NlOJBD8RsPF={x8?5=KuVk{_|zm2`@+gAOG>` zaO*4o*r(IAk=fiAC)Nf0unn{e`RRSvFyF@DS>{;A!&di1QrNyo3P*X_;@|)M-;>|^ z?ccgiOTWrxr@z&|c=>mKyH2P6!{7hIWs_gL4ttHZ7#tw^!{A`qp6-1_I7xES5s;C# z*SR$pZ#WN9miLFQVaMu6rVFPv6xT$Xk3pJ{w>ypDR0|L1;p;xX z{dLm+;E`Q^?rHy+uR2+-0rq{dcFk5v?)8_=HsLXaH?P62pX^Wjx|IJB5d(;2RwP7M z6nzx$)zpY>EF)xRI_9$N_!1Yb9$bgM3dV%ZqdJ}+=iG3yIX^PtC__6XsxQFb6aVjf z-{SeHz{3i&?@G4D{%zCkfD8hF<2Bl%9_Ix6xy={y=lgK~Xmb}$Vo2QkvF~K-!qZy*Z!*@_nF=cwj0c<$&< zqcXL@1=lu!jz}O8N&2rkYbYyKJ@~-IaoxzB2cw`?RWJjp02^ZiL$iVb+TBklQ zc0l;uT9L(sv9Lz7ff0!fbaTP7OW0tPcqb)0(OU3Z`)0(k&&dE;C4N(90L{)8o~(>< z)TP1NC>3%J9bYm`xbf*UiL~Uk*MhTM8`xEMS`TeOL@%Q)klAr!Iray@X*XbmB|Y_3 zACd_HRp`#h_LD4=Y>;#A8_YNO6AjU>#bX@|pfy}N&obo>j*`?)8Zr%doHkjxTEGQ1 z{pzw{2b)8i##j+>ESQ|Z&%QB}?xeK%Lz~fw6kCb8Jh>Fj_vBdks-hjQNYh>c(<;-gnjL>f#xN~sOgeA zi#E5CiZaM>)qOQld%FIL{Px5lCVrn?$2|Hopb57XukvsntJVo*Tp3Fxai*TVM(TSc z=DSVFi$;6-KxwvN!RN$;e7`I}>AKPjt}O@uN`0!G6Aob;86Md8gLSz}G8wEJ&eK<5 zyQe*ciEcf+?A4F40cQ?YdSH(n293>=fLQ|VW`E3J~x2ia8rriDuGSvv0v z2fz^=OV?R?@Yj5f94)vue?NA~p_uGSl(g@Ygzv#7IqFgmahja^L+VIQsBk)?^9CQ5 zBC3iN;xdjVb&y+>t8VY9lt02&(f>4p3hnXUuv?wFnz$qS7?1{Kh;Xd zZ%Py=X?EW82CV3N{fM+lvlVuWN0iP##Oqz3SE+9=q1@}`f5rXqb38dO)i?Grp~sJo zfB9gv~LpED0((MuY1_Qs3qUc-mlyCGoL@SzzGLM3GQwR&@lfWKf z8khQ|eLVXe5#8~#A+8qIY0_`|V*D>`_b2$L;-W78Ju{JvgLHd>_N&hof~JKf`5`^Xq>(!#8(p~gEHStjsyB2niT5NECwLq0%r+Qu zGk#ORQ)z2YeTZB*4 zCXp)Sjbvil#3ennO~Z|uX;SaTiT3X({p%Vw33<#m!PbKyp%QKjVQqT%(CEf>rIM6zOUL{VC z0S40PQV8~K?>E>dqK^}LY+w3(#08W3F*_?hpmUFebMI3K$hKhW$7w=_+uH=dX2Za! zborTr6r3~zut}eH0Ud{yPE7`%^?(=Xnx_g)M5rVv;}<(^Lg z(;I7@Wgqvdig#@fL`%tpNKf2vOD@e9i5!E^>Msdz?*|WyROQD6=^JGSd^#<=PIp~` zzA~>%mkkw67zIA{dEO6BNf6z6gYf}tB#zpaZ@e}P zu!mT(xz+(sn$C2f+@X$+B?mN|8(X_6ttv9j#bdcYL||(( z0Xj3p|7P2vtgd4^)d6!1?ziNv?6lm{Kz8hnJ&tkqF8;5)MQ{xW?8ROyqgcDYg?qfGjO*TCpBg~0SU9yr!2SWXUM}yBtqcWU;-W8LZttK8V z&wxx{ENdnME#ABN0na_b+2;PaN;5t&H*7;B_|w@z0!jiqPt^_Zsa;y1{+{DR0R^}_ zd68R%*o@hPli9xJjehmDu3t0_#oFW(aAJjJbr={3^K0!4isg;|?dvwe2D`sA8~GuJ zI&JtNTp7mEoI!&s+ccAr2O@Id&2Esp-x|M{8x!f@R|y}nww62@@K7p$2mZ+6Rk!RZh* zh1H-%AWLOGMBX}zM%yWH3_!TCK9zmBkdErp{NJ26X{8t((%BPWr=ww+kSeCV5V~9``3i!E9){PFy4=UXK$h~gL{%R;20RV zQrnaMPdw3WzOZX|8w1j3ufT+;3hP)>wb_xP>D~;YTy;HuB)+$+ZPLae4%PdsYtJ;u zjegxil5$o;2=AbF#hLiK_*n|_x{MQ%c%m7>>O=Dt6XjRy)klo)rv9LgkPsrho|5HA z&R6Z=WB}S{ufm}~GlE;M0b7H3-?H1qtNP%_CVF%t0r}Vjf8DMJG7FZ#oPE97R?;2` zX;n@L-Eq2T>^)gHbKiq8f$$!QeFW^65H|#Uup$BO z^lj|##C0u;ZSr7{z-VV4yug?p_>Ruc#`X;cG{XXm~zt{5BHW+rnqJ z){=-|CW{jM#28Dy>gh#uw50W-2OvoY=2Y(D|93Ms-T*HWp4t3f zXpznKBHTOwmt&flEJTEQs=xt2=)-guhx$5fIDpUE^eY4h?(wx68_xnJ=)d~CAUdQ`P(UT;pM`Zp25ax+$bfoi><@;5Ux?w=hc4@E!^G50lJU z6wlt_Rq~wjATlJdg%uvqLWOB)doR*X?#xs#xYeaw73fw$omL=P zlYzEieUr_6*IwYRMRf5`H!GPq0B+Jo;fN~%?%b=52I8rSdj&XJJRv!;nUCuRTVMp^ zb62M11J?Cqe96Hu&c7j}&DNj#-yk*AiSIdB|5wv$sBXY1sGp4BhL7<&AN!vB^tPVFE|=2l``o-&hnBDDf9clUoY8mhqhI11_Fu)0b8tWJZMNfn?jD$B z)3)ty^CJ95+B!Mtk8Jj`=x3kP@k#&q1v$Id{~iC{7Ia{}4t|B(&J5krUN%t&3$XL6 z+6?`T@|de#IxR+HC2es%gr@yjVyAuhoANbV!`JWR_y%_Crm*Q7A>Yzr8^AB=ze>tv zxxH!JD?zyHASVI4Tw3}~Y7Ku6{#iwC?N3jzf5|?kVVY8blGjQG!ez5&2BaC^z^fMQ zYd-y}KJBY*@ASXhs)e`Yo-|&?5q7NBIb^~>R;GPayo+0M{Ka!fAV;0Xu>yj7%4|b~~``BS_>X-IFIj9xHL)KwR6^^Hp7LLOB zO2^k!G6L0~^}o8<(4YFCQHy*+$aJe;*M13d)aM|Zm+gLK_xOmiohvBVR(oe9g-}=n z_dvbO|i2W3+ib-(q9NKIMMI`8P(CQ}D;Yr&h(brW}iPr@uHh8glv6OWk`X^hB zPlq5*0=Ne66!=(9SHLjT#x(g2$)}U(bzGv*=75slP%j5jj?XmmzyosH1y=-Bgg4_V z8%CGBsP0d>HDobN&;z$jj6B}goL*mQEDtA~w_h-;x*S<0bydC9NThTT%;$Fe8VT-#3bSIRn#8!E2^7_sh}!a!uE$Kmfu2^IYUpYBRu z&mWRJ{_fI(3QEWUUROWwi;1wi(&_1K_}N--+P;sc-!u2TezN5uzM4$QhzIZn#k51Uo9JsH~Rm>G+-Zvr*T97W1m-!f63bdHyz+3r}2H= zb0|>oz1;Xd{h#IL47+erbZl+c_FgP<@Vy;`4N~Yq?H6K7t2HD%Sy!gSW+oaN%+Npf z5sZGK5=@gZtw)P+uzLrIuWst&X;TwGzVErU-41%lLH@n`%*C#dQ$nQ{Ac@uWG}u?e9Aq zSIil3rSa>vwq?ukha3}UEjTOYD+07LR*FxRI9C|&KKT@r2*#u)JHLe&ErcW2C)UGD z7qYB(e{XPn$YE*l3la+l_MAuyi5tj*!RRuW+Yp8qQG$yeQv56O{ z1mm)AIP5^mh6LL*Y0k@o>8?1a@HWi}Y>H$nI(2$t=6F#MLrXfGdX^Os2pCZsZ??VL z2aT4Y{KSNTxB>kL59tI16Yld_KSUrmQd2tzUq^HQq#Lg>xs3M-)7saA9_^Q>1z0fL zPkh0R8Lexhc?&iWF4Uns`6L@I(>TO=w5@I2*3U=ddHB92I1a!5wK>>^&^pl-G8F6R zv*Jc%uyrbMDn&z%g?*uTJ=tB6e%gZq{BDAZFq(HNFhkYpX@eg120!M4V-}pg`R61C zpXRW(a^1vJF}%37c8s+H<(aavCIry6&fRA28;SUFq_33)k9n+97l{P!rXT9-4@eh0 zBkLe z$KjUdugTo^^6jpF)bIK~+o%o?lPsf+{2A8xeZs-MtG<{1V`o1WC$wjx8FIU?N1KV{Xpn6lfY&$_uKhEF!k3C zxXl)Tw|~gv)29%>$BpIaBpKE(M*sDT`rl7;vP`glxs#W#t#HWxK9<4cj47|W`8D(b zTxMO_Ys=XZPZ*U#?K^B!-%oTu{m%c-yzF+M?=#A#-#>8pasEHC_zpSN&1c8D!b3c& z@B1ZOl{(q{`U`uXdoUHM-*Gpv$DxxCF^B`ry8g%LDErznU#lKjgtC0$X#lC&a%=q~ zRyQ<9Ip87qDwmGw#h2I@gRQ*S`bdT^-9vRupC?-kEHIzXklfAjX4@-3QT_8fsiAwS zavf%G1X9-v)Scm`Bi^i_kl;FS?V-?p@62^$Q9Ik@_4bJf^s4v_;eqh6Es5 z9BRW^q}o)EmiuVc8}l;>YzD8`Ri2y1RGVnuYfl_0UJB$@=>5+9df-EW-8EuR%#jCF z$VfL$3w=JB3?b*m_~X3YDa2HpPzvz7y&gn&{v8~RG^fhW>D7F_0~!(T1R(IKbOe~( zb#43uWygZVAsqJ9vJsE-cLqe;q%bupTnEl|dbIeF=2mPNr#u|++xh3~yH(OJpn^iO zW0OtU=)KOUta4vYeWpa#^vkGwpe{{Wich5k-~NBrdKKIDB(x;md|jLcC!<54k3uh9 z|H@h8Ku8_B5uA-w7~2r70hGhrB>HHKzbC91 zpbmkV?6SodccmndIAcaZ3qFA0lP6ydm|B9kwN5> z63P+g62a`i&2eq;Fb5|HY031Oj<~CnK{A&3r?eQvdZ{ z|G!!k_AQ9clFfGskuR1(|4%+r$6%lYew6JWSUN4!9;aVV=nE~6 zH?lR!EdlWhJF{qIZo6@1?M|1Ly_9gq19`pk~Up7e`8 z>iW_43ftNa{D96sO#cH{#w+UPA(KC`@e}tszi9uzE!`R{;e!c9ccik_rl<>XevIv(pn=C`>;W}HMYI&&JFHZ*GcS}sA-HYWSA z(#h%f%W4KdvN_O{4xAhKQe#p7EpdF^^A9H)jkZRU0R9&wq9vs9Ms7r4uQ1bGrS*9y zJiQwH96h8MXptcn**1Fm2Fjza`~pigqm0(UD9lXaL3i8@h8 zWQX!tJi)7J86|gufD@j)o^Z}NR9L7*GAWOoL_Ra0p#H_iCmT6-2w*zNnH4_-4UgHE zet5A>|DnGq zZ>A?c%7nLc+&E!b(uhubwt38-?gE&G>q85w_zcip&bEgUPs}oKwd=jm&u{-de6wk8 zJBpVv#_2O{I%`B^oTAv1Z_cwOZ(`8L?I@Xfkxl-JuedGQUFkXCWZ6U;-RIdyiu6-G zE2+lw-38T~N!5gw7#Pf@2VFwBQ>1qy0`1I%(+#hfc#)G)rc?F`A7KAax_;8>s0g_Q z=eR*RB_xO%{k|kbw>$Qo@W%GnnobE4nQh!$F_ezzVV%~;(rebC8PvM?8s8$p&=XIi z{rz%HM&r!N}gB-5|_s>~rzZ=}mcEO0fyev`k-@Ncj>S-_!P$_8&e! zB#iPO*@&KOeUvqBc(98wRY;EWfxQg#{6IQqodkK<3_I`ya9OtOLHn>DhY@gWGOU4~ zqW=tEVdcwjW=KzSQaOP+QvcgrGTZ34$w4{W-O0rDKJUs8c_@STk+{6`|J{VFK6R=! z_B+v7BIT9@etfWO>ixq!4j=EOjPznKr&C<9!M$m1L?rDFN9DWOui(>x!({@LZeTeFk&+l0`;1Io%&7oT%WQ3cwX13x89s_3HVt~ zX3yUY=nsX{_ZvJYqxK^FYJcINYyO2hu(;TgzLxC2j|B{cz7Zm)T}9zPNR|J~(OtG) z0f67ft4Mq?@Rb@u(EX|yaMX$&!%hqSE2CN7W!nI1pGjyPcrK*9CtbldwJU9u8}Ky# z?RX~cX?u*|ARMHvgjgFwu z{4HmMjkFd5TmFyq!uep3ye3NewTz21tykc&=u)aF?Q}XI4<&a1s}Lex#48<22j(;9^$Oo{fZE_k2{hOT&+ z?@)SLiISeyk&(zN=aFr^GNuJ!(z}gc4Nr$5yQqlBte=L7aUal=n`UgPBR z&I=jm*i_YkF5nZ(Bp6Yzj1$Atva>3)T=hApq7x4C#>`+n+L7GU^PIs|PE_}#1xbkP zPne-D)JSHV(w}9=y5?8+WKTo|oQKxtvzEcqDW(%wK1FgL)HNN_9@yn) zjro@g$j>PmI?wmD*9;sJz=Qrzr`8C%D~~m}n^y)n$>+Y&YGAj`PmG~X-&cCD)LRqd zFD%>CWlF~U;N;#mmMq!A;h_I_Cmm-wt{GrZ@;eiRu*Z0UFAbf(r3b7w1@61h?fz-# zHtw@-^tfEe{;;Fl%#o5Cd7aApwVz?(gC%;%G&xs-_F9vs|HH( z)w!HuvjFr>p{qLfQnKSJ3@_JJ-usvaK(_s7Uz675xb{;SIyTY$l3zTPqs=80LNBAj zXdTdBTibVi&-`I$FhS1#|Gk|%`v1+LIAw_@czoZ(Oz3wRKH0$4gikdAD0z-AiASyM7r53E0GGT*^`xY`n0;bwa<<|KVH77>{+PTidm2mzRbE z+9TihRh%FrJ!XM-ed8@{k+<9=!ga zmNes3fh1(K2_623!#6RH2&6o7Z{Yj^%vxjx6fx1bn&rb$r#iI&Ct*yI2gyFDPq}~8 zLxfyw8TK0KGo@rtscDz~M7j7?TF|A22CQC4*FfV4!~Oc}!OHZylF|j;RwdV1TTVn| z7tFA~V#kxwjU1XEb5qw<_rEEBY(MzE;Ya=I_MHEN{;*akv$$q69tRokjAvn9cuCWl zzL-awo5qN7YW7iLzsTr<@U#WmaF$&WH(FF4IiXAhNc|xusUckK&S_l;JqgTgy>)L( zJYvC(jC~hW8*i-e)@XpS$xvphbs>cX*J)y39ED2jcxY7^D1wqz0%u_$=#E2QYc#;2 zd)J9eT-zYU>zDEttd+1`_?bWeW+33c7S~#9QBiARfR`rEEihYJlSbn@_$lg}2oyHN zV6|Nkz+naMnhH@fqv9u2MSl7G4~3pJdgpJEfAL>=ju55I4oLCPz<9?!zIU2_;807t z@<$aD@8W>~e5^A?w+rpMczw+i^I6GIA4|$#{p$Y+uv1Q8(WdVa!86sKaGVF z5h`rmplPjma7tlJNI{%V7Da7A{-6dmy`6%RhAXx|t{)*$nUdQNVO5E#(Q0JkG2{kd z+$R$kFx8?N+j1^rJ-vAITz>%uRX*|bxoe%2`P3FSPlK&N&F32gpKV=F)RApvTTMQp z^+EL1Y-?wNt+guLp{+IoVf*fXD|29XV4lM?u)ovVmz|}FNEZ)UH{x+jES~Bme9q3T z1=f9y2Tn?Z3SaH;+8hFj48$n{P>uUQCH#UG9^(3M=qN>{uQ+1C*0;Qrj+jdMx^j2Y zK;(V9-RPU{zf#W0wwZ?^XLoaL$=0}*Va;~~OhIj|f#zb#um%M^*5CNYU_5|s++&_YxybbBc zYf+A2gA0?dXDob(Lag4`(+B7<7U|CIa+@ggBOXs9?68l@LnHvEolqI`g&8sLO^Hk% z8&i?}UDOJ7P5>+D8XJB@3%3{#go3S6_;fu9$;gFw?qZt(?gOW7lA3#AX0T3Qw-9jlAxpd04~ zN1KkK>Eq=}K>uyi|Kf)>{ZG|w0e#vkhlT2b{4KkdQQ`fQEYa zG}#!5`VjC$a*^|gNxY&?yIIr!1^6jX>656BL+6pFHx$-Hi)S&9(#D1LV+t55(8IdA ze&9}()L-2Mx?}VIN-T`6px-DiP}B)-qKuqhB~~o&-xbt18|b$nSb5AcMZmMZ>6WtF zYb}BY0TfouG;L81kXS1zT{!u=V`!i*+h-n*wN`%3B1W`84v948Rn{!I;j@W|E zhfE-E;~E3_goGf$?`F`I$}bR4DQYV9uSFf5U zO;U1^_Q}}nFhT%Q(T~U$L>H@eTRhb-me}3~Yl|nIr#Xy*b%vo0Pwz-<51T+qBA_?+ zPUvgbr^4sy!NBTKNgULFzyajQI*m%rNe|lA_(PfMq8rPYb{zCynH~EW8AWv~I@l|O z%(mX;Gq1TX0NQOc+T@l*;XlR$-~UVxCP0oyJF*&69?CbuS}T4=f2b$B4t;PA#7hqk z4g^^<=+0^p_66wUk#AZ)6o)d(LU9IkinZ%&c$XMN@By1_NYjA_o_Gd9)YLoBe~?Vj zx>{eDM;l&u{)1)6C z4rF&**I~Y{doqK&?ei7?uQ;a&*-Ys;=)zV{izmu<9DKs}=zk8U7|C+(>x92f_##mO z$77I(ru>^&Gb^jk!r{}Z==J(IJjI-vr5K?^60A-((>B>*KA&qmzbZx&=4vBxj9x-T zE#q-KEJVKB?E=33Gsie^f*Nxv*D+t55(}(w?=SfqR|O6=xzhb?eFYiCWWr~1-)0#N z8*I?ev}RV>G&PCj71zO%!&sbBp&dkEbG|dHI#kcXYDVw$Bh|ESqZbzHH1|84Mb7hrlL*6Nb-Ux_74)8&5Duv` zip!w58AJI>Bey2u*+obwf}hsSTTHmx*iaage6t)1QDGRdHO^954R8r;tu%0rgpFI5 zMkUIWkaB4Gg9rwEEoXfuKpodKa>0v)sny;gfwS3o;$IbP>P*xr{9C=0<_TlHSg0E{ z==8SNZy0b(bu@S~;>BW{4kKvo0oT>B=Hs;tK(HoWjVK&rpf zr3tfSZ?Z>h|~K%veDoBP#xNm)hIGrr(JM%+2?y1#s;Yv zsOUsH@clHuN%i)94#OB8|uJxlhTKo+T52N%s-hY@+zf-<#6{aA=bdIiRn` zb)hL(n=O3QyNrAJiVmO3-p5zuJM`b0{vYvKjT}(6MPsjgDB$z&{D1mNZjn(gP2}s^ zvX@Tt%-5Y)RVUw7CO9}R>MEiz+L~w-X+E#5`O!89QiKRQJLqz<45LqZ)jijb9O*tl zP`@(?2=*jYw$uIN{J)HAJ+Eu8Yv_-~2K}m66^*vmY-`e1KNeUgc9m$ihP5PLfU$(g z+4d_~{;HFk~x0h7iE`xon!cXR+}VyVC_K|a3O@IA(Hg|Py7#bDU_ z09irls2@bcIrkN@odoZ%JI|qCNW3;bjVGXUo>%(=WJQJc+eMqpr5)LO&K3|tG3 zGaFvcZbxMd2Sb~#w(0I`9%J6xAd%6b1+S#takz8? z>0k-QdTTg}Fz~ktJLn%cmpOzelcnaN5|A=8NS7%QFqa#bpqq@=ns;Lb{-c? zY(u|6zoW+HKzhP#b83AS@(Vjmb2}RJ1-@I*t{hPIlPdwM(0=h=!ImP7kQv*^zgwrI zTfde_Ogk+YyuOo$eU5kYQQxg`?_XlSsi0YleFGgfvI*u9R^~}ZL=O88z{-UB-TD35{{uO#?v$*a;R*RRejv&C z@77}IW+J>d0zQfC;@9g0kdZbPsuK3FkKJK%!TrgGQ2PHi?a8NhAJ*d+ZwZ)Ndco!g z0|j78X<>koTxS1|52RvT^outz{ z`+wb+cel-zbXFig-wAEJ7T7M*4+I6op13sTpMV{5;M}9eMbsMqB7~^vo|$LyzBa`F zTK%Q<6T)9M8he{G3<`5;@7SIc&WQ4&h-cTd)LMR6674g>(AN<8%?5OPBuzgGE9-(9 z)KMHG0;nFDm-1!JWHmI?W=4(4MsMn|4r54&WoJ-BuH>j81>MH{-&8uk?fsBKuPOW3 zm)A?$8k~Ij8gn!EI3AfTege8%maiZ^754ap_1W>*kpmn=1_Ddjn>8#PQ0P(1;@aVC zzi8=~^aKj~Ox6ysH=(jw8(h+94ZU9oE}Bl9q^~Aj6!7&x=HL+xeYl8MYw zr=7ukPe~it12wt9Pe6yT;3G6ft@AkRTH;}!iMjGlDfhrzQrAa1Zt0%9UfHFs2kk$t zs*dXa;>A<&p=_Utu>KKtzuTERSYxtIWZY9Y8FFs{9Ea#-HP0n8$)h1_A!cyjsyw;%JsAjXhh7h-b5{jH$P6>J$pH|qZu^3{96kUg>UC7ZPQ z`+g7gQvQGSdwqmnu{?ag|39x2%bm!SfbM<0MK+nYJz2fC_u83>?`;+O3~r-&%<0a~ z^E`cr{XH^>Wg30WbFeQmUH83l*J&-=f^r=N6TC=i&aZs$2rlZ4laO(``LLw}+Q8me z!7r+|Q8MpIdHu-E2>M1THIY)6Y1PoIn9Lo*CJ=T>bL9eX{)8+0SZB-||F44R2+aX~ z(U&Ey=BJvIYd+rzn~E}JYsE*+TsEFWpNP${9gK1R(ZAqlpMX=$E`xL@8%F)$QU|Km z66~<{33K#2B52o9eiocX+ttj2*>@-3 zQ^?{feWX>khLafd)A}=Mco_8QbL}|r!dfl_mQ;#RB3djn(yNde&JlX?C4m*aEGj<6EmZCK;sWhPP?LLGoY>WrF;e_4|>unWfpi$ zv=Fr7qf%W;q6oBQKV1-W^B_XKlShbmNVBelvt(~bK8Jm{9Ef_N+IeTLS0?$1C4Xu# z=1sHrsQGK5Z}<$B(PxrdovF#h*X!d4aM4PvX|92e~gjfI>RbKg&jF=o3s~vQ1Yq zms7gV?Vjmy9Xg7<54{ma-3->+@(*V*0EBYXu}MtA7xGMbwabGL-WweVMRn+haFpOD z4e@#DRlzraxq>YP7+P~`kfjV;VW)K1%X~%ua~`-p`38hDC2Z>s5zQV_E2$e^WfNlw zjbNSp657>*S@Wiz3g{WxdH-R{u4-)$c*nn|+lF;oaelY@SJy&hUuzu!hBzg4Vre&~ zIR&6v8CR<-6{PFq$L3Br0&-lmQ{2?C2r!1_` zFaxzm6k21Pr}Qo6*tP9s<9hNr__D6c{zYBBhuQo<7}`A7&9s%YF9gov0^p?vTP)iu z{%Q2!mGg3~qt?D7_%9Iui>0O0njx8lhmT6*ER)aJci80mzpMdhvdXrF7Kmi##dhnI zV^lX^7qK_Sthr|lhBw@B_rp7(;0yd2Brz1?F0jEUgDPpRqOa{_rMGOR zjN~5?sVCBGTtxZ{$?@*>jVC3Nn_L~n~*U4x&GE>VgBks$g zUeMC4DKVN7mQLqGH)ACMYzmaOP4;(|cS%r3O}cf@7855tbbdA5d)q>8wQwY zKc=9QlfuzgC{Q#IVB2s^B5TtmLYw>0lhIzqEXn~E2EJH&(q>9*;Gcv(;Sx~fA?X(k zXnlP=!L|p|oHy2~0!)+Mowg>bvOT1Y3*A<(t*>iR{LmQLiv=}pgO)&|?Y;WBJaA%* zH8&q_H#&-*C)iO*--f4@j5fLjB>250J7q5PfRC=_z-xnP=k>T!45qEEC7Y2JP#+;t zW~^h+7;w@qs?r)PFy))pQi0^gK0=k$^uqi`|4*gwq56nSngy}#I{Rz`{T~n)ww*kG z4AQ}##5LQuYL9D7phTZFScDTj%sEW_3(ykwxtCMj9luY0Htpj!7Mx1pmw5a71D=iq z*-0g1s+)Zzd!1vv-siTB4%uldO9em0jJ!6HwsvW63V9kO;~f)RJhgWJbNGLuzNdSp zktsoWE;a6Zh&t30epeLu9@oIP^dDLewnCN@h7^4C3*u9!A4;PG^GWyrx_;N&YAr?3 zR}Vaj4!8avVkh*Uq36g?)oTxe?J)()P1$`bx{>b}tOvnO!i8bEB>NiFqOG-5n13at z(=G{;t?{KPsJCI>;!oe>1dZ`9F8;dTQZN^p!N0n<=hb>Irx2`xUlY#?tyg0s}xl$@fRYZ#mq7|YyIou~&w!FEct zxxPu;2L@uv*%EF6!-E8P0=YheKUbGznDf*bprEU^Phb5-%D3dg?S@=o-C>CI{YTEQ zj6ctbcbiik6ff+owmM)J2xL`>2<{hYCNt)@$e@F8E5LMWHik*M!sWpoq3HZ1f3*Ry zzA$KIu)j4VaJoiYo9xg5Sc5xDoD=K7dejCPmmnm+EFl_zDaow@21*(V7D{QreyzVp z=MyhHU$Ph>jf$UJvqbQo5HC>bsnEDu9h%1l@{~ zsvFp*0ri}j%nohPv|SaH+LQ!O7T-;G0~;GD^La7ZsMg(xfvWQZAj{c=>eBJT9D?&0 z>P9%o*ldJanj1|lXPhP^-+)1W56GV z#b@eK!cf8$d5xc)k4O1&QDsRGnU=4cEhl~cEbuU16Q9jz^ojb$8Yc(3&gHS|0bW~p zJHS;BizS%M)Uhq_iD3KL`gWTV+aMvE7}q7UnqX`cy-nA^-&v2OM@9(wyq+j3{B6*8 zv<1@WGgv!rt3FOGw6o2L`)9%-xl`bo(^zX{a$|xR*VCQjm!ATA5&Dt``w{B}V5f$s=3squVFnD(&u82|uu>A{J zP8$sN7?T{mB!7jtR2R9o1Kb`VV4YX$d%UgIO_hnNiO5$3E_mJSmm6V6EoZ1@FsdgU zq}SJ{_4;OqI%X(4XaBFiK>yD$S?(0`JQRgm4!W|yE_;IJ4f zhgl~4d4CYH%5s>#NSPD4Ok}shcZI^JOg}0ZIEO^wUVO~|`9#^&yO^C{f1%n2HQ}P` zP-3{mVIf{ty|pP;@*MPk#7lTejww_&0~1J@H5%Gt9cFtlFhu&f_jW62h+2pATSSq^#~S{ z=I92l=(L>4pdZWythwav`ct6N+soQcB!Z&)(=;t%)|epRi0;loB!e$}GKyw0l`3#F zrz;$#g7X38(Znxgs@7qU%Hq_wN6r@bB>uG$sGtV$%6OLXNj#y=EDU<%k=eHSLSvf= zYB1LE5F^`NuH#pKrElc4B@RK(B8bGVnFkI+ful%lNb^(-)T7p;%qjI*x?#vu5vkMI zHE=RfXjkz8h6apMX9+nIa=hzLp*3X)_$w%r3Qvp;anUqElUxO?fcGj-d-{6TT#CP} z9P_75P;k_WfUkGdML@W8P-)!*LJmlM5c=ju2FqxN1h|Jf5bZIRK)Ou}T`oqq)gsEdN>IwQ~$RjH|l1Zrmt6y6O5g8K#$X5>3V-m}tE&5pa zYGQZr)lzR*W`ySGNzEy^?Kt(eK6i)1GE?-h+&I05Pcg7_UtqP1O2IwoZUpa_9){b9 zwv;Vp@k!yZ6zwug!Pi}fh)!7ZQy;tYorA2j83cK3R{YQ(HeN^dMaQ|S<{^)=(8Kklg z0=U-Ya3J7T|94vveJ0(+dXgF6lf_s2*K2XC`Jp7C@V@4JBo#{d!|35#Md%YB=zndu zN2_1+1wKFO=Ie0Kb-EES051X`m^!^miyj{-@M5rW0|z$uj{Ae zSI~2%-}--|SnkUA`TzI&kMov|FTR_h{Vl2L31F-j@(YiKLmOc%&vB|5&1kH(=H9Px zR?zY8Qyvecc`8XA*aluApniaF;HO|WEZ6(B(5CxCnT2IJ69ZX-O`${cHN^1-_#|?x zZ_00Bv%09l-Z@jqiAlu!*70i=d0*4e3)dgow_Bc;P2O8ZbP`rMTM0-DkKj3EE7nMjLrkE5Ce67-Le*FXgk?_A z{`+HJo{CcQ<uP!7r0iYuO zCC`8u?4|k9tI8$;V5iD2O0ETQsp-4zRRBr1L3n_2D}jg8w)SpKz7n(^urS;l2<;Pp z=U@K5ZN35&(Azt+!=g^*oSHM6D>ILwUuxqX0~+2WUE=TrXM(xQze+msCMz(w`V?luHo5AXy z?(mQ`czQA|=B-}1eIN96qWzSdsri3S{dfKPLHfTd@-Djue7% z=99k;nrojRBm>=UpG)-Adv_tS?IEkrnJ+oZAp2)q#{QtsgPqtO&BZqUpzY8c|4-Kc ze_>4TgYk_rbB4Y_z^rq4Uw9dhZKX~E$Nelv30r=V{{Q3`OKvcs-Al;TYdgJucu=9v z^^Jz9)B|sVBzipvnwf~phM(nc1~aTI_p6i-4;*lPu%6}?q0_`M^<}a8dk3^!2l|yj z1K+>B>+1rZCy+sCIQ~y`Q7+5)q#$?jAtL)6MXyAB3{Xq4bTPprB&wvw^v)z z-1IQtL7JO;ml%aWs^Ok^+HSr{9KfMw8_pqevg0yn`jIclW0D!c_2Kk0!jguckRG*! zFJgk`K@f-D&!l{;W?cnVBK2d2;!C>5JRINJtQd`-Hp)ql>Us}!tYLHBF^BqpF)t?D zc4Be1&gJBy2w66SBe^*WnGU`LK5eQQ4xyzJiX_wAXKj`-06LYs1lEQ35V%Z9uJ4(n zx1Hcv+q}WYYL|Uwibu`nZlk9AY0R$qYZ-054$82y#`FZH$eD*hza02-Dt8IjDZu-_ z!1TOscQW&HCM2e@?`hXf9^w=)!)Cc?ZiKEEUN!ENn4bI3<)mBDhWDqj9nKHY&0jtJ zmkpl|_m0+XGbbxPNLczw89lgwo$o$&f8fR5mggmWU{f42btgB!TKdoU?mnsLevn-h zLEl~ph`!g7wjR2zZNM@UYUqCadw4rtud(+!)7$io0bt!?`(#dcf!Oy%o!9mG>#qNH zBlieb#`|u|%a>fea3;ZZVgEnt+KH}?=c)V@`u{qhfij1E7raF$;`7>b*$ zm?Z4gA9a&yi+0@47LIXZx?ses=K5N?<)JyMt?&}TWN4Wj)VS!H-}sj9{{arb%Ho1V z5`*&rHY;}OaGc(2&=CI%rl*>>n5bIYf#+V{HBj`r> zLI#40$JfjSu1=dfeK|DNy9>B%`jcdfko~LaD`C5@4IY*&v_)7-`>N9TapTc>tiZQv z{iZVX%{2j>v2K*@{walvGVQPSM<_g2@&EvkR4PmIwYVFELRh2}H{lq(3_SjNX?PJ$ zFeV7I1%KP$_`If%GHND7E4@=inj$oSdBPV2KFyk0zV5;jt_!#St-jW%1Q8BJ3AqB+ z#VO1%>WaKEa|HoS0eoSyB}QQL*iiW#YVL%%FKrT{?zKULL`(&eb|s$|-)gR~g-_>~xqb%`58qgs z%f<6)yk_k)@X5`%_y$%057rDlS=<#9CbgH_6ml?=Cgt&477G0c0RugJa_&G-S_dQIi~fSk}P+DY{v!h zxl1IxlbKT@VdBk{cqrOM>MOxvWmk}TN}$#JG8R=Cws)3u_Uk&uGBe1Wm3K{Drgev*=?k^&2HF(G`h8YS-ykV8Xurt=gdNecQ78HP z)zyDArE~H*xcw|QpY;}Sod>zcm5`TMpR&iDN70_No8{he*MA(h%gV|Ap5*nNE&o3K z-|v%85y`ETy^hb~X|=~I8P>J5&&mJmhHIy5l9@X?ranJJ z|DVr#M>B(qzPoKGfAdT`*YP>o4xFpxKvTz~JRZAG+vU0v)B$(do83P2SJ0KM0=pmk zdbe4=k_9B>MI=I^+%rb~ssjTTuux83u}#bkuyYLDuK2cSHV1Nn_V|C%(&B&Ti;^Ex zA4^2zv_7R}+-T6MThBgfjT7aj75^syfk-dgd8UZnst2+s#-k5~t~GgnR5Y(KqZvfT z1^K!+T#i0V_;t-a0&*tdYQanuQQe~Gi1_k{|D+B}#oAK>UxL$tVAHYidC(iNhm8;L zsMa^!N^;n2`xbeDdJ36NW4Uc8B&X6Y7<12Z&xAA>Eg7gj6BaFZ{ad#ZrEDK@J%-LXx395d;;-lapsVW=M zISz0!nQcfIH|08)n6*F(xPnlLvMNV|S*2#Ot}QG+-w5VjBQ^mhNTo-(vB}RxXC!OW zA&HP7lyGRifpZIza#2ZepBWS;=BOW`)20k;+9Iu)7+NV58I!=-V(Q{WI%A~U20khG z4X2g5tX)NeH=Ojv_d6R-fm2!$pu#E@^OoaN=4Z5P1#0PJ5l`H(T1z$u-?fr(Ms(?p zQ!7YY$zijhXuQmdR#lJ*;Y}F!A2!`cr#84~Qq6S)cg9Fl=pMOJGSo`Ag&MDGO9*k| zJY_*iQKeWDbO>+!HTdtc=gwG-xvyX;USppiLl?D=*Xt&HbL%!^3V2SXHWwm2aGA!Q zHs{sfF#`t`rUB(bOS}khFoUwJls#EO<|5oyj=Ll|Y=a?gD3t|2o#Dm%m;>dylHeGW-SPIsL+p!d zcjBGM%*#H$Cm;Iy-v!2#ex3BDCk9Tzbf^CW1M4Oj@AMa1@=wDzibyBzo&JmLuqRrU zu9o$VAn-0(a*_j@-QFi#PBQS%L;v58?=l!`K|U&N39n;-)o#ecCf8O)N`?+{=J(Vb z_TKGMbl?2HXw!fDr>XyNjW#*q%kE!muOzkqfO&#%J6cvS6mX0R|NC+JU-a~A*8j7N z{&f1!e64XiJ-^=iKl|lLkC-+Yin;Es#|F3>R*Np$p=Vj;c zhh&xX{9OrtcX@u**U9Em<+u)-5HH00`9zyg`$O!Lb%1xk4f9W{r?CGAJA_gFB1UrW zh&W$!WEX?OQ@meY`&5A#LG#<+uMUpd7XQ~ekIJ`bhB5v}aS1jRc;(_A?pz&{j%_Zkkq%5bF4gi)lWrAiWSy&5`u|(66 zSm&Y!a!YL<#6^MaR?|r2%M6g9{GaZ;SmTXwTlu@T?ntK=-xcN85jC6$5I3JEyLKBQ zj34fy0;Eaj?@nXR*ND~UZfh_)&Tq_v1dDKHuG$Tl&%_*mOcCoxoUsiI0_aU~z*=3K zvy6`D@BDYaZ?NmxEnN3x*f$Y!MEc6bEDeD$GPX+sjG;+o842T8D`L8jJRXfxtU&1M9DOnCt-nhy{(!!CH*aYsGKlm;sgje-tFzFpVMkYCFRDq|Ah7So0 z*idqzAUKIt$i6kBm~^Pn`>?$oxK}(yniBV@a9&ZTcmgPSlGs|i+-xFFue%uGDl5C8 zoC)yNB**0(BAcY6!Rntf&_F-VFl|D$lD~m}0j;t8BM*c*;{YzEWNA z&D%Tg3Vyl%s4sb~R%_g<{><&3xW`^1BDg78xT~b21jJtT2Jf$2n=kE?3q3s-whgg) z?&gFx@mL>pzCb+rtAJB*a~E*d9P8v%y;m-bvC&s|N_5V!*D`|ccqIniZA3cm*syo{ zrvU68hdptC{ih(}9ls{HQ+tQm=g0c5z^;0<6454Q!BPMFW(?}cJ`XUbxljB&m3RE@ zeE8}*PIKJBeb@J0Kg1o|Cz^grI{LVGa3{I`KK+-sJc&N<%1^
H5_7*GK=qhELe@ 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 Date: Tue, 10 Sep 2024 23:07:14 +0200 Subject: [PATCH 008/122] Update store wordings. --- .../android/en-US/full_description.txt | 32 +++++++++++++------ .../android/en-US/short_description.txt | 2 +- fastlane/metadata/android/en-US/title.txt | 2 +- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 7272246de5..b0863151ea 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -1,23 +1,35 @@ -Element X is the future Element. +Element X brings you both sovereign & seamless collaboration built on Matrix. -It is the brand new, and fastest ever, Matrix client. It is for personal and community use, and will support enterprise functionality later this year. +The collaboration capabilities include chat & video calls with the modern set of features such as: + • public & private channels + • room moderation & access conUpdatetrol + • replies, reactions, polls, read receipts, pinned messages, etc. + • simultaneous chat & calls (picture in picture) + • decentralized & federated communication across organizations -A complete new build, Element X transforms performance. It’s not just the fastest Matrix client, it’s also fresher and more reliable. +All this comes in a secure & sovereign fashion without compromising responsiveness or overall usability of the app: + • enterprise-grade single sign-on + • easy & secure login & device verification via QR-code + • end to end encryption & zero trust + • protection against MITM & other cyber attacks -It’s so fast for a number of reasons, but in particular we’ve introduced a completely new syncing service (‘sliding sync’). So even in big end-to-end encrypted chat rooms it operates incredibly quickly. +If you’re a new user, use the new Element X app from the start. Compared to the current Element app you will get: + • greatly enhanced performance, sleek user interface and overall better user experience + • enterprise-grade support for single sign-on (OIDC) + • QR-code based login & device verification + • natively integrated Element Call for video calls + • continuous improvements, bug fixes and new features -It’s fresher because we’ve rebuilt the entire user experience. All the power of Matrix - and the complexity of decentralized end-to-end encryption - is now hidden under a beautiful and intuitive user interface using the very latest frameworks and accessibility features. - -Element X delivers speed, usability and reliability on the decentralized Matrix open standard. +If you’re an existing user, using the current Element app - check out the new Element X and start planning your transition. The current Element app will be phased out and will only get critical security updates. Own your data Matrix-based, Element X lets you self-host your data or choose from any free public server (the default is matrix.org, but there are plenty of others to choose from). However you host, you have ownership; it’s your data. You’re not the product. You’re in control. Interoperate natively -Enjoy the freedom of the Matrix open standard! You have native interoperability with any other Matrix-based app. So just like email, it doesn't matter if your friends are on a different Matrix-based app you can still connect and chat. +Enjoy the freedom of the Matrix open standard! You have native interoperability with any other Matrix-based app. So just like email, it doesn't matter if your friends, partners or customers are on a different Matrix-based app - you can still connect. Encrypt your data -Enjoy your right to private conversations - free from data mining, ads and all the rest of it - and stay secure. Only the people in your conversation can read your messages. And Element X E2EE applies to voice and video calls too. +Enjoy your right to private conversations - free from data mining, ads and all the rest of it - and stay secure. Only the people in your conversation can read your messages. Chat across multiple devices -Stay in touch wherever you are with fully synchronized message history across all your devices, even those running ‘traditional’ Element, and on the web at https://app.element.io \ No newline at end of file +Stay in touch wherever you are with fully synchronized message history across all your devices, even those running Element legacy app, and on the web at https://app.element.io \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt index c474361017..6a18cdc82d 100644 --- a/fastlane/metadata/android/en-US/short_description.txt +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -1 +1 @@ -Fastest ever Matrix client \ No newline at end of file +Sovereign. Seamless. On Matrix \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt index 1e66e9042e..92577b2f3b 100644 --- a/fastlane/metadata/android/en-US/title.txt +++ b/fastlane/metadata/android/en-US/title.txt @@ -1 +1 @@ -Element X - Secure messenger \ No newline at end of file +Element X - Secure Chat & Call \ No newline at end of file From 88b0eff0feac56d97b305764b7f21b8766aca95e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 09:52:25 +0200 Subject: [PATCH 009/122] Introduce value class "DeviceId" --- .../preferences/impl/root/PreferencesRootState.kt | 3 ++- .../impl/root/PreferencesRootStateProvider.kt | 3 ++- .../preferences/impl/root/PreferencesRootView.kt | 3 ++- .../android/libraries/matrix/api/MatrixClient.kt | 3 ++- .../android/libraries/matrix/api/core/DeviceId.kt | 15 +++++++++++++++ .../matrix/api/oidc/AccountManagementAction.kt | 6 ++++-- .../libraries/matrix/impl/RustMatrixClient.kt | 3 ++- .../matrix/impl/oidc/AccountManagementAction.kt | 4 ++-- .../libraries/matrix/test/FakeMatrixClient.kt | 3 ++- .../android/libraries/matrix/test/TestData.kt | 2 ++ 10 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/DeviceId.kt diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt index 981ce879ce..f6db1cbec1 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt @@ -9,12 +9,13 @@ package io.element.android.features.preferences.impl.root import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.user.MatrixUser data class PreferencesRootState( val myUser: MatrixUser, val version: String, - val deviceId: String?, + val deviceId: DeviceId?, val showSecureBackup: Boolean, val showSecureBackupBadge: Boolean, val accountManagementUrl: String?, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt index ca43c3bbd5..464288fd9b 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt @@ -9,6 +9,7 @@ package io.element.android.features.preferences.impl.root import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.ui.strings.CommonStrings @@ -18,7 +19,7 @@ fun aPreferencesRootState( ) = PreferencesRootState( myUser = myUser, version = "Version 1.1 (1)", - deviceId = "ILAKNDNASDLK", + deviceId = DeviceId("ILAKNDNASDLK"), showSecureBackup = true, showSecureBackupBadge = true, accountManagementUrl = "aUrl", diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index 0ec381fd85..4f47c7eab9 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -36,6 +36,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.utils.CommonDrawables import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost import io.element.android.libraries.designsystem.utils.snackbar.rememberSnackbarHostState +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.MatrixUserProvider import io.element.android.libraries.ui.strings.CommonStrings @@ -229,7 +230,7 @@ private fun ColumnScope.GeneralSection( @Composable private fun ColumnScope.Footer( version: String, - deviceId: String?, + deviceId: DeviceId?, onClick: (() -> Unit)?, ) { val text = remember(version, deviceId) { diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index 65dfa39c27..e6ac392153 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.api +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId @@ -41,7 +42,7 @@ import java.util.Optional interface MatrixClient : Closeable { val sessionId: SessionId - val deviceId: String + val deviceId: DeviceId val userProfile: StateFlow val roomListService: RoomListService val mediaLoader: MatrixMediaLoader diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/DeviceId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/DeviceId.kt new file mode 100644 index 0000000000..d2abc59abc --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/DeviceId.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.api.core + +import java.io.Serializable + +@JvmInline +value class DeviceId(val value: String) : Serializable { + override fun toString(): String = value +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt index 48220bec63..9fc33dee4b 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt @@ -7,9 +7,11 @@ package io.element.android.libraries.matrix.api.oidc +import io.element.android.libraries.matrix.api.core.DeviceId + sealed interface AccountManagementAction { data object Profile : AccountManagementAction data object SessionsList : AccountManagementAction - data class SessionView(val deviceId: String) : AccountManagementAction - data class SessionEnd(val deviceId: String) : AccountManagementAction + data class SessionView(val deviceId: DeviceId) : AccountManagementAction + data class SessionEnd(val deviceId: DeviceId) : AccountManagementAction } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index b7fb6d1566..832c7a6bd1 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -12,6 +12,7 @@ import io.element.android.libraries.androidutils.file.safeDelete import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.coroutine.childScope import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId @@ -119,7 +120,7 @@ class RustMatrixClient( sessionDelegate: RustClientSessionDelegate, ) : MatrixClient { override val sessionId: UserId = UserId(client.userId()) - override val deviceId: String = client.deviceId() + override val deviceId: DeviceId = DeviceId(client.deviceId()) override val sessionCoroutineScope = appCoroutineScope.childScope(dispatchers.main, "Session-$sessionId") private val innerRoomListService = syncService.roomListService() diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt index 5111c2a8cf..7adfc4fbca 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt @@ -13,8 +13,8 @@ import org.matrix.rustcomponents.sdk.AccountManagementAction as RustAccountManag fun AccountManagementAction.toRustAction(): RustAccountManagementAction { return when (this) { AccountManagementAction.Profile -> RustAccountManagementAction.Profile - is AccountManagementAction.SessionEnd -> RustAccountManagementAction.SessionEnd(deviceId) - is AccountManagementAction.SessionView -> RustAccountManagementAction.SessionView(deviceId) + is AccountManagementAction.SessionEnd -> RustAccountManagementAction.SessionEnd(deviceId.value) + is AccountManagementAction.SessionView -> RustAccountManagementAction.SessionView(deviceId.value) AccountManagementAction.SessionsList -> RustAccountManagementAction.SessionsList } } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index 040f24fb95..35d26ee540 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.matrix.test import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId @@ -58,7 +59,7 @@ import java.util.Optional class FakeMatrixClient( override val sessionId: SessionId = A_SESSION_ID, - override val deviceId: String = "A_DEVICE_ID", + override val deviceId: DeviceId = A_DEVICE_ID, override val sessionCoroutineScope: CoroutineScope = TestScope(), private val userDisplayName: String? = A_USER_NAME, private val userAvatarUrl: String? = AN_AVATAR_URL, diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt index 0d1b790da6..add458ae00 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.matrix.test import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId @@ -47,6 +48,7 @@ val AN_EVENT_ID = EventId("\$anEventId") val AN_EVENT_ID_2 = EventId("\$anEventId2") val A_ROOM_ALIAS = RoomAlias("#alias1:domain") val A_TRANSACTION_ID = TransactionId("aTransactionId") +val A_DEVICE_ID = DeviceId("ILAKNDNASDLK") val A_UNIQUE_ID = UniqueId("aUniqueId") val A_UNIQUE_ID_2 = UniqueId("aUniqueId2") From 6d12ff09b82e6c4ce98fbdbbf90596fc8e027587 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 10:03:22 +0200 Subject: [PATCH 010/122] RustMatrixRoom do not need the SessionData anymore. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 2 +- .../android/libraries/matrix/impl/room/RustMatrixRoom.kt | 8 ++++---- .../android/libraries/matrix/impl/room/RustRoomFactory.kt | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 832c7a6bd1..892963f9e9 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -173,13 +173,13 @@ class RustMatrixClient( roomListService = roomListService, innerRoomListService = innerRoomListService, sessionId = sessionId, + deviceId = deviceId, notificationSettingsService = notificationSettingsService, sessionCoroutineScope = sessionCoroutineScope, dispatchers = dispatchers, systemClock = clock, roomContentForwarder = RoomContentForwarder(innerRoomListService), roomSyncSubscriber = roomSyncSubscriber, - getSessionData = { sessionStore.getSession(sessionId.value)!! }, ) override val mediaLoader: MatrixMediaLoader = RustMediaLoader( diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 1f5ffe7eef..14aeedfcec 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.coroutine.childScope import io.element.android.libraries.core.extensions.mapFailure +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias @@ -52,7 +53,6 @@ import io.element.android.libraries.matrix.impl.util.MessageEventContent import io.element.android.libraries.matrix.impl.util.mxCallbackFlow import io.element.android.libraries.matrix.impl.widget.RustWidgetDriver import io.element.android.libraries.matrix.impl.widget.generateWidgetWebViewUrl -import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -89,6 +89,7 @@ import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline @OptIn(ExperimentalCoroutinesApi::class) class RustMatrixRoom( override val sessionId: SessionId, + private val deviceId: DeviceId, private val roomListItem: RoomListItem, private val innerRoom: InnerRoom, innerTimeline: InnerTimeline, @@ -97,7 +98,6 @@ class RustMatrixRoom( private val coroutineDispatchers: CoroutineDispatchers, private val systemClock: SystemClock, private val roomContentForwarder: RoomContentForwarder, - private val sessionData: SessionData, private val roomSyncSubscriber: RoomSyncSubscriber, private val matrixRoomInfoMapper: MatrixRoomInfoMapper, ) : MatrixRoom { @@ -124,7 +124,7 @@ class RustMatrixRoom( override fun call(typingUserIds: List) { channel.trySend( typingUserIds - .filter { it != sessionData.userId } + .filter { it != sessionId.value } .map(::UserId) ) } @@ -606,7 +606,7 @@ class RustMatrixRoom( room = innerRoom, widgetCapabilitiesProvider = object : WidgetCapabilitiesProvider { override fun acquireCapabilities(capabilities: WidgetCapabilities): WidgetCapabilities { - return getElementCallRequiredPermissions(sessionId.value, sessionData.deviceId) + return getElementCallRequiredPermissions(sessionId.value, deviceId.value) } }, ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 8db2c498ef..04210d6959 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.impl.room import androidx.collection.lruCache import io.element.android.appconfig.TimelineConfig import io.element.android.libraries.core.coroutine.CoroutineDispatchers +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService @@ -18,7 +19,6 @@ import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.api.roomlist.awaitLoaded import io.element.android.libraries.matrix.impl.roomlist.fullRoomWithTimeline import io.element.android.libraries.matrix.impl.roomlist.roomOrNull -import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -38,6 +38,7 @@ private const val CACHE_SIZE = 16 class RustRoomFactory( private val sessionId: SessionId, + private val deviceId: DeviceId, private val notificationSettingsService: NotificationSettingsService, private val sessionCoroutineScope: CoroutineScope, private val dispatchers: CoroutineDispatchers, @@ -46,7 +47,6 @@ class RustRoomFactory( private val roomListService: RoomListService, private val innerRoomListService: InnerRoomListService, private val roomSyncSubscriber: RoomSyncSubscriber, - private val getSessionData: suspend () -> SessionData, ) { @OptIn(ExperimentalCoroutinesApi::class) private val dispatcher = dispatchers.io.limitedParallelism(1) @@ -108,6 +108,7 @@ class RustRoomFactory( val liveTimeline = roomReferences.fullRoom.timeline() RustMatrixRoom( sessionId = sessionId, + deviceId = deviceId, roomListItem = roomReferences.roomListItem, innerRoom = roomReferences.fullRoom, innerTimeline = liveTimeline, @@ -116,7 +117,6 @@ class RustRoomFactory( coroutineDispatchers = dispatchers, systemClock = systemClock, roomContentForwarder = roomContentForwarder, - sessionData = getSessionData(), roomSyncSubscriber = roomSyncSubscriber, matrixRoomInfoMapper = matrixRoomInfoMapper, ) From 032e55481e9c179f71889f587946cfbd90eab7ec Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 10:06:28 +0200 Subject: [PATCH 011/122] Add license word in the dictionary to avoid warning in AS. --- .idea/dictionaries/shared.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.idea/dictionaries/shared.xml b/.idea/dictionaries/shared.xml index e7bc929689..67708285c3 100644 --- a/.idea/dictionaries/shared.xml +++ b/.idea/dictionaries/shared.xml @@ -1,6 +1,7 @@ + agpl backstack blurhash fdroid @@ -17,6 +18,7 @@ securebackup showkase snackbar + spdx swipeable textfields tombstoned From 3d374c8bcf237ff45986d52a3b9f86658612fea3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 20:03:29 +0200 Subject: [PATCH 012/122] SDK 0.2.43 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 689c6e6b7f..f01f7ce1a6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.42" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.43" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 31bcd506e0fe9e665c6992f3bba5680ccbcdec5d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 20:09:50 +0200 Subject: [PATCH 013/122] Fix API break --- .../matrix/impl/room/RustMatrixRoom.kt | 1 + .../matrix/impl/timeline/RustTimeline.kt | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 14aeedfcec..aad3777071 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -188,6 +188,7 @@ class RustMatrixRoom( innerRoom.pinnedEventsTimeline( internalIdPrefix = "pinned_events", maxEventsToLoad = 100u, + maxConcurrentRequests = 10u, ).let { inner -> createTimeline(inner, mode = Timeline.Mode.PINNED_EVENTS) } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index f48af8d3a3..5cb2c36399 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -61,9 +61,11 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.matrix.rustcomponents.sdk.EditedContent import org.matrix.rustcomponents.sdk.EventTimelineItem import org.matrix.rustcomponents.sdk.FormattedBody import org.matrix.rustcomponents.sdk.MessageFormat +import org.matrix.rustcomponents.sdk.PollData import org.matrix.rustcomponents.sdk.SendAttachmentJoinHandle import org.matrix.rustcomponents.sdk.use import timber.log.Timber @@ -274,8 +276,15 @@ class RustTimeline( withContext(dispatcher) { runCatching { getEventTimelineItem(originalEventId, transactionId).use { item -> + val editedContent = EditedContent.RoomMessage( + content = MessageEventContent.from( + body = body, + htmlBody = htmlBody, + intentionalMentions = intentionalMentions + ), + ) inner.edit( - newContent = MessageEventContent.from(body, htmlBody, intentionalMentions), + newContent = editedContent, item = item, ) } @@ -434,15 +443,21 @@ class RustTimeline( inner.getEventTimelineItemByEventId( eventId = pollStartId.value ) - pollStartEvent.use { - inner.editPoll( + val editedContent = EditedContent.PollStart( + pollData = PollData( question = question, answers = answers, maxSelections = maxSelections.toUByte(), pollKind = pollKind.toInner(), - editItem = pollStartEvent, + ), + ) + pollStartEvent.use { + inner.edit( + newContent = editedContent, + item = it, ) } + Unit } } From 90e51dc9fa4142bbf7c082f6be759edae359faf7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 20:41:58 +0200 Subject: [PATCH 014/122] Fix detekt false positive. --- .../android/libraries/matrix/impl/timeline/RustTimeline.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index 5cb2c36399..25d7c52c7b 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -457,8 +457,7 @@ class RustTimeline( item = it, ) } - Unit - } + }.map { } } override suspend fun sendPollResponse( From 9d6c9456a5fc9335dc633c53486c8386566c6149 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 09:21:27 +0200 Subject: [PATCH 015/122] SDK 0.2.44 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f01f7ce1a6..07898a0950 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.43" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.44" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From f87422a0224ef5d86247ff221a586f2e5ec00277 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 15:50:55 +0200 Subject: [PATCH 016/122] Fix filtering of Event at the beginning of DM. --- .../matrix/api/room/MatrixRoomInfo.kt | 3 +- .../matrix/impl/room/MatrixRoomInfoMapper.kt | 1 + .../matrix/impl/timeline/RustTimeline.kt | 6 +- .../RoomBeginningPostProcessor.kt | 21 ++- .../roomlist/RoomSummaryListProcessorTest.kt | 3 + .../RoomBeginningPostProcessorTest.kt | 157 ++++++++++++++---- .../matrix/test/room/FakeMatrixRoom.kt | 2 + 7 files changed, 150 insertions(+), 43 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt index 32eddf7b00..b466a28da6 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt @@ -44,5 +44,6 @@ data class MatrixRoomInfo( val hasRoomCall: Boolean, val activeRoomCallParticipants: ImmutableList, val heroes: ImmutableList, - val pinnedEventIds: ImmutableList + val pinnedEventIds: ImmutableList, + val creator: UserId?, ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt index d5a0b86083..7fcef163b6 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt @@ -28,6 +28,7 @@ class MatrixRoomInfoMapper { fun map(rustRoomInfo: RustRoomInfo): MatrixRoomInfo = rustRoomInfo.let { return MatrixRoomInfo( id = RoomId(it.id), + creator = it.creator?.let(::UserId), name = it.displayName, rawName = it.rawName, topic = it.topic, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index 25d7c52c7b..bb8947b2ba 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -207,15 +207,17 @@ class RustTimeline( _timelineItems, backPaginationStatus.map { it.hasMoreToLoad }.distinctUntilChanged(), forwardPaginationStatus.map { it.hasMoreToLoad }.distinctUntilChanged(), + matrixRoom.roomInfoFlow.map { it.creator }, isInit, - ) { timelineItems, hasMoreToLoadBackward, hasMoreToLoadForward, isInit -> + ) { timelineItems, hasMoreToLoadBackward, hasMoreToLoadForward, roomCreator, isInit -> withContext(dispatcher) { timelineItems .process { items -> roomBeginningPostProcessor.process( items = items, isDm = matrixRoom.isDm, - hasMoreToLoadBackwards = hasMoreToLoadBackward + roomCreator = roomCreator, + hasMoreToLoadBackwards = hasMoreToLoadBackward, ) } .process(predicate = isInit) { items -> diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessor.kt index 2fb41a745c..7ed9de2fe3 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessor.kt @@ -9,6 +9,7 @@ package io.element.android.libraries.matrix.impl.timeline.postprocessor import androidx.annotation.VisibleForTesting import io.element.android.libraries.matrix.api.core.UniqueId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.Timeline import io.element.android.libraries.matrix.api.timeline.item.event.MembershipChange @@ -25,12 +26,14 @@ class RoomBeginningPostProcessor(private val mode: Timeline.Mode) { fun process( items: List, isDm: Boolean, - hasMoreToLoadBackwards: Boolean + roomCreator: UserId?, + hasMoreToLoadBackwards: Boolean, ): List { return when { + items.isEmpty() -> items mode == Timeline.Mode.PINNED_EVENTS -> items + isDm -> processForDM(items, roomCreator) hasMoreToLoadBackwards -> items - isDm -> processForDM(items) else -> processForRoom(items) } } @@ -40,15 +43,18 @@ class RoomBeginningPostProcessor(private val mode: Timeline.Mode) { return listOf(roomBeginningItem) + items } - private fun processForDM(items: List): List { - // Find room creation event. This is usually index 0 + private fun processForDM(items: List, roomCreator: UserId?): List { + // Find room creation event. + // This is usually the first MatrixTimelineItem.Event (so index 1, index 0 is a date) val roomCreationEventIndex = items.indexOfFirst { val stateEventContent = (it as? MatrixTimelineItem.Event)?.event?.content as? StateContent stateEventContent?.content is OtherState.RoomCreate } - // Find self-join event for room creator. This is usually index 1 - val roomCreatorUserId = (items.getOrNull(roomCreationEventIndex) as? MatrixTimelineItem.Event)?.event?.sender + // If the parameter roomCreator is null, the creator is the sender of the RoomCreate Event. + val roomCreatorUserId = roomCreator ?: (items.getOrNull(roomCreationEventIndex) as? MatrixTimelineItem.Event)?.event?.sender + // Find self-join event for the room creator. + // This is usually the second MatrixTimelineItem.Event (so index 2) val selfUserJoinedEventIndex = roomCreatorUserId?.let { creatorUserId -> items.indexOfFirst { val stateEventContent = (it as? MatrixTimelineItem.Event)?.event?.content as? RoomMembershipContent @@ -56,6 +62,9 @@ class RoomBeginningPostProcessor(private val mode: Timeline.Mode) { } } ?: -1 + if (roomCreationEventIndex == -1 && selfUserJoinedEventIndex == -1) { + return items + } // Remove items at the indices we found val newItems = items.toMutableList() if (selfUserJoinedEventIndex in newItems.indices) { diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt index f4b7f8a1d0..faa8a1102e 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.impl.roomlist import com.google.common.truth.Truth.assertThat import com.sun.jna.Pointer import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.roomlist.RoomSummary import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_ID_2 @@ -215,6 +216,7 @@ private fun aRustRoomInfo( numUnreadNotifications: ULong = 0uL, numUnreadMentions: ULong = 0uL, pinnedEventIds: List = listOf(), + roomCreator: UserId? = null, ) = RoomInfo( id = id, displayName = displayName, @@ -245,6 +247,7 @@ private fun aRustRoomInfo( numUnreadNotifications = numUnreadNotifications, numUnreadMentions = numUnreadMentions, pinnedEventIds = pinnedEventIds, + creator = roomCreator?.value, ) class FakeRoomListItem( diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt index db93b86142..fadc174cd1 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt @@ -22,85 +22,174 @@ import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem import org.junit.Test class RoomBeginningPostProcessorTest { + private val roomCreateEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.create"), + event = anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate)) + ) + private val roomCreatorJoinEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.member"), + event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED)) + ) + private val otherMemberJoinEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.member_other"), + event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) + ) + private val messageEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.message"), + event = anEventTimelineItem(content = aMessageContent("hi")) + ) + + @Test + fun `processor returns empty list when empty list is provided`() { + val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) + val processedItems = processor.process( + items = emptyList(), + isDm = true, + roomCreator = A_USER_ID, + hasMoreToLoadBackwards = false, + ) + assertThat(processedItems).isEmpty() + } + + @Test + fun `processor returns the provided list when it only contains a message`() { + val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) + val processedItems = processor.process( + items = listOf(messageEvent), + isDm = true, + roomCreator = A_USER_ID, + hasMoreToLoadBackwards = false, + ) + assertThat(processedItems).isEqualTo(listOf(messageEvent)) + } + + @Test + fun `processor returns the provided list when it only contains a message and the roomCreator is not provided`() { + val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) + val processedItems = processor.process( + items = listOf(messageEvent), + isDm = true, + roomCreator = null, + hasMoreToLoadBackwards = false, + ) + assertThat(processedItems).isEqualTo(listOf(messageEvent)) + } + @Test fun `processor removes room creation event and self-join event from DM timeline`() { val timelineItems = listOf( - MatrixTimelineItem.Event(UniqueId("m.room.create"), anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate))), - MatrixTimelineItem.Event(UniqueId("m.room.member"), anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED))), + roomCreateEvent, + roomCreatorJoinEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = true, hasMoreToLoadBackwards = false) + val processedItems = processor.process( + items = timelineItems, + isDm = true, + roomCreator = A_USER_ID, + hasMoreToLoadBackwards = false, + ) assertThat(processedItems).isEmpty() } + @Test + fun `processor does not remove anything with PINNED_EVENTS mode`() { + val timelineItems = listOf( + roomCreateEvent, + roomCreatorJoinEvent, + ) + val processor = RoomBeginningPostProcessor(Timeline.Mode.PINNED_EVENTS) + val processedItems = processor.process( + items = timelineItems, + isDm = true, + roomCreator = A_USER_ID, + hasMoreToLoadBackwards = false, + ) + assertThat(processedItems).isEqualTo(timelineItems) + } + @Test fun `processor removes room creation event and self-join event from DM timeline even if they're not the first items`() { val timelineItems = listOf( - MatrixTimelineItem.Event( - UniqueId("m.room.member_other"), - anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) - ), - MatrixTimelineItem.Event(UniqueId("m.room.create"), anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate))), - MatrixTimelineItem.Event(UniqueId("m.room.message"), anEventTimelineItem(content = aMessageContent("hi"))), - MatrixTimelineItem.Event(UniqueId("m.room.member"), anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED))), + otherMemberJoinEvent, + roomCreateEvent, + messageEvent, + roomCreatorJoinEvent, ) val expected = listOf( - MatrixTimelineItem.Event( - UniqueId("m.room.member_other"), - anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) - ), - MatrixTimelineItem.Event(UniqueId("m.room.message"), anEventTimelineItem(content = aMessageContent("hi"))), + otherMemberJoinEvent, + messageEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = true, hasMoreToLoadBackwards = false) + val processedItems = processor.process(timelineItems, isDm = true, roomCreator = A_USER_ID, hasMoreToLoadBackwards = false) assertThat(processedItems).isEqualTo(expected) } @Test fun `processor will add beginning of room item if it's not a DM`() { val timelineItems = listOf( - MatrixTimelineItem.Event(UniqueId("m.room.create"), anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate))), - MatrixTimelineItem.Event(UniqueId("m.room.member"), anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED))), + roomCreateEvent, + roomCreatorJoinEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = false, hasMoreToLoadBackwards = false) + val processedItems = processor.process(timelineItems, isDm = false, roomCreator = A_USER_ID, hasMoreToLoadBackwards = false) assertThat(processedItems).isEqualTo( listOf(processor.createRoomBeginningItem()) + timelineItems ) } @Test - fun `processor won't remove items if it's not at the start of the timeline`() { + fun `processor will not add beginning of room item if it's not a DM but the room has more to load`() { val timelineItems = listOf( - MatrixTimelineItem.Event(UniqueId("m.room.create"), anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate))), - MatrixTimelineItem.Event(UniqueId("m.room.member"), anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED))), + roomCreateEvent, + roomCreatorJoinEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = true, hasMoreToLoadBackwards = true) + val processedItems = processor.process(timelineItems, isDm = false, roomCreator = A_USER_ID, hasMoreToLoadBackwards = true) assertThat(processedItems).isEqualTo(timelineItems) } @Test - fun `processor won't remove the first member join event if it can't find the room creation event`() { + fun `processor will add beginning of room item if it's not a DM, when the parameter roomCreator is null`() { val timelineItems = listOf( - MatrixTimelineItem.Event(UniqueId("m.room.member"), anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED))), + roomCreateEvent, + roomCreatorJoinEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = true, hasMoreToLoadBackwards = true) - assertThat(processedItems).isEqualTo(timelineItems) + val processedItems = processor.process(timelineItems, isDm = false, roomCreator = null, hasMoreToLoadBackwards = false) + assertThat(processedItems).isEqualTo( + listOf(processor.createRoomBeginningItem()) + timelineItems + ) + } + + @Test + fun `processor removes items event it's not at the start of the timeline`() { + val timelineItems = listOf( + roomCreateEvent, + roomCreatorJoinEvent, + ) + val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) + val processedItems = processor.process(timelineItems, isDm = true, roomCreator = A_USER_ID, hasMoreToLoadBackwards = true) + assertThat(processedItems).isEmpty() + } + + @Test + fun `processor removes the first member join event if it matches the roomCreator parameter`() { + val timelineItems = listOf( + roomCreatorJoinEvent, + ) + val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) + val processedItems = processor.process(timelineItems, isDm = true, roomCreator = A_USER_ID, hasMoreToLoadBackwards = true) + assertThat(processedItems).isEmpty() } @Test fun `processor won't remove the first member join event if it's not from the room creator`() { val timelineItems = listOf( - MatrixTimelineItem.Event(UniqueId("m.room.create"), anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate))), - MatrixTimelineItem.Event( - UniqueId("m.room.member"), - anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) - ), + roomCreateEvent, + otherMemberJoinEvent, ) val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) - val processedItems = processor.process(timelineItems, isDm = true, hasMoreToLoadBackwards = true) - assertThat(processedItems).isEqualTo(timelineItems) + val processedItems = processor.process(timelineItems, isDm = true, roomCreator = A_USER_ID, hasMoreToLoadBackwards = true) + assertThat(processedItems).isEqualTo(listOf(otherMemberJoinEvent)) } } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 8418d0c047..4f35c37d4d 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -523,6 +523,7 @@ fun aRoomInfo( activeRoomCallParticipants: List = emptyList(), heroes: List = emptyList(), pinnedEventIds: List = emptyList(), + roomCreator: UserId? = null, ) = MatrixRoomInfo( id = id, name = name, @@ -549,6 +550,7 @@ fun aRoomInfo( activeRoomCallParticipants = activeRoomCallParticipants.toImmutableList(), heroes = heroes.toImmutableList(), pinnedEventIds = pinnedEventIds.toImmutableList(), + creator = roomCreator, ) fun defaultRoomPowerLevels() = MatrixRoomPowerLevels( From fac919e93399f7af2ea66b3fc0e3a6be89ae6348 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 16:10:29 +0200 Subject: [PATCH 017/122] Remove process extension and provide isInit parameter to the processors. --- .../matrix/impl/timeline/RustTimeline.kt | 29 +++++++++---------- .../LastForwardIndicatorsPostProcessor.kt | 2 ++ .../LoadingIndicatorsPostProcessor.kt | 2 ++ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index bb8947b2ba..4694548b93 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -212,7 +212,7 @@ class RustTimeline( ) { timelineItems, hasMoreToLoadBackward, hasMoreToLoadForward, roomCreator, isInit -> withContext(dispatcher) { timelineItems - .process { items -> + .let { items -> roomBeginningPostProcessor.process( items = items, isDm = matrixRoom.isDm, @@ -220,12 +220,20 @@ class RustTimeline( hasMoreToLoadBackwards = hasMoreToLoadBackward, ) } - .process(predicate = isInit) { items -> - loadingIndicatorsPostProcessor.process(items, hasMoreToLoadBackward, hasMoreToLoadForward) + .let { items -> + loadingIndicatorsPostProcessor.process( + items = items, + isInit = isInit, + hasMoreToLoadBackward = hasMoreToLoadBackward, + hasMoreToLoadForward = hasMoreToLoadForward + ) } // Keep lastForwardIndicatorsPostProcessor last - .process(predicate = isInit) { items -> - lastForwardIndicatorsPostProcessor.process(items) + .let { items -> + lastForwardIndicatorsPostProcessor.process( + items = items, + isInit = isInit, + ) } } }.onStart { @@ -544,14 +552,3 @@ class RustTimeline( } } } - -private suspend fun List.process( - predicate: Boolean = true, - processor: suspend (List) -> List -): List { - return if (predicate) { - processor(this) - } else { - this - } -} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt index 193682f81b..441aa8149a 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt @@ -22,7 +22,9 @@ class LastForwardIndicatorsPostProcessor( fun process( items: List, + isInit: Boolean, ): List { + if (!isInit) return items // We don't need to add the last forward indicator if we are not in the FOCUSED_ON_EVENT mode if (mode != Timeline.Mode.FOCUSED_ON_EVENT) { return items diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt index a4aa6bf05a..cc6e851954 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt @@ -16,9 +16,11 @@ import io.element.android.services.toolbox.api.systemclock.SystemClock class LoadingIndicatorsPostProcessor(private val systemClock: SystemClock) { fun process( items: List, + isInit: Boolean, hasMoreToLoadBackward: Boolean, hasMoreToLoadForward: Boolean, ): List { + if (!isInit) return items val shouldAddForwardLoadingIndicator = hasMoreToLoadForward && items.isNotEmpty() val currentTimestamp = systemClock.epochMillis() return buildList { From d05947499842fd9fa0083aac246fb2deca1d9fc1 Mon Sep 17 00:00:00 2001 From: Valere Date: Thu, 12 Sep 2024 11:51:43 +0200 Subject: [PATCH 018/122] Doc | Remove outdated comment about flags default values --- .../element/android/libraries/featureflag/api/FeatureFlags.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index 124d3a3318..d8ab4bb176 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -13,8 +13,6 @@ import io.element.android.libraries.core.meta.BuildType /** * To enable or disable a FeatureFlags, change the `defaultValue` value. - * Warning: to enable a flag for the release app, you MUST update the file - * [io.element.android.libraries.featureflag.impl.StaticFeatureFlagProvider] */ enum class FeatureFlags( override val key: String, From bb50d3eb96507e1832aae680a292a35cf0102d42 Mon Sep 17 00:00:00 2001 From: Valere Date: Thu, 12 Sep 2024 11:52:59 +0200 Subject: [PATCH 019/122] crypto: Add configuration flag to enable invisible crypto --- .../libraries/featureflag/api/FeatureFlags.kt | 9 +++++ .../matrix/impl/RustMatrixClientFactory.kt | 11 +++++++ .../AlwaysEnabledFeatureFlagService.kt | 23 +++++++++++++ .../android/samples/minimal/MainActivity.kt | 1 + .../android/samples/minimal/RoomListScreen.kt | 33 +------------------ 5 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 samples/minimal/src/main/kotlin/io/element/android/samples/minimal/AlwaysEnabledFeatureFlagService.kt diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index d8ab4bb176..d71c0de360 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -123,4 +123,13 @@ enum class FeatureFlags( defaultValue = { true }, isFinished = false, ), + InvisibleCrypto( + key = "feature.invisibleCrypto", + title = "Invisible Crypto", + description = "This setting controls how end-to-end encryption (E2E) keys are shared." + + " Enabling it will prevent the inclusion of devices that have not been explicitly verified by their owners." + + " You'll have to stop and re-open the app manually for that setting to take effect.", + defaultValue = { false }, + isFinished = false, + ), } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 2fe4284f98..7681dda6f0 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -10,6 +10,8 @@ package io.element.android.libraries.matrix.impl import io.element.android.appconfig.AuthenticationConfig import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.di.CacheDirectory +import io.element.android.libraries.featureflag.api.FeatureFlagService +import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.matrix.impl.analytics.UtdTracker import io.element.android.libraries.matrix.impl.certificates.UserCertificatesProvider import io.element.android.libraries.matrix.impl.paths.SessionPaths @@ -30,6 +32,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncVersion import org.matrix.rustcomponents.sdk.SlidingSyncVersionBuilder import org.matrix.rustcomponents.sdk.use import timber.log.Timber +import uniffi.matrix_sdk_crypto.CollectStrategy import java.io.File import javax.inject.Inject @@ -45,6 +48,7 @@ class RustMatrixClientFactory @Inject constructor( private val clock: SystemClock, private val utdTracker: UtdTracker, private val appPreferencesStore: AppPreferencesStore, + private val featureFlagService: FeatureFlagService, ) { suspend fun create(sessionData: SessionData): RustMatrixClient = withContext(coroutineDispatchers.io) { val sessionDelegate = RustClientSessionDelegate(sessionStore, appCoroutineScope, coroutineDispatchers) @@ -104,6 +108,13 @@ class RustMatrixClientFactory @Inject constructor( .addRootCertificates(userCertificatesProvider.provides()) .autoEnableBackups(true) .autoEnableCrossSigning(true) + .roomKeyRecipientStrategy( + strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.InvisibleCrypto)) { + CollectStrategy.IdentityBasedStrategy + } else { + CollectStrategy.DeviceBasedStrategy(onlyAllowTrustedDevices = false, errorOnVerifiedUserProblem = false) + } + ) .run { // Apply sliding sync version settings when (slidingSync) { diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/AlwaysEnabledFeatureFlagService.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/AlwaysEnabledFeatureFlagService.kt new file mode 100644 index 0000000000..67151d5aa4 --- /dev/null +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/AlwaysEnabledFeatureFlagService.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.samples.minimal + +import io.element.android.libraries.featureflag.api.Feature +import io.element.android.libraries.featureflag.api.FeatureFlagService +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf + +class AlwaysEnabledFeatureFlagService : FeatureFlagService { + override fun isFeatureEnabledFlow(feature: Feature): Flow { + return flowOf(true) + } + + override suspend fun setFeatureEnabled(feature: Feature, enabled: Boolean): Boolean { + return true + } +} diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt index e1654a8fb7..5319baf10e 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt @@ -56,6 +56,7 @@ class MainActivity : ComponentActivity() { clock = DefaultSystemClock(), utdTracker = UtdTracker(NoopAnalyticsService()), appPreferencesStore = InMemoryAppPreferencesStore(), + featureFlagService = AlwaysEnabledFeatureFlagService(), ), passphraseGenerator = NullPassphraseGenerator(), oidcConfigurationProvider = OidcConfigurationProvider(baseDirectory), diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt index 70f2a1f8a4..c6a2d49c89 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt @@ -25,8 +25,6 @@ import io.element.android.features.roomlist.impl.filters.selection.DefaultFilter import io.element.android.features.roomlist.impl.search.RoomListSearchDataSource import io.element.android.features.roomlist.impl.search.RoomListSearchPresenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.core.meta.BuildMeta -import io.element.android.libraries.core.meta.BuildType import io.element.android.libraries.dateformatter.impl.DateFormatters import io.element.android.libraries.dateformatter.impl.DefaultLastMessageTimestampFormatter import io.element.android.libraries.dateformatter.impl.LocalDateTimeProvider @@ -35,8 +33,6 @@ import io.element.android.libraries.eventformatter.impl.DefaultRoomLastMessageFo import io.element.android.libraries.eventformatter.impl.ProfileChangeContentFormatter import io.element.android.libraries.eventformatter.impl.RoomMembershipContentFormatter import io.element.android.libraries.eventformatter.impl.StateContentFormatter -import io.element.android.libraries.featureflag.impl.DefaultFeatureFlagService -import io.element.android.libraries.featureflag.impl.PreferencesFeatureFlagProvider import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState import io.element.android.libraries.indicator.impl.DefaultIndicatorService @@ -70,13 +66,7 @@ class RoomListScreen( private val sessionVerificationService = matrixClient.sessionVerificationService() private val encryptionService = matrixClient.encryptionService() private val stringProvider = AndroidStringProvider(context.resources) - private val buildMeta = getBuildMeta(context) - private val featureFlagService = DefaultFeatureFlagService( - providers = setOf( - PreferencesFeatureFlagProvider(context = context, buildMeta = buildMeta) - ), - buildMeta = buildMeta, - ) + private val featureFlagService = AlwaysEnabledFeatureFlagService() private val roomListRoomSummaryFactory = RoomListRoomSummaryFactory( lastMessageTimestampFormatter = DefaultLastMessageTimestampFormatter( localDateTimeProvider = dateTimeProvider, @@ -191,25 +181,4 @@ class RoomListScreen( } } } - - private fun getBuildMeta(context: Context): BuildMeta { - val buildType = BuildType.valueOf(BuildConfig.BUILD_TYPE.uppercase()) - val name = context.getString(R.string.app_name) - return BuildMeta( - isDebuggable = BuildConfig.DEBUG, - buildType = buildType, - applicationName = name, - productionApplicationName = name, - desktopApplicationName = name, - applicationId = BuildConfig.APPLICATION_ID, - lowPrivacyLoggingEnabled = false, - versionName = BuildConfig.VERSION_NAME, - versionCode = BuildConfig.VERSION_CODE.toLong(), - gitRevision = "", - gitBranchName = "", - flavorDescription = "", - flavorShortDescription = "", - isEnterpriseBuild = false, - ) - } } From ca3bcf22fc6200b76cbdae7fae7be941e80146e1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 15:03:55 +0200 Subject: [PATCH 020/122] Setting version for the release 0.6.0 --- plugins/src/main/kotlin/Versions.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index bfcfe937ff..59048156b3 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -42,12 +42,12 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion // Note: 2 digits max for each value private const val versionMajor = 0 -private const val versionMinor = 5 +private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 4 +private const val versionPatch = 0 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From b2f110df296540cd975ebd82860a95a647c0db66 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 15:05:14 +0200 Subject: [PATCH 021/122] Adding fastlane file for version 0.6.0 --- fastlane/metadata/android/en-US/changelogs/40006000.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006000.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006000.txt b/fastlane/metadata/android/en-US/changelogs/40006000.txt new file mode 100644 index 0000000000..0574894881 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006000.txt @@ -0,0 +1,2 @@ +Element X is the new generation of Element for professional and personal use on mobile. It’s the fastest Matrix client with a seamless & intuitive user interface. +Full changelog: https://github.com/element-hq/element-x-android/releases From dac3c7285a61809fe0297dee2cdc0ef4c41c3c7e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 15:06:50 +0200 Subject: [PATCH 022/122] version++ --- plugins/src/main/kotlin/Versions.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index bfcfe937ff..0ea95396de 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -42,12 +42,12 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion // Note: 2 digits max for each value private const val versionMajor = 0 -private const val versionMinor = 5 +private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 4 +private const val versionPatch = 1 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From ab5793ce75325fae4f2eb78f8eb783e7ac437e16 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 16:13:29 +0200 Subject: [PATCH 023/122] Changelog for version 0.6.0 --- CHANGES.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 2097277556..0cd6932883 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,22 @@ +Changes in Element X v0.6.0 (2024-09-12) +======================================== + +### 🙌 Improvements +* Enables pinned messages feature by default. by @ganfra in https://github.com/element-hq/element-x-android/pull/3439 +* Pinned messages list : hide reactions by @ganfra in https://github.com/element-hq/element-x-android/pull/3430 + +### 🐛 Bugfixes +* Feature/fga/pinned messages fix timeline provider by @ganfra in https://github.com/element-hq/element-x-android/pull/3432 + +### Dependency upgrades +* Update activity to v1.9.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3397 +* Update peter-evans/create-pull-request action to v7 by @renovate in https://github.com/element-hq/element-x-android/pull/3383 +* Rust sdk upgrade to 0.2.43 by @bmarty in https://github.com/element-hq/element-x-android/pull/3446 + +### Others +* DeviceId and cleanup. by @bmarty in https://github.com/element-hq/element-x-android/pull/3442 +* Update application store assets by @bmarty in https://github.com/element-hq/element-x-android/pull/3441 + Changes in Element X v0.5.3 (2024-09-10) ======================================== From e4d1428bed09b1098f7a0f289e5aa7c1d48a5ad9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 16:27:52 +0200 Subject: [PATCH 024/122] Rename `isInit` to `isTimelineInitialized` for clarity. --- .../matrix/impl/timeline/RustTimeline.kt | 18 +++++++++++------- .../impl/timeline/TimelineItemsSubscriber.kt | 6 +++--- .../LastForwardIndicatorsPostProcessor.kt | 4 ++-- .../LoadingIndicatorsPostProcessor.kt | 4 ++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index 4694548b93..1fa43c4e7c 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -86,7 +86,7 @@ class RustTimeline( onNewSyncedEvent: () -> Unit, ) : Timeline { private val initLatch = CompletableDeferred() - private val isInit = MutableStateFlow(false) + private val isTimelineInitialized = MutableStateFlow(false) private val _timelineItems: MutableStateFlow> = MutableStateFlow(emptyList()) @@ -110,7 +110,7 @@ class RustTimeline( timelineCoroutineScope = coroutineScope, timelineDiffProcessor = timelineDiffProcessor, initLatch = initLatch, - isInit = isInit, + isTimelineInitialized = isTimelineInitialized, dispatcher = dispatcher, onNewSyncedEvent = onNewSyncedEvent, ) @@ -189,7 +189,7 @@ class RustTimeline( } private fun canPaginate(direction: Timeline.PaginationDirection): Boolean { - if (!isInit.value) return false + if (!isTimelineInitialized.value) return false return when (direction) { Timeline.PaginationDirection.BACKWARDS -> backPaginationStatus.value.canPaginate Timeline.PaginationDirection.FORWARDS -> forwardPaginationStatus.value.canPaginate @@ -208,8 +208,12 @@ class RustTimeline( backPaginationStatus.map { it.hasMoreToLoad }.distinctUntilChanged(), forwardPaginationStatus.map { it.hasMoreToLoad }.distinctUntilChanged(), matrixRoom.roomInfoFlow.map { it.creator }, - isInit, - ) { timelineItems, hasMoreToLoadBackward, hasMoreToLoadForward, roomCreator, isInit -> + isTimelineInitialized, + ) { timelineItems, + hasMoreToLoadBackward, + hasMoreToLoadForward, + roomCreator, + isTimelineInitialized -> withContext(dispatcher) { timelineItems .let { items -> @@ -223,7 +227,7 @@ class RustTimeline( .let { items -> loadingIndicatorsPostProcessor.process( items = items, - isInit = isInit, + isTimelineInitialized = isTimelineInitialized, hasMoreToLoadBackward = hasMoreToLoadBackward, hasMoreToLoadForward = hasMoreToLoadForward ) @@ -232,7 +236,7 @@ class RustTimeline( .let { items -> lastForwardIndicatorsPostProcessor.process( items = items, - isInit = isInit, + isTimelineInitialized = isTimelineInitialized, ) } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt index 0269c48bae..5e9c6ac37a 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt @@ -38,7 +38,7 @@ internal class TimelineItemsSubscriber( private val timeline: Timeline, private val timelineDiffProcessor: MatrixTimelineDiffProcessor, private val initLatch: CompletableDeferred, - private val isInit: MutableStateFlow, + private val isTimelineInitialized: MutableStateFlow, private val onNewSyncedEvent: () -> Unit, ) { private var subscriptionCount = 0 @@ -85,13 +85,13 @@ internal class TimelineItemsSubscriber( ensureActive() timelineDiffProcessor.postItems(it) } - isInit.value = true + isTimelineInitialized.value = true initLatch.complete(Unit) } private suspend fun postDiffs(diffs: List) { val diffsToProcess = diffs.toMutableList() - if (!isInit.value) { + if (!isTimelineInitialized.value) { val resetDiff = diffsToProcess.firstOrNull { it.change() == TimelineChange.RESET } if (resetDiff != null) { // Keep using the postItems logic so we can post the timelineItems asap. diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt index 441aa8149a..7f89c40a0e 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt @@ -22,9 +22,9 @@ class LastForwardIndicatorsPostProcessor( fun process( items: List, - isInit: Boolean, + isTimelineInitialized: Boolean, ): List { - if (!isInit) return items + if (!isTimelineInitialized) return items // We don't need to add the last forward indicator if we are not in the FOCUSED_ON_EVENT mode if (mode != Timeline.Mode.FOCUSED_ON_EVENT) { return items diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt index cc6e851954..216ccd6f89 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt @@ -16,11 +16,11 @@ import io.element.android.services.toolbox.api.systemclock.SystemClock class LoadingIndicatorsPostProcessor(private val systemClock: SystemClock) { fun process( items: List, - isInit: Boolean, + isTimelineInitialized: Boolean, hasMoreToLoadBackward: Boolean, hasMoreToLoadForward: Boolean, ): List { - if (!isInit) return items + if (!isTimelineInitialized) return items val shouldAddForwardLoadingIndicator = hasMoreToLoadForward && items.isNotEmpty() val currentTimestamp = systemClock.epochMillis() return buildList { From d22d9f0bd2a7871dcc9cdfea2bba6b246db3d952 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 12 Sep 2024 17:20:49 +0200 Subject: [PATCH 025/122] Send failure verified user : set the room key recipient strategy --- .../android/libraries/matrix/impl/RustMatrixClientFactory.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 7681dda6f0..d29a233aa1 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -60,6 +60,9 @@ class RustMatrixClientFactory @Inject constructor( .homeserverUrl(sessionData.homeserverUrl) .username(sessionData.userId) .setSessionDelegate(sessionDelegate) + .roomKeyRecipientStrategy( + strategy = CollectStrategy.DeviceBasedStrategy(false, true) + ) .use { it.build() } client.restoreSession(sessionData.toSession()) From b2c7ea02fbccbe82a5509bff61dbb5659dc9f682 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 12 Sep 2024 17:21:19 +0200 Subject: [PATCH 026/122] Design : allow passing ListItemColor to ListItem composable to customise as you want. --- .../designsystem/theme/components/ListItem.kt | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index 25f5009299..3e2fd6dcd5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -65,7 +65,41 @@ fun ListItem( disabledLeadingIconColor = ListItemDefaultColors.iconDisabled, disabledTrailingIconColor = ListItemDefaultColors.iconDisabled, ) + ListItem( + headlineContent = headlineContent, + modifier = modifier, + supportingContent = supportingContent, + leadingContent = leadingContent, + trailingContent = trailingContent, + colors = colors, + enabled = enabled, + onClick = onClick, + ) +} +/** + * A List Item component to be used in lists and menus with simple layouts, matching the Material 3 guidelines. + * @param headlineContent The main content of the list item, usually a text. + * @param modifier The modifier to be applied to the list item. + * @param supportingContent The content to be displayed below the headline content. + * @param leadingContent The content to be displayed before the headline content. + * @param trailingContent The content to be displayed after the headline content. + * @param colors The colors to use for the list item. + * @param enabled Whether the list item is enabled. When disabled, will change the color of the headline content and the leading content to use disabled tokens. + * @param onClick The callback to be called when the list item is clicked. + */ +@Suppress("LongParameterList") +@Composable +fun ListItem( + headlineContent: @Composable () -> Unit, + colors: ListItemColors, + modifier: Modifier = Modifier, + supportingContent: @Composable (() -> Unit)? = null, + leadingContent: ListItemContent? = null, + trailingContent: ListItemContent? = null, + enabled: Boolean = true, + onClick: (() -> Unit)? = null, +) { // We cannot just pass the disabled colors, they must be set manually: https://issuetracker.google.com/issues/280480132 val headlineColor = if (enabled) colors.headlineColor else colors.disabledHeadlineColor val leadingContentColor = if (enabled) colors.leadingIconColor else colors.disabledLeadingIconColor From e0bc026d5fe18ff0fad12d293c93f4bc36583ad4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 12 Sep 2024 17:24:01 +0200 Subject: [PATCH 027/122] Send failure verified user : display in ActionListView --- .../features/messages/impl/MessagesView.kt | 3 ++ .../impl/actionlist/ActionListPresenter.kt | 35 +++++++++++-- .../impl/actionlist/ActionListState.kt | 21 ++++++++ .../actionlist/ActionListStateProvider.kt | 20 ++++++++ .../impl/actionlist/ActionListView.kt | 50 +++++++++++++++++++ .../pinned/list/PinnedMessagesListView.kt | 1 + .../src/main/res/values/localazy.xml | 9 ++++ 7 files changed, 136 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 8eabf156af..05329c3fea 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -241,6 +241,9 @@ fun MessagesView( state.customReactionState.eventSink(CustomReactionEvents.ShowCustomReactionSheet(event)) }, onEmojiReactionClick = ::onEmojiReactionClick, + onVerifiedUserSendFailureClick = { event -> + + } ) CustomReactionBottomSheet( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt index 840e12583f..802fdbf9ed 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt @@ -36,6 +36,7 @@ import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.preferences.api.store.AppPreferencesStore import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -115,12 +116,14 @@ class DefaultActionListPresenter @AssistedInject constructor( isEventPinned = pinnedEventIds.contains(timelineItem.eventId), ) - val displayEmojiReactions = usersEventPermissions.canSendReaction && - timelineItem.content.canReact() - if (actions.isNotEmpty() || displayEmojiReactions) { + val verifiedUserSendFailure = buildVerifiedUserSendFailure(timelineItem) + val displayEmojiReactions = usersEventPermissions.canSendReaction && timelineItem.content.canReact() + + if (actions.isNotEmpty() || displayEmojiReactions || verifiedUserSendFailure != ActionListState.VerifiedUserSendFailure.None) { target.value = ActionListState.Target.Success( event = timelineItem, displayEmojiReactions = displayEmojiReactions, + verifiedUserSendFailure = verifiedUserSendFailure, actions = actions.toImmutableList() ) } else { @@ -128,6 +131,32 @@ class DefaultActionListPresenter @AssistedInject constructor( } } + private suspend fun buildVerifiedUserSendFailure( + timelineItem: TimelineItem.Event, + ): ActionListState.VerifiedUserSendFailure { + return when (val sendState = timelineItem.localSendState) { + is LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice -> { + val userId = sendState.devices.keys.firstOrNull() + if (userId == null) { + ActionListState.VerifiedUserSendFailure.None + } else { + val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value + ActionListState.VerifiedUserSendFailure.UnsignedDevice(displayName) + } + } + is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> { + val userId = sendState.users.firstOrNull() + if (userId == null) { + ActionListState.VerifiedUserSendFailure.None + } else { + val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value + ActionListState.VerifiedUserSendFailure.ChangedIdentity(displayName) + } + } + else -> ActionListState.VerifiedUserSendFailure.None + } + } + private fun buildActions( timelineItem: TimelineItem.Event, usersEventPermissions: UserEventPermissions, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt index bb3bd92fbe..614dcd3776 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt @@ -7,9 +7,12 @@ package io.element.android.features.messages.impl.actionlist +import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable +import androidx.compose.ui.res.stringResource import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList @Immutable @@ -17,13 +20,31 @@ data class ActionListState( val target: Target, val eventSink: (ActionListEvents) -> Unit, ) { + @Immutable sealed interface Target { data object None : Target data class Loading(val event: TimelineItem.Event) : Target data class Success( val event: TimelineItem.Event, val displayEmojiReactions: Boolean, + val verifiedUserSendFailure: VerifiedUserSendFailure, val actions: ImmutableList, ) : Target } + + @Immutable + sealed interface VerifiedUserSendFailure { + data object None : VerifiedUserSendFailure + data class UnsignedDevice(val displayName: String) : VerifiedUserSendFailure + data class ChangedIdentity(val displayName: String) : VerifiedUserSendFailure + + @Composable + fun formatted(): String { + return when (this) { + is None -> "" + is UnsignedDevice -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_unsigned_device, displayName) + is ChangedIdentity -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_changed_identity, displayName) + } + } + } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt index 722d8af11e..e53f3f11b2 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt @@ -18,6 +18,8 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVoiceContent +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -35,6 +37,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -47,6 +50,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState, ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -56,6 +60,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -65,6 +70,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -74,6 +80,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -83,6 +90,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -92,6 +100,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -101,6 +110,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = false, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ), ), @@ -110,6 +120,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = false, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, actions = aTimelineItemPollActionList(), ), ), @@ -120,6 +131,15 @@ open class ActionListStateProvider : PreviewParameterProvider { messageShield = MessageShield.UnknownDevice(isCritical = true) ), displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + actions = aTimelineItemActionList(), + ) + ), + anActionListState().copy( + target = ActionListState.Target.Success( + event = aTimelineItemEvent(), + displayEmojiReactions = true, + verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.UnsignedDevice(displayName = "Alice"), actions = aTimelineItemActionList(), ) ), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index 8316bddb32..e56a1e63f5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -27,6 +27,7 @@ import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ListItemDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable @@ -90,6 +91,7 @@ fun ActionListView( onSelectAction: (action: TimelineItemAction, TimelineItem.Event) -> Unit, onEmojiReactionClick: (String, TimelineItem.Event) -> Unit, onCustomReactionClick: (TimelineItem.Event) -> Unit, + onVerifiedUserSendFailureClick: (TimelineItem.Event) -> Unit, modifier: Modifier = Modifier, ) { val sheetState = rememberModalBottomSheetState() @@ -126,6 +128,14 @@ fun ActionListView( state.eventSink(ActionListEvents.Clear) } + fun onVerifiedUserSendFailureClick() { + if (targetItem == null) return + sheetState.hide(coroutineScope) { + state.eventSink(ActionListEvents.Clear) + onVerifiedUserSendFailureClick(targetItem) + } + } + if (targetItem != null) { ModalBottomSheet( sheetState = sheetState, @@ -137,6 +147,7 @@ fun ActionListView( onActionClick = ::onItemActionClick, onEmojiReactionClick = ::onEmojiReactionClick, onCustomReactionClick = ::onCustomReactionClick, + onVerifiedUserSendFailureClick = ::onVerifiedUserSendFailureClick, modifier = Modifier .navigationBarsPadding() .imePadding() @@ -151,6 +162,7 @@ private fun SheetContent( onActionClick: (TimelineItemAction) -> Unit, onEmojiReactionClick: (String) -> Unit, onCustomReactionClick: () -> Unit, + onVerifiedUserSendFailureClick: () -> Unit, modifier: Modifier = Modifier, ) { when (val target = state.target) { @@ -184,6 +196,16 @@ private fun SheetContent( HorizontalDivider() } } + if (target.verifiedUserSendFailure != ActionListState.VerifiedUserSendFailure.None) { + item { + VerifiedUserSendFailureView( + sendFailure = target.verifiedUserSendFailure, + modifier = Modifier.fillMaxWidth(), + onClick = onVerifiedUserSendFailureClick + ) + HorizontalDivider() + } + } if (target.displayEmojiReactions) { item { EmojiReactionsRow( @@ -338,6 +360,33 @@ private fun EmojiReactionsRow( } } +@Composable +private fun VerifiedUserSendFailureView( + sendFailure: ActionListState.VerifiedUserSendFailure, + onClick: () -> Unit, + modifier: Modifier = Modifier, +) { + ListItem( + modifier = modifier + .clickable(onClick = onClick) + .padding(horizontal = 16.dp, vertical = 8.dp), + leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Error())), + trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ChevronRight())), + headlineContent = { + Text( + text = sendFailure.formatted(), + style = ElementTheme.typography.fontBodySmMedium, + ) + }, + colors = ListItemDefaults.colors( + containerColor = Color.Transparent, + leadingIconColor = ElementTheme.colors.iconCriticalPrimary, + trailingIconColor = ElementTheme.colors.iconPrimary, + headlineColor = ElementTheme.colors.textCriticalPrimary, + ), + ) +} + @Composable private fun EmojiButton( emoji: String, @@ -387,5 +436,6 @@ internal fun SheetContentPreview( onActionClick = {}, onEmojiReactionClick = {}, onCustomReactionClick = {}, + onVerifiedUserSendFailureClick = {}, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index 8a03ed857c..f853b7c971 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -181,6 +181,7 @@ private fun PinnedMessagesListLoaded( onSelectAction = ::onActionSelected, onCustomReactionClick = {}, onEmojiReactionClick = { _, _ -> }, + onVerifiedUserSendFailureClick = {} ) LazyColumn( modifier = modifier.fillMaxSize(), diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index f7c3213ba4..b4fec91a0c 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -36,6 +36,7 @@ "Back" "Call" "Cancel" + "Cancel for now" "Choose photo" "Clear" "Close" @@ -283,6 +284,12 @@ Reason: %1$s." "Pinned messages" "You\'re about to go to your %1$s account to reset your identity. Afterwards you\'ll be taken back to the app." "Can\'t confirm? Go to your account to reset your identity." + "Withdraw verification and send" + "You can withdraw your verification and send this message anyway, or you can cancel for now and try again later after reverifying %1$s." + "Your message was not sent because %1$s’s verified identity has changed" + "Send message anyway" + "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." + "Your message was not sent because %1$s has not verified one or more devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -304,6 +311,8 @@ Reason: %1$s." "Open in Google Maps" "Open in OpenStreetMap" "Share this location" + "Message not sent because %1$s’s verified identity has changed." + "Message not sent because %1$s has not verified one or more devices." "Location" "Version: %1$s (%2$s)" "en" From de933b1f3403c938ed180acc1440dad98cb702b2 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 12 Sep 2024 19:06:19 +0200 Subject: [PATCH 028/122] Send failure verified user : expose new methods on MatrixRoom. --- .../libraries/matrix/api/room/MatrixRoom.kt | 5 +++++ .../matrix/impl/room/RustMatrixRoom.kt | 21 +++++++++++++++++-- .../matrix/test/room/FakeMatrixRoom.kt | 14 ++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index 2d8c807ce0..25340684d6 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.api.room +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias @@ -349,5 +350,9 @@ interface MatrixRoom : Closeable { */ suspend fun clearComposerDraft(): Result + suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId): Result + suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result + override fun close() = destroy() + } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index aad3777071..381063f0e1 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -459,8 +459,8 @@ class RustMatrixRoom( return liveTimeline.forwardEvent(eventId, roomIds) } - override suspend fun retrySendMessage(transactionId: TransactionId): Result { - return Result.failure(UnsupportedOperationException("Not supported")) + override suspend fun retrySendMessage(transactionId: TransactionId): Result = runCatching { + innerRoom.tryResend(transactionId.value) } override suspend fun cancelSend(transactionId: TransactionId): Result { @@ -645,6 +645,23 @@ class RustMatrixRoom( innerRoom.clearComposerDraft() } + override suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId) = runCatching { + innerRoom.ignoreDeviceTrustAndResend( + devices = devices + .entries.associate { entry -> + entry.key.value to entry.value.map { it.value } + }, + transactionId = transactionId.value + ) + } + + override suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId) = runCatching { + innerRoom.withdrawVerificationAndResend( + userIds = userIds.map { it.value }, + transactionId = transactionId.value + ) + } + private fun createTimeline( timeline: InnerTimeline, mode: Timeline.Mode, diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 4f35c37d4d..2290897f11 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.test.room +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias @@ -134,7 +135,10 @@ class FakeMatrixRoom( private val loadComposerDraftLambda: () -> Result = { Result.success(null) }, private val clearComposerDraftLambda: () -> Result = { Result.success(Unit) }, private val subscribeToSyncLambda: () -> Unit = { lambdaError() }, -) : MatrixRoom { + private val ignoreDeviceTrustAndResendResult: (Map>, TransactionId) -> Result = { _, _ -> lambdaError() }, + private val withdrawVerificationAndResendResult: (List, TransactionId) -> Result = { _, _ -> lambdaError() }, + + ) : MatrixRoom { private val _roomInfoFlow: MutableSharedFlow = MutableSharedFlow(replay = 1) override val roomInfoFlow: Flow = _roomInfoFlow @@ -492,6 +496,14 @@ class FakeMatrixRoom( return getWidgetDriverResult(widgetSettings) } + override suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId): Result { + return ignoreDeviceTrustAndResendResult(devices, transactionId) + } + + override suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result { + return withdrawVerificationAndResendResult(userIds, transactionId) + } + fun givenRoomMembersState(state: MatrixRoomMembersState) { membersStateFlow.value = state } From 416810accad293d5f053385a2b89981c81e9ac5f Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 13 Sep 2024 11:43:41 +0200 Subject: [PATCH 029/122] Send state : introduce Failed.VerifiedUser interface. --- .../api/timeline/item/event/LocalEventSendState.kt | 10 +++++++--- .../timeline/item/event/EventTimelineItemMapper.kt | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/LocalEventSendState.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/LocalEventSendState.kt index 92242faf18..452073bb25 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/LocalEventSendState.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/LocalEventSendState.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.matrix.api.timeline.item.event import androidx.compose.runtime.Immutable +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId @@ -18,21 +19,24 @@ sealed interface LocalEventSendState { data class Unknown(val error: String) : Failed data object CrossSigningNotSetup : Failed data object SendingFromUnverifiedDevice : Failed + + sealed interface VerifiedUser : Failed data class VerifiedUserHasUnsignedDevice( /** * The unsigned devices belonging to verified users. A map from user ID * to a list of device IDs. */ - val devices: Map> - ) : Failed + val devices: Map> + ) : VerifiedUser data class VerifiedUserChangedIdentity( /** * The users that were previously verified but are no longer. */ val users: List - ) : Failed + ) : VerifiedUser } + data class Sent( val eventId: EventId ) : LocalEventSendState diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt index 5f170c9387..f83d6d0672 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.impl.timeline.item.event +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UserId @@ -87,7 +88,9 @@ fun RustEventSendState?.map(): LocalEventSendState? { } is RustEventSendState.VerifiedUserHasUnsignedDevice -> { LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice( - devices = devices.mapKeys { UserId(it.key) } + devices = devices.entries.associate { entry -> + UserId(entry.key) to entry.value.map { DeviceId(it) } + } ) } EventSendState.CrossSigningNotSetup -> LocalEventSendState.Failed.CrossSigningNotSetup From ff368b407220c95d06c2d4d49af5084ffb58e2df Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 13 Sep 2024 11:44:19 +0200 Subject: [PATCH 030/122] Send failure verified user : resolve ui and logic --- .../messages/impl/MessagesPresenter.kt | 4 + .../features/messages/impl/MessagesState.kt | 2 + .../messages/impl/MessagesStateProvider.kt | 4 + .../features/messages/impl/MessagesView.kt | 8 +- .../impl/actionlist/ActionListPresenter.kt | 34 +- .../impl/actionlist/ActionListState.kt | 20 +- .../actionlist/ActionListStateProvider.kt | 26 +- .../impl/actionlist/ActionListView.kt | 19 +- .../sendfailure/VerifiedUserSendFailure.kt | 23 ++ .../VerifiedUserSendFailureFactory.kt | 42 +++ .../ResolveVerifiedUserSendFailureEvents.kt | 20 + ...ResolveVerifiedUserSendFailurePresenter.kt | 95 +++++ .../ResolveVerifiedUserSendFailureState.kt | 18 + ...lveVerifiedUserSendFailureStateProvider.kt | 45 +++ .../ResolveVerifiedUserSendFailureView.kt | 156 ++++++++ .../VerifiedUserSendFailureIterator.kt | 60 +++ .../VerifiedUserSendFailureResolver.kt | 64 ++++ .../messages/impl/di/MessagesModule.kt | 5 + .../messages/impl/MessagesPresenterTest.kt | 2 + .../messages/impl/MessagesViewTest.kt | 34 ++ .../actionlist/ActionListPresenterTest.kt | 52 ++- ...lveVerifiedUserSendFailurePresenterTest.kt | 353 ++++++++++++++++++ .../ResolveVerifiedUserSendFailureViewTest.kt | 61 +++ .../atomic/atoms/RoundedIconAtom.kt | 6 +- .../molecules/IconTitleSubtitleMolecule.kt | 4 + .../designsystem/theme/components/ListItem.kt | 12 +- .../libraries/matrix/api/room/MatrixRoom.kt | 1 - .../matrix/impl/room/RustMatrixRoom.kt | 7 +- .../matrix/test/room/FakeMatrixRoom.kt | 11 +- 29 files changed, 1103 insertions(+), 85 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureEvents.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenter.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureState.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureViewTest.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 5284af15a5..f657fb6393 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -30,6 +30,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter import io.element.android.features.messages.impl.messagecomposer.MessageComposerState @@ -95,6 +96,7 @@ class MessagesPresenter @AssistedInject constructor( private val reactionSummaryPresenter: ReactionSummaryPresenter, private val readReceiptBottomSheetPresenter: ReadReceiptBottomSheetPresenter, private val pinnedMessagesBannerPresenter: Presenter, + private val resolveVerifiedUserSendFailurePresenter: Presenter, private val networkMonitor: NetworkMonitor, private val snackbarDispatcher: SnackbarDispatcher, private val dispatchers: CoroutineDispatchers, @@ -128,6 +130,7 @@ class MessagesPresenter @AssistedInject constructor( val reactionSummaryState = reactionSummaryPresenter.present() val readReceiptBottomSheetState = readReceiptBottomSheetPresenter.present() val pinnedMessagesBannerState = pinnedMessagesBannerPresenter.present() + val resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailurePresenter.present() val syncUpdateFlow = room.syncUpdateFlow.collectAsState() @@ -227,6 +230,7 @@ class MessagesPresenter @AssistedInject constructor( appName = buildMeta.applicationName, callState = callState, pinnedMessagesBannerState = pinnedMessagesBannerState, + resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = { handleEvents(it) } ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt index 546e558ba8..c3b4b9183e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt @@ -9,6 +9,7 @@ package io.element.android.features.messages.impl import androidx.compose.runtime.Immutable import io.element.android.features.messages.impl.actionlist.ActionListState +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState import io.element.android.features.messages.impl.timeline.TimelineState @@ -47,6 +48,7 @@ data class MessagesState( val callState: RoomCallState, val appName: String, val pinnedMessagesBannerState: PinnedMessagesBannerState, + val resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState, val eventSink: (MessagesEvents) -> Unit ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index 96e55aac91..cc651bc978 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -10,6 +10,8 @@ package io.element.android.features.messages.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.anActionListState +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState @@ -113,6 +115,7 @@ fun aMessagesState( enableVoiceMessages: Boolean = true, callState: RoomCallState = RoomCallState.ENABLED, pinnedMessagesBannerState: PinnedMessagesBannerState = aLoadedPinnedMessagesBannerState(), + resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState(), eventSink: (MessagesEvents) -> Unit = {}, ) = MessagesState( roomId = RoomId("!id:domain"), @@ -137,6 +140,7 @@ fun aMessagesState( callState = callState, appName = "Element", pinnedMessagesBannerState = pinnedMessagesBannerState, + resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = eventSink, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 05329c3fea..d56ef675c3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -57,6 +57,8 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListView import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.attachments.Attachment +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureView import io.element.android.features.messages.impl.messagecomposer.AttachmentsBottomSheet import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents @@ -242,8 +244,12 @@ fun MessagesView( }, onEmojiReactionClick = ::onEmojiReactionClick, onVerifiedUserSendFailureClick = { event -> + state.resolveVerifiedUserSendFailureState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(event)) + }, + ) - } + ResolveVerifiedUserSendFailureView( + state = state.resolveVerifiedUserSendFailureState, ) CustomReactionBottomSheet( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt index 802fdbf9ed..88b7128b76 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt @@ -22,6 +22,8 @@ import io.element.android.features.messages.api.pinned.IsPinnedMessagesFeatureEn import io.element.android.features.messages.impl.UserEventPermissions import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailureFactory import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemCallNotifyContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent @@ -36,7 +38,6 @@ import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.room.MatrixRoom -import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.preferences.api.store.AppPreferencesStore import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -57,6 +58,7 @@ class DefaultActionListPresenter @AssistedInject constructor( private val appPreferencesStore: AppPreferencesStore, private val isPinnedMessagesFeatureEnabled: IsPinnedMessagesFeatureEnabled, private val room: MatrixRoom, + private val userSendFailureFactory: VerifiedUserSendFailureFactory, ) : ActionListPresenter { @AssistedFactory @ContributesBinding(RoomScope::class) @@ -116,10 +118,10 @@ class DefaultActionListPresenter @AssistedInject constructor( isEventPinned = pinnedEventIds.contains(timelineItem.eventId), ) - val verifiedUserSendFailure = buildVerifiedUserSendFailure(timelineItem) + val verifiedUserSendFailure = userSendFailureFactory.create(timelineItem.localSendState) val displayEmojiReactions = usersEventPermissions.canSendReaction && timelineItem.content.canReact() - if (actions.isNotEmpty() || displayEmojiReactions || verifiedUserSendFailure != ActionListState.VerifiedUserSendFailure.None) { + if (actions.isNotEmpty() || displayEmojiReactions || verifiedUserSendFailure != VerifiedUserSendFailure.None) { target.value = ActionListState.Target.Success( event = timelineItem, displayEmojiReactions = displayEmojiReactions, @@ -131,32 +133,6 @@ class DefaultActionListPresenter @AssistedInject constructor( } } - private suspend fun buildVerifiedUserSendFailure( - timelineItem: TimelineItem.Event, - ): ActionListState.VerifiedUserSendFailure { - return when (val sendState = timelineItem.localSendState) { - is LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice -> { - val userId = sendState.devices.keys.firstOrNull() - if (userId == null) { - ActionListState.VerifiedUserSendFailure.None - } else { - val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value - ActionListState.VerifiedUserSendFailure.UnsignedDevice(displayName) - } - } - is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> { - val userId = sendState.users.firstOrNull() - if (userId == null) { - ActionListState.VerifiedUserSendFailure.None - } else { - val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value - ActionListState.VerifiedUserSendFailure.ChangedIdentity(displayName) - } - } - else -> ActionListState.VerifiedUserSendFailure.None - } - } - private fun buildActions( timelineItem: TimelineItem.Event, usersEventPermissions: UserEventPermissions, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt index 614dcd3776..75c598df36 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListState.kt @@ -7,12 +7,10 @@ package io.element.android.features.messages.impl.actionlist -import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable -import androidx.compose.ui.res.stringResource import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure import io.element.android.features.messages.impl.timeline.model.TimelineItem -import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList @Immutable @@ -31,20 +29,4 @@ data class ActionListState( val actions: ImmutableList, ) : Target } - - @Immutable - sealed interface VerifiedUserSendFailure { - data object None : VerifiedUserSendFailure - data class UnsignedDevice(val displayName: String) : VerifiedUserSendFailure - data class ChangedIdentity(val displayName: String) : VerifiedUserSendFailure - - @Composable - fun formatted(): String { - return when (this) { - is None -> "" - is UnsignedDevice -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_unsigned_device, displayName) - is ChangedIdentity -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_changed_identity, displayName) - } - } - } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt index e53f3f11b2..4f92bc72ba 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt @@ -9,6 +9,8 @@ package io.element.android.features.messages.impl.actionlist import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.anUnsignedDeviceSendFailure import io.element.android.features.messages.impl.timeline.aTimelineItemEvent import io.element.android.features.messages.impl.timeline.aTimelineItemReactions import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemAudioContent @@ -18,8 +20,6 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVoiceContent -import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -37,7 +37,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -50,7 +50,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState, ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -60,7 +60,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -70,7 +70,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -80,7 +80,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -90,7 +90,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -100,7 +100,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -110,7 +110,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = false, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ), ), @@ -120,7 +120,7 @@ open class ActionListStateProvider : PreviewParameterProvider { reactionsState = reactionsState ), displayEmojiReactions = false, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemPollActionList(), ), ), @@ -131,7 +131,7 @@ open class ActionListStateProvider : PreviewParameterProvider { messageShield = MessageShield.UnknownDevice(isCritical = true) ), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.None, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = aTimelineItemActionList(), ) ), @@ -139,7 +139,7 @@ open class ActionListStateProvider : PreviewParameterProvider { target = ActionListState.Target.Success( event = aTimelineItemEvent(), displayEmojiReactions = true, - verifiedUserSendFailure = ActionListState.VerifiedUserSendFailure.UnsignedDevice(displayName = "Alice"), + verifiedUserSendFailure = anUnsignedDeviceSendFailure(), actions = aTimelineItemActionList(), ) ), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index e56a1e63f5..8c950012db 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -47,6 +47,10 @@ import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure.ChangedIdentity +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure.None +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure.UnsignedDevice import io.element.android.features.messages.impl.timeline.components.MessageShieldView import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent @@ -196,7 +200,7 @@ private fun SheetContent( HorizontalDivider() } } - if (target.verifiedUserSendFailure != ActionListState.VerifiedUserSendFailure.None) { + if (target.verifiedUserSendFailure != None) { item { VerifiedUserSendFailureView( sendFailure = target.verifiedUserSendFailure, @@ -362,10 +366,19 @@ private fun EmojiReactionsRow( @Composable private fun VerifiedUserSendFailureView( - sendFailure: ActionListState.VerifiedUserSendFailure, + sendFailure: VerifiedUserSendFailure, onClick: () -> Unit, modifier: Modifier = Modifier, ) { + @Composable + fun VerifiedUserSendFailure.headline(): String { + return when (this) { + is None -> "" + is UnsignedDevice -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_unsigned_device, userDisplayName) + is ChangedIdentity -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_changed_identity, userDisplayName) + } + } + ListItem( modifier = modifier .clickable(onClick = onClick) @@ -374,7 +387,7 @@ private fun VerifiedUserSendFailureView( trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ChevronRight())), headlineContent = { Text( - text = sendFailure.formatted(), + text = sendFailure.headline(), style = ElementTheme.typography.fontBodySmMedium, ) }, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt new file mode 100644 index 0000000000..e3c798f7df --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure + +import androidx.compose.runtime.Immutable + +@Immutable +sealed interface VerifiedUserSendFailure { + data object None : VerifiedUserSendFailure + + data class UnsignedDevice( + val userDisplayName: String, + ) : VerifiedUserSendFailure + + data class ChangedIdentity( + val userDisplayName: String, + ) : VerifiedUserSendFailure +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt new file mode 100644 index 0000000000..de5817c909 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure + +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState +import javax.inject.Inject + +class VerifiedUserSendFailureFactory @Inject constructor( + private val room: MatrixRoom, +) { + suspend fun create( + sendState: LocalEventSendState?, + ): VerifiedUserSendFailure { + return when (sendState) { + is LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice -> { + val userId = sendState.devices.keys.firstOrNull() + if (userId == null) { + VerifiedUserSendFailure.None + } else { + val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value + VerifiedUserSendFailure.UnsignedDevice(displayName) + } + } + is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> { + val userId = sendState.users.firstOrNull() + if (userId == null) { + VerifiedUserSendFailure.None + } else { + val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value + VerifiedUserSendFailure.ChangedIdentity(displayName) + } + } + else -> VerifiedUserSendFailure.None + } + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureEvents.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureEvents.kt new file mode 100644 index 0000000000..7743ef9dcd --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureEvents.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import io.element.android.features.messages.impl.timeline.model.TimelineItem + +sealed interface ResolveVerifiedUserSendFailureEvents { + data class ComputeForMessage( + val messageEvent: TimelineItem.Event, + ) : ResolveVerifiedUserSendFailureEvents + + data object ResolveAndResend : ResolveVerifiedUserSendFailureEvents + data object Retry : ResolveVerifiedUserSendFailureEvents + data object Dismiss : ResolveVerifiedUserSendFailureEvents +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenter.kt new file mode 100644 index 0000000000..c96e695375 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenter.kt @@ -0,0 +1,95 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.produceState +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailureFactory +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.architecture.runUpdatingState +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState +import kotlinx.coroutines.launch +import javax.inject.Inject + +class ResolveVerifiedUserSendFailurePresenter @Inject constructor( + private val room: MatrixRoom, + private val verifiedUserSendFailureFactory: VerifiedUserSendFailureFactory, +) : Presenter { + @Composable + override fun present(): ResolveVerifiedUserSendFailureState { + var resolver by remember { + mutableStateOf(null) + } + val verifiedUserSendFailure by produceState(VerifiedUserSendFailure.None, resolver?.currentSendFailure?.value) { + val currentSendFailure = resolver?.currentSendFailure?.value + value = verifiedUserSendFailureFactory.create(currentSendFailure) + } + + val resolveAction = remember { + mutableStateOf>(AsyncAction.Uninitialized) + } + val retryAction = remember { + mutableStateOf>(AsyncAction.Uninitialized) + } + val coroutineScope = rememberCoroutineScope() + + fun handleEvents(event: ResolveVerifiedUserSendFailureEvents) { + when (event) { + is ResolveVerifiedUserSendFailureEvents.ComputeForMessage -> { + val sendState = event.messageEvent.localSendState as? LocalEventSendState.Failed.VerifiedUser + val transactionId = event.messageEvent.transactionId + resolver = if (sendState != null && transactionId != null) { + VerifiedUserSendFailureResolver( + room = room, + transactionId = transactionId, + iterator = VerifiedUserSendFailureIterator.from(sendState) + ) + } else { + null + } + } + ResolveVerifiedUserSendFailureEvents.Dismiss -> { + resolver = null + } + ResolveVerifiedUserSendFailureEvents.Retry -> { + coroutineScope.launch { + resolver?.run { + runUpdatingState(retryAction) { + resend() + } + } + } + } + ResolveVerifiedUserSendFailureEvents.ResolveAndResend -> { + coroutineScope.launch { + resolver?.run { + runUpdatingState(resolveAction) { + resolveAndResend() + } + } + } + } + } + } + + return ResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = verifiedUserSendFailure, + resolveAction = resolveAction.value, + retryAction = retryAction.value, + eventSink = ::handleEvents + ) + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureState.kt new file mode 100644 index 0000000000..44ec6640b0 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureState.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.libraries.architecture.AsyncAction + +data class ResolveVerifiedUserSendFailureState( + val verifiedUserSendFailure: VerifiedUserSendFailure, + val resolveAction: AsyncAction, + val retryAction: AsyncAction, + val eventSink: (ResolveVerifiedUserSendFailureEvents) -> Unit +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt new file mode 100644 index 0000000000..1f8335b648 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt @@ -0,0 +1,45 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.libraries.architecture.AsyncAction + +open class ResolveVerifiedUserSendFailureStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aResolveVerifiedUserSendFailureState(), + aResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = anUnsignedDeviceSendFailure() + ), + aResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = aChangedIdentitySendFailure() + ) + ) +} + +fun aResolveVerifiedUserSendFailureState( + verifiedUserSendFailure: VerifiedUserSendFailure = VerifiedUserSendFailure.None, + resolveAction: AsyncAction = AsyncAction.Uninitialized, + retryAction: AsyncAction = AsyncAction.Uninitialized, + eventSink: (ResolveVerifiedUserSendFailureEvents) -> Unit = {} +) = ResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = verifiedUserSendFailure, + resolveAction = resolveAction, + retryAction = retryAction, + eventSink = eventSink +) + +fun anUnsignedDeviceSendFailure(userDisplayName: String = "Alice") = VerifiedUserSendFailure.UnsignedDevice( + userDisplayName = userDisplayName, +) + +fun aChangedIdentitySendFailure(userDisplayName: String = "Alice") = VerifiedUserSendFailure.ChangedIdentity( + userDisplayName = userDisplayName, +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt new file mode 100644 index 0000000000..10c3236f46 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -0,0 +1,156 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBarsPadding +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.rememberModalBottomSheetState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule +import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.components.Button +import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet +import io.element.android.libraries.designsystem.theme.components.OutlinedButton +import io.element.android.libraries.designsystem.theme.components.TextButton +import io.element.android.libraries.ui.strings.CommonStrings + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun ResolveVerifiedUserSendFailureView( + state: ResolveVerifiedUserSendFailureState, + modifier: Modifier = Modifier, +) { + val sheetState = rememberModalBottomSheetState() + var showSheet by remember { mutableStateOf(false) } + + fun dismiss() { + state.eventSink(ResolveVerifiedUserSendFailureEvents.Dismiss) + } + + fun onRetryClick() { + state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry) + } + + fun onResolveAndResendClick() { + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + + LaunchedEffect(state.verifiedUserSendFailure) { + if (state.verifiedUserSendFailure is VerifiedUserSendFailure.None) { + sheetState.hide() + showSheet = false + } else { + showSheet = true + } + } + + Box(modifier = modifier) { + if (showSheet) { + ModalBottomSheet( + modifier = Modifier + .systemBarsPadding() + .navigationBarsPadding(), + sheetState = sheetState, + onDismissRequest = ::dismiss, + ) { + IconTitleSubtitleMolecule( + modifier = Modifier.padding(24.dp), + title = state.verifiedUserSendFailure.title(), + subTitle = state.verifiedUserSendFailure.subtitle(), + iconImageVector = CompoundIcons.Error(), + iconTint = ElementTheme.colors.iconCriticalPrimary, + iconBackgroundTint = ElementTheme.colors.bgCriticalSubtle, + ) + ButtonColumnMolecule( + modifier = Modifier.padding(horizontal = 16.dp, vertical = 16.dp), + ) { + Button( + modifier = Modifier.fillMaxWidth(), + text = state.verifiedUserSendFailure.resolveAction(), + showProgress = state.resolveAction.isLoading(), + onClick = ::onResolveAndResendClick + ) + OutlinedButton( + modifier = Modifier.fillMaxWidth(), + text = stringResource(id = CommonStrings.action_retry), + showProgress = state.retryAction.isLoading(), + onClick = ::onRetryClick + ) + TextButton( + modifier = Modifier.fillMaxWidth(), + text = stringResource(id = CommonStrings.action_cancel_for_now), + onClick = ::dismiss, + ) + } + } + } + } +} + +@Composable +private fun VerifiedUserSendFailure.title(): String { + return when (this) { + is VerifiedUserSendFailure.UnsignedDevice -> stringResource(id = CommonStrings.screen_resolve_send_failure_unsigned_device_title, userDisplayName) + is VerifiedUserSendFailure.ChangedIdentity -> stringResource( + id = CommonStrings.screen_resolve_send_failure_changed_identity_title, + userDisplayName + ) + VerifiedUserSendFailure.None -> "" + } +} + +@Composable +private fun VerifiedUserSendFailure.subtitle(): String { + return when (this) { + is VerifiedUserSendFailure.UnsignedDevice -> stringResource( + id = CommonStrings.screen_resolve_send_failure_unsigned_device_subtitle, + userDisplayName, + userDisplayName, + ) + is VerifiedUserSendFailure.ChangedIdentity -> stringResource( + id = CommonStrings.screen_resolve_send_failure_changed_identity_subtitle, + userDisplayName + ) + VerifiedUserSendFailure.None -> "" + } +} + +@Composable +private fun VerifiedUserSendFailure.resolveAction(): String { + return when (this) { + is VerifiedUserSendFailure.UnsignedDevice -> stringResource(id = CommonStrings.screen_resolve_send_failure_unsigned_device_primary_button_title) + is VerifiedUserSendFailure.ChangedIdentity -> stringResource(id = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title) + VerifiedUserSendFailure.None -> "" + } +} + +@PreviewsDayNight +@Composable +internal fun ResolveVerifiedUserSendFailureViewPreview( + @PreviewParameter(ResolveVerifiedUserSendFailureStateProvider::class) state: ResolveVerifiedUserSendFailureState +) = ElementPreview { + ResolveVerifiedUserSendFailureView(state) +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt new file mode 100644 index 0000000000..ccdcfb509b --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt @@ -0,0 +1,60 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState + +/** + * Iterator for [LocalEventSendState.Failed.VerifiedUser] + * Allow to iterate through the internal state of the failure. + * This is useful to allow solving the failure step by step (e.g. for each user). + */ +interface VerifiedUserSendFailureIterator : Iterator { + companion object { + fun from(failure: LocalEventSendState.Failed.VerifiedUser): VerifiedUserSendFailureIterator { + return when (failure) { + is LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice -> UnsignedDeviceSendFailureIterator(failure) + is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> ChangedIdentitySendFailureIterator(failure) + } + } + } +} + +class UnsignedDeviceSendFailureIterator( + failure: LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice +) : VerifiedUserSendFailureIterator { + private val iterator = failure.devices.iterator() + + override fun hasNext(): Boolean { + return iterator.hasNext() + } + + override fun next(): LocalEventSendState.Failed.VerifiedUser { + val (userId, deviceIds) = iterator.next() + return LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice( + mapOf(userId to deviceIds) + ) + } +} + +class ChangedIdentitySendFailureIterator( + failure: LocalEventSendState.Failed.VerifiedUserChangedIdentity +) : VerifiedUserSendFailureIterator { + private val iterator = failure.users.iterator() + + override fun hasNext(): Boolean { + return iterator.hasNext() + } + + override fun next(): LocalEventSendState.Failed.VerifiedUser { + val userId = iterator.next() + return LocalEventSendState.Failed.VerifiedUserChangedIdentity( + listOf(userId) + ) + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt new file mode 100644 index 0000000000..0f6049b11f --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt @@ -0,0 +1,64 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import androidx.compose.runtime.mutableStateOf +import io.element.android.libraries.matrix.api.core.TransactionId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState +import timber.log.Timber + +class VerifiedUserSendFailureResolver( + private val room: MatrixRoom, + private val transactionId: TransactionId, + private val iterator: VerifiedUserSendFailureIterator, +) { + val currentSendFailure = mutableStateOf(null) + + init { + if (iterator.hasNext()) { + currentSendFailure.value = iterator.next() + } + } + + suspend fun resend(): Result { + return room.retrySendMessage(transactionId) + .onSuccess { + Timber.d("Succeed to resend message with transactionId: $transactionId") + currentSendFailure.value = null + } + .onFailure { + Timber.e(it, "Failed to resend message with transactionId: $transactionId") + } + } + + suspend fun resolveAndResend(): Result { + return when (val failure = currentSendFailure.value) { + is LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice -> { + room.ignoreDeviceTrustAndResend(failure.devices, transactionId) + } + is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> { + room.withdrawVerificationAndResend(failure.users, transactionId) + } + else -> { + Result.failure(IllegalStateException("Unknown send failure type")) + } + }.onSuccess { + Timber.d("Succeed to resolve and resend message with transactionId: $transactionId") + if (iterator.hasNext()) { + val failure = iterator.next() + currentSendFailure.value = failure + } else { + currentSendFailure.value = null + Timber.d("No more failure to resolve for transactionId: $transactionId") + } + }.onFailure { + Timber.e(it, "Failed to resolve and resend message with transactionId: $transactionId") + } + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index e6cb916aef..8c488d61da 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -10,6 +10,8 @@ package io.element.android.features.messages.impl.di import com.squareup.anvil.annotations.ContributesTo import dagger.Binds import dagger.Module +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailurePresenter +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerPresenter import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState import io.element.android.libraries.architecture.Presenter @@ -20,4 +22,7 @@ import io.element.android.libraries.di.RoomScope interface MessagesModule { @Binds fun bindPinnedMessagesBannerPresenter(presenter: PinnedMessagesBannerPresenter): Presenter + + @Binds + fun bindResolveVerifiedUserSendFailurePresenter(presenter: ResolveVerifiedUserSendFailurePresenter): Presenter } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index df873d2328..fec6ea000e 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -16,6 +16,7 @@ import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.FakeActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.draft.FakeComposerDraftService import io.element.android.features.messages.impl.fixtures.aMessageEvent import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator @@ -1062,6 +1063,7 @@ class MessagesPresenterTest { reactionSummaryPresenter = reactionSummaryPresenter, readReceiptBottomSheetPresenter = readReceiptBottomSheetPresenter, pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() }, + resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, networkMonitor = FakeNetworkMonitor(), snackbarDispatcher = SnackbarDispatcher(), navigator = navigator, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt index 52387f821a..08c1119a6a 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt @@ -34,6 +34,10 @@ import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.anActionListState import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.attachments.Attachment +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aChangedIdentitySendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerItem import io.element.android.features.messages.impl.pinned.banner.aLoadedPinnedMessagesBannerState @@ -329,6 +333,7 @@ class MessagesViewTest { event = timelineItem, displayEmojiReactions = true, actions = persistentListOf(TimelineItemAction.Edit), + verifiedUserSendFailure = VerifiedUserSendFailure.None, ) ), ) @@ -399,6 +404,7 @@ class MessagesViewTest { target = ActionListState.Target.Success( event = timelineItem, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf(TimelineItemAction.Edit), ), ), @@ -416,6 +422,34 @@ class MessagesViewTest { eventsRecorder.assertSingle(CustomReactionEvents.ShowCustomReactionSheet(timelineItem)) } + @Test + fun `clicking on verified user send failure from action list emits the expected Event`() { + val eventsRecorder = EventsRecorder() + val state = aMessagesState() + val timelineItem = state.timelineState.timelineItems.first() as TimelineItem.Event + val stateWithActionListState = state.copy( + actionListState = anActionListState( + target = ActionListState.Target.Success( + event = timelineItem, + displayEmojiReactions = true, + verifiedUserSendFailure = aChangedIdentitySendFailure(), + actions = persistentListOf(), + ), + ), + resolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState( + eventSink = eventsRecorder + ), + ) + rule.setMessagesView( + state = stateWithActionListState, + ) + val verifiedUserSendFailure = rule.activity.getString(CommonStrings.screen_timeline_item_menu_send_failure_changed_identity, "Alice") + rule.onNodeWithText(verifiedUserSendFailure).performClick() + // Give time for the close animation to complete + rule.mainClock.advanceTimeBy(milliseconds = 1_000) + eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(timelineItem)) + } + @Test fun `clicking on a custom emoji emits the expected Events`() { val aUnicode = "🙈" diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenterTest.kt index bd580b5f98..078fb9e676 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenterTest.kt @@ -14,6 +14,8 @@ import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.aUserEventPermissions import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailureFactory import io.element.android.features.messages.impl.fixtures.aMessageEvent import io.element.android.features.messages.impl.timeline.aTimelineItemEvent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemCallNotifyContent @@ -25,8 +27,10 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVoiceContent import io.element.android.features.poll.api.pollcontent.aPollAnswerItemList import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.test.AN_EVENT_ID import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore @@ -79,6 +83,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = false, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.ViewSource, ) @@ -120,6 +125,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = false, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.ViewSource, ) @@ -161,6 +167,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -208,6 +215,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Forward, TimelineItemAction.Pin, @@ -252,6 +260,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -298,6 +307,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = false, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -345,6 +355,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -392,6 +403,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -439,6 +451,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -484,6 +497,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = stateEvent, displayEmojiReactions = false, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.ViewSource, ) @@ -553,6 +567,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -599,6 +614,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -652,6 +668,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -748,6 +765,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Edit, TimelineItemAction.Copy, @@ -787,6 +805,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Edit, @@ -829,6 +848,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.EndPoll, @@ -870,6 +890,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Pin, @@ -910,6 +931,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = true, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.Reply, TimelineItemAction.Forward, @@ -949,6 +971,7 @@ class ActionListPresenterTest { ActionListState.Target.Success( event = messageEvent, displayEmojiReactions = false, + verifiedUserSendFailure = VerifiedUserSendFailure.None, actions = persistentListOf( TimelineItemAction.ViewSource ) @@ -956,6 +979,32 @@ class ActionListPresenterTest { ) } } + + @Test + fun `present - compute for verified user send failure`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { Result.success("Alice") } + ) + val presenter = createActionListPresenter(isDeveloperModeEnabled = false, isPinFeatureEnabled = false, room = room) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + val messageEvent = aMessageEvent( + sendState = LocalEventSendState.Failed.VerifiedUserChangedIdentity(users = listOf(A_USER_ID)), + ) + initialState.eventSink.invoke( + ActionListEvents.ComputeForMessage( + event = messageEvent, + userEventPermissions = aUserEventPermissions(), + ) + ) + skipItems(1) + val successState = awaitItem() + val target = successState.target as ActionListState.Target.Success + assertThat(target.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(userDisplayName = "Alice")) + } + } } private fun createActionListPresenter( @@ -968,6 +1017,7 @@ private fun createActionListPresenter( postProcessor = TimelineItemActionPostProcessor.Default, appPreferencesStore = preferencesStore, isPinnedMessagesFeatureEnabled = { isPinFeatureEnabled }, - room = room + room = room, + userSendFailureFactory = VerifiedUserSendFailureFactory(room) ) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt new file mode 100644 index 0000000000..8d5884cf08 --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt @@ -0,0 +1,353 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import com.google.common.truth.Truth.assertThat +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure +import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailureFactory +import io.element.android.features.messages.impl.fixtures.aMessageEvent +import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_TRANSACTION_ID +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_ID_2 +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.test +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class ResolveVerifiedUserSendFailurePresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - initial state`() = runTest { + val presenter = createResolveVerifiedUserSendFailurePresenter() + presenter.test { + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + } + } + + @Test + fun `present - remote message scenario`() = runTest { + val presenter = createResolveVerifiedUserSendFailurePresenter() + presenter.test { + val sentMessage = aMessageEvent() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(sentMessage)) + ensureAllEventsConsumed() + } + } + + @Test + fun `present - sent message scenario`() = runTest { + val presenter = createResolveVerifiedUserSendFailurePresenter() + presenter.test { + val sentMessage = aMessageEvent( + sendState = LocalEventSendState.Sent(AN_EVENT_ID) + ) + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(sentMessage)) + ensureAllEventsConsumed() + } + } + + @Test + fun `present - unknown failed message scenario`() = runTest { + val presenter = createResolveVerifiedUserSendFailurePresenter() + presenter.test { + val failedMessage = aMessageEvent( + sendState = LocalEventSendState.Failed.Unknown("") + ) + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user unsigned device failure dismiss scenario`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.Dismiss) + } + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user unsigned device failure retry scenario`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + retrySendMessageResult = { + Result.success(Unit) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry) + } + awaitItem().also { state -> + assertThat(state.retryAction).isEqualTo(AsyncAction.Loading) + } + skipItems(2) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + assertThat(state.retryAction).isEqualTo(AsyncAction.Success(Unit)) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user unsigned device failure resolve and resend scenario`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + ignoreDeviceTrustAndResendResult = { _, _ -> + Result.success(Unit) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + awaitItem().also { state -> + assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading) + } + // This should move to the next user + skipItems(2) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID_2.value)) + assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + + skipItems(3) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user unsigned device failure resolve and resend scenario with error`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + ignoreDeviceTrustAndResendResult = { _, _ -> + Result.failure(Exception()) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + awaitItem().also { state -> + assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading) + } + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.resolveAction).isInstanceOf(AsyncAction.Failure::class.java) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user changed identity failure retry scenario`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + retrySendMessageResult = { + Result.success(Unit) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserChangedIdentityMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry) + } + awaitItem().also { state -> + assertThat(state.retryAction).isEqualTo(AsyncAction.Loading) + } + skipItems(2) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + assertThat(state.retryAction).isEqualTo(AsyncAction.Success(Unit)) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user changed identity failure resolve and resend scenario`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + withdrawVerificationAndResendResult = { _, _ -> + Result.success(Unit) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserChangedIdentityMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + awaitItem().also { state -> + assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading) + } + // This should move to the next user + skipItems(2) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID_2.value)) + assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + + skipItems(3) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + } + ensureAllEventsConsumed() + } + } + + @Test + fun `present - verified user changed identity failure resolve and resend scenario with error`() = runTest { + val room = FakeMatrixRoom( + userDisplayNameResult = { userId -> + Result.success(userId.value) + }, + withdrawVerificationAndResendResult = { _, _ -> + Result.failure(Exception()) + }, + ) + val presenter = createResolveVerifiedUserSendFailurePresenter(room) + presenter.test { + val failedMessage = aVerifiedUserChangedIdentityMessage() + val initialState = awaitItem() + assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None) + initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) + + skipItems(1) + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value)) + state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + awaitItem().also { state -> + assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading) + } + awaitItem().also { state -> + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value)) + assertThat(state.resolveAction).isInstanceOf(AsyncAction.Failure::class.java) + } + ensureAllEventsConsumed() + } + } + + private fun aVerifiedUserHasUnsignedDeviceFailedMessage(): TimelineItem.Event { + return aMessageEvent( + transactionId = A_TRANSACTION_ID, + sendState = LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice( + mapOf( + A_USER_ID to emptyList(), + A_USER_ID_2 to emptyList() + ) + ) + ) + } + + private fun aVerifiedUserChangedIdentityMessage(): TimelineItem.Event { + return aMessageEvent( + transactionId = A_TRANSACTION_ID, + sendState = LocalEventSendState.Failed.VerifiedUserChangedIdentity( + listOf(A_USER_ID, A_USER_ID_2) + ) + ) + } + + private fun createResolveVerifiedUserSendFailurePresenter( + room: MatrixRoom = FakeMatrixRoom(), + ): ResolveVerifiedUserSendFailurePresenter { + return ResolveVerifiedUserSendFailurePresenter( + room = room, + verifiedUserSendFailureFactory = VerifiedUserSendFailureFactory(room), + ) + } +} diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureViewTest.kt new file mode 100644 index 0000000000..e5d67848dd --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureViewTest.kt @@ -0,0 +1,61 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.sendfailure.resolve + +import androidx.activity.ComponentActivity +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.libraries.ui.strings.CommonStrings +import io.element.android.tests.testutils.EventsRecorder +import io.element.android.tests.testutils.clickOn +import org.junit.Rule +import org.junit.Test +import org.junit.rules.TestRule +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class ResolveVerifiedUserSendFailureViewTest { + @get:Rule val rule = createAndroidComposeRule() + + @Test + fun `clicking on resolve and resend emit the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setResolveVerifiedUserSendFailureView( + state = aResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = aChangedIdentitySendFailure(), + eventSink = eventsRecorder, + ), + ) + + rule.clickOn(res = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title) + eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) + } + + @Test + fun `clicking on retry emit the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setResolveVerifiedUserSendFailureView( + state = aResolveVerifiedUserSendFailureState( + verifiedUserSendFailure = aChangedIdentitySendFailure(), + eventSink = eventsRecorder, + ), + ) + + rule.clickOn(res = CommonStrings.action_retry) + eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.Retry) + } + + private fun AndroidComposeTestRule.setResolveVerifiedUserSendFailureView( + state: ResolveVerifiedUserSendFailureState, + ) { + setContent { + ResolveVerifiedUserSendFailureView(state = state) + } + } +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt index 9dc739da96..c21e1a5f38 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt @@ -37,6 +37,7 @@ import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial * @param resourceId the resource id of the icon to display, exclusive with [imageVector] * @param imageVector the image vector of the icon to display, exclusive with [resourceId] * @param tint the tint to apply to the icon + * @param backgroundTint the tint to apply to the icon background */ @Composable fun RoundedIconAtom( @@ -44,13 +45,14 @@ fun RoundedIconAtom( size: RoundedIconAtomSize = RoundedIconAtomSize.Large, resourceId: Int? = null, imageVector: ImageVector? = null, - tint: Color = MaterialTheme.colorScheme.secondary + tint: Color = MaterialTheme.colorScheme.secondary, + backgroundTint: Color = ElementTheme.colors.temporaryColorBgSpecial, ) { Box( modifier = modifier .size(size.toContainerSize()) .background( - color = ElementTheme.colors.temporaryColorBgSpecial, + color = backgroundTint, shape = RoundedCornerShape(size.toCornerSize()) ) ) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt index f4c88ab59b..4812eaddee 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt @@ -27,6 +27,7 @@ import io.element.android.libraries.designsystem.icons.CompoundDrawables import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial /** * IconTitleSubtitleMolecule is a molecule which displays an icon, a title and a subtitle. @@ -37,6 +38,7 @@ import io.element.android.libraries.designsystem.theme.components.Text * @param iconResourceId the resource id of the icon to display, exclusive with [iconImageVector] * @param iconImageVector the image vector of the icon to display, exclusive with [iconResourceId] * @param iconTint the tint to apply to the icon + * @param iconBackgroundTint the tint to apply to the icon background */ @Composable fun IconTitleSubtitleMolecule( @@ -46,6 +48,7 @@ fun IconTitleSubtitleMolecule( iconResourceId: Int? = null, iconImageVector: ImageVector? = null, iconTint: Color = MaterialTheme.colorScheme.primary, + iconBackgroundTint: Color = ElementTheme.colors.temporaryColorBgSpecial, ) { Column(modifier) { RoundedIconAtom( @@ -55,6 +58,7 @@ fun IconTitleSubtitleMolecule( resourceId = iconResourceId, imageVector = iconImageVector, tint = iconTint, + backgroundTint = iconBackgroundTint, ) Spacer(modifier = Modifier.height(16.dp)) Text( diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index 3e2fd6dcd5..f09ccad5d9 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -80,11 +80,11 @@ fun ListItem( /** * A List Item component to be used in lists and menus with simple layouts, matching the Material 3 guidelines. * @param headlineContent The main content of the list item, usually a text. + * @param colors The colors to use for the list item. You can use [ListItemDefaults.colors] to create this. * @param modifier The modifier to be applied to the list item. * @param supportingContent The content to be displayed below the headline content. * @param leadingContent The content to be displayed before the headline content. * @param trailingContent The content to be displayed after the headline content. - * @param colors The colors to use for the list item. * @param enabled Whether the list item is enabled. When disabled, will change the color of the headline content and the leading content to use disabled tokens. * @param onClick The callback to be called when the list item is clicked. */ @@ -412,8 +412,8 @@ private object PreviewItems { ) { ElementThemedPreview { ListItem( - headlineContent = PreviewItems.headline(), - supportingContent = PreviewItems.text(), + headlineContent = headline(), + supportingContent = text(), leadingContent = leadingContent, trailingContent = trailingContent, style = style, @@ -431,8 +431,8 @@ private object PreviewItems { ) { ElementThemedPreview { ListItem( - headlineContent = PreviewItems.headline(), - supportingContent = PreviewItems.textSingleLine(), + headlineContent = headline(), + supportingContent = textSingleLine(), leadingContent = leadingContent, trailingContent = trailingContent, style = style, @@ -451,7 +451,7 @@ private object PreviewItems { ) { ElementThemedPreview { ListItem( - headlineContent = PreviewItems.headline(), + headlineContent = headline(), leadingContent = leadingContent, trailingContent = trailingContent, enabled = enabled, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index 25340684d6..1936b9f60c 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -354,5 +354,4 @@ interface MatrixRoom : Closeable { suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result override fun close() = destroy() - } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 381063f0e1..b871062f70 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -647,10 +647,9 @@ class RustMatrixRoom( override suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId) = runCatching { innerRoom.ignoreDeviceTrustAndResend( - devices = devices - .entries.associate { entry -> - entry.key.value to entry.value.map { it.value } - }, + devices = devices.entries.associate { entry -> + entry.key.value to entry.value.map { it.value } + }, transactionId = transactionId.value ) } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 2290897f11..54b52c6fb7 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -80,7 +80,7 @@ class FakeMatrixRoom( private var roomPermalinkResult: () -> Result = { lambdaError() }, private var eventPermalinkResult: (EventId) -> Result = { lambdaError() }, private val sendCallNotificationIfNeededResult: () -> Result = { lambdaError() }, - private val userDisplayNameResult: () -> Result = { lambdaError() }, + private val userDisplayNameResult: (UserId) -> Result = { lambdaError() }, private val userAvatarUrlResult: () -> Result = { lambdaError() }, private val userRoleResult: () -> Result = { lambdaError() }, private val getUpdatedMemberResult: (UserId) -> Result = { lambdaError() }, @@ -137,7 +137,6 @@ class FakeMatrixRoom( private val subscribeToSyncLambda: () -> Unit = { lambdaError() }, private val ignoreDeviceTrustAndResendResult: (Map>, TransactionId) -> Result = { _, _ -> lambdaError() }, private val withdrawVerificationAndResendResult: (List, TransactionId) -> Result = { _, _ -> lambdaError() }, - ) : MatrixRoom { private val _roomInfoFlow: MutableSharedFlow = MutableSharedFlow(replay = 1) override val roomInfoFlow: Flow = _roomInfoFlow @@ -203,7 +202,7 @@ class FakeMatrixRoom( override fun destroy() = Unit override suspend fun userDisplayName(userId: UserId): Result = simulateLongTask { - userDisplayNameResult() + userDisplayNameResult(userId) } override suspend fun userAvatarUrl(userId: UserId): Result = simulateLongTask { @@ -230,7 +229,7 @@ class FakeMatrixRoom( return toggleReactionResult(emoji, uniqueId) } - override suspend fun retrySendMessage(transactionId: TransactionId): Result { + override suspend fun retrySendMessage(transactionId: TransactionId): Result = simulateLongTask { return retrySendMessageResult(transactionId) } @@ -496,11 +495,11 @@ class FakeMatrixRoom( return getWidgetDriverResult(widgetSettings) } - override suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId): Result { + override suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId): Result = simulateLongTask { return ignoreDeviceTrustAndResendResult(devices, transactionId) } - override suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result { + override suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result = simulateLongTask { return withdrawVerificationAndResendResult(userIds, transactionId) } From e16adb9b856149feaf1eed65a00fbe9e06b3b504 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 13 Sep 2024 16:32:29 +0200 Subject: [PATCH 031/122] Send failure verified user : handle click on failed send icon. --- .../messages/impl/MessagesPresenter.kt | 4 -- .../features/messages/impl/MessagesState.kt | 2 - .../messages/impl/MessagesStateProvider.kt | 4 -- .../features/messages/impl/MessagesView.kt | 8 +--- .../ResolveVerifiedUserSendFailureView.kt | 2 +- .../pinned/list/PinnedMessagesListView.kt | 7 ++- .../messages/impl/timeline/TimelineEvents.kt | 4 +- .../impl/timeline/TimelinePresenter.kt | 8 ++++ .../messages/impl/timeline/TimelineState.kt | 2 + .../impl/timeline/TimelineStateProvider.kt | 4 ++ .../messages/impl/timeline/TimelineView.kt | 22 +++++----- .../components/ATimelineItemEventRow.kt | 3 +- .../components/TimelineEventTimestampView.kt | 23 ++++++---- .../components/TimelineItemEventRow.kt | 44 +++++++++---------- .../TimelineItemGroupedEventsRow.kt | 15 ++----- .../timeline/components/TimelineItemRow.kt | 6 +-- 16 files changed, 76 insertions(+), 82 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index f657fb6393..5284af15a5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -30,7 +30,6 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter import io.element.android.features.messages.impl.messagecomposer.MessageComposerState @@ -96,7 +95,6 @@ class MessagesPresenter @AssistedInject constructor( private val reactionSummaryPresenter: ReactionSummaryPresenter, private val readReceiptBottomSheetPresenter: ReadReceiptBottomSheetPresenter, private val pinnedMessagesBannerPresenter: Presenter, - private val resolveVerifiedUserSendFailurePresenter: Presenter, private val networkMonitor: NetworkMonitor, private val snackbarDispatcher: SnackbarDispatcher, private val dispatchers: CoroutineDispatchers, @@ -130,7 +128,6 @@ class MessagesPresenter @AssistedInject constructor( val reactionSummaryState = reactionSummaryPresenter.present() val readReceiptBottomSheetState = readReceiptBottomSheetPresenter.present() val pinnedMessagesBannerState = pinnedMessagesBannerPresenter.present() - val resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailurePresenter.present() val syncUpdateFlow = room.syncUpdateFlow.collectAsState() @@ -230,7 +227,6 @@ class MessagesPresenter @AssistedInject constructor( appName = buildMeta.applicationName, callState = callState, pinnedMessagesBannerState = pinnedMessagesBannerState, - resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = { handleEvents(it) } ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt index c3b4b9183e..546e558ba8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt @@ -9,7 +9,6 @@ package io.element.android.features.messages.impl import androidx.compose.runtime.Immutable import io.element.android.features.messages.impl.actionlist.ActionListState -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState import io.element.android.features.messages.impl.timeline.TimelineState @@ -48,7 +47,6 @@ data class MessagesState( val callState: RoomCallState, val appName: String, val pinnedMessagesBannerState: PinnedMessagesBannerState, - val resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState, val eventSink: (MessagesEvents) -> Unit ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index cc651bc978..96e55aac91 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -10,8 +10,6 @@ package io.element.android.features.messages.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.anActionListState -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState @@ -115,7 +113,6 @@ fun aMessagesState( enableVoiceMessages: Boolean = true, callState: RoomCallState = RoomCallState.ENABLED, pinnedMessagesBannerState: PinnedMessagesBannerState = aLoadedPinnedMessagesBannerState(), - resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState(), eventSink: (MessagesEvents) -> Unit = {}, ) = MessagesState( roomId = RoomId("!id:domain"), @@ -140,7 +137,6 @@ fun aMessagesState( callState = callState, appName = "Element", pinnedMessagesBannerState = pinnedMessagesBannerState, - resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = eventSink, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index d56ef675c3..777412e5e3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -57,8 +57,6 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListView import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.attachments.Attachment -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureView import io.element.android.features.messages.impl.messagecomposer.AttachmentsBottomSheet import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents @@ -244,14 +242,10 @@ fun MessagesView( }, onEmojiReactionClick = ::onEmojiReactionClick, onVerifiedUserSendFailureClick = { event -> - state.resolveVerifiedUserSendFailureState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(event)) + state.timelineState.eventSink(TimelineEvents.ComputeVerifiedUserSendFailure(event)) }, ) - ResolveVerifiedUserSendFailureView( - state = state.resolveVerifiedUserSendFailureState, - ) - CustomReactionBottomSheet( state = state.customReactionState, onSelectEmoji = { uniqueId, emoji -> diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index 10c3236f46..e0d964fa51 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -43,7 +43,7 @@ fun ResolveVerifiedUserSendFailureView( state: ResolveVerifiedUserSendFailureState, modifier: Modifier = Modifier, ) { - val sheetState = rememberModalBottomSheetState() + val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) var showSheet by remember { mutableStateOf(false) } fun dismiss() { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index f853b7c971..f340d005f5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -200,19 +200,18 @@ private fun PinnedMessagesListLoaded( renderReadReceipts = false, isLastOutgoingMessage = false, focusedEventId = null, - onClick = onEventClick, - onLongClick = ::onMessageLongClick, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, + onClick = onEventClick, + onLongClick = ::onMessageLongClick, inReplyToClick = {}, onReactionClick = { _, _ -> }, onReactionLongClick = { _, _ -> }, onMoreReactionsClick = {}, onReadReceiptClick = {}, - eventSink = {}, onSwipeToReply = {}, onJoinCallClick = {}, - onShieldClick = {}, + eventSink = {}, eventContentView = { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentViewWrapper( event = event, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineEvents.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineEvents.kt index 1aa1afe0f0..e886251b64 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineEvents.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineEvents.kt @@ -7,6 +7,7 @@ package io.element.android.features.messages.impl.timeline +import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.timeline.Timeline import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield @@ -19,7 +20,6 @@ sealed interface TimelineEvents { data object OnFocusEventRender : TimelineEvents data object JumpToLive : TimelineEvents - data class ShowShieldDialog(val messageShield: MessageShield) : TimelineEvents data object HideShieldDialog : TimelineEvents /** @@ -27,6 +27,8 @@ sealed interface TimelineEvents { */ sealed interface EventFromTimelineItem : TimelineEvents + data class ComputeVerifiedUserSendFailure(val event: TimelineItem.Event) : EventFromTimelineItem + data class ShowShieldDialog(val messageShield: MessageShield) : EventFromTimelineItem data class LoadMore(val direction: Timeline.PaginationDirection) : EventFromTimelineItem /** diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index e4287cb3ed..088354f245 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -21,6 +21,8 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import io.element.android.features.messages.impl.MessagesNavigator +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.NewEventState @@ -66,6 +68,7 @@ class TimelinePresenter @AssistedInject constructor( private val endPollAction: EndPollAction, private val sessionPreferencesStore: SessionPreferencesStore, private val timelineController: TimelineController, + private val resolveVerifiedUserSendFailurePresenter: Presenter, ) : Presenter { @AssistedFactory interface Factory { @@ -101,6 +104,7 @@ class TimelinePresenter @AssistedInject constructor( val newEventState = remember { mutableStateOf(NewEventState.None) } val messageShield: MutableState = remember { mutableStateOf(null) } + val resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailurePresenter.present() val isSendPublicReadReceiptsEnabled by sessionPreferencesStore.isSendPublicReadReceiptsEnabled().collectAsState(initial = true) val renderReadReceipts by sessionPreferencesStore.isRenderReadReceiptsEnabled().collectAsState(initial = true) val isLive by timelineController.isLive().collectAsState(initial = true) @@ -156,6 +160,9 @@ class TimelinePresenter @AssistedInject constructor( } TimelineEvents.HideShieldDialog -> messageShield.value = null is TimelineEvents.ShowShieldDialog -> messageShield.value = event.messageShield + is TimelineEvents.ComputeVerifiedUserSendFailure -> { + resolveVerifiedUserSendFailureState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(event.event)) + } } } @@ -232,6 +239,7 @@ class TimelinePresenter @AssistedInject constructor( isLive = isLive, focusRequestState = focusRequestState.value, messageShield = messageShield.value, + resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = { handleEvents(it) } ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt index 114cbf8128..18630f62d4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt @@ -8,6 +8,7 @@ package io.element.android.features.messages.impl.timeline import androidx.compose.runtime.Immutable +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.libraries.matrix.api.core.EventId @@ -25,6 +26,7 @@ data class TimelineState( val focusRequestState: FocusRequestState, // If not null, info will be rendered in a dialog val messageShield: MessageShield?, + val resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState, val eventSink: (TimelineEvents) -> Unit, ) { val hasAnyEvent = timelineItems.any { it is TimelineItem.Event } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt index 516559cc37..3317c2976c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt @@ -7,6 +7,8 @@ package io.element.android.features.messages.impl.timeline +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.timeline.components.receipt.aReadReceiptData import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.ReadReceiptData @@ -44,6 +46,7 @@ fun aTimelineState( focusedEventIndex: Int = -1, isLive: Boolean = true, messageShield: MessageShield? = null, + resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState(), eventSink: (TimelineEvents) -> Unit = {}, ): TimelineState { val focusedEventId = timelineItems.filterIsInstance().getOrNull(focusedEventIndex)?.eventId @@ -60,6 +63,7 @@ fun aTimelineState( isLive = isLive, focusRequestState = focusRequestState, messageShield = messageShield, + resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = eventSink, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index c3f7d53bb6..17ce5264fc 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -48,6 +48,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureView import io.element.android.features.messages.impl.timeline.components.TimelineItemRow import io.element.android.features.messages.impl.timeline.components.toText import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPresenterFactories @@ -127,8 +128,8 @@ fun TimelineView( Box(modifier) { LazyColumn( modifier = Modifier - .fillMaxSize() - .nestedScroll(nestedScrollConnection), + .fillMaxSize() + .nestedScroll(nestedScrollConnection), state = lazyListState, reverseLayout = useReverseLayout, contentPadding = PaddingValues(vertical = 8.dp), @@ -150,19 +151,18 @@ fun TimelineView( isLastOutgoingMessage = (timelineItem as? TimelineItem.Event)?.isMine == true && state.timelineItems.first().identifier() == timelineItem.identifier(), focusedEventId = state.focusedEventId, - onClick = onMessageClick, - onLongClick = onMessageLongClick, - onShieldClick = ::onShieldClick, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, + onClick = onMessageClick, + onLongClick = onMessageLongClick, inReplyToClick = ::inReplyToClick, onReactionClick = onReactionClick, onReactionLongClick = onReactionLongClick, onMoreReactionsClick = onMoreReactionsClick, onReadReceiptClick = onReadReceiptClick, - eventSink = state.eventSink, onSwipeToReply = onSwipeToReply, onJoinCallClick = onJoinCallClick, + eventSink = state.eventSink, ) } } @@ -186,6 +186,8 @@ fun TimelineView( } } + ResolveVerifiedUserSendFailureView(state = state.resolveVerifiedUserSendFailureState) + MessageShieldDialog(state) } @@ -267,8 +269,8 @@ private fun BoxScope.TimelineScrollHelper( // Use inverse of canAutoScroll otherwise we might briefly see the before the scroll animation is triggered isVisible = !canAutoScroll || forceJumpToBottomVisibility || !isLive, modifier = Modifier - .align(Alignment.BottomEnd) - .padding(end = 24.dp, bottom = 12.dp), + .align(Alignment.BottomEnd) + .padding(end = 24.dp, bottom = 12.dp), onClick = { jumpToBottom() }, ) } @@ -295,8 +297,8 @@ private fun JumpToBottomButton( ) { Icon( modifier = Modifier - .size(24.dp) - .rotate(90f), + .size(24.dp) + .rotate(90f), imageVector = CompoundIcons.ArrowRight(), contentDescription = stringResource(id = CommonStrings.a11y_jump_to_bottom) ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt index a73dbef79c..0db7a8ac52 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt @@ -28,9 +28,8 @@ internal fun ATimelineItemEventRow( isHighlighted = isHighlighted, onClick = {}, onLongClick = {}, - onShieldClick = {}, - onUserDataClick = {}, onLinkClick = {}, + onUserDataClick = {}, inReplyToClick = {}, onReactionClick = { _, _ -> }, onReactionLongClick = { _, _ -> }, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt index 08c72a1060..a6692bd4ec 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.messages.impl.timeline.TimelineEvents import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.isEdited import io.element.android.libraries.core.bool.orFalse @@ -31,14 +32,13 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState -import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import io.element.android.libraries.matrix.api.timeline.item.event.isCritical import io.element.android.libraries.ui.strings.CommonStrings @Composable fun TimelineEventTimestampView( event: TimelineItem.Event, - onShieldClick: (MessageShield) -> Unit, + eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, modifier: Modifier = Modifier, ) { val formattedTime = event.sentTime @@ -48,8 +48,8 @@ fun TimelineEventTimestampView( val tint = if (hasError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary Row( modifier = Modifier - .padding(PaddingValues(start = TimelineEventTimestampViewDefaults.spacing)) - .then(modifier), + .padding(PaddingValues(start = TimelineEventTimestampViewDefaults.spacing)) + .then(modifier), verticalAlignment = Alignment.CenterVertically, ) { if (isMessageEdited) { @@ -66,12 +66,17 @@ fun TimelineEventTimestampView( color = tint, ) if (hasError) { + val isVerifiedUserSendFailure = event.localSendState is LocalEventSendState.Failed.VerifiedUser Spacer(modifier = Modifier.width(2.dp)) Icon( imageVector = CompoundIcons.Error(), contentDescription = stringResource(id = CommonStrings.common_sending_failed), tint = tint, - modifier = Modifier.size(15.dp, 18.dp), + modifier = Modifier + .size(15.dp, 18.dp) + .clickable(isVerifiedUserSendFailure) { + eventSink(TimelineEvents.ComputeVerifiedUserSendFailure(event)) + }, ) } event.messageShield?.let { shield -> @@ -80,8 +85,10 @@ fun TimelineEventTimestampView( imageVector = shield.toIcon(), contentDescription = shield.toText(), modifier = Modifier - .size(15.dp) - .clickable { onShieldClick(shield) }, + .size(15.dp) + .clickable { + eventSink(TimelineEvents.ShowShieldDialog(shield)) + }, tint = shield.toIconColor(), ) Spacer(modifier = Modifier.width(4.dp)) @@ -94,7 +101,7 @@ fun TimelineEventTimestampView( internal fun TimelineEventTimestampViewPreview(@PreviewParameter(TimelineItemEventForTimestampViewProvider::class) event: TimelineItem.Event) = ElementPreview { TimelineEventTimestampView( event = event, - onShieldClick = {}, + eventSink = {}, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt index c03162efc6..e068eb5522 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt @@ -81,7 +81,6 @@ import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import io.element.android.libraries.matrix.api.timeline.item.event.ProfileTimelineDetails import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails import io.element.android.libraries.matrix.ui.messages.reply.InReplyToView @@ -110,7 +109,6 @@ fun TimelineItemEventRow( isHighlighted: Boolean, onClick: () -> Unit, onLongClick: () -> Unit, - onShieldClick: (MessageShield) -> Unit, onLinkClick: (String) -> Unit, onUserDataClick: (UserId) -> Unit, inReplyToClick: (EventId) -> Unit, @@ -161,6 +159,17 @@ fun TimelineItemEventRow( ReplySwipeIndicator({ offset / 120 }) } TimelineItemEventRowContent( + event = event, + isHighlighted = isHighlighted, + timelineRoomInfo = timelineRoomInfo, + interactionSource = interactionSource, + onClick = onClick, + onLongClick = onLongClick, + inReplyToClick = ::inReplyToClick, + onUserDataClick = ::onUserDataClick, + onReactionClick = { emoji -> onReactionClick(emoji, event) }, + onReactionLongClick = { emoji -> onReactionLongClick(emoji, event) }, + onMoreReactionsClick = { onMoreReactionsClick(event) }, modifier = Modifier .absoluteOffset { IntOffset(x = offset.roundToInt(), y = 0) } .draggable( @@ -176,18 +185,7 @@ fun TimelineItemEventRow( }, state = state.draggableState, ), - event = event, - isHighlighted = isHighlighted, - timelineRoomInfo = timelineRoomInfo, - interactionSource = interactionSource, - onClick = onClick, - onLongClick = onLongClick, - onShieldClick = onShieldClick, - inReplyToClick = ::inReplyToClick, - onUserDataClick = ::onUserDataClick, - onReactionClick = { emoji -> onReactionClick(emoji, event) }, - onReactionLongClick = { emoji -> onReactionLongClick(emoji, event) }, - onMoreReactionsClick = { onMoreReactionsClick(event) }, + eventSink = eventSink, eventContentView = eventContentView, ) } @@ -200,12 +198,12 @@ fun TimelineItemEventRow( interactionSource = interactionSource, onClick = onClick, onLongClick = onLongClick, - onShieldClick = onShieldClick, inReplyToClick = ::inReplyToClick, onUserDataClick = ::onUserDataClick, onReactionClick = { emoji -> onReactionClick(emoji, event) }, onReactionLongClick = { emoji -> onReactionLongClick(emoji, event) }, onMoreReactionsClick = { onMoreReactionsClick(event) }, + eventSink = eventSink, eventContentView = eventContentView, ) } @@ -255,12 +253,12 @@ private fun TimelineItemEventRowContent( interactionSource: MutableInteractionSource, onClick: () -> Unit, onLongClick: () -> Unit, - onShieldClick: (MessageShield) -> Unit, inReplyToClick: () -> Unit, onUserDataClick: () -> Unit, onReactionClick: (emoji: String) -> Unit, onReactionLongClick: (emoji: String) -> Unit, onMoreReactionsClick: (event: TimelineItem.Event) -> Unit, + eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, modifier: Modifier = Modifier, eventContentView: @Composable (Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit, ) { @@ -322,9 +320,9 @@ private fun TimelineItemEventRowContent( ) { MessageEventBubbleContent( event = event, - onShieldClick = onShieldClick, onMessageLongClick = onLongClick, inReplyToClick = inReplyToClick, + eventSink = eventSink, eventContentView = eventContentView, ) } @@ -382,9 +380,9 @@ private fun MessageSenderInformation( @Composable private fun MessageEventBubbleContent( event: TimelineItem.Event, - onShieldClick: (MessageShield) -> Unit, onMessageLongClick: () -> Unit, inReplyToClick: () -> Unit, + eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, @SuppressLint("ModifierParameter") // need to rename this modifier to prevent linter false positives @Suppress("ModifierNaming") @@ -422,7 +420,7 @@ private fun MessageEventBubbleContent( @Composable fun WithTimestampLayout( timestampPosition: TimestampPosition, - onShieldClick: (MessageShield) -> Unit, + eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, modifier: Modifier = Modifier, canShrinkContent: Boolean = false, content: @Composable (onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit) -> Unit, @@ -433,7 +431,7 @@ private fun MessageEventBubbleContent( content {} TimelineEventTimestampView( event = event, - onShieldClick = onShieldClick, + eventSink = eventSink, modifier = Modifier // Outer padding .padding(horizontal = 4.dp, vertical = 4.dp) @@ -454,7 +452,7 @@ private fun MessageEventBubbleContent( overlay = { TimelineEventTimestampView( event = event, - onShieldClick = onShieldClick, + eventSink = eventSink, modifier = Modifier .padding(horizontal = 8.dp, vertical = 4.dp) ) @@ -465,7 +463,7 @@ private fun MessageEventBubbleContent( content {} TimelineEventTimestampView( event = event, - onShieldClick = onShieldClick, + eventSink = eventSink, modifier = Modifier .align(Alignment.End) .padding(horizontal = 8.dp, vertical = 4.dp) @@ -513,7 +511,7 @@ private fun MessageEventBubbleContent( val contentWithTimestamp = @Composable { WithTimestampLayout( timestampPosition = timestampPosition, - onShieldClick = onShieldClick, + eventSink = eventSink, canShrinkContent = canShrinkContent, modifier = timestampLayoutModifier, content = { onContentLayoutChange -> diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt index 000ce19bd2..75f1ccc02c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt @@ -29,7 +29,6 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield @Composable fun TimelineItemGroupedEventsRow( @@ -40,7 +39,6 @@ fun TimelineItemGroupedEventsRow( focusedEventId: EventId?, onClick: (TimelineItem.Event) -> Unit, onLongClick: (TimelineItem.Event) -> Unit, - onShieldClick: (MessageShield) -> Unit, inReplyToClick: (EventId) -> Unit, onUserDataClick: (UserId) -> Unit, onLinkClick: (String) -> Unit, @@ -77,7 +75,6 @@ fun TimelineItemGroupedEventsRow( isLastOutgoingMessage = isLastOutgoingMessage, onClick = onClick, onLongClick = onLongClick, - onShieldClick = onShieldClick, inReplyToClick = inReplyToClick, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, @@ -102,7 +99,6 @@ private fun TimelineItemGroupedEventsRowContent( isLastOutgoingMessage: Boolean, onClick: (TimelineItem.Event) -> Unit, onLongClick: (TimelineItem.Event) -> Unit, - onShieldClick: (MessageShield) -> Unit, inReplyToClick: (EventId) -> Unit, onUserDataClick: (UserId) -> Unit, onLinkClick: (String) -> Unit, @@ -143,19 +139,18 @@ private fun TimelineItemGroupedEventsRowContent( renderReadReceipts = renderReadReceipts, isLastOutgoingMessage = isLastOutgoingMessage, focusedEventId = focusedEventId, - onClick = onClick, - onLongClick = onLongClick, - onShieldClick = onShieldClick, - inReplyToClick = inReplyToClick, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, + onClick = onClick, + onLongClick = onLongClick, + inReplyToClick = inReplyToClick, onReactionClick = onReactionClick, onReactionLongClick = onReactionLongClick, onMoreReactionsClick = onMoreReactionsClick, onReadReceiptClick = onReadReceiptClick, - eventSink = eventSink, onSwipeToReply = {}, onJoinCallClick = {}, + eventSink = eventSink, eventContentView = eventContentView, ) } @@ -188,7 +183,6 @@ internal fun TimelineItemGroupedEventsRowContentExpandedPreview() = ElementPrevi isLastOutgoingMessage = false, onClick = {}, onLongClick = {}, - onShieldClick = {}, inReplyToClick = {}, onUserDataClick = {}, onLinkClick = {}, @@ -213,7 +207,6 @@ internal fun TimelineItemGroupedEventsRowContentCollapsePreview() = ElementPrevi isLastOutgoingMessage = false, onClick = {}, onLongClick = {}, - onShieldClick = {}, inReplyToClick = {}, onUserDataClick = {}, onLinkClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt index 4af30081a0..56f509f9fb 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt @@ -30,7 +30,6 @@ import io.element.android.libraries.designsystem.text.toPx import io.element.android.libraries.designsystem.theme.highlightedMessageBackgroundColor import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield @Composable internal fun TimelineItemRow( @@ -43,7 +42,6 @@ internal fun TimelineItemRow( onLinkClick: (String) -> Unit, onClick: (TimelineItem.Event) -> Unit, onLongClick: (TimelineItem.Event) -> Unit, - onShieldClick: (MessageShield) -> Unit, inReplyToClick: (EventId) -> Unit, onReactionClick: (key: String, TimelineItem.Event) -> Unit, onReactionLongClick: (key: String, TimelineItem.Event) -> Unit, @@ -115,9 +113,8 @@ internal fun TimelineItemRow( isHighlighted = timelineItem.isEvent(focusedEventId), onClick = { onClick(timelineItem) }, onLongClick = { onLongClick(timelineItem) }, - onShieldClick = onShieldClick, - onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, + onUserDataClick = onUserDataClick, inReplyToClick = inReplyToClick, onReactionClick = onReactionClick, onReactionLongClick = onReactionLongClick, @@ -141,7 +138,6 @@ internal fun TimelineItemRow( focusedEventId = focusedEventId, onClick = onClick, onLongClick = onLongClick, - onShieldClick = onShieldClick, inReplyToClick = inReplyToClick, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, From b245c69322f7ff5872464f37dbeecf5f4ce0eb96 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 13 Sep 2024 16:41:44 +0200 Subject: [PATCH 032/122] Send failure verified user : set the room key recipient strategy --- .../android/libraries/matrix/impl/RustMatrixClientFactory.kt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index d29a233aa1..b0b89f4e07 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -60,9 +60,6 @@ class RustMatrixClientFactory @Inject constructor( .homeserverUrl(sessionData.homeserverUrl) .username(sessionData.userId) .setSessionDelegate(sessionDelegate) - .roomKeyRecipientStrategy( - strategy = CollectStrategy.DeviceBasedStrategy(false, true) - ) .use { it.build() } client.restoreSession(sessionData.toSession()) @@ -115,7 +112,7 @@ class RustMatrixClientFactory @Inject constructor( strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.InvisibleCrypto)) { CollectStrategy.IdentityBasedStrategy } else { - CollectStrategy.DeviceBasedStrategy(onlyAllowTrustedDevices = false, errorOnVerifiedUserProblem = false) + CollectStrategy.DeviceBasedStrategy(onlyAllowTrustedDevices = false, errorOnVerifiedUserProblem = true) } ) .run { From 16bf8f04fe49f96f9110fd7ea55e44539c37f191 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Fri, 13 Sep 2024 15:04:13 +0000 Subject: [PATCH 033/122] Update screenshots --- ...eatures.messages.impl.actionlist_SheetContent_Day_12_en.png | 3 +++ ...tures.messages.impl.actionlist_SheetContent_Night_12_en.png | 3 +++ ...ure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en.png | 3 +++ ...ure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png | 3 +++ ...ure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png | 3 +++ ...e.resolve_ResolveVerifiedUserSendFailureView_Night_0_en.png | 3 +++ ...e.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png | 3 +++ ...e.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png | 3 +++ 8 files changed, 24 insertions(+) create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png new file mode 100644 index 0000000000..362a9d5f95 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dccf918b02e10cc95f48de10ed7fbbf1d09fed2629d73ec09308a6604c02c0e3 +size 47777 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png new file mode 100644 index 0000000000..b028117445 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa076d0959c240108d948841358a5f485f3ab53d470de58c9c81e6d0b32cbd43 +size 46843 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en.png new file mode 100644 index 0000000000..1b6fb4bab8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a867cb12498cbdc97957bee07855dfaa13602baddaf933aff2b666ef4c7650 +size 3642 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png new file mode 100644 index 0000000000..8b48d2c346 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad9fa358acfb3257129c6ad0966af876cb469bab06969bef1e56b286ce99fe8b +size 58822 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png new file mode 100644 index 0000000000..5b7b58e615 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a6261c5a443005e4cb8f3e8f8f176c4e367feca6d6c1eb89ecc6b72aac119d3 +size 55135 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en.png new file mode 100644 index 0000000000..d6fd8eeb70 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bb36ccd718f3fec5b04f1bc812dc7718b5ea7fa4619c8b031466297a8d016fd +size 3659 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png new file mode 100644 index 0000000000..7056928a24 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5704cb8201901bcb0a4a3a28a21390133fe1010fb928cae94530a2900f01e336 +size 57172 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png new file mode 100644 index 0000000000..59542a02f9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:423d72e2dab1e87c9ee52b170c730e189cb642e22d218cf4b2c7a99783cdda5f +size 53333 From aeea99196b4d018d32e2070bb4a46ce494e34087 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 13 Sep 2024 18:04:16 +0200 Subject: [PATCH 034/122] Send failure verified user : fix tests. --- .../features/messages/impl/MessagesPresenterTest.kt | 2 +- .../android/features/messages/impl/MessagesViewTest.kt | 10 +++------- .../messages/impl/timeline/TimelinePresenterTest.kt | 2 ++ .../android/features/roomdetails/MatrixRoomFixture.kt | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index fec6ea000e..3d6af28f3d 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -1036,6 +1036,7 @@ class MessagesPresenterTest { sessionPreferencesStore = sessionPreferencesStore, timelineItemIndexer = TimelineItemIndexer(), timelineController = TimelineController(matrixRoom), + resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, ) val timelinePresenterFactory = object : TimelinePresenter.Factory { override fun create(navigator: MessagesNavigator): TimelinePresenter { @@ -1063,7 +1064,6 @@ class MessagesPresenterTest { reactionSummaryPresenter = reactionSummaryPresenter, readReceiptBottomSheetPresenter = readReceiptBottomSheetPresenter, pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() }, - resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, networkMonitor = FakeNetworkMonitor(), snackbarDispatcher = SnackbarDispatcher(), navigator = navigator, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt index 08c1119a6a..210ffb4fe6 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt @@ -35,9 +35,7 @@ import io.element.android.features.messages.impl.actionlist.anActionListState import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.attachments.Attachment import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aChangedIdentitySendFailure -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerItem import io.element.android.features.messages.impl.pinned.banner.aLoadedPinnedMessagesBannerState @@ -424,7 +422,7 @@ class MessagesViewTest { @Test fun `clicking on verified user send failure from action list emits the expected Event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() val state = aMessagesState() val timelineItem = state.timelineState.timelineItems.first() as TimelineItem.Event val stateWithActionListState = state.copy( @@ -436,9 +434,7 @@ class MessagesViewTest { actions = persistentListOf(), ), ), - resolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState( - eventSink = eventsRecorder - ), + timelineState = aTimelineState(eventSink = eventsRecorder) ) rule.setMessagesView( state = stateWithActionListState, @@ -447,7 +443,7 @@ class MessagesViewTest { rule.onNodeWithText(verifiedUserSendFailure).performClick() // Give time for the close animation to complete rule.mainClock.advanceTimeBy(milliseconds = 1_000) - eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(timelineItem)) + eventsRecorder.assertSingle(TimelineEvents.ComputeVerifiedUserSendFailure(timelineItem)) } @Test diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt index 9df9dfc9f8..a0712907cc 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt @@ -13,6 +13,7 @@ import app.cash.turbine.ReceiveTurbine import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.FakeMessagesNavigator +import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.fixtures.aMessageEvent import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.timeline.components.aCriticalShield @@ -680,6 +681,7 @@ import kotlin.time.Duration.Companion.seconds sessionPreferencesStore = sessionPreferencesStore, timelineItemIndexer = timelineItemIndexer, timelineController = TimelineController(room), + resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, ) } } diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/MatrixRoomFixture.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/MatrixRoomFixture.kt index 0bcb881af6..8ff03a69b9 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/MatrixRoomFixture.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/MatrixRoomFixture.kt @@ -31,7 +31,7 @@ fun aMatrixRoom( emitRoomInfo: Boolean = false, canInviteResult: (UserId) -> Result = { lambdaError() }, canSendStateResult: (UserId, StateEventType) -> Result = { _, _ -> lambdaError() }, - userDisplayNameResult: () -> Result = { lambdaError() }, + userDisplayNameResult: (UserId) -> Result = { lambdaError() }, userAvatarUrlResult: () -> Result = { lambdaError() }, setNameResult: (String) -> Result = { lambdaError() }, setTopicResult: (String) -> Result = { lambdaError() }, From 1035f9ae602f5173ef87d0b88c59cd8bd6242e62 Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Mon, 16 Sep 2024 00:25:04 +0000 Subject: [PATCH 035/122] Sync Strings from Localazy --- .../src/main/res/values-be/translations.xml | 6 - .../src/main/res/values-bg/translations.xml | 1 - .../src/main/res/values-cs/translations.xml | 6 - .../src/main/res/values-de/translations.xml | 6 - .../src/main/res/values-el/translations.xml | 6 - .../src/main/res/values-es/translations.xml | 6 - .../src/main/res/values-et/translations.xml | 6 - .../src/main/res/values-fr/translations.xml | 6 - .../src/main/res/values-hu/translations.xml | 6 - .../src/main/res/values-in/translations.xml | 6 - .../src/main/res/values-it/translations.xml | 6 - .../src/main/res/values-ka/translations.xml | 6 - .../src/main/res/values-nl/translations.xml | 6 - .../src/main/res/values-pl/translations.xml | 6 - .../main/res/values-pt-rBR/translations.xml | 6 - .../src/main/res/values-pt/translations.xml | 6 - .../src/main/res/values-ro/translations.xml | 6 - .../src/main/res/values-ru/translations.xml | 6 - .../src/main/res/values-sk/translations.xml | 6 - .../src/main/res/values-sv/translations.xml | 6 - .../src/main/res/values-uk/translations.xml | 6 - .../src/main/res/values-uz/translations.xml | 6 - .../main/res/values-zh-rTW/translations.xml | 1 - .../src/main/res/values-zh/translations.xml | 6 - .../impl/src/main/res/values/localazy.xml | 6 - .../src/main/res/values-cs/translations.xml | 4 + .../src/main/res/values-el/translations.xml | 6 + .../src/main/res/values-et/translations.xml | 4 + .../src/main/res/values-sk/translations.xml | 4 + .../impl/src/main/res/values/localazy.xml | 1 + .../src/main/res/values-be/translations.xml | 1 - .../src/main/res/values-cs/translations.xml | 1 - .../src/main/res/values-de/translations.xml | 4 - .../src/main/res/values-el/translations.xml | 14 +- .../src/main/res/values-et/translations.xml | 1 - .../src/main/res/values-fr/translations.xml | 1 - .../src/main/res/values-hu/translations.xml | 1 - .../src/main/res/values-in/translations.xml | 1 - .../src/main/res/values-it/translations.xml | 1 - .../src/main/res/values-pl/translations.xml | 1 - .../src/main/res/values-pt/translations.xml | 1 - .../src/main/res/values-ro/translations.xml | 1 - .../src/main/res/values-ru/translations.xml | 4 - .../src/main/res/values-sk/translations.xml | 1 - .../src/main/res/values-sv/translations.xml | 1 - .../src/main/res/values-uk/translations.xml | 1 - .../src/main/res/values-zh/translations.xml | 1 - .../impl/src/main/res/values/localazy.xml | 1 - .../src/main/res/values-el/translations.xml | 2 + .../src/main/res/values-el/translations.xml | 6 + .../src/main/res/values-el/translations.xml | 1 + .../src/main/res/values-cs/translations.xml | 9 + .../src/main/res/values-el/translations.xml | 27 + .../src/main/res/values-et/translations.xml | 11 + .../src/main/res/values-sk/translations.xml | 9 + .../src/main/res/values/localazy.xml | 11 + ...al_EncryptedHistoryBannerView_Day_0_de.png | 3 - ...omponents_RoomListContentView_Day_4_de.png | 3 + screenshots/html/data.js | 1176 ++++++++--------- 59 files changed, 697 insertions(+), 757 deletions(-) delete mode 100644 screenshots/de/features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Day_0_de.png create mode 100644 screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png diff --git a/features/login/impl/src/main/res/values-be/translations.xml b/features/login/impl/src/main/res/values-be/translations.xml index f8e675854e..777acc423d 100644 --- a/features/login/impl/src/main/res/values-be/translations.xml +++ b/features/login/impl/src/main/res/values-be/translations.xml @@ -78,10 +78,4 @@ "Тут будуць захоўвацца вашыя размовы - сапраўды гэтак жа, як вы выкарыстоўваеце паштовага правайдара для захоўвання сваіх лістоў." "Вы збіраецеся ўвайсці ў %1$s" "Вы збіраецеся стварыць уліковы запіс на %1$s" - "Зараз існуе высокі попыт на %1$s на %2$s. Калі ласка, вярніцеся ў праграму праз некалькі дзён і паспрабуйце зноў. - -Дзякуй за цярпенне!" - "Вітаем у %1$s!" - "Амаль гатова." - "Вы зарэгістраваны." diff --git a/features/login/impl/src/main/res/values-bg/translations.xml b/features/login/impl/src/main/res/values-bg/translations.xml index cfc51c3f8c..eced3ef828 100644 --- a/features/login/impl/src/main/res/values-bg/translations.xml +++ b/features/login/impl/src/main/res/values-bg/translations.xml @@ -24,5 +24,4 @@ "Това е мястото, където ще живеят вашите разговори — точно както бихте използвали имейл доставчик, за да съхранявате вашите имейли." "На път сте да влезете в %1$s" "На път сте да създадете акаунт в %1$s" - "Добре дошли в %1$s!" diff --git a/features/login/impl/src/main/res/values-cs/translations.xml b/features/login/impl/src/main/res/values-cs/translations.xml index c0f00a87af..d65a5571e4 100644 --- a/features/login/impl/src/main/res/values-cs/translations.xml +++ b/features/login/impl/src/main/res/values-cs/translations.xml @@ -78,10 +78,4 @@ Zkuste se přihlásit ručně nebo naskenujte QR kód pomocí jiného zařízen "Zde budou uloženy vaše konverzace - podobně jako u poskytovatele e-mailových služeb uchováváte své e-maily." "Chystáte se přihlásit do služby %1$s" "Chystáte se vytvořit účet na %1$s" - "Na %2$s je momentálně vysoká poptávka po %1$s. Vraťte se do aplikace za pár dní a zkuste to znovu. - -Díky za trpělivost!" - "Vítá vás %1$s!" - "Jste v pořadníku!" - "Jdete do toho!" diff --git a/features/login/impl/src/main/res/values-de/translations.xml b/features/login/impl/src/main/res/values-de/translations.xml index 2399ec86ba..c2bdf37ca7 100644 --- a/features/login/impl/src/main/res/values-de/translations.xml +++ b/features/login/impl/src/main/res/values-de/translations.xml @@ -78,10 +78,4 @@ Versuche, dich manuell anzumelden, oder scanne den QR-Code mit einem anderen Ger "Hier werden deine Gespräche gespeichert - so wie du deine E-Mails bei einem E-Mail-Anbieter aufbewahren würden." "Du bist dabei, dich bei %1$s anzumelden" "Du bist dabei, ein Konto auf %1$s zu erstellen" - "Derzeit besteht eine hohe Nachfrage nach %1$s auf %2$s. Kehre in ein paar Tagen zur App zurück und versuche es erneut. - -Danke für deine Geduld!" - "Willkommen bei %1$s!" - "Du bist fast am Ziel." - "Du bist dabei." diff --git a/features/login/impl/src/main/res/values-el/translations.xml b/features/login/impl/src/main/res/values-el/translations.xml index 8ff0227168..24f26483fb 100644 --- a/features/login/impl/src/main/res/values-el/translations.xml +++ b/features/login/impl/src/main/res/values-el/translations.xml @@ -78,10 +78,4 @@ "Εδώ θα ζουν οι συνομιλίες σου - όπως θα χρησιμοποιούσες έναν πάροχο email για να διατηρήσεις τα email σου." "Πρόκειται να συνδεθείς στο %1$s" "Πρόκειται να δημιουργήσεις έναν λογαριασμό στο %1$s" - "Υπάρχει μεγάλη ζήτηση για το %1$s στον %2$s αυτή τη στιγμή. Επέστρεψε στην εφαρμογή σε λίγες μέρες και δοκίμασε ξανά. - -Ευχαριστώ για την υπομονή σου!" - "Καλώς ήρθες στο %1$s!" - "Σχεδόν τα κατάφερες." - "Είσαι μέσα." diff --git a/features/login/impl/src/main/res/values-es/translations.xml b/features/login/impl/src/main/res/values-es/translations.xml index c7537c9d7e..60324ae89d 100644 --- a/features/login/impl/src/main/res/values-es/translations.xml +++ b/features/login/impl/src/main/res/values-es/translations.xml @@ -37,10 +37,4 @@ "Aquí es donde se alojarán tus conversaciones — justo como utilizarías un proveedor de correo electrónico para guardar tus correos electrónicos." "Estás a punto de iniciar sesión en %1$s" "Estás a punto de crear una cuenta en %1$s" - "Hay una gran demanda para %1$s en %2$s en este momento. Vuelve a la aplicación en unos días e inténtalo de nuevo. - -¡Gracias por tu paciencia!" - "¡Bienvenido a %1$s!" - "Ya casi has terminado." - "Estás dentro." diff --git a/features/login/impl/src/main/res/values-et/translations.xml b/features/login/impl/src/main/res/values-et/translations.xml index 0558b349b4..f82ea50b91 100644 --- a/features/login/impl/src/main/res/values-et/translations.xml +++ b/features/login/impl/src/main/res/values-et/translations.xml @@ -78,10 +78,4 @@ Proovi käsitsi sisselogimist või skaneeri QR-koodi mõne muu seadmega.""See on koht, kus sinu vestlused elavad – just nagu kasutaksid oma e-kirjade säilitamiseks e-postitenuse pakkujat." "Sa oled sisselogimas koduserverisse %1$s" "Sa oled loomas kasutajakontot koduserveris %1$s" - "%1$s kasutamiseks %2$s koduserveris on hetkel palju huvilisi. Proovi seda samast rakendusest mõne päeva pärast. - -Täname kannatlikkuse eest!" - "Tere tulemast rakendusse %1$s!" - "Peaaegu olemas." - "Oled nüüd jututoas." diff --git a/features/login/impl/src/main/res/values-fr/translations.xml b/features/login/impl/src/main/res/values-fr/translations.xml index 49e513c2a8..a5928ffb3f 100644 --- a/features/login/impl/src/main/res/values-fr/translations.xml +++ b/features/login/impl/src/main/res/values-fr/translations.xml @@ -76,10 +76,4 @@ "C’est ici que vos conversations seront enregistrées, comme vous le feriez avec un fournisseur de messagerie pour conserver vos e-mails." "Vous êtes sur le point de vous connecter à %1$s" "Vous êtes sur le point de créer un compte sur %1$s" - "Il y a une forte demande pour %1$s sur %2$s à l’heure actuelle. Revenez sur l’application dans quelques jours et réessayez. - -Merci pour votre patience !" - "Bienvenue dans %1$s !" - "Vous y êtes presque." - "Vous y êtes." diff --git a/features/login/impl/src/main/res/values-hu/translations.xml b/features/login/impl/src/main/res/values-hu/translations.xml index 8d8bf40f3f..a37288fd6f 100644 --- a/features/login/impl/src/main/res/values-hu/translations.xml +++ b/features/login/impl/src/main/res/values-hu/translations.xml @@ -78,10 +78,4 @@ Próbáljon meg kézileg bejelentkezni, vagy olvassa be a QR-kódot egy másik e "Itt lesznek a beszélgetései – ahogyan egy e-mail-szolgáltatást is használna a levelei kezeléséhez." "Hamarosan bejelentkezik ebbe: %1$s" "Hamarosan létrehoz egy fiókot ezen: %1$s" - "Jelenleg nagy a kereslet a(z) %2$s oldalon futó %1$s iránt. Térjen vissza néhány nap múlva az alkalmazáshoz, és próbálja újra. - -Köszönjük a türelmét!" - "Üdvözli az %1$s!" - "Már majdnem kész van." - "Bent van." diff --git a/features/login/impl/src/main/res/values-in/translations.xml b/features/login/impl/src/main/res/values-in/translations.xml index 97d84ff1f4..749406da04 100644 --- a/features/login/impl/src/main/res/values-in/translations.xml +++ b/features/login/impl/src/main/res/values-in/translations.xml @@ -78,10 +78,4 @@ Coba masuk secara manual, atau pindai kode QR dengan perangkat lain." "Di sinilah percakapan Anda akan berlangsung — sama seperti Anda menggunakan penyedia surel untuk menyimpan surel Anda." "Anda akan masuk ke %1$s" "Anda akan membuat akun di %1$s" - "Ada permintaan tinggi untuk %1$s di %2$s saat ini. Kembalilah ke aplikasi dalam beberapa hari dan coba lagi. - -Terima kasih atas kesabaran Anda!" - "Selamat datang di %1$s!" - "Anda hampir selesai." - "Anda sudah masuk." diff --git a/features/login/impl/src/main/res/values-it/translations.xml b/features/login/impl/src/main/res/values-it/translations.xml index dcd9a7c2ae..eaa5313b03 100644 --- a/features/login/impl/src/main/res/values-it/translations.xml +++ b/features/login/impl/src/main/res/values-it/translations.xml @@ -78,10 +78,4 @@ Prova ad accedere manualmente o scansiona il codice QR con un altro dispositivo. "Qui è dove vivranno le tue conversazioni — proprio come useresti un fornitore di posta elettronica per conservare le tue email." "Stai per accedere a %1$s" "Stai per creare un account su %1$s" - "Al momento c\'è una grande richiesta per %1$s su %2$s. Torna a visitare l\'app tra qualche giorno e riprova. - -Grazie per la pazienza!" - "Benvenuti in %1$s!" - "Ci sei quasi." - "Sei dentro." diff --git a/features/login/impl/src/main/res/values-ka/translations.xml b/features/login/impl/src/main/res/values-ka/translations.xml index 84e97e0a34..6fc49e7b41 100644 --- a/features/login/impl/src/main/res/values-ka/translations.xml +++ b/features/login/impl/src/main/res/values-ka/translations.xml @@ -34,10 +34,4 @@ "აქ იქნება თქვენი საუბრები - ისევე, როგორც თქვენ ელ. ფოსტაში ინახება თქვენი ელ.წერილები." "თქვენ აპირებთ შესვლას %1$s-ში" "თქვენ აპირებთ ანგარიშის შექმნას %1$s-ში" - "ახლა დიდი მოთხოვნაა %1$s-ზე %2$s-ში. დაბრუნდით რამდენიმე დღეში და სცადეთ ერთხელაც. - -მადლობა მოთმენისათვის!" - "კეთილი იყოს თქვენი მობრძანება %1$s-ში!" - "თითქმის მზადაა." - "თქვენ შეხვედით." diff --git a/features/login/impl/src/main/res/values-nl/translations.xml b/features/login/impl/src/main/res/values-nl/translations.xml index 80fbe57afb..0e351f8498 100644 --- a/features/login/impl/src/main/res/values-nl/translations.xml +++ b/features/login/impl/src/main/res/values-nl/translations.xml @@ -35,10 +35,4 @@ "Dit is waar je gesprekken zullen worden bewaard — net zoals je een e-mailprovider zou gebruiken om je e-mails te bewaren." "Je staat op het punt je aan te melden bij %1$s" "Je staat op het punt een account aan te maken op %1$s" - "Er is momenteel veel vraag naar %1$s op %2$s. Kom over een paar dagen terug naar de app en probeer het opnieuw. - -Bedankt voor je geduld!" - "Welkom bij %1$s!" - "Je bent er bijna." - "Je bent binnen." diff --git a/features/login/impl/src/main/res/values-pl/translations.xml b/features/login/impl/src/main/res/values-pl/translations.xml index 4d23e15fe8..6990121a43 100644 --- a/features/login/impl/src/main/res/values-pl/translations.xml +++ b/features/login/impl/src/main/res/values-pl/translations.xml @@ -78,10 +78,4 @@ Spróbuj zalogować się ręcznie lub zeskanuj kod QR na innym urządzeniu.""Tutaj będą przechowywane Twoje konwersacje - w podobnej formie jak wiadomości widnieją na skrzynce e-mail." "Zamierzasz się zalogować do %1$s" "Zamierzasz utworzyć konto na %1$s" - "Obecnie istnieje duże zapotrzebowanie na %1$s na %2$s. Wróć do aplikacji za kilka dni i spróbuj ponownie. - -Dziękujemy za Twoją cierpliwość!" - "Witamy w %1$s!" - "Już prawie gotowe!" - "Witamy!" diff --git a/features/login/impl/src/main/res/values-pt-rBR/translations.xml b/features/login/impl/src/main/res/values-pt-rBR/translations.xml index 4cb9b4f7b0..7b753ffb9f 100644 --- a/features/login/impl/src/main/res/values-pt-rBR/translations.xml +++ b/features/login/impl/src/main/res/values-pt-rBR/translations.xml @@ -34,10 +34,4 @@ "Aqui é onde suas conversas vão ficar — assim como você usa um provedor de e-mails para manter seus e-mails." "Você está prestes a fazer login em %1$s" "Você está prestes a criar uma conta em %1$s" - "Há uma grande demanda por %1$s sobre %2$s no momento. Volte ao aplicativo em alguns dias e tente novamente. - -Obrigado pela sua paciência!" - "Bem-vindo ao %1$s!" - "Você está quase lá." - "Você está dentro." diff --git a/features/login/impl/src/main/res/values-pt/translations.xml b/features/login/impl/src/main/res/values-pt/translations.xml index f5feb0cbdd..f03b48c5dd 100644 --- a/features/login/impl/src/main/res/values-pt/translations.xml +++ b/features/login/impl/src/main/res/values-pt/translations.xml @@ -78,10 +78,4 @@ Tenta iniciar a sessão manualmente ou digitaliza o código QR com outro disposi "É aqui que as tuas conversas vão ficar — tal como num serviço de e-mail." "Irás iniciar sessão em %1$s" "Irás criar uma conta em %1$s" - "Há uma grande procura pela %1$s no %2$s, de momento. Volta à aplicação daqui a uns dias e tenta novamente. - -Obrigado!" - "Bem-vindo à %1$s!" - "Estás quase lá." - "Estás dentro." diff --git a/features/login/impl/src/main/res/values-ro/translations.xml b/features/login/impl/src/main/res/values-ro/translations.xml index 1ff3fe2436..261f16d9f6 100644 --- a/features/login/impl/src/main/res/values-ro/translations.xml +++ b/features/login/impl/src/main/res/values-ro/translations.xml @@ -78,10 +78,4 @@ "Aici vor trăi conversațiile dvs. - la fel cum ați folosi un furnizor de e-mail pentru a vă păstra e-mailurile." "Sunteți pe cale să vă conectați la %1$s" "Sunteți pe cale să creați un cont pe %1$s" - "Există o cerere mare pentru %1$s pentru %2$s în acest moment. Reveniți la aplicație în câteva zile și încercați din nou. - -Vă mulțumim pentru răbdare!" - "Bun venit la%1$s!" - "Sunteți pe lista de așteptare" - "Sunteți conectat!" diff --git a/features/login/impl/src/main/res/values-ru/translations.xml b/features/login/impl/src/main/res/values-ru/translations.xml index c64d683a12..71a2691b4c 100644 --- a/features/login/impl/src/main/res/values-ru/translations.xml +++ b/features/login/impl/src/main/res/values-ru/translations.xml @@ -78,10 +78,4 @@ "Здесь будут храниться ваши разговоры - точно так же, как вы используете почтового провайдера для хранения своих писем." "Вы собираетесь войти в %1$s" "Вы собираетесь создать учетную запись на %1$s" - "В настоящее время существует высокий спрос на %1$s на %2$s. Вернитесь в приложение через несколько дней и попробуйте снова. - -Спасибо за терпение!" - "Добро пожаловать в %1$s!" - "Почти готово." - "Вы зарегистрированы." diff --git a/features/login/impl/src/main/res/values-sk/translations.xml b/features/login/impl/src/main/res/values-sk/translations.xml index fea7879d01..8d862609b7 100644 --- a/features/login/impl/src/main/res/values-sk/translations.xml +++ b/features/login/impl/src/main/res/values-sk/translations.xml @@ -78,10 +78,4 @@ Skúste sa prihlásiť manuálne alebo naskenujte QR kód pomocou iného zariade "Tu budú žiť vaše konverzácie - podobne ako používate poskytovateľa e-mailových služieb na uchovávanie e-mailov." "Chystáte sa prihlásiť do %1$s" "Chystáte sa vytvoriť účet na %1$s" - "Momentálne je veľký dopyt po %1$s na %2$s. Vráťte sa do aplikácie za pár dní a skúste to znova. - -Ďakujeme za trpezlivosť!" - "Vitajte v %1$s!" - "Ste na čakanej listine!" - "Ste dnu!" diff --git a/features/login/impl/src/main/res/values-sv/translations.xml b/features/login/impl/src/main/res/values-sv/translations.xml index d50610adcc..de290469ca 100644 --- a/features/login/impl/src/main/res/values-sv/translations.xml +++ b/features/login/impl/src/main/res/values-sv/translations.xml @@ -78,10 +78,4 @@ Prova att logga in manuellt eller skanna QR-koden med en annan enhet." "Det är här dina konversationer kommer att sparas - precis som du skulle använda en e-postleverantör för att spara dina e-brev." "Du är på väg att logga in på %1$s" "Du är på väg att skapa ett konto på %1$s" - "Det finns en stor efterfrågan på %1$s på %2$s just nu. Kom tillbaka till appen om några dagar och försök igen. - -Tack för ditt tålamod!" - "Välkommen till %1$s!" - "Du är nästan framme." - "Du är inne." diff --git a/features/login/impl/src/main/res/values-uk/translations.xml b/features/login/impl/src/main/res/values-uk/translations.xml index 9cb6eb1f5f..df436a9a69 100644 --- a/features/login/impl/src/main/res/values-uk/translations.xml +++ b/features/login/impl/src/main/res/values-uk/translations.xml @@ -78,10 +78,4 @@ "Тут будуть зберігатися Ваші розмови - так само, як Ви використовуєте поштову скриньку для зберігання своїх електронних листів." "Ви збираєтесь увійти в %1$s" "Ви збираєтеся створити обліковий запис на %1$s" - "На цей момент існує високий попит на %1$s в %2$s. Поверніться до застосунку через кілька днів і спробуйте ще раз. - -Дякуємо за терпіння!" - "Ласкаво просимо до %1$s!" - "Майже готово." - "Готово." diff --git a/features/login/impl/src/main/res/values-uz/translations.xml b/features/login/impl/src/main/res/values-uz/translations.xml index 67dc5129d7..db16e17b09 100644 --- a/features/login/impl/src/main/res/values-uz/translations.xml +++ b/features/login/impl/src/main/res/values-uz/translations.xml @@ -33,10 +33,4 @@ "Bu sizning suhbatlaringiz yashaydigan joy - xuddi siz elektron pochta xabarlaringizni saqlash uchun elektron pochta provayderidan foydalanganingiz kabi." "Siz tizimga kirmoqchisiz%1$s" "Hisob yaratmoqchisiz%1$s" - "Hozirgi paytda %2$sga %1$sda talab yuqori. Bir necha kundan keyin ilovaga qayting va qaytadan urining. - -Sabr-toqatingiz uchun rahmat!" - "%1$sga Xush kelibsiz!" - "Siz deyarli keldingiz." - "Siz kirdingiz." diff --git a/features/login/impl/src/main/res/values-zh-rTW/translations.xml b/features/login/impl/src/main/res/values-zh-rTW/translations.xml index d345095c4b..b66cfca31f 100644 --- a/features/login/impl/src/main/res/values-zh-rTW/translations.xml +++ b/features/login/impl/src/main/res/values-zh-rTW/translations.xml @@ -29,5 +29,4 @@ "您的所有對話將保存於此,就如同您的電子郵件供應商會保存您的電子郵件一樣。" "您即將登入 %1$s" "您即將在 %1$s 建立帳號" - "歡迎使用 %1$s!" diff --git a/features/login/impl/src/main/res/values-zh/translations.xml b/features/login/impl/src/main/res/values-zh/translations.xml index 0afd6dad93..2f24aacf69 100644 --- a/features/login/impl/src/main/res/values-zh/translations.xml +++ b/features/login/impl/src/main/res/values-zh/translations.xml @@ -78,10 +78,4 @@ "这是您的对话将进行的地方,就像您使用电子邮件提供商来保存电子邮件一样。" "即将登录 %1$s" "即将在 %1$s 上创建一个账户" - "目前 %1$s 上 %2$s 的负载很大。过几天再回来试试吧。 - -感谢您的耐心!" - "欢迎使用 %1$s" - "马上就好。" - "您已加入。" diff --git a/features/login/impl/src/main/res/values/localazy.xml b/features/login/impl/src/main/res/values/localazy.xml index cade81c4f2..b0b6252d52 100644 --- a/features/login/impl/src/main/res/values/localazy.xml +++ b/features/login/impl/src/main/res/values/localazy.xml @@ -78,10 +78,4 @@ Try signing in manually, or scan the QR code with another device." "This is where your conversations will live — just like you would use an email provider to keep your emails." "You’re about to sign in to %1$s" "You’re about to create an account on %1$s" - "There\'s a high demand for %1$s on %2$s at the moment. Come back to the app in a few days and try again. - -Thanks for your patience!" - "Welcome to %1$s!" - "You’re almost there." - "You\'re in." diff --git a/features/roomlist/impl/src/main/res/values-cs/translations.xml b/features/roomlist/impl/src/main/res/values-cs/translations.xml index 69779542a9..52a18f8e9c 100644 --- a/features/roomlist/impl/src/main/res/values-cs/translations.xml +++ b/features/roomlist/impl/src/main/res/values-cs/translations.xml @@ -1,5 +1,9 @@ + "Odhlásit se a upgradovat" + "Váš server nyní podporuje nový, rychlejší protokol. Chcete-li upgradovat, odhlaste se a znovu se přihlaste. Pokud to uděláte nyní, pomůže vám vyhnout se nucenému odhlášení, když bude starý protokol později odstraněn." + "Váš domovský server již nepodporuje starý protokol. Chcete-li pokračovat v používání aplikace, odhlaste se a znovu se přihlaste." + "Upgrade k dispozici" "Vygenerujte nový klíč pro obnovení, který lze použít k obnovení historie šifrovaných zpráv v případě, že ztratíte přístup ke svým zařízením." "Nastavení obnovy" "Vaše záloha chatu není aktuálně synchronizována. Abyste si zachovali přístup k záloze chatu, musíte potvrdit klíč pro obnovení." diff --git a/features/roomlist/impl/src/main/res/values-el/translations.xml b/features/roomlist/impl/src/main/res/values-el/translations.xml index 71aca711ad..a7e2a0f79f 100644 --- a/features/roomlist/impl/src/main/res/values-el/translations.xml +++ b/features/roomlist/impl/src/main/res/values-el/translations.xml @@ -1,5 +1,11 @@ + "Αποσύνδεση &amp; Αναβάθμιση" + "Ο διακομιστής σου υποστηρίζει τώρα ένα νέο, ταχύτερο πρωτόκολλο. Αποσυνδέσου και συνδέσου ξανά για αναβάθμιση τώρα. Κάνοντας αυτό τώρα θα σε βοηθήσει να αποφύγεις μια αναγκαστική αποσύνδεση όταν το παλιό πρωτόκολλο καταργηθεί αργότερα." + "Ο οικιακός διακομιστής σου δεν υποστηρίζει πλέον το παλιό πρωτόκολλο. Αποσυνδέσου και συνδέσου ξανά για να συνεχίσεις να χρησιμοποιείς την εφαρμογή." + "Διαθέσιμη αναβάθμιση" + "Δημιούργησε ένα νέο κλειδί ανάκτησης που μπορεί να χρησιμοποιηθεί για την επαναφορά του ιστορικού των κρυπτογραφημένων μηνυμάτων σου σε περίπτωση που χάσεις την πρόσβαση στις συσκευές σου." + "Ρύθμιση ανάκτησης" "Το αντίγραφο ασφαλείας της συνομιλίας σου δεν είναι συγχρονισμένο αυτήν τη στιγμή. Πρέπει να εισαγάγεις το κλειδί ανάκτησης για να διατηρήσεις την πρόσβαση στο αντίγραφο ασφαλείας της συνομιλίας σου." "Εισήγαγε το κλειδί ανάκτησης" "Για να διασφαλίσεις ότι δεν θα χάσεις ποτέ μια σημαντική κλήση, άλλαξε τις ρυθμίσεις σου για να επιτρέψεις τις ειδοποιήσεις πλήρους οθόνης όταν το τηλέφωνό σου είναι κλειδωμένο." diff --git a/features/roomlist/impl/src/main/res/values-et/translations.xml b/features/roomlist/impl/src/main/res/values-et/translations.xml index e64e0fc6e0..a8f61ea37a 100644 --- a/features/roomlist/impl/src/main/res/values-et/translations.xml +++ b/features/roomlist/impl/src/main/res/values-et/translations.xml @@ -1,5 +1,9 @@ + "Logi välja ja uuenda" + "Sinu koduserver toetab uut ja kiiremat protokolli. Uuendamiseks logi korraks rakendusest välja ja siis tagasi. Mingil hetkel tulevikus vana protokoll eemaldatakse kasutusest ja tehes uuenduse nüüd väldid hilisemat sundkorras uuendust." + "Sinu koduserver enam ei toeta vana protokolli. Jätkamaks rakenduse kasutamist palun logi välja ning seejärel tagasi." + "Saadaval on uuendus" "Loo uus taastevõti, mida saad kasutada oma krüptitud sõnumite ajaloo taastamisel olukorras, kus kaotad ligipääsu oma seadmetele." "Seadista taastamine" "Sinu vestluste varukoopia pole hetkel sünkroonis. Säilitamaks ligipääsu vestluse varukoopiale palun sisesta oma taastevõti." diff --git a/features/roomlist/impl/src/main/res/values-sk/translations.xml b/features/roomlist/impl/src/main/res/values-sk/translations.xml index 3d6e215cc6..f1d15ebbf1 100644 --- a/features/roomlist/impl/src/main/res/values-sk/translations.xml +++ b/features/roomlist/impl/src/main/res/values-sk/translations.xml @@ -1,5 +1,9 @@ + "Odhlásiť sa a aktualizovať" + "Váš server teraz podporuje nový, rýchlejší protokol. Odhláste sa a prihláste sa znova, aby ste mohli aktualizovať. Ak to urobíte teraz, pomôže vám vyhnúť sa nútenému odhláseniu, keď sa starý protokol neskôr odstráni." + "Váš domovský server už nepodporuje starý protokol. Ak chcete pokračovať v používaní aplikácie, odhláste sa a znova sa prihláste." + "Aktualizácia je k dispozícii" "Vytvorte nový kľúč na obnovenie, ktorý môžete použiť na obnovenie vašej histórie šifrovaných správ v prípade straty prístupu k vašim zariadeniam." "Nastaviť obnovenie" "Vaša záloha konverzácie nie je momentálne synchronizovaná. Na zachovanie prístupu k zálohe konverzácie musíte potvrdiť svoj kľúč na obnovu." diff --git a/features/roomlist/impl/src/main/res/values/localazy.xml b/features/roomlist/impl/src/main/res/values/localazy.xml index ff6c626c63..36dc4b8d65 100644 --- a/features/roomlist/impl/src/main/res/values/localazy.xml +++ b/features/roomlist/impl/src/main/res/values/localazy.xml @@ -2,6 +2,7 @@ "Log Out & Upgrade" "Your server now supports a new, faster protocol. Log out and log back in to upgrade now. Doing this now will help you avoid a forced logout when the old protocol is removed later." + "Your homeserver no longer supports the old protocol. Please log out and log back in to continue using the app." "Upgrade available" "Generate a new recovery key that can be used to restore your encrypted message history in case you lose access to your devices." "Set up recovery" diff --git a/features/securebackup/impl/src/main/res/values-be/translations.xml b/features/securebackup/impl/src/main/res/values-be/translations.xml index 75e4c2ccb9..910350f41e 100644 --- a/features/securebackup/impl/src/main/res/values-be/translations.xml +++ b/features/securebackup/impl/src/main/res/values-be/translations.xml @@ -38,7 +38,6 @@ "Паўтарыце спробу, каб пацвердзіць доступ да рэзервовай копіі чата." "Няправільны ключ аднаўлення" "Калі ў вас ёсць ключ аднаўлення або парольная фраза, гэта таксама будзе працаваць." - "Ключ аднаўлення або код доступу" "Увесці…" "Страцілі ключ аднаўлення?" "Ключ аднаўлення пацверджаны" diff --git a/features/securebackup/impl/src/main/res/values-cs/translations.xml b/features/securebackup/impl/src/main/res/values-cs/translations.xml index 6425f52b66..ba113f9c89 100644 --- a/features/securebackup/impl/src/main/res/values-cs/translations.xml +++ b/features/securebackup/impl/src/main/res/values-cs/translations.xml @@ -39,7 +39,6 @@ "Zkuste prosím znovu potvrdit přístup k záloze chatu." "Nesprávný klíč pro obnovení" "Pokud máte bezpečnostní klíč nebo bezpečnostní frázi, bude to fungovat také." - "Klíč pro obnovení nebo přístupový kód" "Zadejte…" "Ztratili jste klíč pro obnovení?" "Klíč pro obnovení potvrzen" diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index c95e51db7e..413ae1ea81 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -51,10 +51,6 @@ Das bedeutet:" "Bitte versuche es noch einmal, um den Zugriff auf dein Chat-Backup zu bestätigen." "Falscher Wiederherstellungsschlüssel" "Dies funktioniert auch mit einem Sicherheitsschlüssel oder Sicherheitsphrase." - - "Wiederherstellungsschlüssel" - " oder Passcode" - "Eingeben…" "Hast du deinen Wiederherstellungschlüssel vergessen?" "Wiederherstellungsschlüssel bestätigt" diff --git a/features/securebackup/impl/src/main/res/values-el/translations.xml b/features/securebackup/impl/src/main/res/values-el/translations.xml index e62f465743..f4574b523d 100644 --- a/features/securebackup/impl/src/main/res/values-el/translations.xml +++ b/features/securebackup/impl/src/main/res/values-el/translations.xml @@ -16,6 +16,12 @@ "Ακολούθησε τις οδηγίες για να δημιουργήσεις ένα νέο κλειδί ανάκτησης" "Αποθήκευσε το νέο κλειδί ανάκτησης σε έναν διαχειριστή κωδικών πρόσβασης ή σε κρυπτογραφημένη σημείωση" "Επανάφερε την κρυπτογράφηση για το λογαριασμό σου χρησιμοποιώντας άλλη συσκευή" + "Συνέχιση επαναφοράς" + "Τα στοιχεία του λογαριασμού σου, οι επαφές, οι προτιμήσεις και η λίστα συνομιλιών θα διατηρηθούν" + "Θα χάσεις το υπάρχον ιστορικό μηνυμάτων σου" + "Θα χρειαστεί να επαληθεύσεις ξανά όλες τις υπάρχουσες συσκευές και επαφές σου" + "Επανάφερε την ταυτότητά σου μόνο εάν δεν έχεις πρόσβαση σε άλλη συνδεδεμένη συσκευή και έχεις χάσει το κλειδί ανάκτησης." + "Δεν μπορείς να επιβεβαιώσεις; Θα χρειαστεί να επαναφέρεις την ταυτότητά σου." "Απενεργοποίηση" "Θα χάσεις τα κρυπτογραφημένα μηνύματά σου εάν αποσυνδεθείς από όλες τις συσκευές." "Σίγουρα θες να απενεργοποιήσεις τα αντίγραφα ασφαλείας;" @@ -33,7 +39,6 @@ "Προσπάθησε ξανά για να επιβεβαιώσεις την πρόσβαση στο αντίγραφο ασφαλείας της συνομιλίας σου." "Λανθασμένο κλειδί ανάκτησης" "Εάν έχεις ένα κλειδί ασφαλείας ή μια φράση ασφαλείας, θα λειτουργήσει επίσης." - "Κλειδί ανάκτησης ή κωδικός πρόσβασης" "Εισαγωγή…" "Έχασες το κλειδί ανάκτησης;" "Επιβεβαιώθηκε το κλειδί ανάκτησης" @@ -51,4 +56,11 @@ "Βεβαιώσου ότι μπορείς να αποθηκεύσεις το κλειδί ανάκτησης κάπου ασφαλές" "Επιτυχής ρύθμιση ανάκτησης" "Ρύθμιση ανάκτησης" + "Ναι, επαναφορά τώρα" + "Η διαδικασία είναι μη αναστρέψιμη." + "Σίγουρα θες να επαναφέρεις την ταυτότητά σου;" + "Συνέβη ένα άγνωστο σφάλμα. Έλεγξε ότι ο κωδικός πρόσβασης του λογαριασμού σου είναι σωστός και δοκίμασε ξανά." + "Εισαγωγή…" + "Επιβεβαίωσε ότι θες να επαναφέρεις την ταυτότητά σου." + "Εισήγαγε τον κωδικό πρόσβασης του λογαριασμού σου για να συνεχίσεις" diff --git a/features/securebackup/impl/src/main/res/values-et/translations.xml b/features/securebackup/impl/src/main/res/values-et/translations.xml index 2c3aa2d12b..b618432839 100644 --- a/features/securebackup/impl/src/main/res/values-et/translations.xml +++ b/features/securebackup/impl/src/main/res/values-et/translations.xml @@ -39,7 +39,6 @@ "Kinnitamaks ligipääsu sinu vestluse varukoopiale, palun proovi uuesti" "Vigane taastevõti" "Kui sul on turvavõti või turvafraas, siis need toimivad ka." - "Taastevõti või turvafraas" "Sisesta…" "Kas sa oled taastevõtme kaotanud?" "Taastevõti on kinnitatud" diff --git a/features/securebackup/impl/src/main/res/values-fr/translations.xml b/features/securebackup/impl/src/main/res/values-fr/translations.xml index 6656e0a8e3..1b36266924 100644 --- a/features/securebackup/impl/src/main/res/values-fr/translations.xml +++ b/features/securebackup/impl/src/main/res/values-fr/translations.xml @@ -37,7 +37,6 @@ "Veuillez réessayer afin de pouvoir accéder à vos anciens messages." "Clé de récupération incorrecte" "Si vous avez une clé de sécurité ou une phrase de sécurité, cela fonctionnera également." - "Clé de récupération" "Saisissez la clé ici…" "Clé de récupération perdue?" "Clé de récupération confirmée" diff --git a/features/securebackup/impl/src/main/res/values-hu/translations.xml b/features/securebackup/impl/src/main/res/values-hu/translations.xml index 20575540b7..48fe08a31b 100644 --- a/features/securebackup/impl/src/main/res/values-hu/translations.xml +++ b/features/securebackup/impl/src/main/res/values-hu/translations.xml @@ -39,7 +39,6 @@ "Próbálja meg újra megerősíteni a csevegés biztonsági mentéséhez való hozzáférését." "Helytelen helyreállítási kulcs" "Ha van biztonsági kulcsa vagy biztonsági jelmondata, akkor ez is fog működni." - "Helyreállítási kulcs vagy jelkód" "Megadás…" "Elvesztette a helyreállítási kulcsát?" "Helyreállítási kulcs megerősítve" diff --git a/features/securebackup/impl/src/main/res/values-in/translations.xml b/features/securebackup/impl/src/main/res/values-in/translations.xml index 83fa1f8092..62968d3471 100644 --- a/features/securebackup/impl/src/main/res/values-in/translations.xml +++ b/features/securebackup/impl/src/main/res/values-in/translations.xml @@ -33,7 +33,6 @@ "Silakan coba lagi untuk mengonfirmasi akses ke cadangan percakapan Anda." "Kunci pemulihan salah" "Jika Anda memiliki kunci keamanan atau frasa keamanan, ini juga bisa digunakan." - "Kunci pemulihan atau kode sandi" "Masukkan…" "Kehilangan kunci pemulihan Anda?" "Kunci pemulihan dikonfirmasi" diff --git a/features/securebackup/impl/src/main/res/values-it/translations.xml b/features/securebackup/impl/src/main/res/values-it/translations.xml index c1d67299ba..0e069b0ab2 100644 --- a/features/securebackup/impl/src/main/res/values-it/translations.xml +++ b/features/securebackup/impl/src/main/res/values-it/translations.xml @@ -38,7 +38,6 @@ "Riprova per confermare l\'accesso al backup della chat." "Chiave di recupero errata" "Se hai una chiave di sicurezza o una password, andrà bene anche questo." - "Chiave di recupero o codice di accesso" "Inserisci…" "Hai perso la chiave di recupero?" "Chiave di recupero confermata" diff --git a/features/securebackup/impl/src/main/res/values-pl/translations.xml b/features/securebackup/impl/src/main/res/values-pl/translations.xml index eea550627f..d708e18bab 100644 --- a/features/securebackup/impl/src/main/res/values-pl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pl/translations.xml @@ -38,7 +38,6 @@ "Spróbuj ponownie, aby potwierdzić dostęp do backupu czatu." "Nieprawidłowy klucz przywracania" "To też zadziała, jeśli posiadasz klucz lub frazę bezpieczeństwa." - "Klucz przywracania lub hasło" "Wprowadź…" "Zgubiłeś swój kod przywracania?" "Potwierdzono klucz przywracania" diff --git a/features/securebackup/impl/src/main/res/values-pt/translations.xml b/features/securebackup/impl/src/main/res/values-pt/translations.xml index f93e5dedf4..0e409ea22c 100644 --- a/features/securebackup/impl/src/main/res/values-pt/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pt/translations.xml @@ -38,7 +38,6 @@ "Por favor, tenta novamente para confirmar o acesso à tua cópia de segurança das conversas." "Chave de recuperação incorreta" "Também funciona se tiveres uma chave ou frase de segurança." - "Chave ou código de recuperação" "Inserir…" "Perdeste a tua chave?" "Chave de recuperação confirmada" diff --git a/features/securebackup/impl/src/main/res/values-ro/translations.xml b/features/securebackup/impl/src/main/res/values-ro/translations.xml index 6b2f2e31dc..7266533d78 100644 --- a/features/securebackup/impl/src/main/res/values-ro/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ro/translations.xml @@ -33,7 +33,6 @@ "Vă rugăm să încercați din nou să confirmați accesul la backup." "Cheie de recuperare incorectă" "Dacă aveți o cheie de securitate sau o frază de securitate, aceasta va funcționa și ea." - "Cheie de recuperare sau cod de acces" "Introduceți…" "Ați pierdut cheia de recuperare?" "Cheia de recuperare confirmată" diff --git a/features/securebackup/impl/src/main/res/values-ru/translations.xml b/features/securebackup/impl/src/main/res/values-ru/translations.xml index 8866dc9613..ae45ab45eb 100644 --- a/features/securebackup/impl/src/main/res/values-ru/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ru/translations.xml @@ -60,10 +60,6 @@ "ключ восстановления" "Если у вас есть пароль для восстановления или секретный пароль/ключ, это тоже сработает." - - "Ключ восстановления" - " или пароль" - "Вход…" "Потеряли ключ восстановления?" diff --git a/features/securebackup/impl/src/main/res/values-sk/translations.xml b/features/securebackup/impl/src/main/res/values-sk/translations.xml index 8a088f4245..24d80c6b00 100644 --- a/features/securebackup/impl/src/main/res/values-sk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sk/translations.xml @@ -39,7 +39,6 @@ "Skúste prosím znova potvrdiť prístup k vašej zálohe konverzácie." "Nesprávny kľúč na obnovenie" "Ak máte bezpečnostný kľúč alebo bezpečnostnú frázu, bude to fungovať tiež." - "Kľúč na obnovenie alebo prístupový kód" "Zadať…" "Stratili ste kľúč na obnovenie?" "Kľúč na obnovu potvrdený" diff --git a/features/securebackup/impl/src/main/res/values-sv/translations.xml b/features/securebackup/impl/src/main/res/values-sv/translations.xml index 3599320cd8..7b2364f450 100644 --- a/features/securebackup/impl/src/main/res/values-sv/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sv/translations.xml @@ -39,7 +39,6 @@ "Vänligen pröva igen för att bekräfta åtkomsten till din chattsäkerhetskopia." "Felaktig återställningsnyckel" "Om du har en säkerhetsnyckel eller säkerhetsfras så funkar den också." - "Återställningsnyckel eller lösenkod" "Ange …" "Blivit av med din återställningsnyckel?" "Återställningsnyckel bekräftad" diff --git a/features/securebackup/impl/src/main/res/values-uk/translations.xml b/features/securebackup/impl/src/main/res/values-uk/translations.xml index 14e47f8bad..7d88980f8b 100644 --- a/features/securebackup/impl/src/main/res/values-uk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-uk/translations.xml @@ -38,7 +38,6 @@ "Будь ласка, спробуйте ще раз, щоб підтвердити доступ до резервної копії чату." "Неправильний ключ відновлення" "Якщо у вас є ключ безпеки або фраза безпеки, це теж спрацює." - "Ключ відновлення або код допуску" "Ввести…" "Загубили ключ відновлення?" "Ключ відновлення підтверджено" diff --git a/features/securebackup/impl/src/main/res/values-zh/translations.xml b/features/securebackup/impl/src/main/res/values-zh/translations.xml index 0b4f12b17a..c8f2b7d9ed 100644 --- a/features/securebackup/impl/src/main/res/values-zh/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh/translations.xml @@ -38,7 +38,6 @@ "请重试以访问您的聊天备份。" "恢复密钥不正确" "如果您有安全密钥或安全短语,也可以用。" - "恢复密钥或密码" "输入……" "丢失了恢复密钥?" "恢复密钥已确认" diff --git a/features/securebackup/impl/src/main/res/values/localazy.xml b/features/securebackup/impl/src/main/res/values/localazy.xml index f4795c23da..55c6c547f5 100644 --- a/features/securebackup/impl/src/main/res/values/localazy.xml +++ b/features/securebackup/impl/src/main/res/values/localazy.xml @@ -39,7 +39,6 @@ "Please try again to confirm access to your chat backup." "Incorrect recovery key" "If you have a security key or security phrase, this will work too." - "Recovery key or passcode" "Enter…" "Lost your recovery key?" "Recovery key confirmed" diff --git a/features/verifysession/impl/src/main/res/values-el/translations.xml b/features/verifysession/impl/src/main/res/values-el/translations.xml index cc99091441..e53bd54e00 100644 --- a/features/verifysession/impl/src/main/res/values-el/translations.xml +++ b/features/verifysession/impl/src/main/res/values-el/translations.xml @@ -1,9 +1,11 @@ + "Δεν μπορείς να επιβεβαιώσεις;" "Δημιουργία νέου κλειδιού ανάκτησης" "Επαλήθευσε αυτήν τη συσκευή για να ρυθμίσεις την ασφαλή επικοινωνία." "Επιβεβαίωσε ότι είσαι εσύ" "Χρήση άλλης συσκευής" + "Χρήση κλειδιού ανάκτησης" "Τώρα μπορείς να διαβάζεις ή να στέλνεις μηνύματα με ασφάλεια και επίσης μπορεί να εμπιστευτεί αυτήν τη συσκευή οποιοσδήποτε με τον οποίο συνομιλείς." "Επαληθευμένη συσκευή" "Χρήση άλλης συσκευής" diff --git a/libraries/eventformatter/impl/src/main/res/values-el/translations.xml b/libraries/eventformatter/impl/src/main/res/values-el/translations.xml index 71adc9ed56..4e476d3c4b 100644 --- a/libraries/eventformatter/impl/src/main/res/values-el/translations.xml +++ b/libraries/eventformatter/impl/src/main/res/values-el/translations.xml @@ -45,6 +45,12 @@ "Αφαίρεσες το όνομα του δωματίου" "Ο χρήστης %1$s δεν έκανε καμία αλλαγή" "Δεν έκανες καμία αλλαγή" + "Ο χρήστης %1$s άλλαξε τα καρφιτσωμένα μηνύματα" + "Άλλαξες τα καρφιτσωμένα μηνύματα" + "Ο χρήστης %1$s καρφίτσωσε ένα μήνυμα" + "Καρφίτσωσες ένα μήνυμα" + "Ο χρήστης %1$s ξεκαρφίτσωσε ένα μήνυμα" + "Ξεκαρφίτσωσες ένα μήνυμα" "Ο χρήστης %1$s απέρριψε την πρόσκληση" "Απέρριψες την πρόσκληση" "Ο χρήστης %1$s αφαίρεσε τον χρήστη %2$s" diff --git a/libraries/push/impl/src/main/res/values-el/translations.xml b/libraries/push/impl/src/main/res/values-el/translations.xml index 081adb46b8..b008447c80 100644 --- a/libraries/push/impl/src/main/res/values-el/translations.xml +++ b/libraries/push/impl/src/main/res/values-el/translations.xml @@ -34,6 +34,7 @@ "Γρήγορη απάντηση" "Σέ προσκάλεσε να συμμετάσχεις στο δωμάτιο" "Εγώ" + "Ο χρήστης %1$s αναφέρθηκε ή απάντησε" "Βλέπεις την ειδοποίηση! Κάνε μου κλικ!" "%1$s: %2$s" "%1$s: %2$s %3$s" diff --git a/libraries/ui-strings/src/main/res/values-cs/translations.xml b/libraries/ui-strings/src/main/res/values-cs/translations.xml index 6fcecc495b..164aed50f3 100644 --- a/libraries/ui-strings/src/main/res/values-cs/translations.xml +++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml @@ -38,6 +38,7 @@ "Zpět" "Hovor" "Zrušit" + "Prozatím zrušit" "Vybrat fotku" "Vymazat" "Zavřít" @@ -288,6 +289,12 @@ Důvod: %1$s." "Připnuté zprávy" "Chystáte se přejít na svůj %1$s účet a obnovit svou identitu. Poté budete přesměrováni zpět do aplikace." "Nemůžete to potvrdit? Přejděte na svůj účet a resetujte svou identitu." + "Zrušit ověření a odeslat" + "Ověření můžete zrušit a přesto odeslat tuto zprávu, nebo můžete prozatím zrušit a zkusit to znovu později po opětovném ověření %1$s." + "Vaše zpráva nebyla odeslána, protože ověřená identita uživatele %1$s se změnila" + "Přesto odeslat zprávu" + "%1$s používá jedno nebo více neověřených zařízení. Zprávu můžete přesto odeslat, nebo můžete prozatím zrušit a zkusit to znovu později poté, co %2$s ověří všechna svá zařízení." + "Vaše zpráva nebyla odeslána, protože%1$s neověřil jedno nebo více zařízení" "Připnuté zprávy" "Nahrání média se nezdařilo, zkuste to prosím znovu." "Nepodařilo se načíst údaje o uživateli" @@ -309,6 +316,8 @@ Důvod: %1$s." "Otevřít v Mapách Google" "Otevřít v OpenStreetMap" "Sdílet tuto polohu" + "Zpráva nebyla odeslána, protože ověřená identita uživatele %1$s se změnila." + "Zpráva nebyla odeslána, protože%1$s neověřil jedno nebo více zařízení." "Poloha" "Verze: %1$s (%2$s)" "en" diff --git a/libraries/ui-strings/src/main/res/values-el/translations.xml b/libraries/ui-strings/src/main/res/values-el/translations.xml index b38211a60d..15d9c7244d 100644 --- a/libraries/ui-strings/src/main/res/values-el/translations.xml +++ b/libraries/ui-strings/src/main/res/values-el/translations.xml @@ -36,6 +36,7 @@ "Πίσω" "Κάλεσε" "Άκυρο" + "Ακύρωση προς το παρόν" "Επιλογή φωτογραφίας" "Εκκαθάριση" "Κλείσιμο" @@ -91,6 +92,7 @@ "Αναφορά σφάλματος" "Αναφορά περιεχομένου" "Επαναφορά" + "Επαναφορά ταυτότητας" "Επανάληψη" "Επανάληψη αποκρυπτογράφησης" "Αποθήκευση" @@ -111,6 +113,7 @@ "Πάτα για επιλογές" "Προσπάθησε ξανά" "Ξεκαρφίτσωμα" + "Προβολή στο χρονοδιάγραμμα" "Προβολή πηγής" "Ναι" "Σχετικά" @@ -176,6 +179,7 @@ "Άτομα" "Μόνιμος σύνδεσμος" "Αδεια" + "Καρφιτσωμένο" "Παρακαλώ περίμενε…" "Θες σίγουρα να τερματίσεις αυτή τη δημοσκόπηση;" "Δημοσκόπηση: %1$s" @@ -247,6 +251,7 @@ "Προειδοποίηση" "Οι αλλαγές σου δεν έχουν αποθηκευτεί. Σίγουρα θες να πας πίσω;" "Αποθήκευση αλλαγών;" + "Ο οικιακός διακομιστής σου πρέπει να αναβαθμιστεί για να υποστηρίζει το Matrix Authentication Server και τη δημιουργία λογαριασμού." "Αποτυχία δημιουργίας του μόνιμου συνδέσμου" "%1$s δεν ήταν δυνατή η φόρτωση του χάρτη. Παρακαλώ δοκίμασε ξανά αργότερα." "Αποτυχία φόρτωσης μηνυμάτων" @@ -259,6 +264,8 @@ "Ορισμένα μηνύματα δεν έχουν σταλεί" "Λυπούμαστε, παρουσιάστηκε σφάλμα" "Η αυθεντικότητα αυτού του κρυπτογραφημένου μηνύματος δεν είναι εγγυημένη σε αυτήν τη συσκευή." + "Κρυπτογραφημένο από έναν προηγουμένως επαληθευμένο χρήστη." + "Μη κρυπτογραφημένο." "Κρυπτογραφημένο από άγνωστη ή διαγεγραμμένη συσκευή." "Κρυπτογραφημένο από μια συσκευή που δεν έχει επαληθευτεί από τον ιδιοκτήτη της." "Κρυπτογραφημένο από μη επαληθευμένο χρήστη." @@ -266,9 +273,26 @@ "Γεια, μίλα μου στην εφαρμογή %1$s :%2$s" "%1$s Android" "Κούνησε δυνατά τη συσκευή σου για να αναφέρεις κάποιο σφάλμα" + "Δημιουργία λογαριασμού" "Αποτυχία επιλογής πολυμέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης πολυμέσων, δοκίμασε ξανά." + "Πάτα σε ένα μήνυμα και επέλεξε «%1$s» για να συμπεριληφθεί εδώ." + "Καρφίτσωσε σημαντικά μηνύματα, ώστε να μπορούν να εντοπιστούν εύκολα" + + "%1$d Καρφιτσωμένο μήνυμα" + "%1$d Καρφιτσωμένα μηνύματα" + + "Καρφιτσωμένα μηνύματα" + "Πρόκειται να μεταβείς στον λογαριασμό σου %1$s για να επαναφέρεις την ταυτότητά σου. Στη συνέχεια, θα επιστρέψεις στην εφαρμογή." + "Δεν μπορείς να επιβεβαιώσεις; Πήγαινε στον λογαριασμό σου για να επαναφέρεις την ταυτότητά σου." + "Ανάκληση επαλήθευσης και αποστολή" + "Μπορείτε να ανακαλέσεις την επαλήθευσή σου και να στείλεις αυτό το μήνυμα όπως και να \'χει ή μπορείς να το ακυρώσεις προς το παρόν και να προσπαθήσεις ξανά αργότερα μετά την επαλήθευση του χρήστη %1$s." + "Το μήνυμά σου δεν στάλθηκε επειδή η επαληθευμένη ταυτότητα του χρήστη %1$s έχει αλλάξει" + "Αποστολή μηνύματος ούτως ή άλλως" + "Ο χρήστης %1$s χρησιμοποιεί τουλάχιστον μία μη επαληθευμένη συσκευή. Μπορείς να στείλεις το μήνυμα όπως και να \'χει ή μπορείς να το ακυρώσεις προς το παρόν και να δοκιμάσεις ξανά αργότερα αφού ο χρήστης %2$s επαληθεύσει όλες τις συσκευές του." + "Το μήνυμά σου δεν στάλθηκε επειδή ο χρήστης %1$s δεν έχει επαληθεύσει τουλάχιστον μία συσκευή" + "Καρφιτσωμένα μηνύματα" "Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά." "Δεν ήταν δυνατή η ανάκτηση στοιχείων χρήστη" "Αποκλεισμός" @@ -280,6 +304,7 @@ "Κατάργηση αποκλεισμού χρήστη" "%1$s από %2$s" "%1$s Καρφιτσωμένα μηνύματα" + "Φόρτωση μηνύματος…" "Προβολή Όλων" "Συνομιλία" "Κοινή χρήση τοποθεσίας" @@ -288,6 +313,8 @@ "Άνοιγμα στο Google Maps" "Άνοιγμα στο OpenStreetMap" "Κοινή χρήση αυτής της τοποθεσίας" + "Το μήνυμα δεν στάλθηκε επειδή η επαληθευμένη ταυτότητα του χρήστη %1$s έχει αλλάξει." + "Το μήνυμα δεν στάλθηκε επειδή ο χρήστης %1$s δεν έχει επαληθεύσει τουλάχιστον μία συσκευή." "Τοποθεσία" "Έκδοση: %1$s (%2$s)" "el" diff --git a/libraries/ui-strings/src/main/res/values-et/translations.xml b/libraries/ui-strings/src/main/res/values-et/translations.xml index 8f6c8740e6..74a646fb66 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -36,6 +36,7 @@ "Tagasi" "Helista kasutajale" "Loobu" + "Hetkel jäta tegemata" "Vali foto" "Selge" "Sulge" @@ -250,6 +251,7 @@ Põhjus: %1$s." "Hoiatus" "Sinu tehtud muudatused pole veel salvestatud. Kas sa oled kindel, et soovid minna tagasi?" "Kas salvestame muudatused?" + "Selleks et koos kasutajakonto loomisega toimiks Matrix Authentication Serveri tugi, vajab sinu koduserver uuendamist." "Püsilingi loomine ei õnnestumud" "%1$s kaardi laadimine ei õnnestunud. Palun proovi hiljem uuesti." "Sõnumite laadimine ei õnnestunud" @@ -271,6 +273,7 @@ Põhjus: %1$s." "Hei, suhtle minuga %1$s võrgus: %2$s" "%1$s Android" "Veast teatamiseks raputa nutiseadet ägedalt" + "Loo kasutajakonto" "Meediafaili valimine ei õnnestunud. Palun proovi uuesti." "Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti." "Meediafaili üleslaadimine ei õnnestunud. Palun proovi uuesti." @@ -283,6 +286,12 @@ Põhjus: %1$s." "Esiletõstetud sõnumid" "Oma võrguidentiteedi lähtestamiseks suuname sind %1$s kasutajakonto halduse lehele. Hiljem suunatakse sind tagasi sama rakenduse juurde." "Sa ei saa seda kinnitada? Ava oma kasutajakonto haldus ja lähtesta oma võrguidentiteet." + "Unusta verifitseerimine ja saada ikkagi" + "Sa võid jätta verifitseerimisvea tähelepanuta ja sõnumi ikkagi saata või katkestad saatmise ja peale kasutaja %1$s verifitseerimist proovid seda uuesti." + "Sinu sõnum on saatmata, kuna kasutaja %1$s verifitseeritud identiteet on muutunud." + "Saada sõnum ikkagi" + "%1$s kasutab ühte või enamat verifitseerimata seadet. Sa võid sõnumi ikkagi saata või katkestad selle ning ootad kuni %2$s on kõik oma seadmed verifitseerinud ning proovid seejärel uuesti." + "Sinu sõnum on saatmata, kuna %1$s pole verifitseerinud ühte või enamat oma seadet" "Esiletõstetud sõnumid" "Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti." "Kasutaja andmete laadimine ei õnnestunud" @@ -304,6 +313,8 @@ Põhjus: %1$s." "Ava Google Mapsis" "Ava OpenStreetMapis" "Jaga seda asukohta" + "Sõnum on saatmata, kuna kasutaja %1$s verifitseeritud identiteet on muutunud." + "Sõnum on saatmata, kuna %1$s pole verifitseerinud ühte või enamat oma seadet." "Asukoht" "Versioon: %1$s (%2$s)" "et" diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml index 5fbe3c55e7..3486ebeb15 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -38,6 +38,7 @@ "Späť" "Zavolať" "Zrušiť" + "Zatiaľ zrušiť" "Vybrať fotku" "Vyčistiť" "Zavrieť" @@ -288,6 +289,12 @@ Dôvod: %1$s." "Pripnuté správy" "Chystáte sa prejsť na svoj %1$s účet, aby ste obnovili svoju identitu. Potom budete vrátení späť do aplikácie." "Neviete potvrdiť? Prejdite do svojho účtu a obnovte svoju identitu." + "Odvolať overenie a odoslať" + "Svoje overenie môžete odvolať a odoslať túto správu aj tak, alebo ju môžete zatiaľ zrušiť a po opätovnom overení to skúsiť znova %1$s ." + "Vaša správa nebola odoslaná, pretože sa zmenila overená totožnosť používateľa %1$s." + "Odoslať správu aj tak" + "%1$s používa jedno alebo viac neoverených zariadení. Správu môžete odoslať aj tak, alebo ju môžete zatiaľ zrušiť a skúsiť to znova neskôr po %2$s overení všetkých zariadení." + "Vaša správa nebola odoslaná, pretože %1$s neoveril/a jedno alebo viac zariadení" "Pripnuté správy" "Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova." "Nepodarilo sa získať údaje o používateľovi" @@ -309,6 +316,8 @@ Dôvod: %1$s." "Otvoriť v Mapách Google" "Otvoriť v OpenStreetMap" "Zdieľajte túto polohu" + "Správa nebola odoslaná, pretože sa zmenila overená totožnosť používateľa %1$s." + "Správa nebola odoslaná, pretože %1$s neoveril/a jedno alebo viac zariadení." "Poloha" "Verzia: %1$s (%2$s)" "sk" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index f7c3213ba4..3b8ad9ec24 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -36,6 +36,7 @@ "Back" "Call" "Cancel" + "Cancel for now" "Choose photo" "Clear" "Close" @@ -250,6 +251,7 @@ Reason: %1$s." "Warning" "Your changes have not been saved. Are you sure you want to go back?" "Save changes?" + "Your homeserver needs to be upgraded to support Matrix Authentication Server and account creation." "Failed creating the permalink" "%1$s could not load the map. Please try again later." "Failed loading messages" @@ -271,6 +273,7 @@ Reason: %1$s." "Hey, talk to me on %1$s: %2$s" "%1$s Android" "Rageshake to report bug" + "Create account" "Failed selecting media, please try again." "Failed processing media to upload, please try again." "Failed uploading media, please try again." @@ -283,6 +286,12 @@ Reason: %1$s." "Pinned messages" "You\'re about to go to your %1$s account to reset your identity. Afterwards you\'ll be taken back to the app." "Can\'t confirm? Go to your account to reset your identity." + "Withdraw verification and send" + "You can withdraw your verification and send this message anyway, or you can cancel for now and try again later after reverifying %1$s." + "Your message was not sent because %1$s’s verified identity has changed" + "Send message anyway" + "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." + "Your message was not sent because %1$s has not verified one or more devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -304,6 +313,8 @@ Reason: %1$s." "Open in Google Maps" "Open in OpenStreetMap" "Share this location" + "Message not sent because %1$s’s verified identity has changed." + "Message not sent because %1$s has not verified one or more devices." "Location" "Version: %1$s (%2$s)" "en" diff --git a/screenshots/de/features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Day_0_de.png deleted file mode 100644 index b4f8b0f49a..0000000000 --- a/screenshots/de/features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Day_0_de.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:705b83e220abea5b572dab15e9a08414dbbe6beaa135086b9200653c781a51c9 -size 12658 diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png new file mode 100644 index 0000000000..82bcfe7d5b --- /dev/null +++ b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afa1fbbfeafb9c3265c005b919d1da8d09ff10cd0e8ec60d7a1f42587c57a1b7 +size 73911 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 4e00986bda..8ae51996f2 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,41 +1,41 @@ // Generated file, do not edit export const screenshots = [ ["en","en-dark","de",], -["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19972,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19978,], ["features.invite.impl.response_AcceptDeclineInviteView_Day_0_en","features.invite.impl.response_AcceptDeclineInviteView_Night_0_en",0,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19972,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19972,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19972,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19972,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19978,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19978,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19978,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19978,], ["features.login.impl.accountprovider_AccountProviderView_Day_0_en","features.login.impl.accountprovider_AccountProviderView_Night_0_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_1_en","features.login.impl.accountprovider_AccountProviderView_Night_1_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_2_en","features.login.impl.accountprovider_AccountProviderView_Night_2_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_3_en","features.login.impl.accountprovider_AccountProviderView_Night_3_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_4_en","features.login.impl.accountprovider_AccountProviderView_Night_4_en",0,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19972,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19972,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19972,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19972,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19972,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19972,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19972,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19972,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19972,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19972,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19972,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19972,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19972,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19972,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19978,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19978,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19978,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19978,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19978,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19978,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19978,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19978,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19978,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19978,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19978,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19978,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19978,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19978,], ["libraries.designsystem.components.async_AsyncActionView_Day_0_en","libraries.designsystem.components.async_AsyncActionView_Night_0_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19972,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19978,], ["libraries.designsystem.components.async_AsyncActionView_Day_2_en","libraries.designsystem.components.async_AsyncActionView_Night_2_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19972,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19978,], ["libraries.designsystem.components.async_AsyncActionView_Day_4_en","libraries.designsystem.components.async_AsyncActionView_Night_4_en",0,], -["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19972,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19978,], ["libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncLoading_Day_0_en","libraries.designsystem.components.async_AsyncLoading_Night_0_en",0,], -["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19972,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19978,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_0_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_0_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_1_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_1_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_2_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_2_en",0,], @@ -45,11 +45,11 @@ export const screenshots = [ ["libraries.matrix.ui.components_AttachmentThumbnail_Day_6_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_6_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_7_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_7_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_8_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_8_en",0,], -["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19972,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19972,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19972,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19972,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19972,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19978,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19978,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19978,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19978,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19978,], ["libraries.designsystem.components.avatar_Avatar_Avatars_0_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_10_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_11_en","",0,], @@ -129,13 +129,13 @@ export const screenshots = [ ["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,], ["libraries.designsystem.components_BigCheckmark_Day_0_en","libraries.designsystem.components_BigCheckmark_Night_0_en",0,], ["libraries.designsystem.components_BigIcon_Day_0_en","libraries.designsystem.components_BigIcon_Night_0_en",0,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19972,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19972,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19978,], ["libraries.designsystem.components_BloomInitials_Day_0_en","libraries.designsystem.components_BloomInitials_Night_0_en",0,], ["libraries.designsystem.components_BloomInitials_Day_1_en","libraries.designsystem.components_BloomInitials_Night_1_en",0,], ["libraries.designsystem.components_BloomInitials_Day_2_en","libraries.designsystem.components_BloomInitials_Night_2_en",0,], @@ -146,87 +146,87 @@ export const screenshots = [ ["libraries.designsystem.components_BloomInitials_Day_7_en","libraries.designsystem.components_BloomInitials_Night_7_en",0,], ["libraries.designsystem.components_Bloom_Day_0_en","libraries.designsystem.components_Bloom_Night_0_en",0,], ["libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en","libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en",0,], -["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19972,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19972,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19972,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19972,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19972,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19978,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19978,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19978,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19978,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19978,], ["libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_ButtonRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonRowMolecule_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_0_en","features.call.impl.ui_CallScreenPipView_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_1_en","features.call.impl.ui_CallScreenPipView_Night_1_en",0,], ["features.call.impl.ui_CallScreenView_Day_0_en","features.call.impl.ui_CallScreenView_Night_0_en",0,], -["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19972,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19972,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19972,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19972,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19972,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19978,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19978,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19978,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19978,], ["features.login.impl.changeserver_ChangeServerView_Day_0_en","features.login.impl.changeserver_ChangeServerView_Night_0_en",0,], -["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19972,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19972,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19978,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19978,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19972,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19978,], ["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,], ["libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components_ClickableLinkText_Text_en","",0,], ["libraries.designsystem.theme_ColorAliases_Day_0_en","libraries.designsystem.theme_ColorAliases_Night_0_en",0,], ["libraries.textcomposer.components_ComposerOptionsButton_Day_0_en","libraries.textcomposer.components_ComposerOptionsButton_Night_0_en",0,], ["libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19972,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19972,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19978,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19978,], ["features.preferences.impl.developer.tracing_ConfigureTracingView_Day_0_en","features.preferences.impl.developer.tracing_ConfigureTracingView_Night_0_en",0,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19972,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19972,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19978,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19978,], ["libraries.designsystem.components.dialogs_ConfirmationDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_ConfirmationDialog_Day_0_en","libraries.designsystem.components.dialogs_ConfirmationDialog_Night_0_en",0,], ["features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en","features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en",0,], -["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19972,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19972,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19972,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19972,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19972,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19972,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19972,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19972,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19972,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19972,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19972,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19972,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19972,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19972,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19972,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19978,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19978,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19978,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19978,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19978,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19978,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19978,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19978,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19978,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19978,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19978,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19978,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19978,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19978,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19978,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_0_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_0_en",0,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19972,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19972,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19972,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19978,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19978,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19978,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_4_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_4_en",0,], -["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19972,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19972,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19972,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19978,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19978,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19978,], ["features.licenses.impl.details_DependenciesDetailsView_Day_0_en","features.licenses.impl.details_DependenciesDetailsView_Night_0_en",0,], -["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19975,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19975,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19975,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19972,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19972,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19972,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19972,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19978,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19978,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19978,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19978,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19978,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19978,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19978,], ["libraries.designsystem.theme.components_DialogWithDestructiveButton_Dialog with destructive button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithThirdButton_Dialog with third button_Dialogs_en","",0,], @@ -238,12 +238,12 @@ export const screenshots = [ ["libraries.designsystem.text_DpScale_1_0f__en","",0,], ["libraries.designsystem.text_DpScale_1_5f__en","",0,], ["libraries.designsystem.theme.components_DropdownMenuItem_Menus_en","",0,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19972,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19972,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19972,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19972,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19972,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19972,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19978,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19978,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19978,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19978,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19978,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19978,], ["libraries.matrix.ui.components_EditableAvatarView_Day_0_en","libraries.matrix.ui.components_EditableAvatarView_Night_0_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_1_en","libraries.matrix.ui.components_EditableAvatarView_Night_1_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_2_en","libraries.matrix.ui.components_EditableAvatarView_Night_2_en",0,], @@ -253,10 +253,9 @@ export const screenshots = [ ["libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en","libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiItem_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiItem_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiPicker_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiPicker_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Day_0_en","features.messages.impl.timeline.components.virtual_EncryptedHistoryBannerView_Night_0_en",19972,], -["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19972,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19972,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19972,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19978,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19978,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19978,], ["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,], ["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,], ["libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en","",0,], @@ -267,15 +266,15 @@ export const screenshots = [ ["libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en","",0,], ["libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en","libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en",0,], ["features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en",0,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19972,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19972,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19972,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19978,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19978,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19978,], ["libraries.textcomposer.components_FormattingOption_Day_0_en","libraries.textcomposer.components_FormattingOption_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_0_en","features.messages.impl.forward_ForwardMessagesView_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_1_en","features.messages.impl.forward_ForwardMessagesView_Night_1_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_2_en","features.messages.impl.forward_ForwardMessagesView_Night_2_en",0,], -["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19972,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19972,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19978,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19978,], ["libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Night_0_en",0,], ["libraries.designsystem.components.button_GradientFloatingActionButton_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButton_Night_0_en",0,], ["features.messages.impl.timeline.components.group_GroupHeaderView_Day_0_en","features.messages.impl.timeline.components.group_GroupHeaderView_Night_0_en",0,], @@ -302,37 +301,37 @@ export const screenshots = [ ["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19972,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19978,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_5_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_5_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_6_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_6_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_7_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_7_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19972,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19978,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_9_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_9_en",0,], -["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19972,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19978,], ["libraries.designsystem.atomic.molecules_InfoListItemMolecule_Day_0_en","libraries.designsystem.atomic.molecules_InfoListItemMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.organisms_InfoListOrganism_Day_0_en","libraries.designsystem.atomic.organisms_InfoListOrganism_Night_0_en",0,], -["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19972,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19978,], ["features.joinroom.impl_JoinRoomView_Day_0_en","features.joinroom.impl_JoinRoomView_Night_0_en",0,], ["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",0,], -["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19972,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19972,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19978,], ["libraries.designsystem.components_LabelledCheckbox_Toggles_en","",0,], ["libraries.designsystem.components_LabelledOutlinedTextField_Day_0_en","libraries.designsystem.components_LabelledOutlinedTextField_Night_0_en",0,], ["libraries.designsystem.components_LabelledTextField_Day_0_en","libraries.designsystem.components_LabelledTextField_Night_0_en",0,], ["features.leaveroom.api_LeaveRoomView_Day_0_en","features.leaveroom.api_LeaveRoomView_Night_0_en",0,], -["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19972,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19972,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19972,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19972,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19972,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19972,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19978,], ["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components.dialogs_ListDialogContent_Dialogs_en","",0,], @@ -383,28 +382,28 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListSupportingTextSmallPadding_List supporting text - small padding_List sections_en","",0,], ["libraries.textcomposer.components_LiveWaveformView_Day_0_en","libraries.textcomposer.components_LiveWaveformView_Night_0_en",0,], ["appnav.room.joined_LoadingRoomNodeView_Day_0_en","appnav.room.joined_LoadingRoomNodeView_Night_0_en",0,], -["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19972,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19972,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19972,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19972,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19978,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19978,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19978,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19978,], ["appnav.loggedin_LoggedInView_Day_0_en","appnav.loggedin_LoggedInView_Night_0_en",0,], -["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19972,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19972,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19972,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19972,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19972,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19972,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19972,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19972,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19972,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19972,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19972,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19972,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19972,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19972,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19972,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19978,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19978,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19978,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19978,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19978,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19978,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19978,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19978,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19978,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19978,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19978,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19978,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19978,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19978,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19978,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19972,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19978,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Day_0_en","libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_0_en","libraries.matrix.ui.components_MatrixUserHeader_Night_0_en",0,], @@ -414,7 +413,7 @@ export const screenshots = [ ["libraries.mediaviewer.api.viewer_MediaViewerView_0_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_10_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_1_en","",0,], -["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19972,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19978,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -426,7 +425,7 @@ export const screenshots = [ ["libraries.textcomposer.mentions_MentionSpanTheme_Day_0_en","libraries.textcomposer.mentions_MentionSpanTheme_Night_0_en",0,], ["libraries.designsystem.theme.components.previews_Menu_Menus_en","",0,], ["features.messages.impl.messagecomposer_MessageComposerViewVoice_Day_0_en","features.messages.impl.messagecomposer_MessageComposerViewVoice_Night_0_en",0,], -["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19972,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19978,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_0_en","features.messages.impl.timeline.components_MessageEventBubble_Night_0_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_10_en","features.messages.impl.timeline.components_MessageEventBubble_Night_10_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_11_en","features.messages.impl.timeline.components_MessageEventBubble_Night_11_en",0,], @@ -443,7 +442,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_8_en","features.messages.impl.timeline.components_MessageEventBubble_Night_8_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_9_en","features.messages.impl.timeline.components_MessageEventBubble_Night_9_en",0,], -["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19972,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19978,], ["features.messages.impl.timeline.components_MessageStateEventContainer_Day_0_en","features.messages.impl.timeline.components_MessageStateEventContainer_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonAdd_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonAdd_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonExtra_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonExtra_Night_0_en",0,], @@ -451,25 +450,25 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessagesReactionButton_Day_1_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_1_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_2_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_2_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_3_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_3_en",0,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19972,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19972,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19972,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19972,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19972,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19972,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19972,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19972,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19972,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19972,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19972,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19972,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19972,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19972,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19972,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19972,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19972,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19978,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19978,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19978,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19978,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19978,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19978,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19978,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19978,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19978,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19978,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19978,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19978,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19978,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19978,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19978,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19978,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19978,], ["features.migration.impl_MigrationView_Day_0_en","features.migration.impl_MigrationView_Night_0_en",0,], -["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19972,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19978,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -478,28 +477,29 @@ export const screenshots = [ ["libraries.designsystem.components.list_MutipleSelectionListItemSelectedTrailingContent_Multiple selection List item - selection in trailing content_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItemSelected_Multiple selection List item - selection in supporting text_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItem_Multiple selection List item - no selection_List items_en","",0,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19972,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19972,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19972,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",0,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19978,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19978,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19978,], ["libraries.oidc.impl.webview_OidcView_Day_0_en","libraries.oidc.impl.webview_OidcView_Night_0_en",0,], ["libraries.oidc.impl.webview_OidcView_Day_1_en","libraries.oidc.impl.webview_OidcView_Night_1_en",0,], ["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,], -["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19972,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19972,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19972,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19972,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19972,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19978,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19978,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19978,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19978,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19978,], ["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,], @@ -514,62 +514,62 @@ export const screenshots = [ ["libraries.designsystem.components_PageTitleWithIconFull_Day_3_en","libraries.designsystem.components_PageTitleWithIconFull_Night_3_en",0,], ["libraries.designsystem.components_PageTitleWithIconFull_Day_4_en","libraries.designsystem.components_PageTitleWithIconFull_Night_4_en",0,], ["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19972,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19972,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19972,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19972,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19972,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19978,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19978,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19978,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19978,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19978,], ["features.lockscreen.impl.components_PinEntryTextField_Day_0_en","features.lockscreen.impl.components_PinEntryTextField_Night_0_en",0,], ["libraries.designsystem.components_PinIcon_Day_0_en","libraries.designsystem.components_PinIcon_Night_0_en",0,], ["features.lockscreen.impl.unlock.keypad_PinKeypad_Day_0_en","features.lockscreen.impl.unlock.keypad_PinKeypad_Night_0_en",0,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19972,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19972,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19978,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_0_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_0_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19975,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19978,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19972,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19972,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19975,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19978,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19978,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19978,], ["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",0,], ["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",0,], ["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",0,], ["libraries.designsystem.atomic.atoms_PlaceholderAtom_Day_0_en","libraries.designsystem.atomic.atoms_PlaceholderAtom_Night_0_en",0,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19972,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19972,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19972,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19972,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19972,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19978,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19978,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19978,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19978,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19978,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en",0,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en",0,], -["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19972,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19972,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19972,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19972,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19972,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19972,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19972,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19972,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19972,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19972,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19972,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19978,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19978,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19978,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19978,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19978,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19978,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19978,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19978,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19978,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19978,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19978,], ["features.poll.api.pollcontent_PollTitleView_Day_0_en","features.poll.api.pollcontent_PollTitleView_Night_0_en",0,], ["libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en","",0,], @@ -586,191 +586,192 @@ export const screenshots = [ ["libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en","",0,], -["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19972,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19972,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19972,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19972,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19978,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19978,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19978,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19978,], ["features.messages.impl.timeline.components.event_ProgressButton_Day_0_en","features.messages.impl.timeline.components.event_ProgressButton_Night_0_en",0,], -["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19972,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19972,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19972,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19972,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19972,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19972,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19972,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19972,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19972,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19972,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19972,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19972,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19978,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19978,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19978,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19978,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19978,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19978,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19978,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19978,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19978,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19978,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19978,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19978,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19972,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19972,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19978,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19978,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19972,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19972,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19972,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19972,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19972,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19975,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19975,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19972,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19972,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19978,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19978,], ["libraries.designsystem.atomic.atoms_RedIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_RedIndicatorAtom_Night_0_en",0,], ["features.messages.impl.timeline.components_ReplySwipeIndicator_Day_0_en","features.messages.impl.timeline.components_ReplySwipeIndicator_Night_0_en",0,], -["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19972,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19972,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19972,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19972,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19972,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19972,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19972,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19972,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19972,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19972,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19978,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19978,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19978,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19978,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19978,], ["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",0,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19972,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19972,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19972,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19972,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19978,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19978,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19978,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19978,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_0_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_0_en",0,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",0,], -["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19972,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19978,], ["features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en","features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en","features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgePositive_Day_0_en","features.roomdetails.impl.components_RoomBadgePositive_Night_0_en",0,], -["features.roomdetails.impl_RoomDetailsDark_0_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",19975,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",19972,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19972,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19972,], -["features.roomdetails.impl_RoomDetails_0_en","",19972,], -["features.roomdetails.impl_RoomDetails_10_en","",19972,], -["features.roomdetails.impl_RoomDetails_11_en","",19972,], -["features.roomdetails.impl_RoomDetails_12_en","",19972,], -["features.roomdetails.impl_RoomDetails_13_en","",19975,], -["features.roomdetails.impl_RoomDetails_1_en","",19972,], -["features.roomdetails.impl_RoomDetails_2_en","",19972,], -["features.roomdetails.impl_RoomDetails_3_en","",19972,], -["features.roomdetails.impl_RoomDetails_4_en","",19972,], -["features.roomdetails.impl_RoomDetails_5_en","",19972,], -["features.roomdetails.impl_RoomDetails_6_en","",19972,], -["features.roomdetails.impl_RoomDetails_7_en","",19972,], -["features.roomdetails.impl_RoomDetails_8_en","",19972,], -["features.roomdetails.impl_RoomDetails_9_en","",19972,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19972,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19972,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19972,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19972,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19972,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19972,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",19978,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19978,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19978,], +["features.roomdetails.impl_RoomDetails_0_en","",19978,], +["features.roomdetails.impl_RoomDetails_10_en","",19978,], +["features.roomdetails.impl_RoomDetails_11_en","",19978,], +["features.roomdetails.impl_RoomDetails_12_en","",19978,], +["features.roomdetails.impl_RoomDetails_13_en","",19978,], +["features.roomdetails.impl_RoomDetails_1_en","",19978,], +["features.roomdetails.impl_RoomDetails_2_en","",19978,], +["features.roomdetails.impl_RoomDetails_3_en","",19978,], +["features.roomdetails.impl_RoomDetails_4_en","",19978,], +["features.roomdetails.impl_RoomDetails_5_en","",19978,], +["features.roomdetails.impl_RoomDetails_6_en","",19978,], +["features.roomdetails.impl_RoomDetails_7_en","",19978,], +["features.roomdetails.impl_RoomDetails_8_en","",19978,], +["features.roomdetails.impl_RoomDetails_9_en","",19978,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19978,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19978,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19978,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19978,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19978,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19978,], ["features.roomlist.impl.components_RoomListContentView_Day_2_en","features.roomlist.impl.components_RoomListContentView_Night_2_en",0,], -["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19972,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19972,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19972,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19972,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19972,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19972,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19978,], +["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19982,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19978,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19978,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19978,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19978,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19978,], ["features.roomlist.impl.search_RoomListSearchContent_Day_0_en","features.roomlist.impl.search_RoomListSearchContent_Night_0_en",0,], -["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19972,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19972,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19972,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19975,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19972,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19972,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19972,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19972,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19972,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19972,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19972,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19978,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19978,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19978,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19978,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19978,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19978,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19978,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19978,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19978,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19978,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19978,], ["features.roomlist.impl_RoomListView_Day_8_en","features.roomlist.impl_RoomListView_Night_8_en",0,], ["features.roomlist.impl_RoomListView_Day_9_en","features.roomlist.impl_RoomListView_Night_9_en",0,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19972,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19972,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19972,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19978,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19978,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19978,], ["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",0,], -["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19972,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19972,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19978,], ["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19972,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19972,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19978,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_9_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_9_en",0,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19972,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19972,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19972,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19972,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19978,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19978,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19978,], ["features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_0_en","features.roomlist.impl.components_RoomSummaryRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_10_en","features.roomlist.impl.components_RoomSummaryRow_Night_10_en",0,], @@ -793,10 +794,10 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_26_en","features.roomlist.impl.components_RoomSummaryRow_Night_26_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_27_en","features.roomlist.impl.components_RoomSummaryRow_Night_27_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_28_en","features.roomlist.impl.components_RoomSummaryRow_Night_28_en",0,], -["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19972,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19972,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19972,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19972,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19978,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19978,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19978,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19978,], ["features.roomlist.impl.components_RoomSummaryRow_Day_3_en","features.roomlist.impl.components_RoomSummaryRow_Night_3_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_4_en","features.roomlist.impl.components_RoomSummaryRow_Night_4_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_5_en","features.roomlist.impl.components_RoomSummaryRow_Night_5_en",0,], @@ -804,64 +805,64 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_7_en","features.roomlist.impl.components_RoomSummaryRow_Night_7_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_8_en","features.roomlist.impl.components_RoomSummaryRow_Night_8_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_9_en","features.roomlist.impl.components_RoomSummaryRow_Night_9_en",0,], -["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19972,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19972,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19972,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19978,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19978,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19978,], ["appicon.element_RoundIcon_en","",0,], ["appicon.enterprise_RoundIcon_en","",0,], ["libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en","libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en",0,], -["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19972,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19972,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19972,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19978,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19978,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19978,], ["libraries.designsystem.theme.components_SearchBarActiveNoneQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithContent_Search views_en","",0,], -["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19972,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19978,], ["libraries.designsystem.theme.components_SearchBarActiveWithQueryNoBackButton_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarInactive_Search views_en","",0,], -["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19972,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",19972,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19972,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19972,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19972,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19972,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19972,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19972,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19972,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19972,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19972,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19972,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19972,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19972,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19972,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19978,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",19978,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19978,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19978,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19978,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19978,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19978,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19978,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19978,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19978,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19978,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19978,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19978,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19978,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19978,], ["libraries.matrix.ui.components_SelectedRoom_Day_0_en","libraries.matrix.ui.components_SelectedRoom_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedRoom_Day_1_en","libraries.matrix.ui.components_SelectedRoom_Night_1_en",0,], ["libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en","libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUser_Day_0_en","libraries.matrix.ui.components_SelectedUser_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en","libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en",0,], ["libraries.textcomposer.components_SendButton_Day_0_en","libraries.textcomposer.components_SendButton_Night_0_en",0,], -["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19972,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19972,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19972,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19972,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19972,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19978,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19978,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19978,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19978,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19978,], ["libraries.matrix.ui.messages.sender_SenderName_Day_0_en","libraries.matrix.ui.messages.sender_SenderName_Night_0_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_1_en","libraries.matrix.ui.messages.sender_SenderName_Night_1_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_2_en","libraries.matrix.ui.messages.sender_SenderName_Night_2_en",0,], @@ -871,39 +872,39 @@ export const screenshots = [ ["libraries.matrix.ui.messages.sender_SenderName_Day_6_en","libraries.matrix.ui.messages.sender_SenderName_Night_6_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_7_en","libraries.matrix.ui.messages.sender_SenderName_Night_7_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_8_en","libraries.matrix.ui.messages.sender_SenderName_Night_8_en",0,], -["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19975,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19972,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19972,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19972,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19972,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19972,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19972,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19978,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19978,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19978,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19978,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19978,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19978,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19978,], ["features.share.impl_ShareView_Day_0_en","features.share.impl_ShareView_Night_0_en",0,], ["features.share.impl_ShareView_Day_1_en","features.share.impl_ShareView_Night_1_en",0,], ["features.share.impl_ShareView_Day_2_en","features.share.impl_ShareView_Night_2_en",0,], -["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19972,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19978,], ["features.messages.impl.actionlist_SheetContent_Day_0_en","features.messages.impl.actionlist_SheetContent_Night_0_en",0,], ["features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19972,], +["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19978,], ["features.messages.impl.actionlist_SheetContent_Day_1_en","features.messages.impl.actionlist_SheetContent_Night_1_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19972,], -["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19972,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19972,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19972,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19972,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19972,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19972,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19972,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19972,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19972,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19972,], +["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19978,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19978,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19978,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19978,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19978,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19978,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19978,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19978,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19978,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19978,], ["libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en","libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en",0,], ["libraries.designsystem.components.list_SingleSelectionListItemCustomFormattert_Single selection List item - custom formatter_List items_en","",0,], @@ -912,7 +913,7 @@ export const screenshots = [ ["libraries.designsystem.components.list_SingleSelectionListItemUnselectedWithSupportingText_Single selection List item - no selection, supporting text_List items_en","",0,], ["libraries.designsystem.components.list_SingleSelectionListItem_Single selection List item - no selection_List items_en","",0,], ["libraries.designsystem.theme.components_Sliders_Sliders_en","",0,], -["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19972,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19978,], ["libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en","",0,], @@ -922,37 +923,37 @@ export const screenshots = [ ["libraries.designsystem.modifiers_SquareSizeModifierLargeHeight_en","",0,], ["libraries.designsystem.modifiers_SquareSizeModifierLargeWidth_en","",0,], ["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",0,], -["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19972,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19978,], ["features.location.api_StaticMapView_Day_0_en","features.location.api_StaticMapView_Night_0_en",0,], -["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19972,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19978,], ["libraries.designsystem.atomic.pages_SunsetPage_Day_0_en","libraries.designsystem.atomic.pages_SunsetPage_Night_0_en",0,], ["libraries.designsystem.components.button_SuperButton_Day_0_en","libraries.designsystem.components.button_SuperButton_Night_0_en",0,], ["libraries.designsystem.theme.components_Surface_en","",0,], ["libraries.designsystem.theme.components_Switch_Toggles_en","",0,], -["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19972,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19978,], ["libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonLarge_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMedium_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonSmall_Buttons_en","",0,], -["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19972,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19972,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19972,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19972,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19972,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19972,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19972,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19978,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19978,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19978,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19978,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19978,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19978,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19978,], ["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,], ["libraries.designsystem.theme.components_TextDark_Text_en","",0,], ["libraries.designsystem.theme.components_TextFieldDark_TextFields_en","",0,], @@ -964,26 +965,26 @@ export const screenshots = [ ["libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en","",0,], ["libraries.textcomposer.components_TextFormatting_Day_0_en","libraries.textcomposer.components_TextFormatting_Night_0_en",0,], ["libraries.designsystem.theme.components_TextLight_Text_en","",0,], -["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19972,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19972,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19972,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19978,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19978,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19978,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_0_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_1_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_2_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19972,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19972,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19978,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19978,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_5_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_6_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_6_en",0,], ["features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19972,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19978,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_0_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_1_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19972,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19972,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19972,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en","",0,], @@ -991,16 +992,16 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19972,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19972,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19972,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19972,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19972,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en",0,], @@ -1009,36 +1010,36 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19972,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19972,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19978,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19972,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19978,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19972,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19972,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19978,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_2_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemInformativeView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemInformativeView_Night_0_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19972,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19978,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19972,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19972,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19972,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19972,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19972,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19978,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19978,], ["features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19972,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19972,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19978,], ["features.messages.impl.timeline.components_TimelineItemReactionsView_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsView_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19972,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19978,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_0_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_0_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_2_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_2_en",0,], @@ -1047,8 +1048,8 @@ export const screenshots = [ ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19972,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19972,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19978,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19978,], ["features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStateView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStateView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en",0,], @@ -1060,7 +1061,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_4_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_5_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19972,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19978,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,], @@ -1082,84 +1083,84 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_9_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_9_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en",0,], -["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19972,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19978,], ["features.messages.impl.timeline_TimelineView_Day_10_en","features.messages.impl.timeline_TimelineView_Night_10_en",0,], -["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19972,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19975,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19972,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19978,], ["features.messages.impl.timeline_TimelineView_Day_2_en","features.messages.impl.timeline_TimelineView_Night_2_en",0,], ["features.messages.impl.timeline_TimelineView_Day_3_en","features.messages.impl.timeline_TimelineView_Night_3_en",0,], -["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19972,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19978,], ["features.messages.impl.timeline_TimelineView_Day_5_en","features.messages.impl.timeline_TimelineView_Night_5_en",0,], -["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19972,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19978,], ["features.messages.impl.timeline_TimelineView_Day_7_en","features.messages.impl.timeline_TimelineView_Night_7_en",0,], -["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19972,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19978,], ["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,], ["libraries.designsystem.theme.components_TopAppBar_App Bars_en","",0,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19972,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19972,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19978,], ["features.messages.impl.typing_TypingNotificationView_Day_0_en","features.messages.impl.typing_TypingNotificationView_Night_0_en",0,], -["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19972,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19972,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19972,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19972,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19972,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19972,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19978,], ["features.messages.impl.typing_TypingNotificationView_Day_7_en","features.messages.impl.typing_TypingNotificationView_Night_7_en",0,], ["features.messages.impl.typing_TypingNotificationView_Day_8_en","features.messages.impl.typing_TypingNotificationView_Night_8_en",0,], ["libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Night_0_en",0,], -["libraries.matrix.ui.components_UnresolvedUserRow_en","",19972,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",19978,], ["libraries.matrix.ui.components_UnsavedAvatar_Day_0_en","libraries.matrix.ui.components_UnsavedAvatar_Night_0_en",0,], ["libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en",0,], -["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19972,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19972,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19972,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19972,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19978,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19978,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19978,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19978,], ["features.createroom.impl.components_UserListView_Day_3_en","features.createroom.impl.components_UserListView_Night_3_en",0,], ["features.createroom.impl.components_UserListView_Day_4_en","features.createroom.impl.components_UserListView_Night_4_en",0,], ["features.createroom.impl.components_UserListView_Day_5_en","features.createroom.impl.components_UserListView_Night_5_en",0,], ["features.createroom.impl.components_UserListView_Day_6_en","features.createroom.impl.components_UserListView_Night_6_en",0,], -["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19972,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19978,], ["features.createroom.impl.components_UserListView_Day_8_en","features.createroom.impl.components_UserListView_Night_8_en",0,], -["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19972,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19978,], ["features.preferences.impl.user_UserPreferences_Day_0_en","features.preferences.impl.user_UserPreferences_Night_0_en",0,], ["features.preferences.impl.user_UserPreferences_Day_1_en","features.preferences.impl.user_UserPreferences_Night_1_en",0,], ["features.preferences.impl.user_UserPreferences_Day_2_en","features.preferences.impl.user_UserPreferences_Night_2_en",0,], ["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",0,], -["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19972,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19972,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19972,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19972,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19972,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19972,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19972,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19972,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19975,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19978,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19978,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19978,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19978,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19978,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19978,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19978,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19978,], +["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19978,], ["features.verifysession.impl_VerifySelfSessionView_Day_11_en","features.verifysession.impl_VerifySelfSessionView_Night_11_en",0,], ["features.verifysession.impl_VerifySelfSessionView_Day_12_en","features.verifysession.impl_VerifySelfSessionView_Night_12_en",0,], -["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19972,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19972,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19978,], ["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_0_en","features.viewfolder.impl.file_ViewFileView_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_1_en","features.viewfolder.impl.file_ViewFileView_Night_1_en",0,], @@ -1173,12 +1174,7 @@ export const screenshots = [ ["libraries.textcomposer.components_VoiceMessageRecorderButton_Day_0_en","libraries.textcomposer.components_VoiceMessageRecorderButton_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessageRecording_Day_0_en","libraries.textcomposer.components_VoiceMessageRecording_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessage_Day_0_en","libraries.textcomposer.components_VoiceMessage_Night_0_en",0,], -["features.login.impl.screens.waitlistscreen_WaitListView_Day_0_en","features.login.impl.screens.waitlistscreen_WaitListView_Night_0_en",19972,], -["features.login.impl.screens.waitlistscreen_WaitListView_Day_1_en","features.login.impl.screens.waitlistscreen_WaitListView_Night_1_en",19972,], -["features.login.impl.screens.waitlistscreen_WaitListView_Day_2_en","features.login.impl.screens.waitlistscreen_WaitListView_Night_2_en",19972,], -["features.login.impl.screens.waitlistscreen_WaitListView_Day_3_en","features.login.impl.screens.waitlistscreen_WaitListView_Night_3_en",19972,], -["features.login.impl.screens.waitlistscreen_WaitListView_Day_4_en","features.login.impl.screens.waitlistscreen_WaitListView_Night_4_en",19972,], ["libraries.designsystem.components.media_WaveformPlaybackView_Day_0_en","libraries.designsystem.components.media_WaveformPlaybackView_Night_0_en",0,], -["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19972,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19978,], ["libraries.designsystem.ruler_WithRulers_Day_0_en","libraries.designsystem.ruler_WithRulers_Night_0_en",0,], ]; From 663362ac7f85f2b53de6405737fedd2c2dc78de8 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Mon, 16 Sep 2024 11:13:02 +0200 Subject: [PATCH 036/122] Add forced logout flow when the proxy is no longer available (#3458) * Add `MatrixClient.isSlidingSyncProxySupported` function * Update localazy strings * Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action. Also make the title text optional and dismissing the dialog by tapping outside/going back configurable. * Check if a forced migration to SSS is needed because the proxy is no longer available. In that case, display the non-dismissable dialog and force the user to log out after enabling SSS. * Enable native/simplified sliding sync by default. * Refactor the login to make sure we: 1. Always try native/simplified sliding sync login first, if available. 2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one). * Move logic to `LoggedInPresenter` and the UI to `LoggedInView` * Update screenshots --------- Co-authored-by: ElementBot --- appnav/build.gradle.kts | 1 + .../android/appnav/loggedin/LoggedInEvents.kt | 2 + .../appnav/loggedin/LoggedInPresenter.kt | 17 +++ .../android/appnav/loggedin/LoggedInState.kt | 1 + .../appnav/loggedin/LoggedInStateProvider.kt | 3 + .../android/appnav/loggedin/LoggedInView.kt | 29 +++++ appnav/src/main/res/values/localazy.xml | 5 + .../appnav/loggedin/LoggedInPresenterTest.kt | 92 +++++++++++++- .../features/call/impl/ui/CallScreenView.kt | 2 +- .../features/leaveroom/api/LeaveRoomView.kt | 2 +- .../lockscreen/impl/setup/pin/SetupPinView.kt | 2 +- .../lockscreen/impl/unlock/PinUnlockView.kt | 4 +- .../impl/changeserver/ChangeServerView.kt | 2 +- .../ConfirmAccountProviderView.kt | 2 +- .../loginpassword/LoginPasswordView.kt | 2 +- .../src/main/res/values-be/translations.xml | 6 - .../src/main/res/values-bg/translations.xml | 1 - .../src/main/res/values-cs/translations.xml | 6 - .../src/main/res/values-de/translations.xml | 6 - .../src/main/res/values-el/translations.xml | 6 - .../src/main/res/values-es/translations.xml | 6 - .../src/main/res/values-et/translations.xml | 6 - .../src/main/res/values-fr/translations.xml | 6 - .../src/main/res/values-hu/translations.xml | 6 - .../src/main/res/values-in/translations.xml | 6 - .../src/main/res/values-it/translations.xml | 6 - .../src/main/res/values-ka/translations.xml | 6 - .../src/main/res/values-nl/translations.xml | 6 - .../src/main/res/values-pl/translations.xml | 6 - .../main/res/values-pt-rBR/translations.xml | 6 - .../src/main/res/values-pt/translations.xml | 6 - .../src/main/res/values-ro/translations.xml | 6 - .../src/main/res/values-ru/translations.xml | 6 - .../src/main/res/values-sk/translations.xml | 6 - .../src/main/res/values-sv/translations.xml | 6 - .../src/main/res/values-uk/translations.xml | 6 - .../src/main/res/values-uz/translations.xml | 6 - .../main/res/values-zh-rTW/translations.xml | 1 - .../src/main/res/values-zh/translations.xml | 6 - .../impl/src/main/res/values/localazy.xml | 6 - .../pinned/list/PinnedMessagesListView.kt | 2 +- .../timeline/focus/FocusRequestStateView.kt | 2 +- .../VoiceMessageSendingFailedDialog.kt | 2 +- .../notifications/NotificationSettingsView.kt | 2 +- .../RolesAndPermissionsView.kt | 2 +- .../changeroles/ChangeRolesView.kt | 2 +- .../impl/src/main/res/values/localazy.xml | 1 + .../src/main/res/values-be/translations.xml | 1 - .../src/main/res/values-cs/translations.xml | 1 - .../src/main/res/values-de/translations.xml | 4 - .../src/main/res/values-el/translations.xml | 1 - .../src/main/res/values-et/translations.xml | 1 - .../src/main/res/values-fr/translations.xml | 1 - .../src/main/res/values-hu/translations.xml | 1 - .../src/main/res/values-in/translations.xml | 1 - .../src/main/res/values-it/translations.xml | 1 - .../src/main/res/values-pl/translations.xml | 1 - .../src/main/res/values-pt/translations.xml | 1 - .../src/main/res/values-ro/translations.xml | 1 - .../src/main/res/values-ru/translations.xml | 4 - .../src/main/res/values-sk/translations.xml | 1 - .../src/main/res/values-sv/translations.xml | 1 - .../src/main/res/values-uk/translations.xml | 1 - .../src/main/res/values-zh/translations.xml | 1 - .../impl/src/main/res/values/localazy.xml | 1 - .../components/async/AsyncActionView.kt | 2 +- .../components/dialogs/ErrorDialog.kt | 19 ++- .../libraries/matrix/api/MatrixClient.kt | 5 +- .../libraries/matrix/impl/RustMatrixClient.kt | 4 + .../matrix/impl/RustMatrixClientFactory.kt | 20 +-- .../auth/RustMatrixAuthenticationService.kt | 120 ++++++++++++++---- .../libraries/matrix/test/FakeMatrixClient.kt | 5 + .../impl/store/DefaultAppPreferencesStore.kt | 2 +- .../src/main/res/values/localazy.xml | 9 ++ .../android/samples/minimal/MainActivity.kt | 2 +- .../services/apperror/impl/AppErrorView.kt | 2 +- .../appnav.loggedin_LoggedInView_Day_3_en.png | 3 + ...ppnav.loggedin_LoggedInView_Night_3_en.png | 3 + tools/localazy/config.json | 7 + 79 files changed, 315 insertions(+), 231 deletions(-) create mode 100644 appnav/src/main/res/values/localazy.xml create mode 100644 tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_3_en.png diff --git a/appnav/build.gradle.kts b/appnav/build.gradle.kts index fae6fc9c15..fd389645a9 100644 --- a/appnav/build.gradle.kts +++ b/appnav/build.gradle.kts @@ -59,6 +59,7 @@ dependencies { testImplementation(libs.test.turbine) testImplementation(projects.libraries.matrix.test) testImplementation(projects.libraries.oidc.impl) + testImplementation(projects.libraries.preferences.test) testImplementation(projects.libraries.push.test) testImplementation(projects.libraries.pushproviders.test) testImplementation(projects.features.networkmonitor.test) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt index cd156bce02..4f60e543bb 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt @@ -9,4 +9,6 @@ package io.element.android.appnav.loggedin sealed interface LoggedInEvents { data class CloseErrorDialog(val doNotShowAgain: Boolean) : LoggedInEvents + data object CheckSlidingSyncProxyAvailability : LoggedInEvents + data object LogoutAndMigrateToNativeSlidingSync : LoggedInEvents } diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt index e6779c2c99..c619629152 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt @@ -16,6 +16,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue import im.vector.app.features.analytics.plan.CryptoSessionStateChange import im.vector.app.features.analytics.plan.UserProperties import io.element.android.features.networkmonitor.api.NetworkMonitor @@ -29,6 +30,7 @@ import io.element.android.libraries.matrix.api.encryption.RecoveryState import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.api.verification.SessionVerificationService import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus +import io.element.android.libraries.preferences.api.store.EnableNativeSlidingSyncUseCase import io.element.android.libraries.push.api.PushService import io.element.android.libraries.pushproviders.api.RegistrationFailure import io.element.android.services.analytics.api.AnalyticsService @@ -48,6 +50,7 @@ class LoggedInPresenter @Inject constructor( private val sessionVerificationService: SessionVerificationService, private val analyticsService: AnalyticsService, private val encryptionService: EncryptionService, + private val enableNativeSlidingSyncUseCase: EnableNativeSlidingSyncUseCase, ) : Presenter { @Composable override fun present(): LoggedInState { @@ -78,6 +81,7 @@ class LoggedInPresenter @Inject constructor( networkStatus == NetworkStatus.Online && syncIndicator == RoomListService.SyncIndicator.Show } } + var forceNativeSlidingSyncMigration by remember { mutableStateOf(false) } LaunchedEffect(Unit) { combine( sessionVerificationService.sessionVerifiedStatus, @@ -97,6 +101,18 @@ class LoggedInPresenter @Inject constructor( } } } + LoggedInEvents.CheckSlidingSyncProxyAvailability -> coroutineScope.launch { + // Force the user to log out if they were using the proxy sliding sync and it's no longer available, but native sliding sync is. + forceNativeSlidingSyncMigration = !matrixClient.isUsingNativeSlidingSync() && + matrixClient.isNativeSlidingSyncSupported() && + !matrixClient.isSlidingSyncProxySupported() + } + LoggedInEvents.LogoutAndMigrateToNativeSlidingSync -> coroutineScope.launch { + // Enable native sliding sync if it wasn't already the case + enableNativeSlidingSyncUseCase() + // Then force the logout + matrixClient.logout(userInitiated = true, ignoreSdkError = true) + } } } @@ -104,6 +120,7 @@ class LoggedInPresenter @Inject constructor( showSyncSpinner = showSyncSpinner, pusherRegistrationState = pusherRegistrationState.value, ignoreRegistrationError = ignoreRegistrationError, + forceNativeSlidingSyncMigration = forceNativeSlidingSyncMigration, eventSink = ::handleEvent ) } diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt index 7ef0e6f549..2735b02706 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt @@ -13,5 +13,6 @@ data class LoggedInState( val showSyncSpinner: Boolean, val pusherRegistrationState: AsyncData, val ignoreRegistrationError: Boolean, + val forceNativeSlidingSyncMigration: Boolean, val eventSink: (LoggedInEvents) -> Unit, ) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt index bcc88b1c3a..13d100820b 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt @@ -16,15 +16,18 @@ open class LoggedInStateProvider : PreviewParameterProvider { aLoggedInState(), aLoggedInState(showSyncSpinner = true), aLoggedInState(pusherRegistrationState = AsyncData.Failure(PusherRegistrationFailure.NoDistributorsAvailable())), + aLoggedInState(forceNativeSlidingSyncMigration = true), ) } fun aLoggedInState( showSyncSpinner: Boolean = false, pusherRegistrationState: AsyncData = AsyncData.Uninitialized, + forceNativeSlidingSyncMigration: Boolean = false, ) = LoggedInState( showSyncSpinner = showSyncSpinner, pusherRegistrationState = pusherRegistrationState, ignoreRegistrationError = false, + forceNativeSlidingSyncMigration = forceNativeSlidingSyncMigration, eventSink = {}, ) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt index 0af150e0b7..3134270965 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt @@ -15,10 +15,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.lifecycle.Lifecycle +import io.element.android.appnav.R import io.element.android.libraries.architecture.AsyncData +import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.components.dialogs.ErrorDialogWithDoNotShowAgain import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.utils.OnLifecycleEvent import io.element.android.libraries.matrix.api.exception.isNetworkError import io.element.android.libraries.ui.strings.CommonStrings @@ -28,6 +32,11 @@ fun LoggedInView( navigateToNotificationTroubleshoot: () -> Unit, modifier: Modifier = Modifier ) { + OnLifecycleEvent { _, event -> + if (event == Lifecycle.Event.ON_RESUME) { + state.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability) + } + } Box( modifier = modifier .fillMaxSize() @@ -61,6 +70,13 @@ fun LoggedInView( } } } + + // Set the force migration dialog here so it's always displayed over every screen + if (state.forceNativeSlidingSyncMigration) { + ForceNativeSlidingSyncMigrationDialog(onSubmit = { + state.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync) + }) + } } private fun Throwable.getReason(): String? { @@ -80,6 +96,19 @@ private fun Throwable.getReason(): String? { } } +@Composable +private fun ForceNativeSlidingSyncMigrationDialog( + onSubmit: () -> Unit, +) { + ErrorDialog( + title = null, + content = stringResource(R.string.banner_migrate_to_native_sliding_sync_force_logout_title), + submitText = stringResource(R.string.banner_migrate_to_native_sliding_sync_action), + onSubmit = onSubmit, + canDismiss = false, + ) +} + @PreviewsDayNight @Composable internal fun LoggedInViewPreview(@PreviewParameter(LoggedInStateProvider::class) state: LoggedInState) = ElementPreview { diff --git a/appnav/src/main/res/values/localazy.xml b/appnav/src/main/res/values/localazy.xml new file mode 100644 index 0000000000..bb6df44051 --- /dev/null +++ b/appnav/src/main/res/values/localazy.xml @@ -0,0 +1,5 @@ + + + "Log Out & Upgrade" + "Your homeserver no longer supports the old protocol. Please log out and log back in to continue using the app." + diff --git a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt index ee060f3444..519cceddfe 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt @@ -29,6 +29,8 @@ import io.element.android.libraries.matrix.test.FakeMatrixClient import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService import io.element.android.libraries.matrix.test.verification.FakeSessionVerificationService +import io.element.android.libraries.preferences.api.store.EnableNativeSlidingSyncUseCase +import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.libraries.push.api.PushService import io.element.android.libraries.push.test.FakePushService import io.element.android.libraries.pushproviders.api.Distributor @@ -42,6 +44,10 @@ import io.element.android.tests.testutils.lambda.any import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test @@ -91,7 +97,8 @@ class LoggedInPresenterTest { pushService = FakePushService(), sessionVerificationService = verificationService, analyticsService = analyticsService, - encryptionService = encryptionService + encryptionService = encryptionService, + enableNativeSlidingSyncUseCase = EnableNativeSlidingSyncUseCase(InMemoryAppPreferencesStore(), this), ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -487,26 +494,103 @@ class LoggedInPresenterTest { ) } + @Test + fun `present - CheckSlidingSyncProxyAvailability forces the sliding sync migration under the right circumstances`() = runTest { + // The migration will be forced if: + // - The user is not using the native sliding sync + // - The sliding sync proxy is no longer supported + // - The native sliding sync is supported + val matrixClient = FakeMatrixClient( + isUsingNativeSlidingSyncLambda = { false }, + isSlidingSyncProxySupportedLambda = { false }, + isNativeSlidingSyncSupportedLambda = { true }, + ) + val presenter = createLoggedInPresenter(matrixClient = matrixClient) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + assertThat(initialState.forceNativeSlidingSyncMigration).isFalse() + + initialState.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability) + + assertThat(awaitItem().forceNativeSlidingSyncMigration).isTrue() + } + } + + @Test + fun `present - CheckSlidingSyncProxyAvailability will not force the migration if native sliding sync is not supported too`() = runTest { + val matrixClient = FakeMatrixClient( + isUsingNativeSlidingSyncLambda = { false }, + isSlidingSyncProxySupportedLambda = { false }, + isNativeSlidingSyncSupportedLambda = { false }, + ) + val presenter = createLoggedInPresenter(matrixClient = matrixClient) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + assertThat(initialState.forceNativeSlidingSyncMigration).isFalse() + + initialState.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability) + + expectNoEvents() + } + } + + @OptIn(ExperimentalCoroutinesApi::class) + @Test + fun `present - LogoutAndMigrateToNativeSlidingSync enables native sliding sync and logs out the user`() = runTest { + val logoutLambda = lambdaRecorder { userInitiated, ignoreSdkError -> + assertThat(userInitiated).isTrue() + assertThat(ignoreSdkError).isTrue() + null + } + val matrixClient = FakeMatrixClient().apply { + this.logoutLambda = logoutLambda + } + val appPreferencesStore = InMemoryAppPreferencesStore() + val enableNativeSlidingSyncUseCase = EnableNativeSlidingSyncUseCase(appPreferencesStore, this) + val presenter = createLoggedInPresenter(matrixClient = matrixClient, enableNativeSlidingSyncUseCase = enableNativeSlidingSyncUseCase) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + + assertThat(appPreferencesStore.isSimplifiedSlidingSyncEnabledFlow().first()).isFalse() + + initialState.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync) + + advanceUntilIdle() + + assertThat(appPreferencesStore.isSimplifiedSlidingSyncEnabledFlow().first()).isTrue() + assertThat(logoutLambda.assertions().isCalledOnce()) + } + } + private suspend fun ReceiveTurbine.awaitFirstItem(): T { skipItems(1) return awaitItem() } - private fun createLoggedInPresenter( + private fun TestScope.createLoggedInPresenter( roomListService: RoomListService = FakeRoomListService(), networkStatus: NetworkStatus = NetworkStatus.Offline, analyticsService: AnalyticsService = FakeAnalyticsService(), sessionVerificationService: SessionVerificationService = FakeSessionVerificationService(), encryptionService: EncryptionService = FakeEncryptionService(), pushService: PushService = FakePushService(), + enableNativeSlidingSyncUseCase: EnableNativeSlidingSyncUseCase = EnableNativeSlidingSyncUseCase(InMemoryAppPreferencesStore(), this), + matrixClient: MatrixClient = FakeMatrixClient(roomListService = roomListService), ): LoggedInPresenter { return LoggedInPresenter( - matrixClient = FakeMatrixClient(roomListService = roomListService), + matrixClient = matrixClient, networkMonitor = FakeNetworkMonitor(networkStatus), pushService = pushService, sessionVerificationService = sessionVerificationService, analyticsService = analyticsService, - encryptionService = encryptionService + encryptionService = encryptionService, + enableNativeSlidingSyncUseCase = enableNativeSlidingSyncUseCase, ) } } diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt index 7d0f1f6676..4641e4e7bc 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt @@ -111,7 +111,7 @@ internal fun CallScreenView( is AsyncData.Failure -> ErrorDialog( content = state.urlState.error.message.orEmpty(), - onDismiss = { state.eventSink(CallScreenEvents.Hangup) }, + onSubmit = { state.eventSink(CallScreenEvents.Hangup) }, ) is AsyncData.Success -> Unit } diff --git a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt index 6ee2990c5b..a98bfbff2f 100644 --- a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt +++ b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt @@ -105,7 +105,7 @@ private fun LeaveRoomErrorDialog( is LeaveRoomState.Error.Hidden -> {} is LeaveRoomState.Error.Shown -> ErrorDialog( content = stringResource(CommonStrings.error_unknown), - onDismiss = { state.eventSink(LeaveRoomEvent.HideError) } + onSubmit = { state.eventSink(LeaveRoomEvent.HideError) } ) } } diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt index b794f2eed4..b3cd532487 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt @@ -116,7 +116,7 @@ private fun SetupPinContent( ErrorDialog( title = state.setupPinFailure.title(), content = state.setupPinFailure.content(), - onDismiss = { + onSubmit = { state.eventSink(SetupPinEvents.ClearFailure) } ) diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt index 702e253f03..8667b3806a 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt @@ -104,7 +104,7 @@ fun PinUnlockView( if (state.showBiometricUnlockError) { ErrorDialog( content = state.biometricUnlockErrorMessage ?: "", - onDismiss = { state.eventSink(PinUnlockEvents.ClearBiometricError) } + onSubmit = { state.eventSink(PinUnlockEvents.ClearBiometricError) } ) } } @@ -206,7 +206,7 @@ private fun SignOutPrompt( ErrorDialog( title = stringResource(id = R.string.screen_app_lock_signout_alert_title), content = stringResource(id = R.string.screen_app_lock_signout_alert_message), - onDismiss = onSignOut, + onSubmit = onSignOut, ) } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt index a2c3b48251..c6139ae492 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt @@ -36,7 +36,7 @@ fun ChangeServerView( ErrorDialog( modifier = modifier, content = error.message(), - onDismiss = { + onSubmit = { eventSink.invoke(ChangeServerEvents.ClearError) } ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index a516c1b4a6..da1106d463 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -103,7 +103,7 @@ fun ConfirmAccountProviderView( is ChangeServerError.Error -> { ErrorDialog( content = error.message(), - onDismiss = { + onSubmit = { eventSink.invoke(ConfirmAccountProviderEvents.ClearError) } ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt index bd6437ddba..48fe71e0fc 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt @@ -283,7 +283,7 @@ private fun LoginErrorDialog(error: Throwable, onDismiss: () -> Unit) { ErrorDialog( title = stringResource(id = CommonStrings.dialog_title_error), content = stringResource(loginError(error)), - onDismiss = onDismiss + onSubmit = onDismiss ) } diff --git a/features/login/impl/src/main/res/values-be/translations.xml b/features/login/impl/src/main/res/values-be/translations.xml index f8e675854e..777acc423d 100644 --- a/features/login/impl/src/main/res/values-be/translations.xml +++ b/features/login/impl/src/main/res/values-be/translations.xml @@ -78,10 +78,4 @@ "Тут будуць захоўвацца вашыя размовы - сапраўды гэтак жа, як вы выкарыстоўваеце паштовага правайдара для захоўвання сваіх лістоў." "Вы збіраецеся ўвайсці ў %1$s" "Вы збіраецеся стварыць уліковы запіс на %1$s" - "Зараз існуе высокі попыт на %1$s на %2$s. Калі ласка, вярніцеся ў праграму праз некалькі дзён і паспрабуйце зноў. - -Дзякуй за цярпенне!" - "Вітаем у %1$s!" - "Амаль гатова." - "Вы зарэгістраваны." diff --git a/features/login/impl/src/main/res/values-bg/translations.xml b/features/login/impl/src/main/res/values-bg/translations.xml index cfc51c3f8c..eced3ef828 100644 --- a/features/login/impl/src/main/res/values-bg/translations.xml +++ b/features/login/impl/src/main/res/values-bg/translations.xml @@ -24,5 +24,4 @@ "Това е мястото, където ще живеят вашите разговори — точно както бихте използвали имейл доставчик, за да съхранявате вашите имейли." "На път сте да влезете в %1$s" "На път сте да създадете акаунт в %1$s" - "Добре дошли в %1$s!" diff --git a/features/login/impl/src/main/res/values-cs/translations.xml b/features/login/impl/src/main/res/values-cs/translations.xml index c0f00a87af..d65a5571e4 100644 --- a/features/login/impl/src/main/res/values-cs/translations.xml +++ b/features/login/impl/src/main/res/values-cs/translations.xml @@ -78,10 +78,4 @@ Zkuste se přihlásit ručně nebo naskenujte QR kód pomocí jiného zařízen "Zde budou uloženy vaše konverzace - podobně jako u poskytovatele e-mailových služeb uchováváte své e-maily." "Chystáte se přihlásit do služby %1$s" "Chystáte se vytvořit účet na %1$s" - "Na %2$s je momentálně vysoká poptávka po %1$s. Vraťte se do aplikace za pár dní a zkuste to znovu. - -Díky za trpělivost!" - "Vítá vás %1$s!" - "Jste v pořadníku!" - "Jdete do toho!" diff --git a/features/login/impl/src/main/res/values-de/translations.xml b/features/login/impl/src/main/res/values-de/translations.xml index 2399ec86ba..c2bdf37ca7 100644 --- a/features/login/impl/src/main/res/values-de/translations.xml +++ b/features/login/impl/src/main/res/values-de/translations.xml @@ -78,10 +78,4 @@ Versuche, dich manuell anzumelden, oder scanne den QR-Code mit einem anderen Ger "Hier werden deine Gespräche gespeichert - so wie du deine E-Mails bei einem E-Mail-Anbieter aufbewahren würden." "Du bist dabei, dich bei %1$s anzumelden" "Du bist dabei, ein Konto auf %1$s zu erstellen" - "Derzeit besteht eine hohe Nachfrage nach %1$s auf %2$s. Kehre in ein paar Tagen zur App zurück und versuche es erneut. - -Danke für deine Geduld!" - "Willkommen bei %1$s!" - "Du bist fast am Ziel." - "Du bist dabei." diff --git a/features/login/impl/src/main/res/values-el/translations.xml b/features/login/impl/src/main/res/values-el/translations.xml index 8ff0227168..24f26483fb 100644 --- a/features/login/impl/src/main/res/values-el/translations.xml +++ b/features/login/impl/src/main/res/values-el/translations.xml @@ -78,10 +78,4 @@ "Εδώ θα ζουν οι συνομιλίες σου - όπως θα χρησιμοποιούσες έναν πάροχο email για να διατηρήσεις τα email σου." "Πρόκειται να συνδεθείς στο %1$s" "Πρόκειται να δημιουργήσεις έναν λογαριασμό στο %1$s" - "Υπάρχει μεγάλη ζήτηση για το %1$s στον %2$s αυτή τη στιγμή. Επέστρεψε στην εφαρμογή σε λίγες μέρες και δοκίμασε ξανά. - -Ευχαριστώ για την υπομονή σου!" - "Καλώς ήρθες στο %1$s!" - "Σχεδόν τα κατάφερες." - "Είσαι μέσα." diff --git a/features/login/impl/src/main/res/values-es/translations.xml b/features/login/impl/src/main/res/values-es/translations.xml index c7537c9d7e..60324ae89d 100644 --- a/features/login/impl/src/main/res/values-es/translations.xml +++ b/features/login/impl/src/main/res/values-es/translations.xml @@ -37,10 +37,4 @@ "Aquí es donde se alojarán tus conversaciones — justo como utilizarías un proveedor de correo electrónico para guardar tus correos electrónicos." "Estás a punto de iniciar sesión en %1$s" "Estás a punto de crear una cuenta en %1$s" - "Hay una gran demanda para %1$s en %2$s en este momento. Vuelve a la aplicación en unos días e inténtalo de nuevo. - -¡Gracias por tu paciencia!" - "¡Bienvenido a %1$s!" - "Ya casi has terminado." - "Estás dentro." diff --git a/features/login/impl/src/main/res/values-et/translations.xml b/features/login/impl/src/main/res/values-et/translations.xml index 0558b349b4..f82ea50b91 100644 --- a/features/login/impl/src/main/res/values-et/translations.xml +++ b/features/login/impl/src/main/res/values-et/translations.xml @@ -78,10 +78,4 @@ Proovi käsitsi sisselogimist või skaneeri QR-koodi mõne muu seadmega.""See on koht, kus sinu vestlused elavad – just nagu kasutaksid oma e-kirjade säilitamiseks e-postitenuse pakkujat." "Sa oled sisselogimas koduserverisse %1$s" "Sa oled loomas kasutajakontot koduserveris %1$s" - "%1$s kasutamiseks %2$s koduserveris on hetkel palju huvilisi. Proovi seda samast rakendusest mõne päeva pärast. - -Täname kannatlikkuse eest!" - "Tere tulemast rakendusse %1$s!" - "Peaaegu olemas." - "Oled nüüd jututoas." diff --git a/features/login/impl/src/main/res/values-fr/translations.xml b/features/login/impl/src/main/res/values-fr/translations.xml index 49e513c2a8..a5928ffb3f 100644 --- a/features/login/impl/src/main/res/values-fr/translations.xml +++ b/features/login/impl/src/main/res/values-fr/translations.xml @@ -76,10 +76,4 @@ "C’est ici que vos conversations seront enregistrées, comme vous le feriez avec un fournisseur de messagerie pour conserver vos e-mails." "Vous êtes sur le point de vous connecter à %1$s" "Vous êtes sur le point de créer un compte sur %1$s" - "Il y a une forte demande pour %1$s sur %2$s à l’heure actuelle. Revenez sur l’application dans quelques jours et réessayez. - -Merci pour votre patience !" - "Bienvenue dans %1$s !" - "Vous y êtes presque." - "Vous y êtes." diff --git a/features/login/impl/src/main/res/values-hu/translations.xml b/features/login/impl/src/main/res/values-hu/translations.xml index 8d8bf40f3f..a37288fd6f 100644 --- a/features/login/impl/src/main/res/values-hu/translations.xml +++ b/features/login/impl/src/main/res/values-hu/translations.xml @@ -78,10 +78,4 @@ Próbáljon meg kézileg bejelentkezni, vagy olvassa be a QR-kódot egy másik e "Itt lesznek a beszélgetései – ahogyan egy e-mail-szolgáltatást is használna a levelei kezeléséhez." "Hamarosan bejelentkezik ebbe: %1$s" "Hamarosan létrehoz egy fiókot ezen: %1$s" - "Jelenleg nagy a kereslet a(z) %2$s oldalon futó %1$s iránt. Térjen vissza néhány nap múlva az alkalmazáshoz, és próbálja újra. - -Köszönjük a türelmét!" - "Üdvözli az %1$s!" - "Már majdnem kész van." - "Bent van." diff --git a/features/login/impl/src/main/res/values-in/translations.xml b/features/login/impl/src/main/res/values-in/translations.xml index 97d84ff1f4..749406da04 100644 --- a/features/login/impl/src/main/res/values-in/translations.xml +++ b/features/login/impl/src/main/res/values-in/translations.xml @@ -78,10 +78,4 @@ Coba masuk secara manual, atau pindai kode QR dengan perangkat lain." "Di sinilah percakapan Anda akan berlangsung — sama seperti Anda menggunakan penyedia surel untuk menyimpan surel Anda." "Anda akan masuk ke %1$s" "Anda akan membuat akun di %1$s" - "Ada permintaan tinggi untuk %1$s di %2$s saat ini. Kembalilah ke aplikasi dalam beberapa hari dan coba lagi. - -Terima kasih atas kesabaran Anda!" - "Selamat datang di %1$s!" - "Anda hampir selesai." - "Anda sudah masuk." diff --git a/features/login/impl/src/main/res/values-it/translations.xml b/features/login/impl/src/main/res/values-it/translations.xml index dcd9a7c2ae..eaa5313b03 100644 --- a/features/login/impl/src/main/res/values-it/translations.xml +++ b/features/login/impl/src/main/res/values-it/translations.xml @@ -78,10 +78,4 @@ Prova ad accedere manualmente o scansiona il codice QR con un altro dispositivo. "Qui è dove vivranno le tue conversazioni — proprio come useresti un fornitore di posta elettronica per conservare le tue email." "Stai per accedere a %1$s" "Stai per creare un account su %1$s" - "Al momento c\'è una grande richiesta per %1$s su %2$s. Torna a visitare l\'app tra qualche giorno e riprova. - -Grazie per la pazienza!" - "Benvenuti in %1$s!" - "Ci sei quasi." - "Sei dentro." diff --git a/features/login/impl/src/main/res/values-ka/translations.xml b/features/login/impl/src/main/res/values-ka/translations.xml index 84e97e0a34..6fc49e7b41 100644 --- a/features/login/impl/src/main/res/values-ka/translations.xml +++ b/features/login/impl/src/main/res/values-ka/translations.xml @@ -34,10 +34,4 @@ "აქ იქნება თქვენი საუბრები - ისევე, როგორც თქვენ ელ. ფოსტაში ინახება თქვენი ელ.წერილები." "თქვენ აპირებთ შესვლას %1$s-ში" "თქვენ აპირებთ ანგარიშის შექმნას %1$s-ში" - "ახლა დიდი მოთხოვნაა %1$s-ზე %2$s-ში. დაბრუნდით რამდენიმე დღეში და სცადეთ ერთხელაც. - -მადლობა მოთმენისათვის!" - "კეთილი იყოს თქვენი მობრძანება %1$s-ში!" - "თითქმის მზადაა." - "თქვენ შეხვედით." diff --git a/features/login/impl/src/main/res/values-nl/translations.xml b/features/login/impl/src/main/res/values-nl/translations.xml index 80fbe57afb..0e351f8498 100644 --- a/features/login/impl/src/main/res/values-nl/translations.xml +++ b/features/login/impl/src/main/res/values-nl/translations.xml @@ -35,10 +35,4 @@ "Dit is waar je gesprekken zullen worden bewaard — net zoals je een e-mailprovider zou gebruiken om je e-mails te bewaren." "Je staat op het punt je aan te melden bij %1$s" "Je staat op het punt een account aan te maken op %1$s" - "Er is momenteel veel vraag naar %1$s op %2$s. Kom over een paar dagen terug naar de app en probeer het opnieuw. - -Bedankt voor je geduld!" - "Welkom bij %1$s!" - "Je bent er bijna." - "Je bent binnen." diff --git a/features/login/impl/src/main/res/values-pl/translations.xml b/features/login/impl/src/main/res/values-pl/translations.xml index 4d23e15fe8..6990121a43 100644 --- a/features/login/impl/src/main/res/values-pl/translations.xml +++ b/features/login/impl/src/main/res/values-pl/translations.xml @@ -78,10 +78,4 @@ Spróbuj zalogować się ręcznie lub zeskanuj kod QR na innym urządzeniu.""Tutaj będą przechowywane Twoje konwersacje - w podobnej formie jak wiadomości widnieją na skrzynce e-mail." "Zamierzasz się zalogować do %1$s" "Zamierzasz utworzyć konto na %1$s" - "Obecnie istnieje duże zapotrzebowanie na %1$s na %2$s. Wróć do aplikacji za kilka dni i spróbuj ponownie. - -Dziękujemy za Twoją cierpliwość!" - "Witamy w %1$s!" - "Już prawie gotowe!" - "Witamy!" diff --git a/features/login/impl/src/main/res/values-pt-rBR/translations.xml b/features/login/impl/src/main/res/values-pt-rBR/translations.xml index 4cb9b4f7b0..7b753ffb9f 100644 --- a/features/login/impl/src/main/res/values-pt-rBR/translations.xml +++ b/features/login/impl/src/main/res/values-pt-rBR/translations.xml @@ -34,10 +34,4 @@ "Aqui é onde suas conversas vão ficar — assim como você usa um provedor de e-mails para manter seus e-mails." "Você está prestes a fazer login em %1$s" "Você está prestes a criar uma conta em %1$s" - "Há uma grande demanda por %1$s sobre %2$s no momento. Volte ao aplicativo em alguns dias e tente novamente. - -Obrigado pela sua paciência!" - "Bem-vindo ao %1$s!" - "Você está quase lá." - "Você está dentro." diff --git a/features/login/impl/src/main/res/values-pt/translations.xml b/features/login/impl/src/main/res/values-pt/translations.xml index f5feb0cbdd..f03b48c5dd 100644 --- a/features/login/impl/src/main/res/values-pt/translations.xml +++ b/features/login/impl/src/main/res/values-pt/translations.xml @@ -78,10 +78,4 @@ Tenta iniciar a sessão manualmente ou digitaliza o código QR com outro disposi "É aqui que as tuas conversas vão ficar — tal como num serviço de e-mail." "Irás iniciar sessão em %1$s" "Irás criar uma conta em %1$s" - "Há uma grande procura pela %1$s no %2$s, de momento. Volta à aplicação daqui a uns dias e tenta novamente. - -Obrigado!" - "Bem-vindo à %1$s!" - "Estás quase lá." - "Estás dentro." diff --git a/features/login/impl/src/main/res/values-ro/translations.xml b/features/login/impl/src/main/res/values-ro/translations.xml index 1ff3fe2436..261f16d9f6 100644 --- a/features/login/impl/src/main/res/values-ro/translations.xml +++ b/features/login/impl/src/main/res/values-ro/translations.xml @@ -78,10 +78,4 @@ "Aici vor trăi conversațiile dvs. - la fel cum ați folosi un furnizor de e-mail pentru a vă păstra e-mailurile." "Sunteți pe cale să vă conectați la %1$s" "Sunteți pe cale să creați un cont pe %1$s" - "Există o cerere mare pentru %1$s pentru %2$s în acest moment. Reveniți la aplicație în câteva zile și încercați din nou. - -Vă mulțumim pentru răbdare!" - "Bun venit la%1$s!" - "Sunteți pe lista de așteptare" - "Sunteți conectat!" diff --git a/features/login/impl/src/main/res/values-ru/translations.xml b/features/login/impl/src/main/res/values-ru/translations.xml index c64d683a12..71a2691b4c 100644 --- a/features/login/impl/src/main/res/values-ru/translations.xml +++ b/features/login/impl/src/main/res/values-ru/translations.xml @@ -78,10 +78,4 @@ "Здесь будут храниться ваши разговоры - точно так же, как вы используете почтового провайдера для хранения своих писем." "Вы собираетесь войти в %1$s" "Вы собираетесь создать учетную запись на %1$s" - "В настоящее время существует высокий спрос на %1$s на %2$s. Вернитесь в приложение через несколько дней и попробуйте снова. - -Спасибо за терпение!" - "Добро пожаловать в %1$s!" - "Почти готово." - "Вы зарегистрированы." diff --git a/features/login/impl/src/main/res/values-sk/translations.xml b/features/login/impl/src/main/res/values-sk/translations.xml index fea7879d01..8d862609b7 100644 --- a/features/login/impl/src/main/res/values-sk/translations.xml +++ b/features/login/impl/src/main/res/values-sk/translations.xml @@ -78,10 +78,4 @@ Skúste sa prihlásiť manuálne alebo naskenujte QR kód pomocou iného zariade "Tu budú žiť vaše konverzácie - podobne ako používate poskytovateľa e-mailových služieb na uchovávanie e-mailov." "Chystáte sa prihlásiť do %1$s" "Chystáte sa vytvoriť účet na %1$s" - "Momentálne je veľký dopyt po %1$s na %2$s. Vráťte sa do aplikácie za pár dní a skúste to znova. - -Ďakujeme za trpezlivosť!" - "Vitajte v %1$s!" - "Ste na čakanej listine!" - "Ste dnu!" diff --git a/features/login/impl/src/main/res/values-sv/translations.xml b/features/login/impl/src/main/res/values-sv/translations.xml index d50610adcc..de290469ca 100644 --- a/features/login/impl/src/main/res/values-sv/translations.xml +++ b/features/login/impl/src/main/res/values-sv/translations.xml @@ -78,10 +78,4 @@ Prova att logga in manuellt eller skanna QR-koden med en annan enhet." "Det är här dina konversationer kommer att sparas - precis som du skulle använda en e-postleverantör för att spara dina e-brev." "Du är på väg att logga in på %1$s" "Du är på väg att skapa ett konto på %1$s" - "Det finns en stor efterfrågan på %1$s på %2$s just nu. Kom tillbaka till appen om några dagar och försök igen. - -Tack för ditt tålamod!" - "Välkommen till %1$s!" - "Du är nästan framme." - "Du är inne." diff --git a/features/login/impl/src/main/res/values-uk/translations.xml b/features/login/impl/src/main/res/values-uk/translations.xml index 9cb6eb1f5f..df436a9a69 100644 --- a/features/login/impl/src/main/res/values-uk/translations.xml +++ b/features/login/impl/src/main/res/values-uk/translations.xml @@ -78,10 +78,4 @@ "Тут будуть зберігатися Ваші розмови - так само, як Ви використовуєте поштову скриньку для зберігання своїх електронних листів." "Ви збираєтесь увійти в %1$s" "Ви збираєтеся створити обліковий запис на %1$s" - "На цей момент існує високий попит на %1$s в %2$s. Поверніться до застосунку через кілька днів і спробуйте ще раз. - -Дякуємо за терпіння!" - "Ласкаво просимо до %1$s!" - "Майже готово." - "Готово." diff --git a/features/login/impl/src/main/res/values-uz/translations.xml b/features/login/impl/src/main/res/values-uz/translations.xml index 67dc5129d7..db16e17b09 100644 --- a/features/login/impl/src/main/res/values-uz/translations.xml +++ b/features/login/impl/src/main/res/values-uz/translations.xml @@ -33,10 +33,4 @@ "Bu sizning suhbatlaringiz yashaydigan joy - xuddi siz elektron pochta xabarlaringizni saqlash uchun elektron pochta provayderidan foydalanganingiz kabi." "Siz tizimga kirmoqchisiz%1$s" "Hisob yaratmoqchisiz%1$s" - "Hozirgi paytda %2$sga %1$sda talab yuqori. Bir necha kundan keyin ilovaga qayting va qaytadan urining. - -Sabr-toqatingiz uchun rahmat!" - "%1$sga Xush kelibsiz!" - "Siz deyarli keldingiz." - "Siz kirdingiz." diff --git a/features/login/impl/src/main/res/values-zh-rTW/translations.xml b/features/login/impl/src/main/res/values-zh-rTW/translations.xml index d345095c4b..b66cfca31f 100644 --- a/features/login/impl/src/main/res/values-zh-rTW/translations.xml +++ b/features/login/impl/src/main/res/values-zh-rTW/translations.xml @@ -29,5 +29,4 @@ "您的所有對話將保存於此,就如同您的電子郵件供應商會保存您的電子郵件一樣。" "您即將登入 %1$s" "您即將在 %1$s 建立帳號" - "歡迎使用 %1$s!" diff --git a/features/login/impl/src/main/res/values-zh/translations.xml b/features/login/impl/src/main/res/values-zh/translations.xml index 0afd6dad93..2f24aacf69 100644 --- a/features/login/impl/src/main/res/values-zh/translations.xml +++ b/features/login/impl/src/main/res/values-zh/translations.xml @@ -78,10 +78,4 @@ "这是您的对话将进行的地方,就像您使用电子邮件提供商来保存电子邮件一样。" "即将登录 %1$s" "即将在 %1$s 上创建一个账户" - "目前 %1$s 上 %2$s 的负载很大。过几天再回来试试吧。 - -感谢您的耐心!" - "欢迎使用 %1$s" - "马上就好。" - "您已加入。" diff --git a/features/login/impl/src/main/res/values/localazy.xml b/features/login/impl/src/main/res/values/localazy.xml index cade81c4f2..b0b6252d52 100644 --- a/features/login/impl/src/main/res/values/localazy.xml +++ b/features/login/impl/src/main/res/values/localazy.xml @@ -78,10 +78,4 @@ Try signing in manually, or scan the QR code with another device." "This is where your conversations will live — just like you would use an email provider to keep your emails." "You’re about to sign in to %1$s" "You’re about to create an account on %1$s" - "There\'s a high demand for %1$s on %2$s at the moment. Come back to the app in a few days and try again. - -Thanks for your patience!" - "Welcome to %1$s!" - "You’re almost there." - "You\'re in." diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index 8a03ed857c..a9c12fe732 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -108,7 +108,7 @@ private fun PinnedMessagesListContent( ErrorDialog( title = stringResource(id = CommonStrings.error_unknown), content = stringResource(id = CommonStrings.error_failed_loading_messages), - onDismiss = onErrorDismiss + onSubmit = onErrorDismiss ) } PinnedMessagesListState.Empty -> PinnedMessagesListEmpty() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt index 7bd5301208..75d4d5ebac 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt @@ -36,7 +36,7 @@ fun FocusRequestStateView( } ErrorDialog( content = errorMessage, - onDismiss = onClearFocusRequestState, + onSubmit = onClearFocusRequestState, modifier = modifier, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageSendingFailedDialog.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageSendingFailedDialog.kt index f2cc385553..ffed5f31ac 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageSendingFailedDialog.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageSendingFailedDialog.kt @@ -19,7 +19,7 @@ internal fun VoiceMessageSendingFailedDialog( ErrorDialog( title = stringResource(CommonStrings.common_error), content = stringResource(CommonStrings.error_failed_uploading_voice_message), - onDismiss = onDismiss, + onSubmit = onDismiss, submitText = stringResource(CommonStrings.action_ok), ) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt index 25cc166103..22884bc6ed 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt @@ -259,7 +259,7 @@ private fun InvalidNotificationSettingsView( ErrorDialog( title = stringResource(id = CommonStrings.dialog_title_error), content = stringResource(id = R.string.screen_notification_settings_failed_fixing_configuration), - onDismiss = onDismissError + onSubmit = onDismissError ) } } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsView.kt index bfc19026a9..a3f39895df 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsView.kt @@ -124,7 +124,7 @@ fun RolesAndPermissionsView( is AsyncAction.Failure -> { ErrorDialog( content = stringResource(CommonStrings.error_unknown), - onDismiss = { state.eventSink(RolesAndPermissionsEvents.CancelPendingAction) } + onSubmit = { state.eventSink(RolesAndPermissionsEvents.CancelPendingAction) } ) } else -> Unit diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesView.kt index 2f7cfb16a0..ce362373f2 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesView.kt @@ -210,7 +210,7 @@ fun ChangeRolesView( is AsyncAction.Failure -> { ErrorDialog( content = stringResource(CommonStrings.error_unknown), - onDismiss = { state.eventSink(ChangeRolesEvent.ClearError) } + onSubmit = { state.eventSink(ChangeRolesEvent.ClearError) } ) } is AsyncAction.Success -> { diff --git a/features/roomlist/impl/src/main/res/values/localazy.xml b/features/roomlist/impl/src/main/res/values/localazy.xml index ff6c626c63..36dc4b8d65 100644 --- a/features/roomlist/impl/src/main/res/values/localazy.xml +++ b/features/roomlist/impl/src/main/res/values/localazy.xml @@ -2,6 +2,7 @@ "Log Out & Upgrade" "Your server now supports a new, faster protocol. Log out and log back in to upgrade now. Doing this now will help you avoid a forced logout when the old protocol is removed later." + "Your homeserver no longer supports the old protocol. Please log out and log back in to continue using the app." "Upgrade available" "Generate a new recovery key that can be used to restore your encrypted message history in case you lose access to your devices." "Set up recovery" diff --git a/features/securebackup/impl/src/main/res/values-be/translations.xml b/features/securebackup/impl/src/main/res/values-be/translations.xml index 75e4c2ccb9..910350f41e 100644 --- a/features/securebackup/impl/src/main/res/values-be/translations.xml +++ b/features/securebackup/impl/src/main/res/values-be/translations.xml @@ -38,7 +38,6 @@ "Паўтарыце спробу, каб пацвердзіць доступ да рэзервовай копіі чата." "Няправільны ключ аднаўлення" "Калі ў вас ёсць ключ аднаўлення або парольная фраза, гэта таксама будзе працаваць." - "Ключ аднаўлення або код доступу" "Увесці…" "Страцілі ключ аднаўлення?" "Ключ аднаўлення пацверджаны" diff --git a/features/securebackup/impl/src/main/res/values-cs/translations.xml b/features/securebackup/impl/src/main/res/values-cs/translations.xml index 6425f52b66..ba113f9c89 100644 --- a/features/securebackup/impl/src/main/res/values-cs/translations.xml +++ b/features/securebackup/impl/src/main/res/values-cs/translations.xml @@ -39,7 +39,6 @@ "Zkuste prosím znovu potvrdit přístup k záloze chatu." "Nesprávný klíč pro obnovení" "Pokud máte bezpečnostní klíč nebo bezpečnostní frázi, bude to fungovat také." - "Klíč pro obnovení nebo přístupový kód" "Zadejte…" "Ztratili jste klíč pro obnovení?" "Klíč pro obnovení potvrzen" diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index c95e51db7e..413ae1ea81 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -51,10 +51,6 @@ Das bedeutet:" "Bitte versuche es noch einmal, um den Zugriff auf dein Chat-Backup zu bestätigen." "Falscher Wiederherstellungsschlüssel" "Dies funktioniert auch mit einem Sicherheitsschlüssel oder Sicherheitsphrase." - - "Wiederherstellungsschlüssel" - " oder Passcode" - "Eingeben…" "Hast du deinen Wiederherstellungschlüssel vergessen?" "Wiederherstellungsschlüssel bestätigt" diff --git a/features/securebackup/impl/src/main/res/values-el/translations.xml b/features/securebackup/impl/src/main/res/values-el/translations.xml index e62f465743..b3c6eb5a54 100644 --- a/features/securebackup/impl/src/main/res/values-el/translations.xml +++ b/features/securebackup/impl/src/main/res/values-el/translations.xml @@ -33,7 +33,6 @@ "Προσπάθησε ξανά για να επιβεβαιώσεις την πρόσβαση στο αντίγραφο ασφαλείας της συνομιλίας σου." "Λανθασμένο κλειδί ανάκτησης" "Εάν έχεις ένα κλειδί ασφαλείας ή μια φράση ασφαλείας, θα λειτουργήσει επίσης." - "Κλειδί ανάκτησης ή κωδικός πρόσβασης" "Εισαγωγή…" "Έχασες το κλειδί ανάκτησης;" "Επιβεβαιώθηκε το κλειδί ανάκτησης" diff --git a/features/securebackup/impl/src/main/res/values-et/translations.xml b/features/securebackup/impl/src/main/res/values-et/translations.xml index 2c3aa2d12b..b618432839 100644 --- a/features/securebackup/impl/src/main/res/values-et/translations.xml +++ b/features/securebackup/impl/src/main/res/values-et/translations.xml @@ -39,7 +39,6 @@ "Kinnitamaks ligipääsu sinu vestluse varukoopiale, palun proovi uuesti" "Vigane taastevõti" "Kui sul on turvavõti või turvafraas, siis need toimivad ka." - "Taastevõti või turvafraas" "Sisesta…" "Kas sa oled taastevõtme kaotanud?" "Taastevõti on kinnitatud" diff --git a/features/securebackup/impl/src/main/res/values-fr/translations.xml b/features/securebackup/impl/src/main/res/values-fr/translations.xml index 6656e0a8e3..1b36266924 100644 --- a/features/securebackup/impl/src/main/res/values-fr/translations.xml +++ b/features/securebackup/impl/src/main/res/values-fr/translations.xml @@ -37,7 +37,6 @@ "Veuillez réessayer afin de pouvoir accéder à vos anciens messages." "Clé de récupération incorrecte" "Si vous avez une clé de sécurité ou une phrase de sécurité, cela fonctionnera également." - "Clé de récupération" "Saisissez la clé ici…" "Clé de récupération perdue?" "Clé de récupération confirmée" diff --git a/features/securebackup/impl/src/main/res/values-hu/translations.xml b/features/securebackup/impl/src/main/res/values-hu/translations.xml index 20575540b7..48fe08a31b 100644 --- a/features/securebackup/impl/src/main/res/values-hu/translations.xml +++ b/features/securebackup/impl/src/main/res/values-hu/translations.xml @@ -39,7 +39,6 @@ "Próbálja meg újra megerősíteni a csevegés biztonsági mentéséhez való hozzáférését." "Helytelen helyreállítási kulcs" "Ha van biztonsági kulcsa vagy biztonsági jelmondata, akkor ez is fog működni." - "Helyreállítási kulcs vagy jelkód" "Megadás…" "Elvesztette a helyreállítási kulcsát?" "Helyreállítási kulcs megerősítve" diff --git a/features/securebackup/impl/src/main/res/values-in/translations.xml b/features/securebackup/impl/src/main/res/values-in/translations.xml index 83fa1f8092..62968d3471 100644 --- a/features/securebackup/impl/src/main/res/values-in/translations.xml +++ b/features/securebackup/impl/src/main/res/values-in/translations.xml @@ -33,7 +33,6 @@ "Silakan coba lagi untuk mengonfirmasi akses ke cadangan percakapan Anda." "Kunci pemulihan salah" "Jika Anda memiliki kunci keamanan atau frasa keamanan, ini juga bisa digunakan." - "Kunci pemulihan atau kode sandi" "Masukkan…" "Kehilangan kunci pemulihan Anda?" "Kunci pemulihan dikonfirmasi" diff --git a/features/securebackup/impl/src/main/res/values-it/translations.xml b/features/securebackup/impl/src/main/res/values-it/translations.xml index c1d67299ba..0e069b0ab2 100644 --- a/features/securebackup/impl/src/main/res/values-it/translations.xml +++ b/features/securebackup/impl/src/main/res/values-it/translations.xml @@ -38,7 +38,6 @@ "Riprova per confermare l\'accesso al backup della chat." "Chiave di recupero errata" "Se hai una chiave di sicurezza o una password, andrà bene anche questo." - "Chiave di recupero o codice di accesso" "Inserisci…" "Hai perso la chiave di recupero?" "Chiave di recupero confermata" diff --git a/features/securebackup/impl/src/main/res/values-pl/translations.xml b/features/securebackup/impl/src/main/res/values-pl/translations.xml index eea550627f..d708e18bab 100644 --- a/features/securebackup/impl/src/main/res/values-pl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pl/translations.xml @@ -38,7 +38,6 @@ "Spróbuj ponownie, aby potwierdzić dostęp do backupu czatu." "Nieprawidłowy klucz przywracania" "To też zadziała, jeśli posiadasz klucz lub frazę bezpieczeństwa." - "Klucz przywracania lub hasło" "Wprowadź…" "Zgubiłeś swój kod przywracania?" "Potwierdzono klucz przywracania" diff --git a/features/securebackup/impl/src/main/res/values-pt/translations.xml b/features/securebackup/impl/src/main/res/values-pt/translations.xml index f93e5dedf4..0e409ea22c 100644 --- a/features/securebackup/impl/src/main/res/values-pt/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pt/translations.xml @@ -38,7 +38,6 @@ "Por favor, tenta novamente para confirmar o acesso à tua cópia de segurança das conversas." "Chave de recuperação incorreta" "Também funciona se tiveres uma chave ou frase de segurança." - "Chave ou código de recuperação" "Inserir…" "Perdeste a tua chave?" "Chave de recuperação confirmada" diff --git a/features/securebackup/impl/src/main/res/values-ro/translations.xml b/features/securebackup/impl/src/main/res/values-ro/translations.xml index 6b2f2e31dc..7266533d78 100644 --- a/features/securebackup/impl/src/main/res/values-ro/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ro/translations.xml @@ -33,7 +33,6 @@ "Vă rugăm să încercați din nou să confirmați accesul la backup." "Cheie de recuperare incorectă" "Dacă aveți o cheie de securitate sau o frază de securitate, aceasta va funcționa și ea." - "Cheie de recuperare sau cod de acces" "Introduceți…" "Ați pierdut cheia de recuperare?" "Cheia de recuperare confirmată" diff --git a/features/securebackup/impl/src/main/res/values-ru/translations.xml b/features/securebackup/impl/src/main/res/values-ru/translations.xml index 8866dc9613..ae45ab45eb 100644 --- a/features/securebackup/impl/src/main/res/values-ru/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ru/translations.xml @@ -60,10 +60,6 @@ "ключ восстановления" "Если у вас есть пароль для восстановления или секретный пароль/ключ, это тоже сработает." - - "Ключ восстановления" - " или пароль" - "Вход…" "Потеряли ключ восстановления?" diff --git a/features/securebackup/impl/src/main/res/values-sk/translations.xml b/features/securebackup/impl/src/main/res/values-sk/translations.xml index 8a088f4245..24d80c6b00 100644 --- a/features/securebackup/impl/src/main/res/values-sk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sk/translations.xml @@ -39,7 +39,6 @@ "Skúste prosím znova potvrdiť prístup k vašej zálohe konverzácie." "Nesprávny kľúč na obnovenie" "Ak máte bezpečnostný kľúč alebo bezpečnostnú frázu, bude to fungovať tiež." - "Kľúč na obnovenie alebo prístupový kód" "Zadať…" "Stratili ste kľúč na obnovenie?" "Kľúč na obnovu potvrdený" diff --git a/features/securebackup/impl/src/main/res/values-sv/translations.xml b/features/securebackup/impl/src/main/res/values-sv/translations.xml index 3599320cd8..7b2364f450 100644 --- a/features/securebackup/impl/src/main/res/values-sv/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sv/translations.xml @@ -39,7 +39,6 @@ "Vänligen pröva igen för att bekräfta åtkomsten till din chattsäkerhetskopia." "Felaktig återställningsnyckel" "Om du har en säkerhetsnyckel eller säkerhetsfras så funkar den också." - "Återställningsnyckel eller lösenkod" "Ange …" "Blivit av med din återställningsnyckel?" "Återställningsnyckel bekräftad" diff --git a/features/securebackup/impl/src/main/res/values-uk/translations.xml b/features/securebackup/impl/src/main/res/values-uk/translations.xml index 14e47f8bad..7d88980f8b 100644 --- a/features/securebackup/impl/src/main/res/values-uk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-uk/translations.xml @@ -38,7 +38,6 @@ "Будь ласка, спробуйте ще раз, щоб підтвердити доступ до резервної копії чату." "Неправильний ключ відновлення" "Якщо у вас є ключ безпеки або фраза безпеки, це теж спрацює." - "Ключ відновлення або код допуску" "Ввести…" "Загубили ключ відновлення?" "Ключ відновлення підтверджено" diff --git a/features/securebackup/impl/src/main/res/values-zh/translations.xml b/features/securebackup/impl/src/main/res/values-zh/translations.xml index 0b4f12b17a..c8f2b7d9ed 100644 --- a/features/securebackup/impl/src/main/res/values-zh/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh/translations.xml @@ -38,7 +38,6 @@ "请重试以访问您的聊天备份。" "恢复密钥不正确" "如果您有安全密钥或安全短语,也可以用。" - "恢复密钥或密码" "输入……" "丢失了恢复密钥?" "恢复密钥已确认" diff --git a/features/securebackup/impl/src/main/res/values/localazy.xml b/features/securebackup/impl/src/main/res/values/localazy.xml index f4795c23da..55c6c547f5 100644 --- a/features/securebackup/impl/src/main/res/values/localazy.xml +++ b/features/securebackup/impl/src/main/res/values/localazy.xml @@ -39,7 +39,6 @@ "Please try again to confirm access to your chat backup." "Incorrect recovery key" "If you have a security key or security phrase, this will work too." - "Recovery key or passcode" "Enter…" "Lost your recovery key?" "Recovery key confirmed" diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt index 08c2f352e6..6e42909f0b 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt @@ -48,7 +48,7 @@ fun AsyncActionView( ErrorDialog( title = errorTitle(async.error), content = errorMessage(async.error), - onDismiss = onErrorDismiss + onSubmit = onErrorDismiss ) } else { RetryDialog( diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt index acef5bf9f9..add7bf2904 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt @@ -13,6 +13,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.window.DialogProperties import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup @@ -25,17 +26,23 @@ import io.element.android.libraries.ui.strings.CommonStrings @Composable fun ErrorDialog( content: String, - onDismiss: () -> Unit, + onSubmit: () -> Unit, modifier: Modifier = Modifier, - title: String = ErrorDialogDefaults.title, + title: String? = ErrorDialogDefaults.title, submitText: String = ErrorDialogDefaults.submitText, + onDismiss: () -> Unit = onSubmit, + canDismiss: Boolean = true, ) { - BasicAlertDialog(modifier = modifier, onDismissRequest = onDismiss) { + BasicAlertDialog( + modifier = modifier, + onDismissRequest = onDismiss, + properties = DialogProperties(dismissOnClickOutside = canDismiss, dismissOnBackPress = canDismiss) + ) { ErrorDialogContent( title = title, content = content, submitText = submitText, - onSubmitClick = onDismiss, + onSubmitClick = onSubmit, ) } } @@ -44,7 +51,7 @@ fun ErrorDialog( private fun ErrorDialogContent( content: String, onSubmitClick: () -> Unit, - title: String = ErrorDialogDefaults.title, + title: String? = ErrorDialogDefaults.title, submitText: String = ErrorDialogDefaults.submitText, ) { SimpleAlertDialogContent( @@ -78,6 +85,6 @@ internal fun ErrorDialogContentPreview() { internal fun ErrorDialogPreview() = ElementPreview { ErrorDialog( content = "Content", - onDismiss = {}, + onSubmit = {}, ) } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index e45686b1a2..3b7441395a 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -131,6 +131,9 @@ interface MatrixClient : Closeable { /** Returns `true` if the home server supports native sliding sync. */ suspend fun isNativeSlidingSyncSupported(): Boolean - /** Returns `true` if the current session is using native sliding sync. */ + /** Returns `true` if the home server supports sliding sync using a proxy. */ + suspend fun isSlidingSyncProxySupported(): Boolean + + /** Returns `true` if the current session is using native sliding sync, `false` if it's using a proxy. */ fun isUsingNativeSlidingSync(): Boolean } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 0fc9f6695b..c9989796e5 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -534,6 +534,10 @@ class RustMatrixClient( return client.availableSlidingSyncVersions().contains(SlidingSyncVersion.Native) } + override suspend fun isSlidingSyncProxySupported(): Boolean { + return client.availableSlidingSyncVersions().any { it is SlidingSyncVersion.Proxy } + } + override fun isUsingNativeSlidingSync(): Boolean { return client.session().slidingSyncVersion == SlidingSyncVersion.Native } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 7681dda6f0..ad4c2d1549 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -7,7 +7,6 @@ package io.element.android.libraries.matrix.impl -import io.element.android.appconfig.AuthenticationConfig import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.di.CacheDirectory import io.element.android.libraries.featureflag.api.FeatureFlagService @@ -19,12 +18,10 @@ import io.element.android.libraries.matrix.impl.paths.getSessionPaths import io.element.android.libraries.matrix.impl.proxy.ProxyProvider import io.element.android.libraries.matrix.impl.util.anonymizedTokens import io.element.android.libraries.network.useragent.UserAgentProvider -import io.element.android.libraries.preferences.api.store.AppPreferencesStore import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.libraries.sessionstorage.api.SessionStore import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.ClientBuilder import org.matrix.rustcomponents.sdk.Session @@ -47,7 +44,6 @@ class RustMatrixClientFactory @Inject constructor( private val proxyProvider: ProxyProvider, private val clock: SystemClock, private val utdTracker: UtdTracker, - private val appPreferencesStore: AppPreferencesStore, private val featureFlagService: FeatureFlagService, ) { suspend fun create(sessionData: SessionData): RustMatrixClient = withContext(coroutineDispatchers.io) { @@ -55,7 +51,7 @@ class RustMatrixClientFactory @Inject constructor( val client = getBaseClientBuilder( sessionPaths = sessionData.getSessionPaths(), passphrase = sessionData.passphrase, - restore = true, + slidingSyncType = ClientBuilderSlidingSync.Restored, ) .homeserverUrl(sessionData.homeserverUrl) .username(sessionData.userId) @@ -88,16 +84,8 @@ class RustMatrixClientFactory @Inject constructor( internal suspend fun getBaseClientBuilder( sessionPaths: SessionPaths, passphrase: String?, - restore: Boolean, + slidingSyncType: ClientBuilderSlidingSync, ): ClientBuilder { - val slidingSync = when { - // Always check restore first, since otherwise other values could accidentally override the already persisted config - restore -> ClientBuilderSlidingSync.Restored - AuthenticationConfig.SLIDING_SYNC_PROXY_URL != null -> ClientBuilderSlidingSync.CustomProxy(AuthenticationConfig.SLIDING_SYNC_PROXY_URL!!) - appPreferencesStore.isSimplifiedSlidingSyncEnabledFlow().first() -> ClientBuilderSlidingSync.Simplified - else -> ClientBuilderSlidingSync.Discovered - } - return ClientBuilder() .sessionPaths( dataPath = sessionPaths.fileDirectory.absolutePath, @@ -117,9 +105,9 @@ class RustMatrixClientFactory @Inject constructor( ) .run { // Apply sliding sync version settings - when (slidingSync) { + when (slidingSyncType) { ClientBuilderSlidingSync.Restored -> this - is ClientBuilderSlidingSync.CustomProxy -> slidingSyncVersionBuilder(SlidingSyncVersionBuilder.Proxy(slidingSync.url)) + is ClientBuilderSlidingSync.CustomProxy -> slidingSyncVersionBuilder(SlidingSyncVersionBuilder.Proxy(slidingSyncType.url)) ClientBuilderSlidingSync.Discovered -> slidingSyncVersionBuilder(SlidingSyncVersionBuilder.DiscoverProxy) ClientBuilderSlidingSync.Simplified -> slidingSyncVersionBuilder(SlidingSyncVersionBuilder.DiscoverNative) ClientBuilderSlidingSync.ForcedSimplified -> slidingSyncVersionBuilder(SlidingSyncVersionBuilder.Native) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt index 344ae588a1..47a010cf2d 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.matrix.impl.auth import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.appconfig.AuthenticationConfig import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.extensions.mapFailure import io.element.android.libraries.di.AppScope @@ -19,6 +20,7 @@ import io.element.android.libraries.matrix.api.auth.OidcDetails import io.element.android.libraries.matrix.api.auth.qrlogin.MatrixQrCodeLoginData import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.impl.ClientBuilderSlidingSync import io.element.android.libraries.matrix.impl.RustMatrixClientFactory import io.element.android.libraries.matrix.impl.auth.qrlogin.QrErrorMapper import io.element.android.libraries.matrix.impl.auth.qrlogin.SdkQrCodeLoginData @@ -28,6 +30,7 @@ import io.element.android.libraries.matrix.impl.keys.PassphraseGenerator import io.element.android.libraries.matrix.impl.mapper.toSessionData import io.element.android.libraries.matrix.impl.paths.SessionPaths import io.element.android.libraries.matrix.impl.paths.SessionPathsFactory +import io.element.android.libraries.preferences.api.store.AppPreferencesStore import io.element.android.libraries.sessionstorage.api.LoggedInState import io.element.android.libraries.sessionstorage.api.LoginType import io.element.android.libraries.sessionstorage.api.SessionStore @@ -35,9 +38,13 @@ import kotlinx.coroutines.CancellationException import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.Client +import org.matrix.rustcomponents.sdk.ClientBuilder import org.matrix.rustcomponents.sdk.HumanQrLoginException +import org.matrix.rustcomponents.sdk.OidcConfiguration +import org.matrix.rustcomponents.sdk.QrCodeData import org.matrix.rustcomponents.sdk.QrCodeDecodeException import org.matrix.rustcomponents.sdk.QrLoginProgress import org.matrix.rustcomponents.sdk.QrLoginProgressListener @@ -55,6 +62,7 @@ class RustMatrixAuthenticationService @Inject constructor( private val rustMatrixClientFactory: RustMatrixClientFactory, private val passphraseGenerator: PassphraseGenerator, private val oidcConfigurationProvider: OidcConfigurationProvider, + private val appPreferencesStore: AppPreferencesStore, ) : MatrixAuthenticationService { // Passphrase which will be used for new sessions. Existing sessions will use the passphrase // stored in the SessionData. @@ -117,9 +125,10 @@ class RustMatrixAuthenticationService @Inject constructor( withContext(coroutineDispatchers.io) { val emptySessionPath = rotateSessionPath() runCatching { - val client = getBaseClientBuilder(emptySessionPath) - .serverNameOrHomeserverUrl(homeserver) - .build() + val client = makeClient(sessionPaths = emptySessionPath) { + serverNameOrHomeserverUrl(homeserver) + } + currentClient = client val homeServerDetails = client.homeserverLoginDetails().map() currentHomeserver.value = homeServerDetails.copy(url = homeserver) @@ -207,23 +216,24 @@ class RustMatrixAuthenticationService @Inject constructor( override suspend fun loginWithQrCode(qrCodeData: MatrixQrCodeLoginData, progress: (QrCodeLoginStep) -> Unit) = withContext(coroutineDispatchers.io) { + val sdkQrCodeLoginData = (qrCodeData as SdkQrCodeLoginData).rustQrCodeData val emptySessionPaths = rotateSessionPath() + val oidcConfiguration = oidcConfigurationProvider.get() + val progressListener = object : QrLoginProgressListener { + override fun onUpdate(state: QrLoginProgress) { + Timber.d("QR Code login progress: $state") + progress(state.toStep()) + } + } runCatching { - val client = rustMatrixClientFactory.getBaseClientBuilder( + val client = makeQrCodeLoginClient( sessionPaths = emptySessionPaths, passphrase = pendingPassphrase, - restore = false, + qrCodeData = sdkQrCodeLoginData, + oidcConfiguration = oidcConfiguration, + progressListener = progressListener, ) - .buildWithQrCode( - qrCodeData = (qrCodeData as SdkQrCodeLoginData).rustQrCodeData, - oidcConfiguration = oidcConfigurationProvider.get(), - progressListener = object : QrLoginProgressListener { - override fun onUpdate(state: QrLoginProgress) { - Timber.d("QR Code login progress: $state") - progress(state.toStep()) - } - } - ) + client.use { rustClient -> val sessionData = rustClient.session() .toSessionData( @@ -249,14 +259,80 @@ class RustMatrixAuthenticationService @Inject constructor( } } - private suspend fun getBaseClientBuilder( + private suspend fun makeClient( sessionPaths: SessionPaths, - ) = rustMatrixClientFactory - .getBaseClientBuilder( - sessionPaths = sessionPaths, - passphrase = pendingPassphrase, - restore = false, - ) + config: suspend ClientBuilder.() -> ClientBuilder, + ): Client { + val slidingSyncType = getSlidingSyncType() + if (slidingSyncType is ClientBuilderSlidingSync.Simplified) { + Timber.d("Creating client with simplified sliding sync") + try { + return rustMatrixClientFactory + .getBaseClientBuilder( + sessionPaths = sessionPaths, + passphrase = pendingPassphrase, + slidingSyncType = slidingSyncType, + ) + .run { config() } + .build() + } catch (e: HumanQrLoginException.SlidingSyncNotAvailable) { + Timber.e(e, "Failed to create client with simplified sliding sync, trying with Proxy now") + } + } + Timber.d("Creating client with Proxy sliding sync") + return rustMatrixClientFactory + .getBaseClientBuilder( + sessionPaths = sessionPaths, + passphrase = pendingPassphrase, + slidingSyncType = getSlidingSyncProxy(), + ) + .run { config() } + .build() + } + + private suspend fun makeQrCodeLoginClient( + sessionPaths: SessionPaths, + passphrase: String?, + qrCodeData: QrCodeData, + oidcConfiguration: OidcConfiguration, + progressListener: QrLoginProgressListener, + ): Client { + val slidingSyncType = getSlidingSyncType() + if (slidingSyncType is ClientBuilderSlidingSync.Simplified) { + Timber.d("Creating client for QR Code login with simplified sliding sync") + try { + return rustMatrixClientFactory + .getBaseClientBuilder( + sessionPaths = sessionPaths, + passphrase = pendingPassphrase, + slidingSyncType = slidingSyncType, + ) + .passphrase(passphrase) + .buildWithQrCode(qrCodeData, oidcConfiguration, progressListener) + } catch (e: HumanQrLoginException.SlidingSyncNotAvailable) { + Timber.e(e, "Failed to create client with simplified sliding sync, trying with Proxy now") + } + } + Timber.d("Creating client for QR Code login with Proxy sliding sync") + return rustMatrixClientFactory + .getBaseClientBuilder( + sessionPaths = sessionPaths, + passphrase = pendingPassphrase, + slidingSyncType = getSlidingSyncProxy(), + ) + .passphrase(passphrase) + .buildWithQrCode(qrCodeData, oidcConfiguration, progressListener) + } + + private suspend fun getSlidingSyncType(nativeSlidingSyncFailed: Boolean = false) = when { + appPreferencesStore.isSimplifiedSlidingSyncEnabledFlow().first() && !nativeSlidingSyncFailed -> ClientBuilderSlidingSync.Simplified + else -> getSlidingSyncProxy() + } + + private fun getSlidingSyncProxy() = when { + AuthenticationConfig.SLIDING_SYNC_PROXY_URL != null -> ClientBuilderSlidingSync.CustomProxy(AuthenticationConfig.SLIDING_SYNC_PROXY_URL!!) + else -> ClientBuilderSlidingSync.Discovered + } private fun clear() { currentClient?.close() diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index ed484f4426..5db394f77d 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -79,6 +79,7 @@ class FakeMatrixClient( private val userIdServerNameLambda: () -> String = { lambdaError() }, private val getUrlLambda: (String) -> Result = { lambdaError() }, var isNativeSlidingSyncSupportedLambda: suspend () -> Boolean = { true }, + var isSlidingSyncProxySupportedLambda: suspend () -> Boolean = { true }, var isUsingNativeSlidingSyncLambda: () -> Boolean = { true }, ) : MatrixClient { var setDisplayNameCalled: Boolean = false @@ -324,6 +325,10 @@ class FakeMatrixClient( return isNativeSlidingSyncSupportedLambda() } + override suspend fun isSlidingSyncProxySupported(): Boolean { + return isSlidingSyncProxySupportedLambda() + } + override fun isUsingNativeSlidingSync(): Boolean { return isUsingNativeSlidingSyncLambda() } diff --git a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt index 8e09547fb4..ab985e798d 100644 --- a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt +++ b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt @@ -87,7 +87,7 @@ class DefaultAppPreferencesStore @Inject constructor( override fun isSimplifiedSlidingSyncEnabledFlow(): Flow { return store.data.map { prefs -> - prefs[simplifiedSlidingSyncKey] ?: false + prefs[simplifiedSlidingSyncKey] ?: true } } diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index f7c3213ba4..b4fec91a0c 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -36,6 +36,7 @@ "Back" "Call" "Cancel" + "Cancel for now" "Choose photo" "Clear" "Close" @@ -283,6 +284,12 @@ Reason: %1$s." "Pinned messages" "You\'re about to go to your %1$s account to reset your identity. Afterwards you\'ll be taken back to the app." "Can\'t confirm? Go to your account to reset your identity." + "Withdraw verification and send" + "You can withdraw your verification and send this message anyway, or you can cancel for now and try again later after reverifying %1$s." + "Your message was not sent because %1$s’s verified identity has changed" + "Send message anyway" + "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." + "Your message was not sent because %1$s has not verified one or more devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -304,6 +311,8 @@ Reason: %1$s." "Open in Google Maps" "Open in OpenStreetMap" "Share this location" + "Message not sent because %1$s’s verified identity has changed." + "Message not sent because %1$s has not verified one or more devices." "Location" "Version: %1$s (%2$s)" "en" diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt index 5319baf10e..19e1390f47 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt @@ -55,11 +55,11 @@ class MainActivity : ComponentActivity() { proxyProvider = proxyProvider, clock = DefaultSystemClock(), utdTracker = UtdTracker(NoopAnalyticsService()), - appPreferencesStore = InMemoryAppPreferencesStore(), featureFlagService = AlwaysEnabledFeatureFlagService(), ), passphraseGenerator = NullPassphraseGenerator(), oidcConfigurationProvider = OidcConfigurationProvider(baseDirectory), + appPreferencesStore = InMemoryAppPreferencesStore(), ) } diff --git a/services/apperror/impl/src/main/kotlin/io/element/android/services/apperror/impl/AppErrorView.kt b/services/apperror/impl/src/main/kotlin/io/element/android/services/apperror/impl/AppErrorView.kt index 80d3de2dfe..2bd46eeb00 100644 --- a/services/apperror/impl/src/main/kotlin/io/element/android/services/apperror/impl/AppErrorView.kt +++ b/services/apperror/impl/src/main/kotlin/io/element/android/services/apperror/impl/AppErrorView.kt @@ -36,7 +36,7 @@ private fun AppErrorViewContent( ErrorDialog( title = title, content = body, - onDismiss = onDismiss, + onSubmit = onDismiss, ) } diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_3_en.png new file mode 100644 index 0000000000..e625c84b24 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f68bcb22f867add02028ec43cc9b609d8cd76ace450eec1f010899b3f29445 +size 24728 diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_3_en.png new file mode 100644 index 0000000000..6d9414c34a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e881658f3627275743a5f5cf172f312d26ea0633fa84243da4b277b664f66b +size 22753 diff --git a/tools/localazy/config.json b/tools/localazy/config.json index f736825725..6f41be8693 100644 --- a/tools/localazy/config.json +++ b/tools/localazy/config.json @@ -1,5 +1,12 @@ { "modules" : [ + { + "name" : ":appnav", + "includeRegex" : [ + "banner\\.migrate_to_native_sliding_sync\\.force_logout.title", + "banner\\.migrate_to_native_sliding_sync\\.action" + ] + }, { "name" : ":features:rageshake:impl", "includeRegex" : [ From d4922593129117b76bf17a9ab954aa4c2f070cf9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 13 Sep 2024 11:44:08 +0200 Subject: [PATCH 037/122] Enable account creation and iterate on the Button design --- .../kotlin/io/element/android/appconfig/OnBoardingConfig.kt | 2 +- .../android/features/onboarding/impl/OnBoardingView.kt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/appconfig/src/main/kotlin/io/element/android/appconfig/OnBoardingConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/OnBoardingConfig.kt index d70f831eaa..7c08b28ce3 100644 --- a/appconfig/src/main/kotlin/io/element/android/appconfig/OnBoardingConfig.kt +++ b/appconfig/src/main/kotlin/io/element/android/appconfig/OnBoardingConfig.kt @@ -12,5 +12,5 @@ object OnBoardingConfig { const val CAN_LOGIN_WITH_QR_CODE = true /** Whether the user can create an account using the app. */ - const val CAN_CREATE_ACCOUNT = false + const val CAN_CREATE_ACCOUNT = true } diff --git a/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt b/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt index 8ba1679a5e..b63ca0a12f 100644 --- a/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt +++ b/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt @@ -39,8 +39,8 @@ import io.element.android.libraries.designsystem.theme.components.Button import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.IconButton import io.element.android.libraries.designsystem.theme.components.IconSource -import io.element.android.libraries.designsystem.theme.components.OutlinedButton import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag import io.element.android.libraries.ui.strings.CommonStrings @@ -171,10 +171,9 @@ private fun OnBoardingButtons( .testTag(TestTags.onBoardingSignIn) ) if (state.canCreateAccount) { - OutlinedButton( + TextButton( text = stringResource(id = R.string.screen_onboarding_sign_up), onClick = onCreateAccount, - enabled = true, modifier = Modifier .fillMaxWidth() ) From 39348d2e7e1451bbf9460a9626c94a1b0bfff51e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 16 Sep 2024 12:22:07 +0200 Subject: [PATCH 038/122] Account Creation using a WebView --- features/login/impl/build.gradle.kts | 1 + .../features/login/impl/LoginFlowNode.kt | 14 ++ .../impl/resolver/network/ElementWellKnown.kt | 26 +++ .../impl/resolver/network/WellknownAPI.kt | 3 + .../ConfirmAccountProviderNode.kt | 6 + .../ConfirmAccountProviderPresenter.kt | 16 +- .../ConfirmAccountProviderState.kt | 1 + .../ConfirmAccountProviderStateProvider.kt | 25 ++- .../ConfirmAccountProviderView.kt | 12 ++ .../AccountCreationNotSupported.kt | 10 ++ .../createaccount/CreateAccountEvents.kt | 13 ++ .../createaccount/CreateAccountNode.kt | 43 +++++ .../createaccount/CreateAccountPresenter.kt | 83 +++++++++ .../createaccount/CreateAccountState.kt | 19 ++ .../CreateAccountStateProvider.kt | 33 ++++ .../createaccount/CreateAccountView.kt | 166 ++++++++++++++++++ .../screens/createaccount/MessageParser.kt | 45 +++++ .../MobileRegistrationResponse.kt | 27 +++ .../WebViewMessageInterceptor.kt | 84 +++++++++ .../WebClientUrlForAuthenticationRetriever.kt | 50 ++++++ .../impl/src/main/res/values/localazy.xml | 1 + .../ConfirmAccountProviderPresenterTest.kt | 95 ++++++++++ .../CreateAccountPresenterTest.kt | 145 +++++++++++++++ .../createaccount/DefaultMessageParserTest.kt | 84 +++++++++ .../createaccount/FakeMessageParser.kt | 19 ++ ...eWebClientUrlForAuthenticationRetriever.kt | 18 ++ .../api/auth/MatrixAuthenticationService.kt | 6 + .../api/auth/external/ExternalSession.kt | 20 +++ .../auth/RustMatrixAuthenticationService.kt | 18 ++ .../libraries/matrix/impl/mapper/Session.kt | 22 +++ .../auth/FakeMatrixAuthenticationService.kt | 7 + .../src/main/res/values-el/translations.xml | 1 - .../src/main/res/values-et/translations.xml | 1 - .../src/main/res/values/localazy.xml | 1 - tools/localazy/config.json | 1 + 35 files changed, 1106 insertions(+), 10 deletions(-) create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/ElementWellKnown.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/AccountCreationNotSupported.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountEvents.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenter.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountState.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountStateProvider.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MessageParser.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MobileRegistrationResponse.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt create mode 100644 features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenterTest.kt create mode 100644 features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/DefaultMessageParserTest.kt create mode 100644 features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/FakeMessageParser.kt create mode 100644 features/login/impl/src/test/kotlin/io/element/android/features/login/impl/web/FakeWebClientUrlForAuthenticationRetriever.kt create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/external/ExternalSession.kt diff --git a/features/login/impl/build.gradle.kts b/features/login/impl/build.gradle.kts index 6ea1eb7936..fc783e8733 100644 --- a/features/login/impl/build.gradle.kts +++ b/features/login/impl/build.gradle.kts @@ -44,6 +44,7 @@ dependencies { implementation(projects.libraries.oidc.api) implementation(libs.androidx.browser) implementation(platform(libs.network.retrofit.bom)) + implementation(libs.androidx.webkit) implementation(libs.network.retrofit) implementation(libs.serialization.json) api(projects.features.login.api) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/LoginFlowNode.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/LoginFlowNode.kt index a118920ebd..c9e97e8995 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/LoginFlowNode.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/LoginFlowNode.kt @@ -30,6 +30,7 @@ import io.element.android.features.login.impl.accountprovider.AccountProviderDat import io.element.android.features.login.impl.qrcode.QrCodeLoginFlowNode import io.element.android.features.login.impl.screens.changeaccountprovider.ChangeAccountProviderNode import io.element.android.features.login.impl.screens.confirmaccountprovider.ConfirmAccountProviderNode +import io.element.android.features.login.impl.screens.createaccount.CreateAccountNode import io.element.android.features.login.impl.screens.loginpassword.LoginPasswordNode import io.element.android.features.login.impl.screens.searchaccountprovider.SearchAccountProviderNode import io.element.android.libraries.architecture.BackstackView @@ -109,6 +110,9 @@ class LoginFlowNode @AssistedInject constructor( @Parcelize data object LoginPassword : NavTarget + @Parcelize + data class CreateAccount(val url: String) : NavTarget + @Parcelize data class OidcView(val oidcDetails: OidcDetails) : NavTarget } @@ -140,6 +144,10 @@ class LoginFlowNode @AssistedInject constructor( } } + override fun onCreateAccountContinue(url: String) { + backstack.push(NavTarget.CreateAccount(url)) + } + override fun onLoginPasswordNeeded() { backstack.push(NavTarget.LoginPassword) } @@ -180,6 +188,12 @@ class LoginFlowNode @AssistedInject constructor( is NavTarget.OidcView -> { oidcEntryPoint.createFallbackWebViewNode(this, buildContext, navTarget.oidcDetails.url) } + is NavTarget.CreateAccount -> { + val inputs = CreateAccountNode.Inputs( + url = navTarget.url, + ) + createNode(buildContext, listOf(inputs)) + } } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/ElementWellKnown.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/ElementWellKnown.kt new file mode 100644 index 0000000000..d149957a55 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/ElementWellKnown.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.resolver.network + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Example: + *

+ * {
+ *     "registration_helper_url": "https://element.io"
+ * }
+ * 
+ * . + */ +@Serializable +data class ElementWellKnown( + @SerialName("registration_helper_url") + val registrationHelperUrl: String? = null, +) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellknownAPI.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellknownAPI.kt index 05658e9e7c..11f1621b03 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellknownAPI.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellknownAPI.kt @@ -12,4 +12,7 @@ import retrofit2.http.GET internal interface WellknownAPI { @GET(".well-known/matrix/client") suspend fun getWellKnown(): WellKnown + + @GET(".well-known/element/element.json") + suspend fun getElementWellKnown(): ElementWellKnown } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderNode.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderNode.kt index 8e865d9e39..454da3f795 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderNode.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderNode.kt @@ -43,6 +43,7 @@ class ConfirmAccountProviderNode @AssistedInject constructor( interface Callback : Plugin { fun onLoginPasswordNeeded() fun onOidcDetails(oidcDetails: OidcDetails) + fun onCreateAccountContinue(url: String) fun onChangeAccountProvider() } @@ -54,6 +55,10 @@ class ConfirmAccountProviderNode @AssistedInject constructor( plugins().forEach { it.onLoginPasswordNeeded() } } + private fun onCreateAccountContinue(url: String) { + plugins().forEach { it.onCreateAccountContinue(url) } + } + private fun onChangeAccountProvider() { plugins().forEach { it.onChangeAccountProvider() } } @@ -67,6 +72,7 @@ class ConfirmAccountProviderNode @AssistedInject constructor( modifier = modifier, onOidcDetails = ::onOidcDetails, onNeedLoginPassword = ::onLoginPasswordNeeded, + onCreateAccountContinue = ::onCreateAccountContinue, onChange = ::onChangeAccountProvider, onLearnMoreClick = { openLearnMorePage(context) }, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenter.kt index a51573f602..c15c84744f 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenter.kt @@ -21,6 +21,8 @@ import dagger.assisted.AssistedInject import io.element.android.features.login.impl.DefaultLoginUserStory import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource import io.element.android.features.login.impl.error.ChangeServerError +import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported +import io.element.android.features.login.impl.web.WebClientUrlForAuthenticationRetriever import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.runCatchingUpdatingState @@ -36,6 +38,7 @@ class ConfirmAccountProviderPresenter @AssistedInject constructor( private val authenticationService: MatrixAuthenticationService, private val oidcActionFlow: OidcActionFlow, private val defaultLoginUserStory: DefaultLoginUserStory, + private val webClientUrlForAuthenticationRetriever: WebClientUrlForAuthenticationRetriever, ) : Presenter { data class Params( val isAccountCreation: Boolean, @@ -90,13 +93,24 @@ class ConfirmAccountProviderPresenter @AssistedInject constructor( if (matrixHomeServerDetails.supportsOidcLogin) { // Retrieve the details right now LoginFlow.OidcFlow(authenticationService.getOidcUrl().getOrThrow()) + } else if (params.isAccountCreation) { + val url = webClientUrlForAuthenticationRetriever.retrieve(homeserverUrl) + LoginFlow.AccountCreationFlow(url) } else if (matrixHomeServerDetails.supportsPasswordLogin) { LoginFlow.PasswordLogin } else { error("Unsupported login flow") } }.getOrThrow() - }.runCatchingUpdatingState(loginFlowAction, errorTransform = ChangeServerError::from) + }.runCatchingUpdatingState( + state = loginFlowAction, + errorTransform = { + when (it) { + is AccountCreationNotSupported -> it + else -> ChangeServerError.from(it) + } + } + ) } private suspend fun onOidcAction( diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderState.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderState.kt index b73acab4ec..3c80d76d08 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderState.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderState.kt @@ -24,4 +24,5 @@ data class ConfirmAccountProviderState( sealed interface LoginFlow { data object PasswordLogin : LoginFlow data class OidcFlow(val oidcDetails: OidcDetails) : LoginFlow + data class AccountCreationFlow(val url: String) : LoginFlow } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt index d643f0001a..5c95823ded 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt @@ -8,20 +8,33 @@ package io.element.android.features.login.impl.screens.confirmaccountprovider import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.login.impl.accountprovider.AccountProvider import io.element.android.features.login.impl.accountprovider.anAccountProvider +import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.libraries.architecture.AsyncData open class ConfirmAccountProviderStateProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aConfirmAccountProviderState(), - // Add other state here + aConfirmAccountProviderState( + isAccountCreation = true, + ), + aConfirmAccountProviderState( + isAccountCreation = true, + loginFlow = AsyncData.Failure(AccountCreationNotSupported()) + ), ) } -fun aConfirmAccountProviderState() = ConfirmAccountProviderState( - accountProvider = anAccountProvider(), - isAccountCreation = false, - loginFlow = AsyncData.Uninitialized, - eventSink = {} +private fun aConfirmAccountProviderState( + accountProvider: AccountProvider = anAccountProvider(), + isAccountCreation: Boolean = false, + loginFlow: AsyncData = AsyncData.Uninitialized, + eventSink: (ConfirmAccountProviderEvents) -> Unit = {}, +) = ConfirmAccountProviderState( + accountProvider = accountProvider, + isAccountCreation = isAccountCreation, + loginFlow = loginFlow, + eventSink = eventSink ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index da1106d463..ac34d70107 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -22,6 +22,7 @@ import androidx.compose.ui.unit.dp import io.element.android.features.login.impl.R import io.element.android.features.login.impl.dialogs.SlidingSyncNotSupportedDialog import io.element.android.features.login.impl.error.ChangeServerError +import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule @@ -42,6 +43,7 @@ fun ConfirmAccountProviderView( onOidcDetails: (OidcDetails) -> Unit, onNeedLoginPassword: () -> Unit, onLearnMoreClick: () -> Unit, + onCreateAccountContinue: (url: String) -> Unit, onChange: () -> Unit, modifier: Modifier = Modifier, ) { @@ -116,6 +118,14 @@ fun ConfirmAccountProviderView( eventSink(ConfirmAccountProviderEvents.ClearError) }) } + is AccountCreationNotSupported -> { + ErrorDialog( + content = stringResource(CommonStrings.error_account_creation_not_possible), + onDismiss = { + eventSink.invoke(ConfirmAccountProviderEvents.ClearError) + } + ) + } } } is AsyncData.Loading -> Unit // The Continue button shows the loading state @@ -123,6 +133,7 @@ fun ConfirmAccountProviderView( when (val loginFlowState = state.loginFlow.data) { is LoginFlow.OidcFlow -> onOidcDetails(loginFlowState.oidcDetails) LoginFlow.PasswordLogin -> onNeedLoginPassword() + is LoginFlow.AccountCreationFlow -> onCreateAccountContinue(loginFlowState.url) } } AsyncData.Uninitialized -> Unit @@ -139,6 +150,7 @@ internal fun ConfirmAccountProviderViewPreview( state = state, onOidcDetails = {}, onNeedLoginPassword = {}, + onCreateAccountContinue = {}, onLearnMoreClick = {}, onChange = {}, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/AccountCreationNotSupported.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/AccountCreationNotSupported.kt new file mode 100644 index 0000000000..8a299a6d54 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/AccountCreationNotSupported.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +class AccountCreationNotSupported : Exception() diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountEvents.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountEvents.kt new file mode 100644 index 0000000000..8647d71c43 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountEvents.kt @@ -0,0 +1,13 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +sealed interface CreateAccountEvents { + data class SetPageProgress(val progress: Int) : CreateAccountEvents + data class OnMessageReceived(val message: String) : CreateAccountEvents +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt new file mode 100644 index 0000000000..61b380815f --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt @@ -0,0 +1,43 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.bumble.appyx.core.plugin.Plugin +import dagger.assisted.Assisted +import dagger.assisted.AssistedInject +import io.element.android.anvilannotations.ContributesNode +import io.element.android.libraries.architecture.NodeInputs +import io.element.android.libraries.architecture.inputs +import io.element.android.libraries.di.AppScope + +@ContributesNode(AppScope::class) +class CreateAccountNode @AssistedInject constructor( + @Assisted buildContext: BuildContext, + @Assisted plugins: List, + presenterFactory: CreateAccountPresenter.Factory, +) : Node(buildContext, plugins = plugins) { + data class Inputs( + val url: String, + ) : NodeInputs + + private val presenter = presenterFactory.create(inputs().url) + + @Composable + override fun View(modifier: Modifier) { + val state = presenter.present() + CreateAccountView( + state = state, + modifier = modifier, + onBackClick = ::navigateUp, + ) + } +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenter.kt new file mode 100644 index 0000000000..69ffb10883 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenter.kt @@ -0,0 +1,83 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import io.element.android.features.login.impl.DefaultLoginUserStory +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.core.extensions.flatMap +import io.element.android.libraries.core.meta.BuildMeta +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.core.SessionId +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch + +class CreateAccountPresenter @AssistedInject constructor( + @Assisted private val url: String, + private val authenticationService: MatrixAuthenticationService, + private val defaultLoginUserStory: DefaultLoginUserStory, + private val messageParser: MessageParser, + private val buildMeta: BuildMeta, +) : Presenter { + @AssistedFactory + interface Factory { + fun create(url: String): CreateAccountPresenter + } + + @Composable + override fun present(): CreateAccountState { + val coroutineScope = rememberCoroutineScope() + val pageProgress: MutableState = remember { mutableIntStateOf(0) } + val createAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } + + fun handleEvents(event: CreateAccountEvents) { + when (event) { + is CreateAccountEvents.SetPageProgress -> { + pageProgress.value = event.progress + } + is CreateAccountEvents.OnMessageReceived -> { + // Ignore unexpected message + if (event.message.contains("isTrusted")) return + coroutineScope.importSession(event.message, createAction) + } + } + } + + return CreateAccountState( + url = url, + pageProgress = pageProgress.value, + isDebugBuild = buildMeta.isDebuggable, + createAction = createAction.value, + eventSink = ::handleEvents + ) + } + + private fun CoroutineScope.importSession(message: String, loggedInState: MutableState>) = launch { + loggedInState.value = AsyncAction.Loading + runCatching { + messageParser.parse(message) + }.flatMap { externalSession -> + authenticationService.importCreatedSession(externalSession) + }.onSuccess { sessionId -> + // We will not navigate to the WaitList screen, so the login user story is done + defaultLoginUserStory.setLoginFlowIsDone(true) + loggedInState.value = AsyncAction.Success(sessionId) + }.onFailure { failure -> + loggedInState.value = AsyncAction.Failure(failure) + } + } +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountState.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountState.kt new file mode 100644 index 0000000000..de05825d69 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountState.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.matrix.api.core.SessionId + +data class CreateAccountState( + val url: String, + val pageProgress: Int, + val createAction: AsyncAction, + val isDebugBuild: Boolean, + val eventSink: (CreateAccountEvents) -> Unit +) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountStateProvider.kt new file mode 100644 index 0000000000..45b3b4d004 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountStateProvider.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.matrix.api.core.SessionId + +open class CreateAccountStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aCreateAccountState(), + aCreateAccountState(pageProgress = 33), + aCreateAccountState(createAction = AsyncAction.Loading), + aCreateAccountState(createAction = AsyncAction.Failure(Throwable("Failed to create account"))), + ) +} + +private fun aCreateAccountState( + pageProgress: Int = 100, + createAction: AsyncAction = AsyncAction.Uninitialized, +) = CreateAccountState( + url = "https://example.com", + isDebugBuild = true, + pageProgress = pageProgress, + createAction = createAction, + eventSink = {} +) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt new file mode 100644 index 0000000000..7074f935d3 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt @@ -0,0 +1,166 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import android.annotation.SuppressLint +import android.view.ViewGroup +import android.webkit.WebChromeClient +import android.webkit.WebView +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.consumeWindowInsets +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalInspectionMode +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp +import androidx.compose.ui.viewinterop.AndroidView +import io.element.android.compound.theme.ElementTheme +import io.element.android.features.login.impl.R +import io.element.android.libraries.designsystem.components.async.AsyncActionView +import io.element.android.libraries.designsystem.components.button.BackButton +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.aliasScreenTitle +import io.element.android.libraries.designsystem.theme.components.LinearProgressIndicator +import io.element.android.libraries.designsystem.theme.components.Scaffold +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TopAppBar +import io.element.android.libraries.designsystem.theme.progressIndicatorTrackColor + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun CreateAccountView( + state: CreateAccountState, + onBackClick: () -> Unit, + modifier: Modifier = Modifier, +) { + Scaffold( + modifier = modifier, + topBar = { + TopAppBar( + title = { + Text( + stringResource(R.string.screen_create_account_title), + style = ElementTheme.typography.aliasScreenTitle, + ) + }, + navigationIcon = { + BackButton(onClick = onBackClick) + }, + ) + } + ) { contentPadding -> + Box( + modifier = Modifier + .padding(contentPadding) + .consumeWindowInsets(contentPadding) + .fillMaxSize() + ) { + CreateAccountWebView( + modifier = Modifier + .fillMaxSize(), + state = state, + onWebViewCreate = { webView -> + WebViewMessageInterceptor(webView, state.isDebugBuild) { + state.eventSink(CreateAccountEvents.OnMessageReceived(it)) + } + } + ) + AnimatedVisibility( + visible = state.pageProgress != 100, + // Disable enter animation + enter = fadeIn(initialAlpha = 1f), + exit = fadeOut(), + ) { + LinearProgressIndicator( + modifier = Modifier + .fillMaxWidth() + .height(2.dp), + progress = { state.pageProgress / 100f }, + trackColor = ElementTheme.colors.progressIndicatorTrackColor, + ) + } + } + } + + AsyncActionView( + async = state.createAction, + onSuccess = {}, + onErrorDismiss = onBackClick, + onRetry = null + ) +} + +@Composable +private fun CreateAccountWebView( + state: CreateAccountState, + onWebViewCreate: (WebView) -> Unit, + modifier: Modifier = Modifier, +) { + if (LocalInspectionMode.current) { + Box(modifier = modifier, contentAlignment = Alignment.Center) { + Text("WebView - can't be previewed") + } + } else { + AndroidView( + modifier = modifier, + factory = { context -> + WebView(context).apply { + onWebViewCreate(this) + setup(state) + } + }, + update = { webView -> + if (webView.url != state.url) { + webView.loadUrl(state.url) + } + }, + onRelease = { webView -> + webView.destroy() + } + ) + } +} + +@SuppressLint("SetJavaScriptEnabled") +private fun WebView.setup(state: CreateAccountState) { + layoutParams = ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) + with(settings) { + javaScriptEnabled = true + domStorageEnabled = true + } + + webChromeClient = object : WebChromeClient() { + override fun onProgressChanged(view: WebView?, newProgress: Int) { + super.onProgressChanged(view, newProgress) + state.eventSink(CreateAccountEvents.SetPageProgress(newProgress)) + } + } +} + +@PreviewsDayNight +@Composable +internal fun CreateAccountViewPreview(@PreviewParameter(CreateAccountStateProvider::class) state: CreateAccountState) = ElementPreview { + CreateAccountView( + state = state, + onBackClick = {}, + ) +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MessageParser.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MessageParser.kt new file mode 100644 index 0000000000..a47bd8a83c --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MessageParser.kt @@ -0,0 +1,45 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource +import io.element.android.libraries.di.AppScope +import io.element.android.libraries.matrix.api.auth.external.ExternalSession +import kotlinx.serialization.json.Json +import javax.inject.Inject + +interface MessageParser { + /** + * Parse the message and return the ExternalSession object, or + * throw an exception if the message is invalid. + */ + fun parse(message: String): ExternalSession +} + +@ContributesBinding(AppScope::class) +class DefaultMessageParser @Inject constructor( + private val accountProviderDataSource: AccountProviderDataSource, +) : MessageParser { + override fun parse(message: String): ExternalSession { + val parser = Json { ignoreUnknownKeys = true } + val response = parser.decodeFromString(MobileRegistrationResponse.serializer(), message) + val userId = response.userId ?: error("No user ID in response") + val homeServer = response.homeServer ?: accountProviderDataSource.flow().value.url + val accessToken = response.accessToken ?: error("No access token in response") + val deviceId = response.deviceId ?: error("No device ID in response") + return ExternalSession( + userId = userId, + homeserverUrl = homeServer, + accessToken = accessToken, + deviceId = deviceId, + refreshToken = null, + slidingSyncProxy = null + ) + } +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MobileRegistrationResponse.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MobileRegistrationResponse.kt new file mode 100644 index 0000000000..5db50e1804 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/MobileRegistrationResponse.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * For ref: + * https://github.com/element-hq/matrix-react-sdk/pull/42/files#diff-2bbba5a742004fd4e924a639ded444279f66f7ad890cb669fbc91ac6b8638c64R56 + */ +@Serializable +data class MobileRegistrationResponse( + @SerialName("user_id") + val userId: String? = null, + @SerialName("home_server") + val homeServer: String? = null, + @SerialName("access_token") + val accessToken: String? = null, + @SerialName("device_id") + val deviceId: String? = null, +) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt new file mode 100644 index 0000000000..eb59ddb858 --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt @@ -0,0 +1,84 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import android.graphics.Bitmap +import android.webkit.JavascriptInterface +import android.webkit.WebView +import android.webkit.WebViewClient +import androidx.webkit.WebViewCompat +import androidx.webkit.WebViewFeature + +class WebViewMessageInterceptor( + webView: WebView, + private val debugLog: Boolean, + private val onMessage: (String) -> Unit, +) { + companion object { + // We call both the WebMessageListener and the JavascriptInterface objects in JS with this + // 'listenerName' so they can both receive the data from the WebView when + // `${LISTENER_NAME}.postMessage(...)` is called + const val LISTENER_NAME = "elementX" + } + + init { + webView.webViewClient = object : WebViewClient() { + override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { + super.onPageStarted(view, url, favicon) + + // We inject this JS code when the page starts loading to attach a message listener to the window. + // This listener will receive both messages: + // - EC widget API -> Element X (message.data.api == "fromWidget") + // - Element X -> EC widget API (message.data.api == "toWidget"), we should ignore these + view?.evaluateJavascript( + """ + window.addEventListener( + "mobileregistrationresponse", + (event) => { + let json = JSON.stringify(event.detail) + ${"console.log('message sent: ' + json);".takeIf { debugLog }} + $LISTENER_NAME.postMessage(json); + }, + false, + ); + """.trimIndent(), + null + ) + } + } + + // Use WebMessageListener if supported, otherwise use JavascriptInterface + if (WebViewFeature.isFeatureSupported(WebViewFeature.WEB_MESSAGE_LISTENER)) { + // Create a WebMessageListener, which will receive messages from the WebView and reply to them + val webMessageListener = WebViewCompat.WebMessageListener { _, message, _, _, _ -> + onMessageReceived(message.data) + } + WebViewCompat.addWebMessageListener( + webView, + LISTENER_NAME, + setOf("*"), + webMessageListener + ) + } else { + webView.addJavascriptInterface( + object { + @JavascriptInterface + fun postMessage(json: String?) { + onMessageReceived(json) + } + }, + LISTENER_NAME, + ) + } + } + + private fun onMessageReceived(json: String?) { + // Here is where we would handle the messages from the WebView, passing them to the listener + json?.let { onMessage(it) } + } +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt new file mode 100644 index 0000000000..9955fe150d --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt @@ -0,0 +1,50 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.web + +import android.net.Uri +import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.features.login.impl.resolver.network.WellknownAPI +import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported +import io.element.android.libraries.di.AppScope +import io.element.android.libraries.network.RetrofitFactory +import java.net.HttpURLConnection +import javax.inject.Inject + +interface WebClientUrlForAuthenticationRetriever { + suspend fun retrieve(homeServerUrl: String): String +} + +@ContributesBinding(AppScope::class) +class DefaultWebClientUrlForAuthenticationRetriever @Inject constructor( + private val retrofitFactory: RetrofitFactory, +) : WebClientUrlForAuthenticationRetriever { + override suspend fun retrieve(homeServerUrl: String): String { + val wellknownApi = retrofitFactory.create(homeServerUrl) + .create(WellknownAPI::class.java) + val result = try { + wellknownApi.getElementWellKnown() + } catch (e: Exception) { + throw when { + e is retrofit2.HttpException && + e.code() == HttpURLConnection.HTTP_NOT_FOUND -> AccountCreationNotSupported() + else -> e + } + } + val registrationHelperUrl = result.registrationHelperUrl + return if (registrationHelperUrl != null) { + Uri.parse(registrationHelperUrl) + .buildUpon() + .appendQueryParameter("hs_url", homeServerUrl) + .build() + .toString() + } else { + throw AccountCreationNotSupported() + } + } +} diff --git a/features/login/impl/src/main/res/values/localazy.xml b/features/login/impl/src/main/res/values/localazy.xml index b0b6252d52..a46b083d63 100644 --- a/features/login/impl/src/main/res/values/localazy.xml +++ b/features/login/impl/src/main/res/values/localazy.xml @@ -21,6 +21,7 @@ "You can only connect to an existing server that supports sliding sync. Your homeserver admin will need to configure it. %1$s" "What is the address of your server?" "Select your server" + "Create account" "This account has been deactivated." "Incorrect username and/or password" "This is not a valid user identifier. Expected format: ‘@user:homeserver.org’" diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenterTest.kt index 1609ffef3c..1d70580e4d 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderPresenterTest.kt @@ -13,7 +13,10 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.login.impl.DefaultLoginUserStory import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource +import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.features.login.impl.util.defaultAccountProvider +import io.element.android.features.login.impl.web.FakeWebClientUrlForAuthenticationRetriever +import io.element.android.features.login.impl.web.WebClientUrlForAuthenticationRetriever import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.libraries.matrix.test.A_HOMESERVER @@ -255,17 +258,109 @@ class ConfirmAccountProviderPresenterTest { } } + @Test + fun `present - confirm account creation without oidc and without url generates an error`() = runTest { + val authenticationService = FakeMatrixAuthenticationService() + authenticationService.givenHomeserver(A_HOMESERVER) + val presenter = createConfirmAccountProviderPresenter( + params = ConfirmAccountProviderPresenter.Params(isAccountCreation = true), + matrixAuthenticationService = authenticationService, + webClientUrlForAuthenticationRetriever = FakeWebClientUrlForAuthenticationRetriever { + throw AccountCreationNotSupported() + }, + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(ConfirmAccountProviderEvents.Continue) + skipItems(1) // Loading + // Check an error was returned + val submittedState = awaitItem() + assertThat(submittedState.loginFlow.errorOrNull()).isInstanceOf(AccountCreationNotSupported::class.java) + // Assert the error is then cleared + submittedState.eventSink(ConfirmAccountProviderEvents.ClearError) + val clearedState = awaitItem() + assertThat(clearedState.loginFlow).isEqualTo(AsyncData.Uninitialized) + } + } + + @Test + fun `present - confirm account creation with oidc is successful`() = runTest { + val authenticationService = FakeMatrixAuthenticationService() + authenticationService.givenHomeserver(A_HOMESERVER_OIDC) + val presenter = createConfirmAccountProviderPresenter( + params = ConfirmAccountProviderPresenter.Params(isAccountCreation = true), + matrixAuthenticationService = authenticationService, + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(ConfirmAccountProviderEvents.Continue) + skipItems(1) // Loading + val submittedState = awaitItem() + assertThat(submittedState.loginFlow).isInstanceOf(AsyncData.Success::class.java) + assertThat(submittedState.loginFlow.dataOrNull()).isInstanceOf(LoginFlow.OidcFlow::class.java) + } + } + + @Test + fun `present - confirm account creation with oidc and url continues with oidc`() = runTest { + val aUrl = "aUrl" + val authenticationService = FakeMatrixAuthenticationService() + authenticationService.givenHomeserver(A_HOMESERVER_OIDC) + val presenter = createConfirmAccountProviderPresenter( + params = ConfirmAccountProviderPresenter.Params(isAccountCreation = true), + matrixAuthenticationService = authenticationService, + webClientUrlForAuthenticationRetriever = FakeWebClientUrlForAuthenticationRetriever { aUrl }, + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(ConfirmAccountProviderEvents.Continue) + skipItems(1) // Loading + val submittedState = awaitItem() + assertThat(submittedState.loginFlow).isInstanceOf(AsyncData.Success::class.java) + assertThat(submittedState.loginFlow.dataOrNull()).isInstanceOf(LoginFlow.OidcFlow::class.java) + } + } + + @Test + fun `present - confirm account creation without oidc and with url continuing with url`() = runTest { + val aUrl = "aUrl" + val authenticationService = FakeMatrixAuthenticationService() + authenticationService.givenHomeserver(A_HOMESERVER) + val presenter = createConfirmAccountProviderPresenter( + params = ConfirmAccountProviderPresenter.Params(isAccountCreation = true), + matrixAuthenticationService = authenticationService, + webClientUrlForAuthenticationRetriever = FakeWebClientUrlForAuthenticationRetriever { aUrl }, + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(ConfirmAccountProviderEvents.Continue) + skipItems(1) // Loading + val submittedState = awaitItem() + assertThat(submittedState.loginFlow.dataOrNull()).isEqualTo(LoginFlow.AccountCreationFlow(aUrl)) + } + } + private fun createConfirmAccountProviderPresenter( params: ConfirmAccountProviderPresenter.Params = ConfirmAccountProviderPresenter.Params(isAccountCreation = false), accountProviderDataSource: AccountProviderDataSource = AccountProviderDataSource(), matrixAuthenticationService: MatrixAuthenticationService = FakeMatrixAuthenticationService(), defaultOidcActionFlow: DefaultOidcActionFlow = DefaultOidcActionFlow(), defaultLoginUserStory: DefaultLoginUserStory = DefaultLoginUserStory(), + webClientUrlForAuthenticationRetriever: WebClientUrlForAuthenticationRetriever = FakeWebClientUrlForAuthenticationRetriever(), ) = ConfirmAccountProviderPresenter( params = params, accountProviderDataSource = accountProviderDataSource, authenticationService = matrixAuthenticationService, oidcActionFlow = defaultOidcActionFlow, defaultLoginUserStory = defaultLoginUserStory, + webClientUrlForAuthenticationRetriever = webClientUrlForAuthenticationRetriever ) } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenterTest.kt new file mode 100644 index 0000000000..eb89e80638 --- /dev/null +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenterTest.kt @@ -0,0 +1,145 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import app.cash.molecule.RecompositionMode +import app.cash.molecule.moleculeFlow +import app.cash.turbine.test +import com.google.common.truth.Truth.assertThat +import io.element.android.features.login.impl.DefaultLoginUserStory +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.core.meta.BuildMeta +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.external.ExternalSession +import io.element.android.libraries.matrix.test.AN_EXCEPTION +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService +import io.element.android.libraries.matrix.test.core.aBuildMeta +import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.lambda.lambdaRecorder +import io.element.android.tests.testutils.lambda.value +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class CreateAccountPresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - initial state`() = runTest { + val presenter = createPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + assertThat(initialState.url).isEqualTo("aUrl") + assertThat(initialState.pageProgress).isEqualTo(0) + assertThat(initialState.createAction).isEqualTo(AsyncAction.Uninitialized) + assertThat(initialState.isDebugBuild).isTrue() + } + } + + @Test + fun `present - set up progress update the state`() = runTest { + val presenter = createPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(CreateAccountEvents.SetPageProgress(33)) + assertThat(awaitItem().pageProgress).isEqualTo(33) + } + } + + @Test + fun `present - receiving a message not able to be parsed change the state to error`() = runTest { + val presenter = createPresenter( + messageParser = FakeMessageParser { error("An error") } + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(CreateAccountEvents.OnMessageReceived("")) + assertThat(awaitItem().createAction).isInstanceOf(AsyncAction.Failure::class.java) + } + } + + @Test + fun `present - receiving a message containing isTrusted is ignored`() = runTest { + val presenter = createPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(CreateAccountEvents.OnMessageReceived("isTrusted")) + } + } + + @Test + fun `present - receiving a message able to be parsed change the state to success`() = runTest { + val defaultLoginUserStory = DefaultLoginUserStory() + defaultLoginUserStory.setLoginFlowIsDone(false) + assertThat(defaultLoginUserStory.loginFlowIsDone.value).isFalse() + val lambda = lambdaRecorder { _ -> anExternalSession() } + val presenter = createPresenter( + authenticationService = FakeMatrixAuthenticationService( + importCreatedSessionLambda = { Result.success(A_SESSION_ID) } + ), + messageParser = FakeMessageParser(lambda), + defaultLoginUserStory = defaultLoginUserStory, + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(CreateAccountEvents.OnMessageReceived("aMessage")) + assertThat(awaitItem().createAction.isLoading()).isTrue() + assertThat(awaitItem().createAction.dataOrNull()).isEqualTo(A_SESSION_ID) + } + lambda.assertions().isCalledOnce().with(value("aMessage")) + assertThat(defaultLoginUserStory.loginFlowIsDone.value).isTrue() + } + + @Test + fun `present - receiving a message able to be parsed but error in importing change the state to error`() = runTest { + val defaultLoginUserStory = DefaultLoginUserStory() + defaultLoginUserStory.setLoginFlowIsDone(false) + assertThat(defaultLoginUserStory.loginFlowIsDone.value).isFalse() + val presenter = createPresenter( + authenticationService = FakeMatrixAuthenticationService( + importCreatedSessionLambda = { Result.failure(AN_EXCEPTION) } + ), + messageParser = FakeMessageParser { anExternalSession() } + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(CreateAccountEvents.OnMessageReceived("")) + assertThat(awaitItem().createAction.isLoading()).isTrue() + assertThat(awaitItem().createAction.errorOrNull()).isNotNull() + } + assertThat(defaultLoginUserStory.loginFlowIsDone.value).isFalse() + } + + private fun createPresenter( + url: String = "aUrl", + authenticationService: MatrixAuthenticationService = FakeMatrixAuthenticationService(), + defaultLoginUserStory: DefaultLoginUserStory = DefaultLoginUserStory(), + messageParser: MessageParser = FakeMessageParser(), + buildMeta: BuildMeta = aBuildMeta(), + ) = CreateAccountPresenter( + url = url, + authenticationService = authenticationService, + defaultLoginUserStory = defaultLoginUserStory, + messageParser = messageParser, + buildMeta = buildMeta, + ) +} diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/DefaultMessageParserTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/DefaultMessageParserTest.kt new file mode 100644 index 0000000000..44ccb5f0fb --- /dev/null +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/DefaultMessageParserTest.kt @@ -0,0 +1,84 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import com.google.common.truth.Truth.assertThat +import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource +import io.element.android.features.login.impl.util.defaultAccountProvider +import io.element.android.libraries.matrix.api.auth.external.ExternalSession +import kotlinx.serialization.SerializationException +import org.junit.Assert.assertThrows +import org.junit.Test + +class DefaultMessageParserTest { + private val validMessage = """ + { + "user_id": "user_id", + "home_server": "home_server", + "access_token": "access_token", + "device_id": "device_id" + } + """.trimIndent() + + @Test + fun `DefaultMessageParser is able to parse correct message`() { + val sut = DefaultMessageParser( + AccountProviderDataSource() + ) + assertThat(sut.parse(validMessage)).isEqualTo( + anExternalSession( + homeserverUrl = "home_server", + ) + ) + } + + @Test + fun `DefaultMessageParser should throw Exception in case of error`() { + val sut = DefaultMessageParser( + AccountProviderDataSource() + ) + // kotlinx.serialization.json.internal.JsonDecodingException + assertThrows(SerializationException::class.java) { sut.parse("invalid json") } + // missing userId + assertThrows(IllegalStateException::class.java) { sut.parse(validMessage.replace(""""user_id": "user_id",""", "")) } + // missing accessToken + assertThrows(IllegalStateException::class.java) { sut.parse(validMessage.replace(""""access_token": "access_token",""", "")) } + // missing deviceId + assertThrows(IllegalStateException::class.java) { + sut.parse( + validMessage + .replace(""""access_token": "access_token",""", """"access_token": "access_token"""") + .replace(""""device_id": "device_id"""", "") + ) + } + } + + @Test + fun `DefaultMessageParser should be successful even is homeserver url is missing`() { + val sut = DefaultMessageParser( + AccountProviderDataSource() + ) + // missing homeServer + assertThat(sut.parse(validMessage.replace(""""home_server": "home_server",""", ""))).isEqualTo( + anExternalSession( + homeserverUrl = defaultAccountProvider.url, + ) + ) + } +} + +internal fun anExternalSession( + homeserverUrl: String = "home_server", +) = ExternalSession( + userId = "user_id", + homeserverUrl = homeserverUrl, + accessToken = "access_token", + deviceId = "device_id", + refreshToken = null, + slidingSyncProxy = null +) diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/FakeMessageParser.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/FakeMessageParser.kt new file mode 100644 index 0000000000..4207d6b102 --- /dev/null +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/createaccount/FakeMessageParser.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.screens.createaccount + +import io.element.android.libraries.matrix.api.auth.external.ExternalSession +import io.element.android.tests.testutils.lambda.lambdaError + +class FakeMessageParser( + private val parseResult: (String) -> ExternalSession = { lambdaError() } +) : MessageParser { + override fun parse(message: String): ExternalSession { + return parseResult(message) + } +} diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/web/FakeWebClientUrlForAuthenticationRetriever.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/web/FakeWebClientUrlForAuthenticationRetriever.kt new file mode 100644 index 0000000000..c94d114be5 --- /dev/null +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/web/FakeWebClientUrlForAuthenticationRetriever.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.web + +import io.element.android.tests.testutils.lambda.lambdaError + +class FakeWebClientUrlForAuthenticationRetriever( + private val retrieveLambda: suspend (homeServerUrl: String) -> String = { lambdaError() } +) : WebClientUrlForAuthenticationRetriever { + override suspend fun retrieve(homeServerUrl: String): String { + return retrieveLambda(homeServerUrl) + } +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt index bf0955098b..bb3d396202 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt @@ -9,6 +9,7 @@ package io.element.android.libraries.matrix.api.auth import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.MatrixClientProvider +import io.element.android.libraries.matrix.api.auth.external.ExternalSession import io.element.android.libraries.matrix.api.auth.qrlogin.MatrixQrCodeLoginData import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep import io.element.android.libraries.matrix.api.core.SessionId @@ -30,6 +31,11 @@ interface MatrixAuthenticationService { suspend fun setHomeserver(homeserver: String): Result suspend fun login(username: String, password: String): Result + /** + * Import a session that was created using another client, for instance Element Web. + */ + suspend fun importCreatedSession(externalSession: ExternalSession): Result + /* * OIDC part. */ diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/external/ExternalSession.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/external/ExternalSession.kt new file mode 100644 index 0000000000..d85135b26e --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/external/ExternalSession.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.api.auth.external + +/*** + * Represents a session data of a session created by another client. + */ +data class ExternalSession( + val userId: String, + val deviceId: String, + val accessToken: String, + val refreshToken: String?, + val homeserverUrl: String, + val slidingSyncProxy: String? +) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt index 47a010cf2d..d1f0d29295 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt @@ -17,6 +17,7 @@ import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails import io.element.android.libraries.matrix.api.auth.OidcDetails +import io.element.android.libraries.matrix.api.auth.external.ExternalSession import io.element.android.libraries.matrix.api.auth.qrlogin.MatrixQrCodeLoginData import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep import io.element.android.libraries.matrix.api.core.SessionId @@ -160,6 +161,23 @@ class RustMatrixAuthenticationService @Inject constructor( } } + override suspend fun importCreatedSession(externalSession: ExternalSession): Result = + withContext(coroutineDispatchers.io) { + runCatching { + currentClient ?: error("You need to call `setHomeserver()` first") + val currentSessionPaths = sessionPaths ?: error("You need to call `setHomeserver()` first") + val sessionData = externalSession.toSessionData( + isTokenValid = true, + loginType = LoginType.PASSWORD, + passphrase = pendingPassphrase, + sessionPaths = currentSessionPaths, + ) + clear() + sessionStore.storeData(sessionData) + SessionId(sessionData.userId) + } + } + private var pendingOidcAuthorizationData: OidcAuthorizationData? = null override suspend fun getOidcUrl(): Result { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt index 95bf823872..0f9bd5c87d 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.impl.mapper +import io.element.android.libraries.matrix.api.auth.external.ExternalSession import io.element.android.libraries.matrix.impl.paths.SessionPaths import io.element.android.libraries.sessionstorage.api.LoginType import io.element.android.libraries.sessionstorage.api.SessionData @@ -35,3 +36,24 @@ internal fun Session.toSessionData( sessionPath = sessionPaths.fileDirectory.absolutePath, cachePath = sessionPaths.cacheDirectory.absolutePath, ) + +internal fun ExternalSession.toSessionData( + isTokenValid: Boolean, + loginType: LoginType, + passphrase: String?, + sessionPaths: SessionPaths, +) = SessionData( + userId = userId, + deviceId = deviceId, + accessToken = accessToken, + refreshToken = refreshToken, + homeserverUrl = homeserverUrl, + oidcData = null, + slidingSyncProxy = slidingSyncProxy, + loginTimestamp = Date(), + isTokenValid = isTokenValid, + loginType = loginType, + passphrase = passphrase, + sessionPath = sessionPaths.fileDirectory.absolutePath, + cachePath = sessionPaths.cacheDirectory.absolutePath, +) diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeMatrixAuthenticationService.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeMatrixAuthenticationService.kt index 6f5ffa3928..8c18629817 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeMatrixAuthenticationService.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeMatrixAuthenticationService.kt @@ -11,12 +11,14 @@ import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails import io.element.android.libraries.matrix.api.auth.OidcDetails +import io.element.android.libraries.matrix.api.auth.external.ExternalSession import io.element.android.libraries.matrix.api.auth.qrlogin.MatrixQrCodeLoginData import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.sessionstorage.api.LoggedInState +import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.simulateLongTask import kotlinx.coroutines.flow.Flow @@ -30,6 +32,7 @@ class FakeMatrixAuthenticationService( var matrixClientResult: ((SessionId) -> Result)? = null, var loginWithQrCodeResult: (qrCodeData: MatrixQrCodeLoginData, progress: (QrCodeLoginStep) -> Unit) -> Result = lambdaRecorder Unit, Result> { _, _ -> Result.success(A_SESSION_ID) }, + private val importCreatedSessionLambda: (ExternalSession) -> Result = { lambdaError() } ) : MatrixAuthenticationService { private val homeserver = MutableStateFlow(null) private var oidcError: Throwable? = null @@ -73,6 +76,10 @@ class FakeMatrixAuthenticationService( loginError?.let { Result.failure(it) } ?: Result.success(A_USER_ID) } + override suspend fun importCreatedSession(externalSession: ExternalSession): Result = simulateLongTask { + return importCreatedSessionLambda(externalSession) + } + override suspend fun getOidcUrl(): Result = simulateLongTask { oidcError?.let { Result.failure(it) } ?: Result.success(A_OIDC_DATA) } diff --git a/libraries/ui-strings/src/main/res/values-el/translations.xml b/libraries/ui-strings/src/main/res/values-el/translations.xml index 15d9c7244d..d0fd3cbdab 100644 --- a/libraries/ui-strings/src/main/res/values-el/translations.xml +++ b/libraries/ui-strings/src/main/res/values-el/translations.xml @@ -273,7 +273,6 @@ "Γεια, μίλα μου στην εφαρμογή %1$s :%2$s" "%1$s Android" "Κούνησε δυνατά τη συσκευή σου για να αναφέρεις κάποιο σφάλμα" - "Δημιουργία λογαριασμού" "Αποτυχία επιλογής πολυμέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης πολυμέσων, δοκίμασε ξανά." diff --git a/libraries/ui-strings/src/main/res/values-et/translations.xml b/libraries/ui-strings/src/main/res/values-et/translations.xml index 74a646fb66..f6bcbf0fe4 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -273,7 +273,6 @@ Põhjus: %1$s." "Hei, suhtle minuga %1$s võrgus: %2$s" "%1$s Android" "Veast teatamiseks raputa nutiseadet ägedalt" - "Loo kasutajakonto" "Meediafaili valimine ei õnnestunud. Palun proovi uuesti." "Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti." "Meediafaili üleslaadimine ei õnnestunud. Palun proovi uuesti." diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 3b8ad9ec24..17da391831 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -273,7 +273,6 @@ Reason: %1$s." "Hey, talk to me on %1$s: %2$s" "%1$s Android" "Rageshake to report bug" - "Create account" "Failed selecting media, please try again." "Failed processing media to upload, please try again." "Failed uploading media, please try again." diff --git a/tools/localazy/config.json b/tools/localazy/config.json index 6f41be8693..f463b6d621 100644 --- a/tools/localazy/config.json +++ b/tools/localazy/config.json @@ -127,6 +127,7 @@ "screen_server_confirmation_.*", "screen_change_server_.*", "screen_change_account_provider_.*", + "screen_create_account_.*", "screen_account_provider_.*", "screen_waitlist_.*", "screen_qr_code_login_.*" From aab5a27a91144f9499f5d2190c71d1e2c4dc441b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 13 Sep 2024 22:03:06 +0200 Subject: [PATCH 039/122] Open external url (like terms and condition) in a Custom Chrome Tab, and disable to "Leave page" dialog. --- .../createaccount/CreateAccountNode.kt | 13 ++++++++++++ .../createaccount/CreateAccountView.kt | 21 ++++++++++++++++--- .../WebViewMessageInterceptor.kt | 9 ++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt index 61b380815f..b17699e6f8 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountNode.kt @@ -7,14 +7,18 @@ package io.element.android.features.login.impl.screens.createaccount +import android.app.Activity import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext import com.bumble.appyx.core.modality.BuildContext import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.plugin.Plugin import dagger.assisted.Assisted import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode +import io.element.android.compound.theme.ElementTheme +import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.architecture.inputs import io.element.android.libraries.di.AppScope @@ -31,13 +35,22 @@ class CreateAccountNode @AssistedInject constructor( private val presenter = presenterFactory.create(inputs().url) + private fun onOpenExternalUrl(activity: Activity, darkTheme: Boolean, url: String) { + activity.openUrlInChromeCustomTab(null, darkTheme, url) + } + @Composable override fun View(modifier: Modifier) { + val activity = LocalContext.current as Activity + val isDark = ElementTheme.isLightTheme.not() val state = presenter.present() CreateAccountView( state = state, modifier = modifier, onBackClick = ::navigateUp, + onOpenExternalUrl = { + onOpenExternalUrl(activity, isDark, it) + }, ) } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt index 7074f935d3..aaa67a80f9 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountView.kt @@ -9,6 +9,7 @@ package io.element.android.features.login.impl.screens.createaccount import android.annotation.SuppressLint import android.view.ViewGroup +import android.webkit.JsResult import android.webkit.WebChromeClient import android.webkit.WebView import androidx.compose.animation.AnimatedVisibility @@ -41,12 +42,14 @@ import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.theme.progressIndicatorTrackColor +import timber.log.Timber @OptIn(ExperimentalMaterial3Api::class) @Composable fun CreateAccountView( state: CreateAccountState, onBackClick: () -> Unit, + onOpenExternalUrl: (String) -> Unit, modifier: Modifier = Modifier, ) { Scaffold( @@ -76,9 +79,14 @@ fun CreateAccountView( .fillMaxSize(), state = state, onWebViewCreate = { webView -> - WebViewMessageInterceptor(webView, state.isDebugBuild) { - state.eventSink(CreateAccountEvents.OnMessageReceived(it)) - } + WebViewMessageInterceptor( + webView, + state.isDebugBuild, + onOpenExternalUrl = onOpenExternalUrl, + onMessage = { + state.eventSink(CreateAccountEvents.OnMessageReceived(it)) + }, + ) } ) AnimatedVisibility( @@ -153,6 +161,12 @@ private fun WebView.setup(state: CreateAccountState) { super.onProgressChanged(view, newProgress) state.eventSink(CreateAccountEvents.SetPageProgress(newProgress)) } + + override fun onJsBeforeUnload(view: WebView?, url: String?, message: String?, result: JsResult?): Boolean { + Timber.w("onJsBeforeUnload, cancelling the dialog, we will open external links in a Custom Chrome Tab") + result?.confirm() + return true + } } } @@ -162,5 +176,6 @@ internal fun CreateAccountViewPreview(@PreviewParameter(CreateAccountStateProvid CreateAccountView( state = state, onBackClick = {}, + onOpenExternalUrl = {}, ) } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt index eb59ddb858..f07c466736 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt @@ -9,6 +9,7 @@ package io.element.android.features.login.impl.screens.createaccount import android.graphics.Bitmap import android.webkit.JavascriptInterface +import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient import androidx.webkit.WebViewCompat @@ -17,6 +18,7 @@ import androidx.webkit.WebViewFeature class WebViewMessageInterceptor( webView: WebView, private val debugLog: Boolean, + private val onOpenExternalUrl: (String) -> Unit, private val onMessage: (String) -> Unit, ) { companion object { @@ -50,6 +52,13 @@ class WebViewMessageInterceptor( null ) } + + override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { + request ?: return super.shouldOverrideUrlLoading(view, request) + // Load the URL in a Chrome Custom Tab, and return true to cancel the load + onOpenExternalUrl(request.url.toString()) + return true + } } // Use WebMessageListener if supported, otherwise use JavascriptInterface From a4e93ebe2710cfe35e178f28a22fd4be94ebddea Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 16 Sep 2024 10:46:51 +0200 Subject: [PATCH 040/122] Temporary account creation flow is only supported on matrix.org --- .../impl/web/WebClientUrlForAuthenticationRetriever.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt index 9955fe150d..0f5375bde4 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt @@ -9,11 +9,13 @@ package io.element.android.features.login.impl.web import android.net.Uri import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.appconfig.AuthenticationConfig import io.element.android.features.login.impl.resolver.network.WellknownAPI import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.libraries.di.AppScope import io.element.android.libraries.network.RetrofitFactory import java.net.HttpURLConnection +import timber.log.Timber import javax.inject.Inject interface WebClientUrlForAuthenticationRetriever { @@ -25,6 +27,10 @@ class DefaultWebClientUrlForAuthenticationRetriever @Inject constructor( private val retrofitFactory: RetrofitFactory, ) : WebClientUrlForAuthenticationRetriever { override suspend fun retrieve(homeServerUrl: String): String { + if (homeServerUrl != AuthenticationConfig.MATRIX_ORG_URL) { + Timber.w("Temporary account creation flow is only supported on matrix.org") + throw AccountCreationNotSupported() + } val wellknownApi = retrofitFactory.create(homeServerUrl) .create(WellknownAPI::class.java) val result = try { From 10e95cbf28333e990b1ad5ba2ef15877c2c62968 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 16 Sep 2024 12:39:40 +0200 Subject: [PATCH 041/122] Fix compilation error --- .../ConfirmAccountProviderView.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index ac34d70107..c6d47793af 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -111,17 +111,19 @@ fun ConfirmAccountProviderView( ) } is ChangeServerError.SlidingSyncAlert -> { - SlidingSyncNotSupportedDialog(onLearnMoreClick = { - onLearnMoreClick() - eventSink(ConfirmAccountProviderEvents.ClearError) - }, onDismiss = { - eventSink(ConfirmAccountProviderEvents.ClearError) - }) + SlidingSyncNotSupportedDialog( + onLearnMoreClick = { + onLearnMoreClick() + eventSink(ConfirmAccountProviderEvents.ClearError) + }, + onDismiss = { + eventSink(ConfirmAccountProviderEvents.ClearError) + }) } is AccountCreationNotSupported -> { ErrorDialog( content = stringResource(CommonStrings.error_account_creation_not_possible), - onDismiss = { + onSubmit = { eventSink.invoke(ConfirmAccountProviderEvents.ClearError) } ) From 7647414c685c619c003231b495ebeb08a70800d1 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 16 Sep 2024 10:50:01 +0000 Subject: [PATCH 042/122] Update screenshots --- ...irmaccountprovider_ConfirmAccountProviderView_Day_1_en.png | 3 +++ ...irmaccountprovider_ConfirmAccountProviderView_Day_2_en.png | 3 +++ ...maccountprovider_ConfirmAccountProviderView_Night_1_en.png | 3 +++ ...maccountprovider_ConfirmAccountProviderView_Night_2_en.png | 3 +++ ....impl.screens.createaccount_CreateAccountView_Day_0_en.png | 3 +++ ....impl.screens.createaccount_CreateAccountView_Day_1_en.png | 3 +++ ....impl.screens.createaccount_CreateAccountView_Day_2_en.png | 3 +++ ....impl.screens.createaccount_CreateAccountView_Day_3_en.png | 3 +++ ...mpl.screens.createaccount_CreateAccountView_Night_0_en.png | 3 +++ ...mpl.screens.createaccount_CreateAccountView_Night_1_en.png | 3 +++ ...mpl.screens.createaccount_CreateAccountView_Night_2_en.png | 3 +++ ...mpl.screens.createaccount_CreateAccountView_Night_3_en.png | 3 +++ .../features.onboarding.impl_OnBoardingView_Day_2_en.png | 4 ++-- .../features.onboarding.impl_OnBoardingView_Day_3_en.png | 4 ++-- .../features.onboarding.impl_OnBoardingView_Night_2_en.png | 4 ++-- .../features.onboarding.impl_OnBoardingView_Night_3_en.png | 4 ++-- 16 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_3_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png new file mode 100644 index 0000000000..f4a7f63530 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f3a79b578e2c4cb7f6c9cf48f2c94dd6889d57b82bd7454d9a0d7b76f58d8a +size 38689 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png new file mode 100644 index 0000000000..a348889301 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8df01760f694d1214e3d71582ee2e6ab3fe9a2319b8f1e3005d451764eb873f0 +size 39341 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png new file mode 100644 index 0000000000..f30b395104 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a6818bb540210582166ff6484dfca0ec45e88def508c9c5e3a0eb838514b591 +size 37634 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png new file mode 100644 index 0000000000..faf85fafa4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f8a73d70b78289b7faf63a511f066fa3ee3fc89be512b1e69e143087c360fa2 +size 36847 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_0_en.png new file mode 100644 index 0000000000..d1ce609f52 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89344bcdfe8634d9d2e0ea701c7357e1744d18284a5374209e1903a100b5de47 +size 13651 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png new file mode 100644 index 0000000000..7cf778987e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d47d8ae4144ac6a63cee3359fe7b6e0068069fc006fa99ff874b40ab38c3ef82 +size 13693 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png new file mode 100644 index 0000000000..352466596f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c36947469bd91cb58d7d404feb22fe3257a648195d68d5594ef96d21f6a38da +size 13496 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_3_en.png new file mode 100644 index 0000000000..9d943f498f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6738e2c9b06b5f229b3b3d1d807e18e8d04661b664e61f5645a853329f11c23c +size 15423 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_0_en.png new file mode 100644 index 0000000000..beab9a1b1b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff4e3e6a8845b8cf2c81160d556c82ab1aa48e4f1912a63313b751ea0f83be08 +size 13252 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png new file mode 100644 index 0000000000..f998350fcf --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e19e9c62760cc4cb0a5f4e2dd814c32c118233efd5714ab11f68520deb83d470 +size 13279 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png new file mode 100644 index 0000000000..27d44ecd6a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc1cbe1378c4cd1daf809d27d13f1221a443d683d9bfdcf3c0b2af1ada5bdf82 +size 12328 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_3_en.png new file mode 100644 index 0000000000..6740d1895e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d8542941be6e786b2c33a4615eada254287bf61ca34536a9ec3f672f5b7613f +size 13753 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png index 67d47d34d2..09dcffa934 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78cd46cb6a689088dda0ea79d7efcee4bbb41e956dd308820c369daa3e11582d -size 309346 +oid sha256:137ed2c613128525a2ee749c3f488cf8c2900dda49778dae420d72364a1d98d1 +size 307793 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png index 17ed84c21e..e38bad3edb 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59d2f5f0f9ffc4f3ceca83626121d35e22482ee7f0be0626be2c922b64762cd9 -size 303240 +oid sha256:9a19a446abbcd7c4317dd6283df8de2fdf1829e905f353d4dd79132bdf1c4845 +size 301997 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png index e15808ede5..d2dee86e6d 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01d8ce27c1f526f003003a643408216bf106d882c6f0275caf9bea78b8e05b92 -size 385522 +oid sha256:db259afbc02e4696b36101aa6ae6829d0ab8d23ee6c662b2ff63838894466b4f +size 384093 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png index 1a58a5c612..fac9148917 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5ab54696b3e60080df81b17c02804c81687c6b260c76408ffad6d0079d4bf86 -size 366816 +oid sha256:5b83da6855e10e0765619fb6557843b0b657526928ca94f2a565144f5b261c8e +size 365396 From 2d1cede6a8427cd770340e2bf7f4d72f6476e72d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 16 Sep 2024 14:23:56 +0200 Subject: [PATCH 043/122] Fix quality and failing test. --- .../confirmaccountprovider/ConfirmAccountProviderView.kt | 3 ++- .../impl/web/WebClientUrlForAuthenticationRetriever.kt | 7 +++---- .../features/onboarding/impl/OnBoardingPresenterTest.kt | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index c6d47793af..407ea9d88b 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -118,7 +118,8 @@ fun ConfirmAccountProviderView( }, onDismiss = { eventSink(ConfirmAccountProviderEvents.ClearError) - }) + } + ) } is AccountCreationNotSupported -> { ErrorDialog( diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt index 0f5375bde4..b7a30ee843 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/web/WebClientUrlForAuthenticationRetriever.kt @@ -14,8 +14,8 @@ import io.element.android.features.login.impl.resolver.network.WellknownAPI import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.libraries.di.AppScope import io.element.android.libraries.network.RetrofitFactory -import java.net.HttpURLConnection import timber.log.Timber +import java.net.HttpURLConnection import javax.inject.Inject interface WebClientUrlForAuthenticationRetriever { @@ -35,10 +35,9 @@ class DefaultWebClientUrlForAuthenticationRetriever @Inject constructor( .create(WellknownAPI::class.java) val result = try { wellknownApi.getElementWellKnown() - } catch (e: Exception) { + } catch (e: retrofit2.HttpException) { throw when { - e is retrofit2.HttpException && - e.code() == HttpURLConnection.HTTP_NOT_FOUND -> AccountCreationNotSupported() + e.code() == HttpURLConnection.HTTP_NOT_FOUND -> AccountCreationNotSupported() else -> e } } diff --git a/features/onboarding/impl/src/test/kotlin/io/element/android/features/onboarding/impl/OnBoardingPresenterTest.kt b/features/onboarding/impl/src/test/kotlin/io/element/android/features/onboarding/impl/OnBoardingPresenterTest.kt index fff5763221..8791992021 100644 --- a/features/onboarding/impl/src/test/kotlin/io/element/android/features/onboarding/impl/OnBoardingPresenterTest.kt +++ b/features/onboarding/impl/src/test/kotlin/io/element/android/features/onboarding/impl/OnBoardingPresenterTest.kt @@ -11,6 +11,7 @@ import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat +import io.element.android.appconfig.OnBoardingConfig import io.element.android.libraries.core.meta.BuildType import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.test.FakeFeatureFlagService @@ -46,7 +47,7 @@ class OnBoardingPresenterTest { assertThat(initialState.isDebugBuild).isTrue() assertThat(initialState.canLoginWithQrCode).isFalse() assertThat(initialState.productionApplicationName).isEqualTo("B") - assertThat(initialState.canCreateAccount).isFalse() + assertThat(initialState.canCreateAccount).isEqualTo(OnBoardingConfig.CAN_CREATE_ACCOUNT) assertThat(awaitItem().canLoginWithQrCode).isTrue() } From 7238af7f7fdd64af2b9a180e19d4b4cfa96e5271 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Mon, 16 Sep 2024 15:02:20 +0200 Subject: [PATCH 044/122] Fix not being able to decline an invite from the room list (#3466) * Add `InvitedRoom` to wrap Rust SDK Rooms in 'invited' membership state. At the moment, this is a wrapper that allows us to call `Room.leave()` without having to initialise the room's timeline (which is impossible). * Add `MatrixRoom.getInvitedRoom(roomId)` to get one of these rooms. Also, `RustRoomFactory` now has a `createInvitedRoom` method for this. * Adapt `AcceptDeclineInvitePresenter` to use the new APIs. --- .../response/AcceptDeclineInvitePresenter.kt | 4 +-- .../AcceptDeclineInvitePresenterTest.kt | 16 ++-------- .../libraries/matrix/api/MatrixClient.kt | 2 ++ .../libraries/matrix/api/room/InvitedRoom.kt | 20 +++++++++++++ .../libraries/matrix/impl/RustMatrixClient.kt | 5 ++++ .../matrix/impl/room/RustInvitedRoom.kt | 28 ++++++++++++++++++ .../matrix/impl/room/RustRoomFactory.kt | 29 +++++++++++++++++++ .../libraries/matrix/test/FakeMatrixClient.kt | 6 ++++ .../matrix/test/room/FakeInvitedRoom.kt | 27 +++++++++++++++++ 9 files changed, 122 insertions(+), 15 deletions(-) create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt create mode 100644 libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt create mode 100644 libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt index 7d117dba5e..c44a6cfb4f 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt @@ -112,8 +112,8 @@ class AcceptDeclineInvitePresenter @Inject constructor( private fun CoroutineScope.declineInvite(roomId: RoomId, declinedAction: MutableState>) = launch { suspend { - client.getRoom(roomId)?.use { - it.leave().getOrThrow() + client.getInvitedRoom(roomId)?.use { + it.declineInvite().getOrThrow() notificationCleaner.clearMembershipNotificationForRoom(client.sessionId, roomId) } roomId diff --git a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt index f4dcb4f278..45fb2efc86 100644 --- a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt +++ b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_NAME import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.libraries.matrix.test.FakeMatrixClient -import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.libraries.matrix.test.room.FakeInvitedRoom import io.element.android.libraries.matrix.test.room.join.FakeJoinRoom import io.element.android.libraries.push.api.notifications.NotificationCleaner import io.element.android.libraries.push.test.notifications.FakeNotificationCleaner @@ -83,12 +83,7 @@ class AcceptDeclineInvitePresenterTest { Result.failure(RuntimeException("Failed to leave room")) } val client = FakeMatrixClient().apply { - givenGetRoomResult( - roomId = A_ROOM_ID, - result = FakeMatrixRoom( - leaveRoomLambda = declineInviteFailure - ) - ) + getInvitedRoomResults[A_ROOM_ID] = FakeInvitedRoom(declineInviteResult = declineInviteFailure) } val presenter = createAcceptDeclineInvitePresenter(client = client) presenter.test { @@ -133,12 +128,7 @@ class AcceptDeclineInvitePresenterTest { Result.success(Unit) } val client = FakeMatrixClient().apply { - givenGetRoomResult( - roomId = A_ROOM_ID, - result = FakeMatrixRoom( - leaveRoomLambda = declineInviteSuccess - ) - ) + getInvitedRoomResults[A_ROOM_ID] = FakeInvitedRoom(declineInviteResult = declineInviteSuccess) } val presenter = createAcceptDeclineInvitePresenter( client = client, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index 3b7441395a..ca44838553 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -21,6 +21,7 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService +import io.element.android.libraries.matrix.api.room.InvitedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomInfo import io.element.android.libraries.matrix.api.room.RoomMembershipObserver @@ -49,6 +50,7 @@ interface MatrixClient : Closeable { val sessionCoroutineScope: CoroutineScope val ignoredUsersFlow: StateFlow> suspend fun getRoom(roomId: RoomId): MatrixRoom? + suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? suspend fun findDM(userId: UserId): RoomId? suspend fun ignoreUser(userId: UserId): Result suspend fun unignoreUser(userId: UserId): Result diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt new file mode 100644 index 0000000000..7e1dd5d10d --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.api.room + +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId + +/** A reference to a room the current user has been invited to, with the ability to decline the invite. */ +interface InvitedRoom : AutoCloseable { + val sessionId: SessionId + val roomId: RoomId + + /** Decline the invite to this room. */ + suspend fun declineInvite(): Result +} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index c9989796e5..1112fde2f5 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -29,6 +29,7 @@ import io.element.android.libraries.matrix.api.notificationsettings.Notification import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService import io.element.android.libraries.matrix.api.room.CurrentUserMembership +import io.element.android.libraries.matrix.api.room.InvitedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomInfo import io.element.android.libraries.matrix.api.room.RoomMembershipObserver @@ -245,6 +246,10 @@ class RustMatrixClient( return roomFactory.create(roomId) } + override suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? { + return roomFactory.createInvitedRoom(roomId) + } + /** * Wait for the room to be available in the room list, with a membership for the current user of [CurrentUserMembership.JOINED]. * @param roomIdOrAlias the room id or alias to wait for diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt new file mode 100644 index 0000000000..67e9e5e7a5 --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room + +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.room.InvitedRoom +import org.matrix.rustcomponents.sdk.Room + +class RustInvitedRoom( + override val sessionId: SessionId, + private val invitedRoom: Room, +) : InvitedRoom { + override val roomId = RoomId(invitedRoom.id()) + + override suspend fun declineInvite(): Result = runCatching { + invitedRoom.leave() + } + + override fun close() { + invitedRoom.destroy() + } +} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 04210d6959..a440578513 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -14,6 +14,7 @@ import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService +import io.element.android.libraries.matrix.api.room.InvitedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.api.roomlist.awaitLoaded @@ -27,6 +28,7 @@ import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.FilterTimelineEventType +import org.matrix.rustcomponents.sdk.Membership import org.matrix.rustcomponents.sdk.Room import org.matrix.rustcomponents.sdk.RoomListException import org.matrix.rustcomponents.sdk.RoomListItem @@ -123,6 +125,33 @@ class RustRoomFactory( } } + suspend fun createInvitedRoom(roomId: RoomId): InvitedRoom? = withContext(dispatcher) { + if (isDestroyed) { + Timber.d("Room factory is destroyed, returning null for $roomId") + return@withContext null + } + val roomListItem = innerRoomListService.roomOrNull(roomId.value) + if (roomListItem == null) { + Timber.d("Room not found for $roomId") + return@withContext null + } + if (roomListItem.membership() != Membership.INVITED) { + Timber.d("Room $roomId is not in invited state") + return@withContext null + } + val invitedRoom = try { + roomListItem.invitedRoom() + } catch (e: RoomListException) { + Timber.e(e, "Failed to get invited room for $roomId") + return@withContext null + } + + RustInvitedRoom( + sessionId = sessionId, + invitedRoom = invitedRoom, + ) + } + private suspend fun getRoomReferences(roomId: RoomId): RustRoomReferences? { cache[roomId]?.let { Timber.d("Room found in cache for $roomId") diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index 5db394f77d..908cb443ea 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -22,6 +22,7 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService +import io.element.android.libraries.matrix.api.room.InvitedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomInfo import io.element.android.libraries.matrix.api.room.RoomMembershipObserver @@ -99,6 +100,7 @@ class FakeMatrixClient( private var createDmResult: Result = Result.success(A_ROOM_ID) private var findDmResult: RoomId? = A_ROOM_ID private val getRoomResults = mutableMapOf() + val getInvitedRoomResults = mutableMapOf() private val searchUserResults = mutableMapOf>() private val getProfileResults = mutableMapOf>() private var uploadMediaResult: Result = Result.success(AN_AVATAR_URL) @@ -125,6 +127,10 @@ class FakeMatrixClient( return getRoomResults[roomId] } + override suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? { + return getInvitedRoomResults[roomId] + } + override suspend fun findDM(userId: UserId): RoomId? { return findDmResult } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt new file mode 100644 index 0000000000..3224d1fd2f --- /dev/null +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.test.room + +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.tests.testutils.lambda.lambdaError + +class FakeInvitedRoom( + override val sessionId: SessionId = A_SESSION_ID, + override val roomId: RoomId = A_ROOM_ID, + private val declineInviteResult: () -> Result = { lambdaError() } +) : InvitedRoom { + override suspend fun declineInvite(): Result { + return declineInviteResult() + } + + override fun close() = Unit +} From be3ead0db96934570d1ee0811607df0e5f0a133e Mon Sep 17 00:00:00 2001 From: ganfra Date: Mon, 16 Sep 2024 15:22:40 +0200 Subject: [PATCH 045/122] Send failure verified user : add some comments and logs. --- .../ResolveVerifiedUserSendFailureView.kt | 6 +++--- .../resolve/VerifiedUserSendFailureIterator.kt | 13 +++++++++++++ .../resolve/VerifiedUserSendFailureResolver.kt | 6 ++++++ .../libraries/matrix/api/room/MatrixRoom.kt | 16 ++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index e0d964fa51..4c1d40cc87 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -118,7 +118,7 @@ private fun VerifiedUserSendFailure.title(): String { id = CommonStrings.screen_resolve_send_failure_changed_identity_title, userDisplayName ) - VerifiedUserSendFailure.None -> "" + VerifiedUserSendFailure.None -> error("This method should never be called for this state") } } @@ -134,7 +134,7 @@ private fun VerifiedUserSendFailure.subtitle(): String { id = CommonStrings.screen_resolve_send_failure_changed_identity_subtitle, userDisplayName ) - VerifiedUserSendFailure.None -> "" + VerifiedUserSendFailure.None -> error("This method should never be called for this state") } } @@ -143,7 +143,7 @@ private fun VerifiedUserSendFailure.resolveAction(): String { return when (this) { is VerifiedUserSendFailure.UnsignedDevice -> stringResource(id = CommonStrings.screen_resolve_send_failure_unsigned_device_primary_button_title) is VerifiedUserSendFailure.ChangedIdentity -> stringResource(id = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title) - VerifiedUserSendFailure.None -> "" + VerifiedUserSendFailure.None -> error("This method should never be called for this state") } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt index ccdcfb509b..8b438808ff 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureIterator.kt @@ -8,6 +8,7 @@ package io.element.android.features.messages.impl.crypto.sendfailure.resolve import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState +import timber.log.Timber /** * Iterator for [LocalEventSendState.Failed.VerifiedUser] @@ -30,6 +31,12 @@ class UnsignedDeviceSendFailureIterator( ) : VerifiedUserSendFailureIterator { private val iterator = failure.devices.iterator() + init { + if (!hasNext()) { + Timber.w("Got $failure without any devices, shouldn't happen.") + } + } + override fun hasNext(): Boolean { return iterator.hasNext() } @@ -47,6 +54,12 @@ class ChangedIdentitySendFailureIterator( ) : VerifiedUserSendFailureIterator { private val iterator = failure.users.iterator() + init { + if (!hasNext()) { + Timber.w("Got $failure without any users, shouldn't happen.") + } + } + override fun hasNext(): Boolean { return iterator.hasNext() } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt index 0f6049b11f..be775ed122 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/VerifiedUserSendFailureResolver.kt @@ -13,6 +13,12 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import timber.log.Timber +/** + * This class is responsible for resolving and resending a failed message sent to a verified user. + * It also allow to resend the message without resolving the failure, for example if the user has in the meantime verified their device again. + * It's using the [VerifiedUserSendFailureIterator] to iterate over the different failures (ie. the different users concerned by the failure). + * This way, the user can resolve and resend the message for each user concerned, one by one. + */ class VerifiedUserSendFailureResolver( private val room: MatrixRoom, private val transactionId: TransactionId, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index 1936b9f60c..d266b45d35 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -350,7 +350,23 @@ interface MatrixRoom : Closeable { */ suspend fun clearComposerDraft(): Result + /** + * Ignore the local trust for the given devices and resend messages that failed to send because said devices are unverified. + * + * @param devices The map of users identifiers to device identifiers received in the error + * @param transactionId The send queue transaction identifier of the local echo the send error applies to. + * + */ suspend fun ignoreDeviceTrustAndResend(devices: Map>, transactionId: TransactionId): Result + + /** + * Remove verification requirements for the given users and + * resend messages that failed to send because their identities were no longer verified. + * + * @param userIds The list of users identifiers received in the error. + * @param transactionId The send queue transaction identifier of the local echo the send error applies to. + * + */ suspend fun withdrawVerificationAndResend(userIds: List, transactionId: TransactionId): Result override fun close() = destroy() From 7f1d9bbc3f8419501e28546e38c50b7192414545 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 16 Sep 2024 15:59:31 +0200 Subject: [PATCH 046/122] Remove wrong comment --- .../impl/screens/createaccount/WebViewMessageInterceptor.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt index f07c466736..6dfe903b09 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/WebViewMessageInterceptor.kt @@ -34,9 +34,6 @@ class WebViewMessageInterceptor( super.onPageStarted(view, url, favicon) // We inject this JS code when the page starts loading to attach a message listener to the window. - // This listener will receive both messages: - // - EC widget API -> Element X (message.data.api == "fromWidget") - // - Element X -> EC widget API (message.data.api == "toWidget"), we should ignore these view?.evaluateJavascript( """ window.addEventListener( From bb0a281342192895222e588ed23b424369bc5f4e Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Mon, 16 Sep 2024 18:40:24 +0000 Subject: [PATCH 047/122] Sync Strings from Localazy --- .../src/main/res/values-cs/translations.xml | 5 + .../src/main/res/values-de/translations.xml | 5 + .../src/main/res/values-el/translations.xml | 5 + .../src/main/res/values-et/translations.xml | 5 + .../src/main/res/values-fr/translations.xml | 5 + .../src/main/res/values-ru/translations.xml | 5 + .../src/main/res/values-sk/translations.xml | 5 + .../src/main/res/values-nl/translations.xml | 1 + .../src/main/res/values-nl/translations.xml | 11 + .../src/main/res/values-de/translations.xml | 4 +- .../src/main/res/values-de/translations.xml | 1 + .../src/main/res/values-el/translations.xml | 1 + .../src/main/res/values-et/translations.xml | 1 + .../src/main/res/values-fr/translations.xml | 1 + .../src/main/res/values-nl/translations.xml | 36 + .../src/main/res/values-ru/translations.xml | 1 + .../src/main/res/values-sk/translations.xml | 1 + .../src/main/res/values-nl/translations.xml | 4 + .../src/main/res/values-nl/translations.xml | 4 + .../src/main/res/values-nl/translations.xml | 52 + .../src/main/res/values-nl/translations.xml | 5 + .../src/main/res/values-de/translations.xml | 5 + .../src/main/res/values-fr/translations.xml | 6 + .../src/main/res/values-nl/translations.xml | 12 + .../src/main/res/values-ru/translations.xml | 6 + .../src/main/res/values-de/translations.xml | 3 + .../src/main/res/values-fr/translations.xml | 1 + .../src/main/res/values-nl/translations.xml | 9 + .../src/main/res/values-ru/translations.xml | 1 + .../src/main/res/values-nl/translations.xml | 8 +- .../src/main/res/values-de/translations.xml | 6 + .../src/main/res/values-nl/translations.xml | 4 + .../src/main/res/values-nl/translations.xml | 5 + .../src/main/res/values-nl/translations.xml | 24 + .../src/main/res/values-nl/translations.xml | 11 + .../src/main/res/values-nl/translations.xml | 10 + .../src/main/res/values-nl/translations.xml | 11 + .../src/main/res/values-de/translations.xml | 17 +- .../src/main/res/values-fr/translations.xml | 12 + .../src/main/res/values-nl/translations.xml | 19 + .../src/main/res/values-ru/translations.xml | 10 + .../src/main/res/values-sk/translations.xml | 1 + .../src/main/res/values/localazy.xml | 2 +- .../appnav.loggedin_LoggedInView_Day_3_de.png | 3 + ...mpl.unlock_PinUnlockViewInApp_Day_2_de.png | 4 +- ...een.impl.unlock_PinUnlockView_Day_2_de.png | 4 +- ...er_ConfirmAccountProviderView_Day_1_de.png | 3 + ...er_ConfirmAccountProviderView_Day_2_de.png | 3 + ...eateaccount_CreateAccountView_Day_0_de.png | 3 + ...eateaccount_CreateAccountView_Day_1_de.png | 3 + ...eateaccount_CreateAccountView_Day_2_de.png | 3 + ...eateaccount_CreateAccountView_Day_3_de.png | 3 + ...impl.actionlist_SheetContent_Day_12_de.png | 3 + ...veVerifiedUserSendFailureView_Day_1_de.png | 3 + ...veVerifiedUserSendFailureView_Day_2_de.png | 3 + ...nner_PinnedMessagesBannerView_Day_1_de.png | 3 + ...nner_PinnedMessagesBannerView_Day_2_de.png | 4 +- ...d.list_PinnedMessagesListView_Day_0_de.png | 4 +- ...d.list_PinnedMessagesListView_Day_1_de.png | 3 + ...d.list_PinnedMessagesListView_Day_2_de.png | 3 + ...d.list_PinnedMessagesListView_Day_3_de.png | 3 + ....components_MessageShieldView_Day_0_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_2_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_3_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_0_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_10_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_11_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_12_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_13_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_1_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_2_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_3_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_4_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_5_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_6_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_7_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_8_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_9_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_0_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_10_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_11_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_12_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_13_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_1_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_2_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_3_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_4_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_5_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_6_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_7_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_8_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_9_de.png | 4 +- ...iveSlidingSyncMigrationBanner_Day_0_de.png | 3 + ...omponents_RoomListContentView_Day_4_de.png | 4 +- ...onents_SetUpRecoveryKeyBanner_Day_0_de.png | 4 +- ...s.roomlist.impl_RoomListView_Day_10_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_3_de.png | 4 +- screenshots/html/data.js | 1189 +++++++++-------- ...er_ConfirmAccountProviderView_Day_2_en.png | 4 +- ..._ConfirmAccountProviderView_Night_2_en.png | 4 +- 100 files changed, 1063 insertions(+), 676 deletions(-) create mode 100644 appnav/src/main/res/values-cs/translations.xml create mode 100644 appnav/src/main/res/values-de/translations.xml create mode 100644 appnav/src/main/res/values-el/translations.xml create mode 100644 appnav/src/main/res/values-et/translations.xml create mode 100644 appnav/src/main/res/values-fr/translations.xml create mode 100644 appnav/src/main/res/values-ru/translations.xml create mode 100644 appnav/src/main/res/values-sk/translations.xml create mode 100644 features/joinroom/impl/src/main/res/values-nl/translations.xml create mode 100644 features/roomaliasresolver/impl/src/main/res/values-nl/translations.xml create mode 100644 features/roomdirectory/impl/src/main/res/values-nl/translations.xml create mode 100644 libraries/permissions/impl/src/main/res/values-nl/translations.xml create mode 100644 libraries/pushproviders/firebase/src/main/res/values-nl/translations.xml create mode 100644 libraries/pushproviders/unifiedpush/src/main/res/values-nl/translations.xml create mode 100644 libraries/troubleshoot/impl/src/main/res/values-nl/translations.xml create mode 100644 screenshots/de/appnav.loggedin_LoggedInView_Day_3_de.png create mode 100644 screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png create mode 100644 screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png create mode 100644 screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_0_de.png create mode 100644 screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png create mode 100644 screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png create mode 100644 screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_3_de.png create mode 100644 screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png create mode 100644 screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png create mode 100644 screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png create mode 100644 screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png create mode 100644 screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png create mode 100644 screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png create mode 100644 screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png create mode 100644 screenshots/de/features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_de.png diff --git a/appnav/src/main/res/values-cs/translations.xml b/appnav/src/main/res/values-cs/translations.xml new file mode 100644 index 0000000000..e749887bc4 --- /dev/null +++ b/appnav/src/main/res/values-cs/translations.xml @@ -0,0 +1,5 @@ + + + "Odhlásit se a upgradovat" + "Váš domovský server již nepodporuje starý protokol. Chcete-li pokračovat v používání aplikace, odhlaste se a znovu se přihlaste." + diff --git a/appnav/src/main/res/values-de/translations.xml b/appnav/src/main/res/values-de/translations.xml new file mode 100644 index 0000000000..2b33dacaca --- /dev/null +++ b/appnav/src/main/res/values-de/translations.xml @@ -0,0 +1,5 @@ + + + "Abmelden und aktualisieren" + "Dein Homeserver unterstützt das alte Protokoll nicht mehr. Bitte logge dich aus und melde dich wieder an, um die App weiter zu nutzen." + diff --git a/appnav/src/main/res/values-el/translations.xml b/appnav/src/main/res/values-el/translations.xml new file mode 100644 index 0000000000..42925c0b6f --- /dev/null +++ b/appnav/src/main/res/values-el/translations.xml @@ -0,0 +1,5 @@ + + + "Αποσύνδεση &amp; Αναβάθμιση" + "Ο οικιακός διακομιστής σου δεν υποστηρίζει πλέον το παλιό πρωτόκολλο. Αποσυνδέσου και συνδέσου ξανά για να συνεχίσεις να χρησιμοποιείς την εφαρμογή." + diff --git a/appnav/src/main/res/values-et/translations.xml b/appnav/src/main/res/values-et/translations.xml new file mode 100644 index 0000000000..1631134d60 --- /dev/null +++ b/appnav/src/main/res/values-et/translations.xml @@ -0,0 +1,5 @@ + + + "Logi välja ja uuenda" + "Sinu koduserver enam ei toeta vana protokolli. Jätkamaks rakenduse kasutamist palun logi välja ning seejärel tagasi." + diff --git a/appnav/src/main/res/values-fr/translations.xml b/appnav/src/main/res/values-fr/translations.xml new file mode 100644 index 0000000000..6295bc88df --- /dev/null +++ b/appnav/src/main/res/values-fr/translations.xml @@ -0,0 +1,5 @@ + + + "Déconnecter et mettre à niveau" + "Votre serveur d’accueil ne prend plus en charge l’ancien protocole. Veuillez vous déconnecter puis vous reconnecter pour continuer à utiliser l’application." + diff --git a/appnav/src/main/res/values-ru/translations.xml b/appnav/src/main/res/values-ru/translations.xml new file mode 100644 index 0000000000..df600ea045 --- /dev/null +++ b/appnav/src/main/res/values-ru/translations.xml @@ -0,0 +1,5 @@ + + + "Выйти и обновить" + "Ваш homeserver больше не поддерживает старый протокол. Пожалуйста, выйдите из системы и войдите снова, чтобы продолжить использование приложения." + diff --git a/appnav/src/main/res/values-sk/translations.xml b/appnav/src/main/res/values-sk/translations.xml new file mode 100644 index 0000000000..d1ac766f8c --- /dev/null +++ b/appnav/src/main/res/values-sk/translations.xml @@ -0,0 +1,5 @@ + + + "Odhlásiť sa a aktualizovať" + "Váš domovský server už nepodporuje starý protokol. Ak chcete pokračovať v používaní aplikácie, odhláste sa a znova sa prihláste." + diff --git a/features/analytics/api/src/main/res/values-nl/translations.xml b/features/analytics/api/src/main/res/values-nl/translations.xml index fcd05769c5..996fe846d5 100644 --- a/features/analytics/api/src/main/res/values-nl/translations.xml +++ b/features/analytics/api/src/main/res/values-nl/translations.xml @@ -3,4 +3,5 @@ "Deel anonieme gebruiksgegevens om ons te helpen problemen te identificeren." "Je kunt al onze voorwaarden %1$s lezen." "hier" + "Gebruiksgegevens delen" diff --git a/features/joinroom/impl/src/main/res/values-nl/translations.xml b/features/joinroom/impl/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..d778ef8640 --- /dev/null +++ b/features/joinroom/impl/src/main/res/values-nl/translations.xml @@ -0,0 +1,11 @@ + + + "Toetreden tot de kamer" + "Klop om deel te nemen" + "%1$s ondersteunt nog geen spaces. Je kunt spaces benaderen via de webbrowser." + "Spaces worden nog niet ondersteund" + "Klik op de knop hieronder en een kamerbeheerder wordt op de hoogte gebracht. Na goedkeuring kun je deelnemen aan het gesprek." + "Je moet lid zijn van deze kamer om de berichtgeschiedenis te bekijken." + "Wil je tot deze kamer toetreden?" + "Voorbeeld is niet beschikbaar" + diff --git a/features/lockscreen/impl/src/main/res/values-de/translations.xml b/features/lockscreen/impl/src/main/res/values-de/translations.xml index bf89b3f5e4..4042df3d1b 100644 --- a/features/lockscreen/impl/src/main/res/values-de/translations.xml +++ b/features/lockscreen/impl/src/main/res/values-de/translations.xml @@ -28,8 +28,8 @@ Wähle etwas Einprägsames. Bei falscher Eingabe wirst du aus der App ausgeloggt "Du hast %1$d Versuche zum Entsperren" - "Falsche PIN. Du hast %1$d weitere Chance" - "Falsche PIN. Du hast %1$d weitere Chancen" + "Falsche PIN. Du hast %1$d weiteren Versuch" + "Falsche PIN. Du hast %1$d weitere Versuche" "Biometrie verwenden" "PIN verwenden" diff --git a/features/login/impl/src/main/res/values-de/translations.xml b/features/login/impl/src/main/res/values-de/translations.xml index c2bdf37ca7..0ead5a8147 100644 --- a/features/login/impl/src/main/res/values-de/translations.xml +++ b/features/login/impl/src/main/res/values-de/translations.xml @@ -21,6 +21,7 @@ "Du kannst nur eine Verbindung zu einem vorhandenen Server herstellen, der Sliding Sync unterstützt. Dein Homeserver-Administrator muss das konfigurieren. %1$s" "Wie lautet die Adresse deines Servers?" "Wähle deinen Server aus" + "Konto erstellen" "Dieses Konto wurde deaktiviert." "Falscher Benutzername und/oder Passwort" "Dies ist keine gültige Benutzerkennung. Erwartetes Format: \'@user:homeserver.org\'" diff --git a/features/login/impl/src/main/res/values-el/translations.xml b/features/login/impl/src/main/res/values-el/translations.xml index 24f26483fb..b0ad469732 100644 --- a/features/login/impl/src/main/res/values-el/translations.xml +++ b/features/login/impl/src/main/res/values-el/translations.xml @@ -21,6 +21,7 @@ "Μπορείτε να συνδεθείς μόνο σε υπάρχοντα διακομιστή που υποστηρίζει Sliding sync. Ο διαχειριστής του οικιακού διακομιστή σου θα πρέπει να το ρυθμίσει. %1$s" "Ποια είναι η διεύθυνση του διακομιστή σου;" "Επέλεξε το διακομιστή σου" + "Δημιουργία λογαριασμού" "Αυτός ο λογαριασμός έχει απενεργοποιηθεί." "Λανθασμένο όνομα χρήστη ή κωδικός πρόσβασης" "Αυτό δεν είναι έγκυρο αναγνωριστικό χρήστη. Αναμενόμενη μορφή: \'@χρήστης:homeserver.org\'" diff --git a/features/login/impl/src/main/res/values-et/translations.xml b/features/login/impl/src/main/res/values-et/translations.xml index f82ea50b91..36ce791bb2 100644 --- a/features/login/impl/src/main/res/values-et/translations.xml +++ b/features/login/impl/src/main/res/values-et/translations.xml @@ -21,6 +21,7 @@ "Sa saad luua ühendust vaid olemasoleva serveriga, mis toetab Sliding sync režiimi. Sinu koduserveri haldur peaks selle seadistama. %1$s" "Mis on sinu koduserveri aadress?" "Vali oma server" + "Loo kasutajakonto" "Konto on kasutusest eemaldatud." "Vigane kasutajanimi ja/või salasõna" "See ei ole korrektne kasutajanimi. Õige vorming on: „@kasutaja:koduserver.ee“" diff --git a/features/login/impl/src/main/res/values-fr/translations.xml b/features/login/impl/src/main/res/values-fr/translations.xml index a5928ffb3f..b075da9fda 100644 --- a/features/login/impl/src/main/res/values-fr/translations.xml +++ b/features/login/impl/src/main/res/values-fr/translations.xml @@ -21,6 +21,7 @@ "Vous ne pouvez vous connecter qu’à un serveur existant qui prend en charge le sliding sync. L’administrateur de votre serveur d’accueil devra le configurer. %1$s" "Quelle est l’adresse de votre serveur ?" "Choisissez votre serveur" + "Créer un compte" "Ce compte a été désactivé." "Nom d’utilisateur et/ou mot de passe incorrects" "Il ne s’agit pas d’un identifiant utilisateur valide. Format attendu : « @user:homeserver.org »" diff --git a/features/login/impl/src/main/res/values-nl/translations.xml b/features/login/impl/src/main/res/values-nl/translations.xml index 0e351f8498..627f5b873e 100644 --- a/features/login/impl/src/main/res/values-nl/translations.xml +++ b/features/login/impl/src/main/res/values-nl/translations.xml @@ -14,6 +14,8 @@ "Gebruik een andere accountprovider, zoals je eigen privéserver of een zakelijke account." "Wijzig accountprovider" "We konden deze homeserver niet bereiken. Controleer of je de homeserver-URL juist hebt ingevoerd. Als de URL juist is, neem dan contact op met de beheerder van je homeserver voor verdere hulp." + "Sliding sync is niet beschikbaar vanwege een probleem in het well-known bestand: +%1$s" "Deze server ondersteunt op dit moment geen sliding sync." "Homeserver-URL" "Je kunt alleen verbinding maken met een bestaande server die sliding sync ondersteunt. De beheerder van de homeserver moet dit configureren. %1$s" @@ -28,7 +30,41 @@ "Matrix is een open netwerk voor veilige, gedecentraliseerde communicatie." "Welkom terug!" "Inloggen bij %1$s" + "Een beveiligde verbinding tot stand brengen" + "Er kon geen beveiligde verbinding worden gemaakt met het nieuwe apparaat. Je bestaande apparaten zijn nog steeds veilig en je hoeft je daarover geen zorgen te maken." + "Wat nu?" + "Probeer opnieuw in te loggen met een QR-code voor het geval dit een netwerkprobleem was" + "Als je hetzelfde probleem ondervindt, probeer dan een ander wifi-netwerk of gebruik je mobiele data in plaats van wifi." + "Als dat niet werkt, log dan handmatig in" + "Verbinding niet veilig" + "Daar word je gevraagd om de twee cijfers in te voeren die op dit apparaat worden weergegeven." + "Voer het onderstaande nummer in op je andere apparaat" + "De aanmelding is geannuleerd op het andere apparaat." + "Login verzoek geannuleerd" + "De aanmelding is geweigerd op het andere apparaat." + "Aanmelden geweigerd" + "Aanmelden is verlopen. Probeer het opnieuw." + "De aanmelding was niet op tijd voltooid" + "QR-code wordt niet ondersteund" + "Klaar om te scannen" + "Open %1$s op een desktopapparaat" + "Klik op je afbeelding" + "Selecteer %1$s" + "“Nieuw apparaat koppelen”" + "Scan de QR-code met dit apparaat" + "Open %1$s op een ander apparaat om de QR-code te krijgen" + "Gebruik de QR-code die op het andere apparaat wordt weergegeven." "Probeer het opnieuw" + "Verkeerde QR-code" + "Ga naar camera-instellingen" + "Je moet %1$s toestemming geven om de camera van je apparaat te gebruiken om verder te gaan." + "Cameratoegang toestaan om de QR-code te scannen" + "Scan de QR-code" + "Opnieuw beginnen" + "Er is een onverwachte fout opgetreden. Probeer het opnieuw." + "Aan het wachten op je andere apparaat" + "Je accountprovider kan om de volgende code vragen om de aanmelding te verifiëren." + "Je verificatiecode" "Accountprovider wijzigen" "Een privéserver voor medewerkers van Element." "Matrix is een open netwerk voor veilige, gedecentraliseerde communicatie." diff --git a/features/login/impl/src/main/res/values-ru/translations.xml b/features/login/impl/src/main/res/values-ru/translations.xml index 71a2691b4c..40f3f9b5df 100644 --- a/features/login/impl/src/main/res/values-ru/translations.xml +++ b/features/login/impl/src/main/res/values-ru/translations.xml @@ -21,6 +21,7 @@ "Вы можете подключиться только к существующему серверу, поддерживающему sliding sync. Администратору домашнего сервера потребуется настроить его. %1$s" "Какой адрес у вашего сервера?" "Выберите свой сервер" + "Создать учетную запись" "Данная учетная запись была деактивирована." "Неверное имя пользователя и/или пароль" "Это не корректный идентификатор пользователя. Ожидаемый формат: \'@user:homeserver.org\'" diff --git a/features/login/impl/src/main/res/values-sk/translations.xml b/features/login/impl/src/main/res/values-sk/translations.xml index 8d862609b7..7cadc5ecb8 100644 --- a/features/login/impl/src/main/res/values-sk/translations.xml +++ b/features/login/impl/src/main/res/values-sk/translations.xml @@ -21,6 +21,7 @@ "Môžete sa pripojiť iba k existujúcemu serveru, ktorý podporuje kĺzavú synchronizáciu. Správca domovského servera ju bude musieť nakonfigurovať. %1$s" "Aká je adresa vášho servera?" "Vyberte svoj server" + "Vytvoriť účet" "Tento účet bol deaktivovaný." "Nesprávne používateľské meno a/alebo heslo" "Toto nie je platný identifikátor používateľa. Očakávaný formát: \'@pouzivatel:homeserver.sk\'" diff --git a/features/preferences/impl/src/main/res/values-nl/translations.xml b/features/preferences/impl/src/main/res/values-nl/translations.xml index 6296b409b2..06f4c6cd26 100644 --- a/features/preferences/impl/src/main/res/values-nl/translations.xml +++ b/features/preferences/impl/src/main/res/values-nl/translations.xml @@ -6,12 +6,14 @@ "Aangepaste basis-URL voor Element Call" "Stel een aangepaste basis-URL in voor Element Call." "Ongeldige URL, zorg ervoor dat je het protocol (http/https) en het juiste adres invult." + "Push-meldingen provider" "Schakel de uitgebreide tekstverwerker uit om Markdown handmatig te typen." "Leesbevestigingen" "Indien uitgeschakeld worden er geen leesbevestigingen verstuurd. Je ontvangt nog steeds leesbevestigingen van andere gebruikers." "Aanwezigheid delen" "Indien uitgeschakeld kun je geen leesbevestigingen en typmeldingen verzenden of ontvangen." "Schakel optie in om de berichtbron in de tijdlijn te bekijken." + "Je hebt geen geblokkeerde gebruikers." "Deblokkeren" "Je zult alle berichten van hen weer kunnen zien." "Gebruiker deblokkeren" @@ -49,4 +51,6 @@ Als je doorgaat, kunnen sommige van je instellingen veranderen." "systeeminstellingen" "Systeemmeldingen uitgeschakeld" "Meldingen" + "Problemen oplossen" + "Problemen met meldingen oplossen" diff --git a/features/roomaliasresolver/impl/src/main/res/values-nl/translations.xml b/features/roomaliasresolver/impl/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..9bf0f7156b --- /dev/null +++ b/features/roomaliasresolver/impl/src/main/res/values-nl/translations.xml @@ -0,0 +1,4 @@ + + + "Kan het kameradres niet vinden." + diff --git a/features/roomdetails/impl/src/main/res/values-nl/translations.xml b/features/roomdetails/impl/src/main/res/values-nl/translations.xml index 117ef56b9f..a3a4dc965a 100644 --- a/features/roomdetails/impl/src/main/res/values-nl/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-nl/translations.xml @@ -3,14 +3,41 @@ "Er is een fout opgetreden bij het bijwerken van de meldingsinstelling." "Je homeserver ondersteunt deze optie niet in versleutelde kamers; in sommige kamers krijg je mogelijk geen meldingen." "Peilingen" + "Alleen beheerders" + "Personen verbannen" + "Berichten verwijderen" "Iedereen" + "Personen uitnodigen" + "Moderatie van leden" + "Berichten en inhoud" + "Beheerders en moderators" + "Personen verwijderen" + "Kamerafbeelding wijzigen" + "Kamergegevens" + "Kamernaam wijzigen" + "Kameronderwerp wijzigen" + "Berichten verzenden" + "Beheerders bewerken" "Je kunt deze actie niet ongedaan maken. Je bevordert deze gebruiker tot hetzelfde machtsniveau als jij." "Beheerder toevoegen?" + "Degraderen" + "Je kunt deze wijziging niet ongedaan maken omdat je jezelf degradeert. Als je de laatste gebruiker met bevoegdheden in de kamer bent, is het onmogelijk om deze bevoegdheden terug te krijgen." "Jezelf degraderen?" + "%1$s (In behandeling)" + "(In afwachting)" + "Beheerders hebben automatisch moderatorrechten" + "Moderators bewerken" + "Beheerders" + "Moderators" "Leden" + "Je hebt niet-opgeslagen wijzigingen" + "Wijzigingen opslaan?" "Onderwerp toevoegen" "Reeds lid" "Reeds uitgenodigd" + "Versleuteld" + "Niet versleuteld" + "Openbare kamer" "Kamer bewerken" "Er is een onbekende fout opgetreden en de informatie kon niet worden gewijzigd." "Kan kamer niet bijwerken" @@ -25,20 +52,30 @@ "Aangepast" "Standaard" "Meldingen" + "Rollen en rechten" "Naam van de kamer" "Beveiliging" "Kamer delen" + "Kamer info" "Onderwerp" "Kamer bijwerken…" + "Verbannen" + "Ze kunnen niet meer toetreden tot deze kamer als ze worden uitgenodigd." + "Weet je zeker dat je dit lid wilt verbannen?" + "Er zijn geen verbannen gebruikers in deze kamer." + "%1$s verbannen" "%1$d persoon" "%1$d personen" + "Lid verwijderen en verbannen" "Verwijderen uit kamer" "Lid verwijderen en verbannen" "Alleen lid verwijderen" "Lid verwijderen en toekomstige deelname verbieden?" "Ontbannen" + "Ze kunnen opnieuw tot de kamer toetreden als ze worden uitgenodigd." + "Ontban gebruiker" "Profiel bekijken" "Verbannen" "Leden" @@ -47,6 +84,7 @@ "Beheerder" "Moderator" "Kamerleden" + "%1$s ontbannen" "Aanpassen toestaan" "Als je dit inschakelt, wordt je standaardinstelling overschreven" "Stuur me een melding in deze chat voor" @@ -61,4 +99,18 @@ "Alle berichten" "Alleen vermeldingen en trefwoorden" "In deze kamer, stuur me een melding voor" + "Beheerders" + "Mijn rol wijzigen" + "Degraderen tot lid" + "Degraderen tot moderator" + "Moderatie van leden" + "Berichten en inhoud" + "Moderators" + "Rechten" + "Rechten opnieuw instellen" + "Als je de rechten opnieuw instelt, raak je de huidige instellingen kwijt." + "Rechten opnieuw instellen?" + "Rollen" + "Kamergegevens" + "Rollen en rechten" diff --git a/features/roomdirectory/impl/src/main/res/values-nl/translations.xml b/features/roomdirectory/impl/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..a2c6da3d09 --- /dev/null +++ b/features/roomdirectory/impl/src/main/res/values-nl/translations.xml @@ -0,0 +1,5 @@ + + + "Laden mislukt" + "Kamergids" + diff --git a/features/roomlist/impl/src/main/res/values-de/translations.xml b/features/roomlist/impl/src/main/res/values-de/translations.xml index 6215b3d4e4..372e918e09 100644 --- a/features/roomlist/impl/src/main/res/values-de/translations.xml +++ b/features/roomlist/impl/src/main/res/values-de/translations.xml @@ -1,5 +1,10 @@ + "Abmelden und aktualisieren" + "Dein Server unterstützt jetzt ein neues, schnelleres Protokoll. Melde dich ab und melde dich wieder an, um zu aktualisieren. Wenn du das jetzt tust, vermeidest du eine erzwungene Abmeldung, wenn das alte Protokoll später entfernt wird." + "Dein Homeserver unterstützt das alte Protokoll nicht mehr. Bitte logge dich aus und melde dich wieder an, um die App weiter zu nutzen." + "Aktualisierung verfügbar" + "Wiederherstellung einrichten" "Dein Chat-Backup ist derzeit nicht synchronisiert. Du musst deinen Wiederherstellungsschlüssel bestätigen, um Zugriff auf dein Chat-Backup zu erhalten." "Wiederherstellungsschlüssel bestätigen." "Damit du keinen wichtigen Anruf verpasst, ändere bitte deine Einstellungen so, dass du bei gesperrtem Telefon Benachrichtigungen im Vollbildmodus erhältst." diff --git a/features/roomlist/impl/src/main/res/values-fr/translations.xml b/features/roomlist/impl/src/main/res/values-fr/translations.xml index e2f3b22fe1..fb2188a8a4 100644 --- a/features/roomlist/impl/src/main/res/values-fr/translations.xml +++ b/features/roomlist/impl/src/main/res/values-fr/translations.xml @@ -1,5 +1,11 @@ + "Déconnecter et mettre à niveau" + "Votre serveur prend désormais en charge un nouveau protocole plus rapide. Déconnectez-vous, puis reconnectez-vous pour effectuer la mise à niveau dès maintenant. En le faisant tout de suite, vous éviterez une déconnexion forcée lorsque l’ancien protocole sera supprimé." + "Votre serveur d’accueil ne prend plus en charge l’ancien protocole. Veuillez vous déconnecter puis vous reconnecter pour continuer à utiliser l’application." + "Mise à niveau disponible" + "Générez une nouvelle clé de récupération qui peut être utilisée pour restaurer l’historique de vos messages chiffrés au cas où vous perdriez l’accès à vos appareils." + "Configurer la récupération" "La sauvegarde des conversations est désynchronisée. Vous devez confirmer la clé de récupération pour accéder à votre historique." "Confirmer votre clé de récupération" "Afin de ne jamais manquer un appel important, veuillez modifier vos paramètres pour autoriser les notifications en plein écran lorsque votre appareil est verrouillé." diff --git a/features/roomlist/impl/src/main/res/values-nl/translations.xml b/features/roomlist/impl/src/main/res/values-nl/translations.xml index a20e0a695c..b20bad6cdd 100644 --- a/features/roomlist/impl/src/main/res/values-nl/translations.xml +++ b/features/roomlist/impl/src/main/res/values-nl/translations.xml @@ -14,13 +14,25 @@ "Ga aan de slag door iemand een bericht te sturen." "Nog geen chats." "Favorieten" + "Je kunt een chat toevoegen aan je favorieten in de chatinstellingen. +Voor nu kun je filters deselecteren om je andere chats te zien" + "Je hebt nog geen favoriete chats" + "Uitnodigingen" + "Je hebt geen openstaande uitnodigingen." "Lage prioriteit" + "Je kunt filters deselecteren om je andere chats te zien" + "Je hebt geen chats voor deze selectie" "Personen" + "Je hebt nog geen directe chats" "Kamers" + "Je zit nog niet in een kamer" "Ongelezen" + "Gefeliciteerd! +Je hebt geen ongelezen berichten!" "Chats" "Markeren als gelezen" "Markeren als ongelezen" + "Blader door alle kamers" "Het lijkt erop dat je een nieuw apparaat gebruikt. Verifieer met een ander apparaat om toegang te krijgen tot je versleutelde berichten." "Verifieer dat jij het bent" diff --git a/features/roomlist/impl/src/main/res/values-ru/translations.xml b/features/roomlist/impl/src/main/res/values-ru/translations.xml index c9ccc1f44f..a057f9284d 100644 --- a/features/roomlist/impl/src/main/res/values-ru/translations.xml +++ b/features/roomlist/impl/src/main/res/values-ru/translations.xml @@ -1,5 +1,11 @@ + "Выйти и обновить" + "Теперь ваш сервер поддерживает новый, более быстрый протокол. Выйдите из системы и снова войдите в систему для обновления прямо сейчас. Сделав это сейчас, вы сможете избежать принудительного выхода из системы при последующем удалении старого протокола." + "Ваш homeserver больше не поддерживает старый протокол. Пожалуйста, выйдите из системы и войдите снова, чтобы продолжить использование приложения." + "Доступно обновление" + "Создайте новый ключ восстановления, который можно использовать для восстановления зашифрованной истории сообщений в случае потери доступа к своим устройствам." + "Настроить восстановление" "В настоящее время резервная копия вашего чата не синхронизирована. Требуется подтвердить вашим ключом восстановления, чтобы сохранить доступ к резервной копии чата." "Введите " diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index 413ae1ea81..4be1de6ddd 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -29,6 +29,7 @@ "Wiederherstellungsschlüssel" " mit einem anderen Gerät" + "Zurücksetzen fortsetzen" "Ausschalten" "Du verlierst deine verschlüsselten Nachrichten, wenn du auf allen Geräten abgemeldet bist." "Bist du sicher, dass du das Backup deaktivieren willst?" @@ -68,4 +69,6 @@ Das bedeutet:" "Stelle sicher, dass du deinen Wiederherstellungsschlüssel an einem sicheren Ort aufbewahren kannst" "Einrichtung der Wiederherstellung erfolgreich" "Wiederherstellung einrichten" + "Es ist ein unbekannter Fehler aufgetreten. Bitte überprüfe das Passwort deines Kontos und versuche es erneut." + "Eingeben…" diff --git a/features/securebackup/impl/src/main/res/values-fr/translations.xml b/features/securebackup/impl/src/main/res/values-fr/translations.xml index 1b36266924..346ad49329 100644 --- a/features/securebackup/impl/src/main/res/values-fr/translations.xml +++ b/features/securebackup/impl/src/main/res/values-fr/translations.xml @@ -16,6 +16,7 @@ "Suivez les instructions pour créer une nouvelle clé de récupération" "Enregistrez votre nouvelle clé dans un gestionnaire de mots de passe ou dans une note chiffrée" "Réinitialisez le chiffrement de votre compte en utilisant un autre appareil" + "Continuer la réinitialisation" "Les détails de votre compte, vos contacts, vos préférences et votre liste de discussions seront conservés" "Vous perdrez l’historique de vos messages" "Vous devrez vérifier à nouveau tous vos appareils et tous vos contacts" diff --git a/features/securebackup/impl/src/main/res/values-nl/translations.xml b/features/securebackup/impl/src/main/res/values-nl/translations.xml index b4dbb23562..388230dd7d 100644 --- a/features/securebackup/impl/src/main/res/values-nl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-nl/translations.xml @@ -9,6 +9,13 @@ "Je chatback-up is momenteel niet gesynchroniseerd." "Herstelmogelijkheid instellen" "Krijg toegang tot je versleutelde berichten als je al je apparaten kwijtraakt of overal uit %1$s bent uitgelogd." + "Open %1$s op een desktopapparaat" + "Log opnieuw in op je account" + "Wanneer je wordt gevraagd om je apparaat te verifiëren, selecteer %1$s" + "“Alles opnieuw instellen”" + "Volg de instructies om een nieuwe herstelsleutel te maken" + "Sla je nieuwe herstelsleutel op in een wachtwoordmanager of versleutelde notitie" + "Stel de versleuteling voor je account opnieuw in met een ander apparaat" "Uitschakelen" "Je verliest je versleutelde berichten als je bent uitgelogd op alle apparaten." "Weet je zeker dat je de back-up wilt uitschakelen?" @@ -21,11 +28,13 @@ "Zorg ervoor dat je je herstelsleutel op een veilige plek kunt bewaren" "Herstelsleutel gewijzigd" "Herstelsleutel wijzigen?" + "Maak een nieuwe herstelsleutel" "Zorg ervoor dat niemand dit scherm kan zien!" "Probeer het opnieuw om toegang tot je chatback-up te bevestigen." "Onjuiste herstelsleutel" "Als je een beveiligingssleutel of beveiligingszin hebt, werkt dit ook." "Voer in…" + "Herstelsleutel kwijt?" "Herstelsleutel bevestigd" "Voer je herstelsleutel in" "Herstelsleutel gekopieerd" diff --git a/features/securebackup/impl/src/main/res/values-ru/translations.xml b/features/securebackup/impl/src/main/res/values-ru/translations.xml index ae45ab45eb..52d239069d 100644 --- a/features/securebackup/impl/src/main/res/values-ru/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ru/translations.xml @@ -26,6 +26,7 @@ " в менеджере паролей или зашифрованной заметке" "Сбросьте шифрование вашей учетной записи с помощью другого устройства." + "Продолжить сброс" "Данные вашей учетной записи, контакты, настройки и список чатов будут сохранены" "Вы потеряете существующую историю сообщений" "Вам нужно будет заново подтвердить все существующие устройства и контакты." diff --git a/features/verifysession/impl/src/main/res/values-nl/translations.xml b/features/verifysession/impl/src/main/res/values-nl/translations.xml index 6330ad2fc6..bebac551e2 100644 --- a/features/verifysession/impl/src/main/res/values-nl/translations.xml +++ b/features/verifysession/impl/src/main/res/values-nl/translations.xml @@ -1,12 +1,18 @@ + "Maak een nieuwe herstelsleutel" + "Verifieer dit apparaat om beveiligde berichten in te stellen." + "Bevestig dat jij het bent" + "Nu kun je veilig berichten lezen of verzenden, en iedereen met wie je chat kan dit apparaat ook vertrouwen." + "Apparaat geverifieerd" + "Wachten op ander apparaat…" "Er lijkt iets niet goed te gaan. Of er is een time-out opgetreden of het verzoek is geweigerd." "Bevestig dat de emoji\'s hieronder overeenkomen met de emoji\'s in je andere sessie." "Vergelijk emoji\'s" "Bevestig dat de onderstaande cijfers overeenkomen met de cijfers die worden weergegeven in je andere sessie." "Vergelijk getallen" "Je nieuwe sessie is nu geverifieerd. Het heeft toegang tot je versleutelde berichten en andere gebruikers zullen het als vertrouwd beschouwen." - "Voer recovery key in" + "Voer herstelsleutel in" "Bewijs dat jij het bent om toegang te krijgen tot je versleutelde berichtgeschiedenis." "Open een bestaande sessie" "Verificatie opnieuw proberen" diff --git a/libraries/eventformatter/impl/src/main/res/values-de/translations.xml b/libraries/eventformatter/impl/src/main/res/values-de/translations.xml index 597632a1f6..1b99fd2e5d 100644 --- a/libraries/eventformatter/impl/src/main/res/values-de/translations.xml +++ b/libraries/eventformatter/impl/src/main/res/values-de/translations.xml @@ -45,6 +45,12 @@ "Du hast den Raum-Namen entfernt" "%1$shat keine Änderungen vorgenommen" "Du hast keine Änderungen vorgenommen" + "%1$s hat die fixierten Nachrichten geändert" + "Du hast die fixierten Nachrichten geändert" + "%1$s fixierte eine Nachricht" + "Du hast eine Nachricht fixiert" + "%1$s löste eine Nachricht" + "Du hast eine Nachricht gelöst" "%1$s hat die Einladung abgelehnt" "Du hast die Einladung abgelehnt" "%1$s hat %2$s entfernt" diff --git a/libraries/eventformatter/impl/src/main/res/values-nl/translations.xml b/libraries/eventformatter/impl/src/main/res/values-nl/translations.xml index b10c806572..dba242a458 100644 --- a/libraries/eventformatter/impl/src/main/res/values-nl/translations.xml +++ b/libraries/eventformatter/impl/src/main/res/values-nl/translations.xml @@ -3,12 +3,16 @@ "(afbeelding is ook gewijzigd)" "%1$s wijzigde van afbeelding" "Je hebt je afbeelding gewijzigd" + "%1$s werd gedegradeerd tot lid" + "%1$s werd gedegradeerd tot moderator" "%1$s heeft de weergavenaam aangepast van %2$s naar %3$s" "Je hebt je weergavenaam aangepast van %1$s naar %2$s" "%1$s heeft de weergavenaam verwijderd (dit was %2$s)" "Je hebt je weergavenaam verwijderd (dit was %1$s)" "%1$s heeft de weergavenaam %2$s aangenomen" "Je hebt de weergavenaam %1$s aangenomen" + "%1$s werd bevorderd tot beheerder" + "%1$s werd bevorderd tot moderator" "%1$s heeft de kamerafbeelding gewijzigd" "Je hebt de kamerafbeelding gewijzigd" "%1$s heeft de kamerafbeelding verwijderd" diff --git a/libraries/permissions/impl/src/main/res/values-nl/translations.xml b/libraries/permissions/impl/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..b23c075bae --- /dev/null +++ b/libraries/permissions/impl/src/main/res/values-nl/translations.xml @@ -0,0 +1,5 @@ + + + "Controleren of de applicatie meldingen kan weergeven." + "Controleer machtigingen" + diff --git a/libraries/push/impl/src/main/res/values-nl/translations.xml b/libraries/push/impl/src/main/res/values-nl/translations.xml index d9ed0161ed..425973551a 100644 --- a/libraries/push/impl/src/main/res/values-nl/translations.xml +++ b/libraries/push/impl/src/main/res/values-nl/translations.xml @@ -49,4 +49,28 @@ "Achtergrondsynchronisatie" "Google-services" "Geen geldige Google Play-services gevonden. Meldingen werken mogelijk niet goed." + "Naam van de huidige provider aan het ophalen." + "Er zijn geen push-providers geselecteerd." + "Huidige push-provider: %1$s." + "Huidige push-provider" + "Zorg ervoor dat de applicatie minimaal één push-provider heeft." + "Geen push-providers gevonden." + + "%1$d push-provider gevonden: %2$s" + "%1$d push-providers gevonden: %2$s" + + "Push-providers detecteren" + "Controleer of de applicatie een melding kan weergeven." + "Er is niet op de melding geklikt." + "Kan de melding niet weergeven." + "Er is op de melding geklikt!" + "Melding weergeven" + "Klik op de melding om verder te gaan met de test." + "Ervoor zorgen dat de applicatie pushberichten ontvangt." + "Fout: pusher heeft het verzoek afgewezen." + "Fout: %1$s." + "Fout, kan push niet testen." + "Fout, time-out tijdens het wachten op push." + "Push terugkoppeling duurde %1$d ms." + "Test Push terugkoppeling" diff --git a/libraries/pushproviders/firebase/src/main/res/values-nl/translations.xml b/libraries/pushproviders/firebase/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..d847c39901 --- /dev/null +++ b/libraries/pushproviders/firebase/src/main/res/values-nl/translations.xml @@ -0,0 +1,11 @@ + + + "Zorg ervoor dat Firebase beschikbaar is." + "Firebase is niet beschikbaar." + "Firebase is beschikbaar." + "Firebase controleren" + "Zorg ervoor dat de Firebase-token beschikbaar is." + "Firebase-token is niet bekend." + "Firebase-token: %1$s." + "Firebase-token controleren" + diff --git a/libraries/pushproviders/unifiedpush/src/main/res/values-nl/translations.xml b/libraries/pushproviders/unifiedpush/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..afe222b147 --- /dev/null +++ b/libraries/pushproviders/unifiedpush/src/main/res/values-nl/translations.xml @@ -0,0 +1,10 @@ + + + "Ervoor zorgen dat UnifiedPush verdelers beschikbaar zijn." + "Geen push-verdelers gevonden." + + "%1$d verdeler gevonden: %2$s." + "%1$d verdelers gevonden: %2$s." + + "UnifiedPush controleren" + diff --git a/libraries/troubleshoot/impl/src/main/res/values-nl/translations.xml b/libraries/troubleshoot/impl/src/main/res/values-nl/translations.xml new file mode 100644 index 0000000000..5ce2bd89ad --- /dev/null +++ b/libraries/troubleshoot/impl/src/main/res/values-nl/translations.xml @@ -0,0 +1,11 @@ + + + "Tests uitvoeren" + "Tests opnieuw uitvoeren" + "Sommige tests zijn mislukt. Controleer de details." + "Voer de tests uit om problemen in je configuratie op te sporen waardoor meldingen mogelijk niet naar verwachting werken." + "Probeer het op te lossen" + "Alle tests zijn geslaagd." + "Problemen met meldingen oplossen" + "Sommige tests vereisen je aandacht. Controleer de details." + diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml index dcd41ca7a6..ee31b18978 100644 --- a/libraries/ui-strings/src/main/res/values-de/translations.xml +++ b/libraries/ui-strings/src/main/res/values-de/translations.xml @@ -36,6 +36,7 @@ "Zurück" "Anruf" "Abbrechen" + "Jetzt abbrechen" "Foto auswählen" "Löschen" "Schließen" @@ -80,6 +81,7 @@ "Ok" "Einstellungen öffnen" "Öffnen mit" + "Fixieren" "Schnelle Antwort" "Zitat" "Reagieren" @@ -109,7 +111,8 @@ "Foto aufnehmen" "Für Optionen tippen" "Erneut versuchen" - "Entpinnen" + "Lösen" + "Im Chatverlauf anzeigen" "Quellcode anzeigen" "Ja" "Über" @@ -175,6 +178,7 @@ Grund: %1$s." "Personen" "Permalink" "Erlaubnis" + "Fixiert" "Bitte warten …" "Bist du sicher, dass du diese Umfrage beenden möchtest?" "Umfrage: %1$s" @@ -258,6 +262,7 @@ Grund: %1$s." "Einige Nachrichten wurden nicht gesendet" "Entschuldigung, es ist ein Fehler aufgetreten" "Die Authentizität dieser verschlüsselten Nachricht kann auf diesem Gerät nicht garantiert werden." + "Unverschlüsselt." "Verschlüsselt von einem unbekannten oder gelöschten Gerät." "Verschlüsselt durch ein Gerät, das nicht von seinem Besitzer verifiziert wurde." "Verschlüsselt durch einen nicht verifizierten Benutzer." @@ -268,6 +273,15 @@ Grund: %1$s." "Medienauswahl fehlgeschlagen, bitte versuche es erneut." "Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut." "Das Hochladen der Medien ist fehlgeschlagen. Bitte versuche es erneut." + "Drücke auf eine Nachricht und wähle “%1$s”, um sie hier einzufügen." + "Fixiere wichtige Nachrichten, so dass sie leicht gefunden werden können" + + "%1$d fixierte Nachricht" + "%1$d fixierte Nachrichten" + + "Fixierte Nachrichten" + "Nachricht trotzdem senden" + "Fixierte Nachrichten" "Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut." "Benutzerdetails konnten nicht abgerufen werden" "Blockieren" @@ -279,6 +293,7 @@ Grund: %1$s." "Blockierung aufheben" "%1$s von %2$s" "%1$s Angepinnte Nachrichten" + "Nachricht wird geladen…" "Alle anzeigen" "Chat" "Standort teilen" diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml index 258f386137..831c134f22 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -36,6 +36,7 @@ "Retour" "Appel" "Annuler" + "Annuler pour l’instant" "Choisir une photo" "Effacer" "Fermer" @@ -249,6 +250,7 @@ Raison: %1$s." "Attention" "Vos modifications n’ont pas été enregistrées. Êtes-vous certain de vouloir quitter?" "Enregistrer les changements?" + "Votre serveur d’accueil doit être mis à jour pour prendre en charge le protocole MAS (Matrix Authentication Service) et la création de compte." "Échec de la création du permalien" "%1$s n’a pas pu charger la carte. Veuillez réessayer ultérieurement." "Échec du chargement des messages" @@ -280,6 +282,14 @@ Raison: %1$s." "%1$d messages épinglés" "Messages épinglés" + "Vous êtes sur le point d’accéder à votre compte %1$s pour réinitialiser votre identité. Vous serez ensuite redirigé vers l’application." + "Vous ne pouvez pas confirmer ? Accédez à votre compte pour réinitialiser votre identité." + "Révoquer la verification et envoyer" + "Vous pouvez révoquer la verification et envoyer ce message, ou vous pouvez annuler pour l’instant et réessayer plus tard après avoir vérifié à nouveau %1$s." + "Votre message n’a pas été envoyé car l’identité vérifiée de %1$s a changé" + "Envoyer le message quand même" + "%1$s utilise un ou plusieurs appareils non vérifiés. Vous pouvez quand même envoyer le message, ou vous pouvez annuler pour l’instant et réessayer plus tard après que %2$s vérifie tous ses appareils." + "Votre message n’a pas été envoyé car %1$s a un ou plusieurs appareils non vérifiés" "Messages épinglés" "Échec du traitement des médias à télécharger, veuillez réessayer." "Impossible de récupérer les détails de l’utilisateur" @@ -301,6 +311,8 @@ Raison: %1$s." "Ouvrir dans Google Maps" "Ouvrir dans OpenStreetMap" "Partager cette position" + "Le message n’a pas été envoyé car l’identité vérifiée de %1$s a changé." + "Le message n’a pas été envoyé car %1$s n’a pas vérifié un ou plusieurs appareils." "Position" "Version : %1$s ( %2$s )" "fr" diff --git a/libraries/ui-strings/src/main/res/values-nl/translations.xml b/libraries/ui-strings/src/main/res/values-nl/translations.xml index 7b9034291f..a1d8c194a4 100644 --- a/libraries/ui-strings/src/main/res/values-nl/translations.xml +++ b/libraries/ui-strings/src/main/res/values-nl/translations.xml @@ -34,6 +34,7 @@ "Accepteren" "Toevoegen aan tijdlijn" "Terug" + "Bellen" "Annuleren" "Kies foto" "Wissen" @@ -49,6 +50,7 @@ "Weigeren" "Peiling verwijderen" "Uitschakelen" + "Verwerpen" "Gereed" "Bewerken" "Peiling wijzigen" @@ -57,6 +59,7 @@ "Voer pincode in" "Wachtwoord vergeten?" "Doorsturen" + "Terug" "Uitnodigen" "Mensen uitnodigen" "Nodig mensen uit voor %1$s" @@ -70,6 +73,7 @@ "Meer laden" "Account beheren" "Apparaten beheren" + "Bericht" "Volgende" "Nee" "Niet nu" @@ -84,6 +88,7 @@ "Antwoord in subchat" "Probleem melden" "Inhoud melden" + "Opnieuw instellen" "Opnieuw proberen" "Decryptie opnieuw proberen" "Opslaan" @@ -108,10 +113,13 @@ "Over" "Beleid inzake redelijk gebruik" "Geavanceerde instellingen" + "Gebruiksgegevens" "Weergave" "Geluid" "Geblokkeerde gebruikers" "Bubbels" + "Gesprek bezig (niet ondersteund)" + "Oproep gestart" "Chat back-up" "Copyright" "Kamer maken…" @@ -153,12 +161,14 @@ "Modern" "Dempen" "Geen resultaten" + "Geen kamernaam" "Offline" "of" "Wachtwoord" "Personen" "Permalink" "Toestemming" + "Even geduld…" "Weet je zeker dat je deze peiling wilt beëindigen?" "Peiling: %1$s" "Totaal aantal stemmen: %1$s" @@ -180,6 +190,8 @@ "Kamer" "Naam van de kamer" "bijv. de naam van je project" + "Wijzigingen opgeslagen" + "Opslaan" "Schermvergrendeling" "Iemand zoeken" "Zoekresultaten" @@ -193,6 +205,7 @@ "Instellingen" "Gedeelde locatie" "Uitloggen" + "Er is iets misgegaan" "Chat starten…" "Sticker" "Geslaagd" @@ -205,6 +218,7 @@ "Onderwerp" "Waar gaat deze kamer over?" "Kan niet ontsleutelen" + "Je hebt geen toegang tot dit bericht" "Uitnodigingen konden niet naar een of meerdere gebruikers worden verzonden." "Kan uitnodiging(en) niet verzenden" "Ontgrendelen" @@ -222,11 +236,14 @@ "Fout" "Geslaagd" "Waarschuwing" + "Je wijzigingen zijn niet opgeslagen. Weet je zeker dat je terug wilt gaan?" + "Wijzigingen opslaan?" "Het aanmaken van de permanente link is mislukt" "%1$s kon de kaart niet laden. Probeer het later opnieuw." "Het laden van berichten is mislukt" "%1$s had geen toegang tot je locatie. Probeer het later opnieuw." "Het uploaden van je spraakbericht is mislukt." + "Bericht niet gevonden" "%1$s heeft geen toegang tot je locatie. Je kunt dit inschakelen bij Instellingen." "%1$s heeft geen toegang tot je locatie. Schakel toegang hieronder in." "%1$s heeft geen toegang tot je microfoon. Schakel toegang in om een spraakbericht op te nemen." @@ -244,9 +261,11 @@ "Blokkeren" "Geblokkeerde gebruikers kunnen je geen berichten sturen en al hun berichten worden verborgen. Je kunt ze op elk moment deblokkeren." "Gebruiker blokkeren" + "Profiel" "Deblokkeren" "Je zult alle berichten van hen weer kunnen zien." "Gebruiker deblokkeren" + "Chat" "Locatie delen" "Deel mijn locatie" "Openen in Apple Maps" diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml index 6dd12d85df..407ce90c96 100644 --- a/libraries/ui-strings/src/main/res/values-ru/translations.xml +++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml @@ -38,6 +38,7 @@ "Назад" "Позвонить" "Отмена" + "Отмените сейчас" "Выбрать фото" "Очистить" "Закрыть" @@ -256,6 +257,7 @@ "Предупреждение" "Изменения не сохранены. Вы действительно хотите вернуться?" "Сохранить изменения?" + "Ваш homeserver необходимо обновить, чтобы он поддерживал Matrix Authentication Service и создание учетной записи." "Не удалось создать постоянную ссылку" "Не удалось загрузить карту %1$s. Пожалуйста, повторите попытку позже." "Не удалось загрузить сообщения" @@ -290,6 +292,12 @@ "Закрепленные сообщения" "Вы собираетесь перейти в свою учетную запись %1$s, чтобы сбросить идентификацию. После этого вы вернетесь в приложение." "Не можете подтвердить? Перейдите в свою учетную запись, чтобы сбросить свою идентификацию." + "Отозвать верификацию и отправить" + "Вы можете отозвать свою верификацию и отправить это сообщение в любом случае или вы можете отменить ее сейчас и повторить попытку позже после повторной верификации %1$s." + "Ваше сообщение не было отправлено, потому что изменилась подтвержденная личность %1$s" + "Отправь сообщение в любом случае" + "%1$s использует одно или несколько непроверенных устройств. Вы все равно можете отправить сообщение или отменить его пока и повторить попытку позже %2$s, проверив все устройства пользователя." + "Ваше сообщение не было отправлено, потому что %1$s не проверил одно или несколько устройств" "Закрепленные сообщения" "Не удалось обработать медиафайл для загрузки, попробуйте еще раз." "Не удалось получить данные о пользователе" @@ -311,6 +319,8 @@ "Открыть в Google Maps" "Открыть в OpenStreetMap" "Поделиться этим местоположением" + "Сообщение не отправлено, потому что верифицированная личность %1$s изменилась." + "Сообщение не отправлено, потому что %1$s не проверил одно или несколько устройств." "Местоположение" "Версия: %1$s (%2$s)" "ru" diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml index 3486ebeb15..d184c35e0c 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -255,6 +255,7 @@ Dôvod: %1$s." "Upozornenie" "Vaše zmeny neboli uložené. Naozaj sa chcete vrátiť?" "Uložiť zmeny?" + "Váš domovský server musí byť aktualizovaný tak, aby podporoval Matrix Authentication Server a vytvorenie účtu." "Nepodarilo sa vytvoriť trvalý odkaz" "%1$s nedokázal načítať mapu. Skúste to prosím neskôr." "Načítanie správ zlyhalo" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 17da391831..d55f7dc41c 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -251,7 +251,7 @@ Reason: %1$s." "Warning" "Your changes have not been saved. Are you sure you want to go back?" "Save changes?" - "Your homeserver needs to be upgraded to support Matrix Authentication Server and account creation." + "Your homeserver needs to be upgraded to support Matrix Authentication Service and account creation." "Failed creating the permalink" "%1$s could not load the map. Please try again later." "Failed loading messages" diff --git a/screenshots/de/appnav.loggedin_LoggedInView_Day_3_de.png b/screenshots/de/appnav.loggedin_LoggedInView_Day_3_de.png new file mode 100644 index 0000000000..03db0d9f7d --- /dev/null +++ b/screenshots/de/appnav.loggedin_LoggedInView_Day_3_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f535f7d2913ec47e30a45b9734f1905844fb49b5f2e20915f308c7a3aaf0633a +size 28227 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png index 08fa1da445..4d58cac782 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae53bc6a3d857c58ae51b28a954d07ea1b6532e11034a82203d30273071ff3ec -size 23562 +oid sha256:707e640a752ec0e320fb1a20debaf7ceddf2b36a76c0059d82b421a5baa49d20 +size 23784 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_2_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_2_de.png index a4d7e88514..f8ba109911 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_2_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82b87880816463b56ad04aa1453b6fb74b64d1fe2436e8ee8015f9e918dbc483 -size 39094 +oid sha256:a0626ba6f85dafa09da2d8df68086593aab5c6af87be82f0a38564ae5c2e2a02 +size 39176 diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png new file mode 100644 index 0000000000..90bdfbd9d9 --- /dev/null +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c060f0778f1cc237cc6392e53acf5a6b543d3acd2bc17d0c3ce044d2dd9a028 +size 40383 diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png new file mode 100644 index 0000000000..9dc59b6bc0 --- /dev/null +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1519e48ee816d293367b106b9c0fb864ca4e91c5bacf9f6d005dfcd720976d6 +size 39245 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_0_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_0_de.png new file mode 100644 index 0000000000..1de44959ed --- /dev/null +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_0_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc44751070bfec3956fcd02393cbdf62436a1f065cb00f5407cf46b4b0eb3101 +size 13406 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png new file mode 100644 index 0000000000..db5f9573f6 --- /dev/null +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b345f6492eb7ecf24226050d3278e7b5fd78736c20173fb8d7a03d1bf71e2cae +size 13450 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png new file mode 100644 index 0000000000..e23afae05a --- /dev/null +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69629592939063f0916ab2e77e69b98fa8e51f2ba5346f6be32ba2612054d441 +size 13372 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_3_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_3_de.png new file mode 100644 index 0000000000..0f7d3b0478 --- /dev/null +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_3_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd07fc9ba41cabd1894139517fe3b13a92e300bd5eee5d9e27f836489bbde9cb +size 15526 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png new file mode 100644 index 0000000000..667b224dc4 --- /dev/null +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:147cc98d5d7fb08ba2d6954bd9474adfe2006ee866a3852ff7b2368b11907d63 +size 51528 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png new file mode 100644 index 0000000000..8c25a06e53 --- /dev/null +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae27a8ec38ca3a8a6157b6065018e8fb76d6a943456b6f186594393ce2e1bd1c +size 60488 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png new file mode 100644 index 0000000000..939427e4d9 --- /dev/null +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d9cbc012233cb9a0f538ae8634c24440afb92c5d7e38717215201ae62ada4a +size 56753 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png new file mode 100644 index 0000000000..6a9e2c93f8 --- /dev/null +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a970f4f1ce3cbbbfde86774d40f68cd35537586dd6c43c7de84ae422c813b91 +size 8529 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png index 96bc10b985..0911cafa8f 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e615668e59a443185ea1151820f08951b37ea5bbe394e049262be04cc2a00cdb -size 12285 +oid sha256:e1790f4c2d4a6b54c4e20dd44b9d14f38b5bec555f65c5f30a17439fddab8842 +size 12768 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_de.png index ac3a73d739..ed4e20aae2 100644 --- a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ccd86242d92f1a773f35ee6f4fabc44699fb4ed7744ef41282b880e671699f3 -size 24182 +oid sha256:68447035a33d0acad5d3055808b77bd30dc876c00a28ecd06546d592811625bd +size 24294 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png new file mode 100644 index 0000000000..2c5b8d4c12 --- /dev/null +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d0f5407369b9d57c271a432046b373e9e0a8177ec8931b8dcc4893e577d205f +size 9070 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png new file mode 100644 index 0000000000..7a27e388ea --- /dev/null +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b5c48945b82ddae5217f6b0bce3f74e81bfa7b2eb929deb697dc936ccbf2bac +size 35386 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png new file mode 100644 index 0000000000..541b33f5d3 --- /dev/null +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0927e2dece4cca09e69aea086f2b026ec6143a47d7ca34cd3d9edab22ecf3b31 +size 42816 diff --git a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png index 04d3bf0665..b11f28b3dd 100644 --- a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bdf88e9ea1157af338533be63f6df5845a40352babe56cba9c03ecfc7539a0a -size 47175 +oid sha256:13b03b0125a0d3f6b44330a7ae2a49ac4139951371d4992c9b308f09c1afdeed +size 47269 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png index fc2434d46c..6121562597 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8856d920221c12eb15e4b539e9b13e0f692d1f7fd7184214efa7cc387179a851 -size 312746 +oid sha256:11eeb61c2d3ad494bb9b106ac1443df0c98f5f77d5b70ec4f0f617c1dcceb5fc +size 311194 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png index 70dfd4f2ec..e2bd3aa8f1 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4b4a054a736fda19b44fb1aed86df28a63ce00704789a9828b6d7f933c7081a -size 306739 +oid sha256:1d4ebb057326ef42c95a77a46a3b5ab183a83b6fd734e11c598222f4cae4a07a +size 305270 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png index fa370d2d6c..355a348677 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6121327494502b096c25dceece3e42e45eb3cf5b98578e8be7f7a96d006240be -size 44157 +oid sha256:8b7ff61b4b4281fdce700003fdaad4138b75075e10a66b9e4e0de8ae487d9d84 +size 44271 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png index 59bb9b9897..1a28f57540 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23e0b1b6e830eba355a0b7b139aafc1be11b781e6ef03df01786f5d6aa0c1b21 -size 46343 +oid sha256:384654c739d25cfd314ecde1fedaa6c8c0beccdfabfb0b0f0faacf1f1d10f6e1 +size 46456 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png index 4d57857101..6a7dcf16e7 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22beba9c2412749866f57de99ee180a78761d2c47c06784a5d161a0aa91a3328 -size 44832 +oid sha256:9ff26f20abce5bfa8e936057d70258bbac919cc47c7aa27b374176f7d618c7ba +size 44947 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png index 098b141519..53674500dd 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ade9b2a3b5f32e65876becaf64ba6fb4627b9e4e6f2f3075634c6db9589798f -size 48494 +oid sha256:9cc4178e91b11dd83bcfc07e291a989317e744fbfcfb802e913875988d7f1685 +size 48606 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png index 2be7ff6576..a0eb722a41 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e93f96555973aa1c30fc5ce2ea981bb26203e129a8cee2255ae3acfc53225e55 -size 46831 +oid sha256:edb4fe7262c508c066c11cebbf578e2b4851a871d5c438085bb3caea1dfae14a +size 46936 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png index 1e435d5e0f..a8632d499b 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31e5144d7d0e819a4979fb3747d1b33f7dd1a12e23316598b908ef1db3f970b0 -size 42706 +oid sha256:da8ed936f17cd7b016aa5c2e45fe1df9bfbe149c686ab04903fafb537cf322c0 +size 42808 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png index 5f9ee3c8ff..6b21e09888 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73618da5786309a1c338f77d18e88b82a25e228256c336714b5dbbd039937adc -size 43723 +oid sha256:e65461ca9a5aa89268fdfe04759d4c0dd5918ca395470d58c95a9f50eefb4ee4 +size 43835 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png index 7d713991e5..667414400c 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0cc61ea48b4ed1e8a31c46996afb5c547ba2c6f75b98c4af2fb00b9921896ba3 -size 41780 +oid sha256:bec0e6890c5da8790c3b787d05ea7dab0e1084e8c1f34e98fdf6a478adfeff95 +size 41892 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png index ceedaf8a5d..2a431ede3d 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fca83c8ab2de5105cba3eb2884d9b73501f5d83c7d9c4764dbbc35b387646d5f -size 47170 +oid sha256:30dd58fbdb510dce6e75347fcf9cca171770f285aa4abe981624b49c7ea45ab0 +size 47282 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png index 1b784506e8..07c6683054 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:403b8193a9bac5094515c7911c4f58859d12c3491f52e1d942b132a3de7d0445 -size 44718 +oid sha256:1ad624a4ae1c20addec10174f60e2115649bb8440d9d1b742091a5a2a8b3e68b +size 44834 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png index 1b784506e8..07c6683054 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:403b8193a9bac5094515c7911c4f58859d12c3491f52e1d942b132a3de7d0445 -size 44718 +oid sha256:1ad624a4ae1c20addec10174f60e2115649bb8440d9d1b742091a5a2a8b3e68b +size 44834 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png index 746506a9bd..b7d93442f2 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c18704beb6082319d63d176d7e1cc333ffe1b14e18aeb1326ed736afb0fc9eb5 -size 47737 +oid sha256:84a24a5c58ecfb144caf04c0e8652d290c0574ff6cb1dbed7b701df2fa9e195b +size 47850 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png index ea4ed4d191..4d9d503a0d 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c016d05fc5dccf7e9d9e619c42279e677b92e74af8f4a72108e2117d402c99fd -size 46665 +oid sha256:8a20b95ef4d95bdc045505ed01199ec219d5698a8295f3301e4f260ad926a043 +size 46780 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png index 81d7577a9b..d0c7127489 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c734cbce4733caaf9ba237fe9ce76a0e1d081ab9fcf348bdc69e27468fb677bc -size 45709 +oid sha256:0dfce3cff7725fc9e5778c813be51fc159817ecdecfd14fe62af7905213d3c4f +size 45824 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png index ef718f3558..31cc642e29 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:073ea237aede57bd96b74b154c845e06066131f608d228d74430922686b10002 -size 45170 +oid sha256:d5d7311a5e7fd9e5e950128960089555ac4d84341c2d9107e94d1396c9d1175a +size 45326 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png index 387d0fa600..fb144576a1 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e73c7eb3bea900153fc3ced3b3e0fdc7b8948934783b870394587500035c2c3 -size 47443 +oid sha256:b80349e217e0649d360502c881abdca61008ac0a52a9860cb223588174673850 +size 47606 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png index 5fd1221199..0ad7508787 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c09c681362992445b2ba1a7f66ede83a1e934b6c58a63e29dad6a01d8fd91c09 -size 45899 +oid sha256:dac10588ea7f2d0909356bdd24ac789959ebbc52853c6d6904a7e3899eba3313 +size 46058 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png index 7d8aacdd38..ec420272df 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d70a4c8e5f753f9f8564b74e780d40beecf46efd5127a80a947736f6ae104d04 -size 49565 +oid sha256:3f9797f47aea0f543849c333616a55b73cd5afcd236498f9e85129720c0246c9 +size 49720 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png index bd5263e590..05ce4083ee 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a95e349b642b9d00db353dcef8544ae7953725c8b46372812fba3eeb652d0923 -size 47918 +oid sha256:c202ce10bcadc283985cdbc537db571b9cd3c452bc3f99bf0587c9beb354bd0f +size 48091 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png index b1395c8bb8..5691f770cd 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2ce330939fb18280697f35bef030723fb8658225e750eb46a4023c9cec0cc6e -size 43836 +oid sha256:9f17d568db0c791191fd171ff60a7f1f9dda733610a8cdc4fc13128625b45507 +size 43984 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png index a887b71d4c..019cc7168b 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ed6dea45912127b7eca3a89759241963915ed157f0b7722d8981bbfa1f748aa -size 44920 +oid sha256:1df92fa426acbbdfecb208e03cd98e0e699816cb7e9f4780479710dd0ac9a866 +size 45077 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png index 5091e52d62..28b88db2ae 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3407b1e432f4d5a90ed0be8ee529364ad61e5d190d2a614530d5d929273bd712 -size 42655 +oid sha256:d43f43946824fa36994303c527ed6ac4396b1d3c71d3562ec456a7daecd6fec2 +size 42816 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png index af53a9d8ad..a731314fc9 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:864a597bb95aec9d8ba3a677617b9fd3cafe863ae5fe336c4db165fc7038fb0f -size 48284 +oid sha256:c6a6d1abea617ec460b96d70a2fb197926714a3b120cc7217e15031232438078 +size 48442 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png index 6a2d10d4b1..5f85ce08f7 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4ac057ad0587edc72bef380cc2446df7152588aa20c259fba76e255c7d05a53 -size 45627 +oid sha256:725c2b15c127b3b7e455f07de17d582d2b7aa04cfcb13cea1b56f6f6ab2ecdaa +size 45783 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png index 6a2d10d4b1..5f85ce08f7 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4ac057ad0587edc72bef380cc2446df7152588aa20c259fba76e255c7d05a53 -size 45627 +oid sha256:725c2b15c127b3b7e455f07de17d582d2b7aa04cfcb13cea1b56f6f6ab2ecdaa +size 45783 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png index ad016b5911..84fcc21085 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81881ff88e285e6bf4f13e0dfe746842b6a7a33d4babb5f579a5be31ae0cca3b -size 48955 +oid sha256:633389d3bd3878fb2aa7e75359967fb72b168a769ee99bdf2581661915fad981 +size 49103 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png index 6669a44928..066b9b403b 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:facf28de76d249f99e5b4f32bfa46c932cc77bb4bebe5a496abdeaf1cabff1c4 -size 47823 +oid sha256:f47f49ff6c3aa8ba703b2ffdd6bc08d3c389f8bd79abb276a437571f78f08ee0 +size 47984 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png index 0b62a52c4c..c0c98b9a73 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a054d80a79ca39138c830df9d3dde06ca8900e37989dabd4ef4af8a963a415eb -size 46763 +oid sha256:6542cfb73e64d5022a089872f80793e34244c530609d5c408872f249f53f8337 +size 46926 diff --git a/screenshots/de/features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_de.png new file mode 100644 index 0000000000..3b132a6365 --- /dev/null +++ b/screenshots/de/features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4edb266d9c0e99cf4104509169407379d6bcf75889abd0b4ebfa9f800e23b5aa +size 45278 diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png index 82bcfe7d5b..7f02a36973 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afa1fbbfeafb9c3265c005b919d1da8d09ff10cd0e8ec60d7a1f42587c57a1b7 -size 73911 +oid sha256:ca791ab27e69f4a84eecfe420aba93fd7aedbcca93914e8aceb8781dd0409981 +size 82377 diff --git a/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png index 193d5a5010..082adc23cb 100644 --- a/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:284e0f25302bddb07a48154b1dedc5b651881901ef45c065f67ac9ba19523ee8 -size 28834 +oid sha256:75b3f513dcbf3a7fd948f20b7ed438669ae827111da49941de11f28a80bad250 +size 30064 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png index 71fb3198ec..0405427877 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5592b558284e74ab31471943c4484efe60a373f8136b2af9493e853029cb5435 -size 102313 +oid sha256:04d51057429c916bda03e771ca7da818fe32f9766257eb4813fcba924e5dd5d4 +size 103878 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png index c068c315bf..a8bc71740a 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:836d97a08320f602807201ac740eb417ba173ddfd4821455f9d85ca8945c0d64 -size 39351 +oid sha256:0f6d57c36c609cd6d810368df13f7bfb15b7366ffdbe17dfb4c6be64b8bd33b8 +size 41658 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 8ae51996f2..92f0a2a384 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,41 +1,41 @@ // Generated file, do not edit export const screenshots = [ ["en","en-dark","de",], -["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19978,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19982,], ["features.invite.impl.response_AcceptDeclineInviteView_Day_0_en","features.invite.impl.response_AcceptDeclineInviteView_Night_0_en",0,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19978,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19978,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19978,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19978,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19982,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19982,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19982,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19982,], ["features.login.impl.accountprovider_AccountProviderView_Day_0_en","features.login.impl.accountprovider_AccountProviderView_Night_0_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_1_en","features.login.impl.accountprovider_AccountProviderView_Night_1_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_2_en","features.login.impl.accountprovider_AccountProviderView_Night_2_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_3_en","features.login.impl.accountprovider_AccountProviderView_Night_3_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_4_en","features.login.impl.accountprovider_AccountProviderView_Night_4_en",0,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19978,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19978,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19978,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19978,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19978,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19978,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19978,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19978,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19978,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19978,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19978,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19978,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19978,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19978,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19982,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19982,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19982,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19982,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19982,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19982,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19982,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19982,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19982,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19982,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19982,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19982,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19982,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19982,], ["libraries.designsystem.components.async_AsyncActionView_Day_0_en","libraries.designsystem.components.async_AsyncActionView_Night_0_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19978,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19982,], ["libraries.designsystem.components.async_AsyncActionView_Day_2_en","libraries.designsystem.components.async_AsyncActionView_Night_2_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19978,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19982,], ["libraries.designsystem.components.async_AsyncActionView_Day_4_en","libraries.designsystem.components.async_AsyncActionView_Night_4_en",0,], -["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19978,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19982,], ["libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncLoading_Day_0_en","libraries.designsystem.components.async_AsyncLoading_Night_0_en",0,], -["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19978,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19982,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_0_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_0_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_1_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_1_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_2_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_2_en",0,], @@ -45,11 +45,11 @@ export const screenshots = [ ["libraries.matrix.ui.components_AttachmentThumbnail_Day_6_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_6_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_7_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_7_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_8_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_8_en",0,], -["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19978,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19978,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19978,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19978,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19978,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19982,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19982,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19982,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19982,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19982,], ["libraries.designsystem.components.avatar_Avatar_Avatars_0_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_10_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_11_en","",0,], @@ -129,13 +129,13 @@ export const screenshots = [ ["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,], ["libraries.designsystem.components_BigCheckmark_Day_0_en","libraries.designsystem.components_BigCheckmark_Night_0_en",0,], ["libraries.designsystem.components_BigIcon_Day_0_en","libraries.designsystem.components_BigIcon_Night_0_en",0,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19978,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19978,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19982,], ["libraries.designsystem.components_BloomInitials_Day_0_en","libraries.designsystem.components_BloomInitials_Night_0_en",0,], ["libraries.designsystem.components_BloomInitials_Day_1_en","libraries.designsystem.components_BloomInitials_Night_1_en",0,], ["libraries.designsystem.components_BloomInitials_Day_2_en","libraries.designsystem.components_BloomInitials_Night_2_en",0,], @@ -146,87 +146,93 @@ export const screenshots = [ ["libraries.designsystem.components_BloomInitials_Day_7_en","libraries.designsystem.components_BloomInitials_Night_7_en",0,], ["libraries.designsystem.components_Bloom_Day_0_en","libraries.designsystem.components_Bloom_Night_0_en",0,], ["libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en","libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en",0,], -["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19978,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19978,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19978,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19978,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19978,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19982,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19982,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19982,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19982,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19982,], ["libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_ButtonRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonRowMolecule_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_0_en","features.call.impl.ui_CallScreenPipView_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_1_en","features.call.impl.ui_CallScreenPipView_Night_1_en",0,], ["features.call.impl.ui_CallScreenView_Day_0_en","features.call.impl.ui_CallScreenView_Night_0_en",0,], -["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19978,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19978,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19978,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19978,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19978,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19982,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19982,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19982,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19982,], ["features.login.impl.changeserver_ChangeServerView_Day_0_en","features.login.impl.changeserver_ChangeServerView_Night_0_en",0,], -["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19978,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19978,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19982,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19982,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19978,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19982,], ["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,], ["libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components_ClickableLinkText_Text_en","",0,], ["libraries.designsystem.theme_ColorAliases_Day_0_en","libraries.designsystem.theme_ColorAliases_Night_0_en",0,], ["libraries.textcomposer.components_ComposerOptionsButton_Day_0_en","libraries.textcomposer.components_ComposerOptionsButton_Night_0_en",0,], ["libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19978,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19978,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19982,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19982,], ["features.preferences.impl.developer.tracing_ConfigureTracingView_Day_0_en","features.preferences.impl.developer.tracing_ConfigureTracingView_Night_0_en",0,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19978,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19978,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19982,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19982,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19982,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19982,], ["libraries.designsystem.components.dialogs_ConfirmationDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_ConfirmationDialog_Day_0_en","libraries.designsystem.components.dialogs_ConfirmationDialog_Night_0_en",0,], ["features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en","features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en",0,], -["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19978,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19978,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19978,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19978,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19978,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19978,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19978,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19978,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19978,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19978,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19978,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19978,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19978,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19978,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19978,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19982,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19982,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19982,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19982,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19982,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19982,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19982,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19982,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19982,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19982,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19982,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19982,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19982,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19982,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19982,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19982,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19982,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19982,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19982,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_0_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_0_en",0,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19978,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19978,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19978,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19982,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19982,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19982,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_4_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_4_en",0,], -["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19978,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19978,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19978,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19982,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19982,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19982,], ["features.licenses.impl.details_DependenciesDetailsView_Day_0_en","features.licenses.impl.details_DependenciesDetailsView_Night_0_en",0,], -["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19978,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19978,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19978,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19978,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19978,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19978,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19978,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19982,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19982,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19982,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19982,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19982,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19982,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19982,], ["libraries.designsystem.theme.components_DialogWithDestructiveButton_Dialog with destructive button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithThirdButton_Dialog with third button_Dialogs_en","",0,], @@ -238,12 +244,12 @@ export const screenshots = [ ["libraries.designsystem.text_DpScale_1_0f__en","",0,], ["libraries.designsystem.text_DpScale_1_5f__en","",0,], ["libraries.designsystem.theme.components_DropdownMenuItem_Menus_en","",0,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19978,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19978,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19978,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19978,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19978,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19978,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19982,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19982,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19982,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19982,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19982,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19982,], ["libraries.matrix.ui.components_EditableAvatarView_Day_0_en","libraries.matrix.ui.components_EditableAvatarView_Night_0_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_1_en","libraries.matrix.ui.components_EditableAvatarView_Night_1_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_2_en","libraries.matrix.ui.components_EditableAvatarView_Night_2_en",0,], @@ -253,9 +259,9 @@ export const screenshots = [ ["libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en","libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiItem_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiItem_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiPicker_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiPicker_Night_0_en",0,], -["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19978,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19978,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19978,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19982,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19982,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19982,], ["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,], ["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,], ["libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en","",0,], @@ -266,15 +272,15 @@ export const screenshots = [ ["libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en","",0,], ["libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en","libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en",0,], ["features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en",0,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19978,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19978,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19978,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19982,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19982,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19982,], ["libraries.textcomposer.components_FormattingOption_Day_0_en","libraries.textcomposer.components_FormattingOption_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_0_en","features.messages.impl.forward_ForwardMessagesView_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_1_en","features.messages.impl.forward_ForwardMessagesView_Night_1_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_2_en","features.messages.impl.forward_ForwardMessagesView_Night_2_en",0,], -["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19978,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19978,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19982,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19982,], ["libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Night_0_en",0,], ["libraries.designsystem.components.button_GradientFloatingActionButton_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButton_Night_0_en",0,], ["features.messages.impl.timeline.components.group_GroupHeaderView_Day_0_en","features.messages.impl.timeline.components.group_GroupHeaderView_Night_0_en",0,], @@ -301,37 +307,37 @@ export const screenshots = [ ["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19978,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19982,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_5_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_5_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_6_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_6_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_7_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_7_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19978,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19982,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_9_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_9_en",0,], -["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19978,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19982,], ["libraries.designsystem.atomic.molecules_InfoListItemMolecule_Day_0_en","libraries.designsystem.atomic.molecules_InfoListItemMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.organisms_InfoListOrganism_Day_0_en","libraries.designsystem.atomic.organisms_InfoListOrganism_Night_0_en",0,], -["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19978,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19982,], ["features.joinroom.impl_JoinRoomView_Day_0_en","features.joinroom.impl_JoinRoomView_Night_0_en",0,], ["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",0,], -["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19978,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19978,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19982,], ["libraries.designsystem.components_LabelledCheckbox_Toggles_en","",0,], ["libraries.designsystem.components_LabelledOutlinedTextField_Day_0_en","libraries.designsystem.components_LabelledOutlinedTextField_Night_0_en",0,], ["libraries.designsystem.components_LabelledTextField_Day_0_en","libraries.designsystem.components_LabelledTextField_Night_0_en",0,], ["features.leaveroom.api_LeaveRoomView_Day_0_en","features.leaveroom.api_LeaveRoomView_Night_0_en",0,], -["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19978,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19978,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19978,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19978,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19978,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19978,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19982,], ["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components.dialogs_ListDialogContent_Dialogs_en","",0,], @@ -382,28 +388,29 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListSupportingTextSmallPadding_List supporting text - small padding_List sections_en","",0,], ["libraries.textcomposer.components_LiveWaveformView_Day_0_en","libraries.textcomposer.components_LiveWaveformView_Night_0_en",0,], ["appnav.room.joined_LoadingRoomNodeView_Day_0_en","appnav.room.joined_LoadingRoomNodeView_Night_0_en",0,], -["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19978,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19978,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19978,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19978,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19982,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19982,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19982,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19982,], ["appnav.loggedin_LoggedInView_Day_0_en","appnav.loggedin_LoggedInView_Night_0_en",0,], -["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19978,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19978,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19978,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19978,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19978,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19978,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19978,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19978,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19978,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19978,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19978,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19978,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19978,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19978,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19978,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19982,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19982,], +["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19982,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19982,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19982,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19982,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19982,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19982,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19982,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19982,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19982,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19982,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19982,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19982,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19982,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19982,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19978,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19982,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Day_0_en","libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_0_en","libraries.matrix.ui.components_MatrixUserHeader_Night_0_en",0,], @@ -413,7 +420,7 @@ export const screenshots = [ ["libraries.mediaviewer.api.viewer_MediaViewerView_0_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_10_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_1_en","",0,], -["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19978,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19982,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -425,7 +432,7 @@ export const screenshots = [ ["libraries.textcomposer.mentions_MentionSpanTheme_Day_0_en","libraries.textcomposer.mentions_MentionSpanTheme_Night_0_en",0,], ["libraries.designsystem.theme.components.previews_Menu_Menus_en","",0,], ["features.messages.impl.messagecomposer_MessageComposerViewVoice_Day_0_en","features.messages.impl.messagecomposer_MessageComposerViewVoice_Night_0_en",0,], -["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19978,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19982,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_0_en","features.messages.impl.timeline.components_MessageEventBubble_Night_0_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_10_en","features.messages.impl.timeline.components_MessageEventBubble_Night_10_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_11_en","features.messages.impl.timeline.components_MessageEventBubble_Night_11_en",0,], @@ -442,7 +449,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_8_en","features.messages.impl.timeline.components_MessageEventBubble_Night_8_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_9_en","features.messages.impl.timeline.components_MessageEventBubble_Night_9_en",0,], -["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19978,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19982,], ["features.messages.impl.timeline.components_MessageStateEventContainer_Day_0_en","features.messages.impl.timeline.components_MessageStateEventContainer_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonAdd_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonAdd_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonExtra_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonExtra_Night_0_en",0,], @@ -450,25 +457,25 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessagesReactionButton_Day_1_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_1_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_2_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_2_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_3_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_3_en",0,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19978,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19978,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19978,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19978,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19978,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19978,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19978,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19978,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19978,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19978,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19978,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19978,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19978,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19978,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19978,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19978,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19978,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19982,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19982,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19982,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19982,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19982,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19982,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19982,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19982,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19982,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19982,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19982,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19982,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19982,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19982,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19982,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19982,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19982,], ["features.migration.impl_MigrationView_Day_0_en","features.migration.impl_MigrationView_Night_0_en",0,], -["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19978,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19982,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -477,29 +484,29 @@ export const screenshots = [ ["libraries.designsystem.components.list_MutipleSelectionListItemSelectedTrailingContent_Multiple selection List item - selection in trailing content_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItemSelected_Multiple selection List item - selection in supporting text_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItem_Multiple selection List item - no selection_List items_en","",0,], -["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",0,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19978,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19978,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19978,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19982,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19982,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19982,], ["libraries.oidc.impl.webview_OidcView_Day_0_en","libraries.oidc.impl.webview_OidcView_Night_0_en",0,], ["libraries.oidc.impl.webview_OidcView_Day_1_en","libraries.oidc.impl.webview_OidcView_Night_1_en",0,], ["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,], -["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19978,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19978,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19978,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19978,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19978,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19982,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19982,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19982,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19982,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19982,], ["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,], @@ -514,62 +521,62 @@ export const screenshots = [ ["libraries.designsystem.components_PageTitleWithIconFull_Day_3_en","libraries.designsystem.components_PageTitleWithIconFull_Night_3_en",0,], ["libraries.designsystem.components_PageTitleWithIconFull_Day_4_en","libraries.designsystem.components_PageTitleWithIconFull_Night_4_en",0,], ["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19978,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19978,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19978,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19978,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19978,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19982,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19982,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19982,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19982,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19982,], ["features.lockscreen.impl.components_PinEntryTextField_Day_0_en","features.lockscreen.impl.components_PinEntryTextField_Night_0_en",0,], ["libraries.designsystem.components_PinIcon_Day_0_en","libraries.designsystem.components_PinIcon_Night_0_en",0,], ["features.lockscreen.impl.unlock.keypad_PinKeypad_Day_0_en","features.lockscreen.impl.unlock.keypad_PinKeypad_Night_0_en",0,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19978,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19978,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19982,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_0_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_0_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19978,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19978,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19978,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",0,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",0,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",0,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19982,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19982,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19982,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19982,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19982,], ["libraries.designsystem.atomic.atoms_PlaceholderAtom_Day_0_en","libraries.designsystem.atomic.atoms_PlaceholderAtom_Night_0_en",0,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19978,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19978,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19978,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19978,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19978,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19982,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19982,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19982,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19982,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19982,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en",0,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en",0,], -["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19978,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19978,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19978,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19978,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19978,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19978,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19978,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19978,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19978,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19978,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19978,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19982,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19982,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19982,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19982,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19982,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19982,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19982,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19982,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19982,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19982,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19982,], ["features.poll.api.pollcontent_PollTitleView_Day_0_en","features.poll.api.pollcontent_PollTitleView_Night_0_en",0,], ["libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en","",0,], @@ -586,192 +593,195 @@ export const screenshots = [ ["libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en","",0,], -["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19978,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19978,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19978,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19978,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19982,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19982,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19982,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19982,], ["features.messages.impl.timeline.components.event_ProgressButton_Day_0_en","features.messages.impl.timeline.components.event_ProgressButton_Night_0_en",0,], -["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19978,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19978,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19978,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19978,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19978,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19978,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19978,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19978,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19978,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19978,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19978,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19978,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19982,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19982,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19982,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19982,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19982,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19982,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19982,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19982,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19982,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19982,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19982,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19982,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19978,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19978,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19982,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19982,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19978,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19978,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19978,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19978,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19978,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19978,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19978,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19982,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19982,], ["libraries.designsystem.atomic.atoms_RedIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_RedIndicatorAtom_Night_0_en",0,], ["features.messages.impl.timeline.components_ReplySwipeIndicator_Day_0_en","features.messages.impl.timeline.components_ReplySwipeIndicator_Night_0_en",0,], -["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19978,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19978,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19978,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19978,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19978,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19978,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19978,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19978,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19978,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19978,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19982,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19982,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19982,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19982,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19982,], ["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",0,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19978,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19978,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19978,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19978,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19982,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en",0,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19982,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19982,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19982,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19982,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19982,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_0_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_0_en",0,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",0,], -["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19978,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19982,], ["features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en","features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en","features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgePositive_Day_0_en","features.roomdetails.impl.components_RoomBadgePositive_Night_0_en",0,], -["features.roomdetails.impl_RoomDetailsDark_0_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",19978,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19978,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19978,], -["features.roomdetails.impl_RoomDetails_0_en","",19978,], -["features.roomdetails.impl_RoomDetails_10_en","",19978,], -["features.roomdetails.impl_RoomDetails_11_en","",19978,], -["features.roomdetails.impl_RoomDetails_12_en","",19978,], -["features.roomdetails.impl_RoomDetails_13_en","",19978,], -["features.roomdetails.impl_RoomDetails_1_en","",19978,], -["features.roomdetails.impl_RoomDetails_2_en","",19978,], -["features.roomdetails.impl_RoomDetails_3_en","",19978,], -["features.roomdetails.impl_RoomDetails_4_en","",19978,], -["features.roomdetails.impl_RoomDetails_5_en","",19978,], -["features.roomdetails.impl_RoomDetails_6_en","",19978,], -["features.roomdetails.impl_RoomDetails_7_en","",19978,], -["features.roomdetails.impl_RoomDetails_8_en","",19978,], -["features.roomdetails.impl_RoomDetails_9_en","",19978,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19978,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19978,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19978,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19978,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19978,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19978,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",19982,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19982,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19982,], +["features.roomdetails.impl_RoomDetails_0_en","",19982,], +["features.roomdetails.impl_RoomDetails_10_en","",19982,], +["features.roomdetails.impl_RoomDetails_11_en","",19982,], +["features.roomdetails.impl_RoomDetails_12_en","",19982,], +["features.roomdetails.impl_RoomDetails_13_en","",19982,], +["features.roomdetails.impl_RoomDetails_1_en","",19982,], +["features.roomdetails.impl_RoomDetails_2_en","",19982,], +["features.roomdetails.impl_RoomDetails_3_en","",19982,], +["features.roomdetails.impl_RoomDetails_4_en","",19982,], +["features.roomdetails.impl_RoomDetails_5_en","",19982,], +["features.roomdetails.impl_RoomDetails_6_en","",19982,], +["features.roomdetails.impl_RoomDetails_7_en","",19982,], +["features.roomdetails.impl_RoomDetails_8_en","",19982,], +["features.roomdetails.impl_RoomDetails_9_en","",19982,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19982,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19982,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19982,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19982,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19982,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19982,], ["features.roomlist.impl.components_RoomListContentView_Day_2_en","features.roomlist.impl.components_RoomListContentView_Night_2_en",0,], -["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19978,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19982,], ["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19982,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19978,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19978,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19978,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19978,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19978,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19982,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19982,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19982,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19982,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19982,], ["features.roomlist.impl.search_RoomListSearchContent_Day_0_en","features.roomlist.impl.search_RoomListSearchContent_Night_0_en",0,], -["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19978,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19978,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19978,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19978,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19978,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19978,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19978,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19978,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19978,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19978,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19978,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19982,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19982,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19982,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19982,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19982,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19982,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19982,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19982,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19982,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19982,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19982,], ["features.roomlist.impl_RoomListView_Day_8_en","features.roomlist.impl_RoomListView_Night_8_en",0,], ["features.roomlist.impl_RoomListView_Day_9_en","features.roomlist.impl_RoomListView_Night_9_en",0,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19978,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19978,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19978,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19982,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19982,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19982,], ["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",0,], -["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19978,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19978,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19982,], ["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19978,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19978,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19982,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_9_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_9_en",0,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19978,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19978,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19978,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19978,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19982,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19982,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19982,], ["features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_0_en","features.roomlist.impl.components_RoomSummaryRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_10_en","features.roomlist.impl.components_RoomSummaryRow_Night_10_en",0,], @@ -794,10 +804,10 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_26_en","features.roomlist.impl.components_RoomSummaryRow_Night_26_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_27_en","features.roomlist.impl.components_RoomSummaryRow_Night_27_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_28_en","features.roomlist.impl.components_RoomSummaryRow_Night_28_en",0,], -["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19978,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19978,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19978,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19978,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19982,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19982,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19982,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19982,], ["features.roomlist.impl.components_RoomSummaryRow_Day_3_en","features.roomlist.impl.components_RoomSummaryRow_Night_3_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_4_en","features.roomlist.impl.components_RoomSummaryRow_Night_4_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_5_en","features.roomlist.impl.components_RoomSummaryRow_Night_5_en",0,], @@ -805,64 +815,64 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_7_en","features.roomlist.impl.components_RoomSummaryRow_Night_7_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_8_en","features.roomlist.impl.components_RoomSummaryRow_Night_8_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_9_en","features.roomlist.impl.components_RoomSummaryRow_Night_9_en",0,], -["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19978,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19978,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19978,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19982,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19982,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19982,], ["appicon.element_RoundIcon_en","",0,], ["appicon.enterprise_RoundIcon_en","",0,], ["libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en","libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en",0,], -["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19978,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19978,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19978,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19982,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19982,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19982,], ["libraries.designsystem.theme.components_SearchBarActiveNoneQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithContent_Search views_en","",0,], -["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19978,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19982,], ["libraries.designsystem.theme.components_SearchBarActiveWithQueryNoBackButton_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarInactive_Search views_en","",0,], -["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19978,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",19978,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19978,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19978,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19978,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19978,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19978,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19978,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19978,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19978,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19978,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19978,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19978,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19978,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19978,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19982,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",19982,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19982,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19982,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19982,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19982,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19982,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19982,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19982,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19982,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19982,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19982,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19982,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19982,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19982,], ["libraries.matrix.ui.components_SelectedRoom_Day_0_en","libraries.matrix.ui.components_SelectedRoom_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedRoom_Day_1_en","libraries.matrix.ui.components_SelectedRoom_Night_1_en",0,], ["libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en","libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUser_Day_0_en","libraries.matrix.ui.components_SelectedUser_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en","libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en",0,], ["libraries.textcomposer.components_SendButton_Day_0_en","libraries.textcomposer.components_SendButton_Night_0_en",0,], -["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19978,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19978,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19978,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19978,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19978,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19982,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19982,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19982,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19982,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19982,], ["libraries.matrix.ui.messages.sender_SenderName_Day_0_en","libraries.matrix.ui.messages.sender_SenderName_Night_0_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_1_en","libraries.matrix.ui.messages.sender_SenderName_Night_1_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_2_en","libraries.matrix.ui.messages.sender_SenderName_Night_2_en",0,], @@ -872,39 +882,40 @@ export const screenshots = [ ["libraries.matrix.ui.messages.sender_SenderName_Day_6_en","libraries.matrix.ui.messages.sender_SenderName_Night_6_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_7_en","libraries.matrix.ui.messages.sender_SenderName_Night_7_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_8_en","libraries.matrix.ui.messages.sender_SenderName_Night_8_en",0,], -["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19978,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19978,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19978,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19978,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19978,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19978,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19978,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19982,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19982,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19982,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19982,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19982,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19982,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19982,], ["features.share.impl_ShareView_Day_0_en","features.share.impl_ShareView_Night_0_en",0,], ["features.share.impl_ShareView_Day_1_en","features.share.impl_ShareView_Night_1_en",0,], ["features.share.impl_ShareView_Day_2_en","features.share.impl_ShareView_Night_2_en",0,], -["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19978,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19982,], ["features.messages.impl.actionlist_SheetContent_Day_0_en","features.messages.impl.actionlist_SheetContent_Night_0_en",0,], ["features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19982,], ["features.messages.impl.actionlist_SheetContent_Day_1_en","features.messages.impl.actionlist_SheetContent_Night_1_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19978,], -["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19978,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19978,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19978,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19978,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19978,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19978,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19978,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19978,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19978,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19978,], +["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19982,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19982,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19982,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19982,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19982,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19982,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19982,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19982,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19982,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19982,], ["libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en","libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en",0,], ["libraries.designsystem.components.list_SingleSelectionListItemCustomFormattert_Single selection List item - custom formatter_List items_en","",0,], @@ -913,7 +924,7 @@ export const screenshots = [ ["libraries.designsystem.components.list_SingleSelectionListItemUnselectedWithSupportingText_Single selection List item - no selection, supporting text_List items_en","",0,], ["libraries.designsystem.components.list_SingleSelectionListItem_Single selection List item - no selection_List items_en","",0,], ["libraries.designsystem.theme.components_Sliders_Sliders_en","",0,], -["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19978,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19982,], ["libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en","",0,], @@ -923,37 +934,37 @@ export const screenshots = [ ["libraries.designsystem.modifiers_SquareSizeModifierLargeHeight_en","",0,], ["libraries.designsystem.modifiers_SquareSizeModifierLargeWidth_en","",0,], ["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",0,], -["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19978,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19982,], ["features.location.api_StaticMapView_Day_0_en","features.location.api_StaticMapView_Night_0_en",0,], -["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19978,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19982,], ["libraries.designsystem.atomic.pages_SunsetPage_Day_0_en","libraries.designsystem.atomic.pages_SunsetPage_Night_0_en",0,], ["libraries.designsystem.components.button_SuperButton_Day_0_en","libraries.designsystem.components.button_SuperButton_Night_0_en",0,], ["libraries.designsystem.theme.components_Surface_en","",0,], ["libraries.designsystem.theme.components_Switch_Toggles_en","",0,], -["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19978,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19982,], ["libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonLarge_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMedium_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonSmall_Buttons_en","",0,], -["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19978,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19978,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19978,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19978,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19978,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19978,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19978,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19982,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19982,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19982,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19982,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19982,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19982,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19982,], ["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,], ["libraries.designsystem.theme.components_TextDark_Text_en","",0,], ["libraries.designsystem.theme.components_TextFieldDark_TextFields_en","",0,], @@ -965,26 +976,26 @@ export const screenshots = [ ["libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en","",0,], ["libraries.textcomposer.components_TextFormatting_Day_0_en","libraries.textcomposer.components_TextFormatting_Night_0_en",0,], ["libraries.designsystem.theme.components_TextLight_Text_en","",0,], -["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19978,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19978,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19978,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19982,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19982,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19982,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_0_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_1_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_2_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19978,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19978,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19982,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19982,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_5_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_6_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_6_en",0,], ["features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19982,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_0_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_1_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19978,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19978,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en","",0,], @@ -992,16 +1003,16 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19978,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19978,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en",0,], @@ -1010,36 +1021,36 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19978,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19982,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19978,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19982,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19978,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19982,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_2_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemInformativeView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemInformativeView_Night_0_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19982,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19978,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19978,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19978,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19978,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19982,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19982,], ["features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19978,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19978,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19982,], ["features.messages.impl.timeline.components_TimelineItemReactionsView_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsView_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19978,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19982,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_0_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_0_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_2_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_2_en",0,], @@ -1048,8 +1059,8 @@ export const screenshots = [ ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19978,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19982,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19982,], ["features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStateView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStateView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en",0,], @@ -1061,7 +1072,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_4_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_5_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19978,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19982,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,], @@ -1083,84 +1094,84 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_9_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_9_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en",0,], -["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19978,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19982,], ["features.messages.impl.timeline_TimelineView_Day_10_en","features.messages.impl.timeline_TimelineView_Night_10_en",0,], -["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19978,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19982,], ["features.messages.impl.timeline_TimelineView_Day_2_en","features.messages.impl.timeline_TimelineView_Night_2_en",0,], ["features.messages.impl.timeline_TimelineView_Day_3_en","features.messages.impl.timeline_TimelineView_Night_3_en",0,], -["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19982,], ["features.messages.impl.timeline_TimelineView_Day_5_en","features.messages.impl.timeline_TimelineView_Night_5_en",0,], -["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19982,], ["features.messages.impl.timeline_TimelineView_Day_7_en","features.messages.impl.timeline_TimelineView_Night_7_en",0,], -["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19978,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19982,], ["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,], ["libraries.designsystem.theme.components_TopAppBar_App Bars_en","",0,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19978,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19978,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19982,], ["features.messages.impl.typing_TypingNotificationView_Day_0_en","features.messages.impl.typing_TypingNotificationView_Night_0_en",0,], -["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19978,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19978,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19978,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19978,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19978,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19978,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19982,], ["features.messages.impl.typing_TypingNotificationView_Day_7_en","features.messages.impl.typing_TypingNotificationView_Night_7_en",0,], ["features.messages.impl.typing_TypingNotificationView_Day_8_en","features.messages.impl.typing_TypingNotificationView_Night_8_en",0,], ["libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Night_0_en",0,], -["libraries.matrix.ui.components_UnresolvedUserRow_en","",19978,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",19982,], ["libraries.matrix.ui.components_UnsavedAvatar_Day_0_en","libraries.matrix.ui.components_UnsavedAvatar_Night_0_en",0,], ["libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en",0,], -["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19978,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19978,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19978,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19978,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19982,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19982,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19982,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19982,], ["features.createroom.impl.components_UserListView_Day_3_en","features.createroom.impl.components_UserListView_Night_3_en",0,], ["features.createroom.impl.components_UserListView_Day_4_en","features.createroom.impl.components_UserListView_Night_4_en",0,], ["features.createroom.impl.components_UserListView_Day_5_en","features.createroom.impl.components_UserListView_Night_5_en",0,], ["features.createroom.impl.components_UserListView_Day_6_en","features.createroom.impl.components_UserListView_Night_6_en",0,], -["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19978,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19982,], ["features.createroom.impl.components_UserListView_Day_8_en","features.createroom.impl.components_UserListView_Night_8_en",0,], -["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19978,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19982,], ["features.preferences.impl.user_UserPreferences_Day_0_en","features.preferences.impl.user_UserPreferences_Night_0_en",0,], ["features.preferences.impl.user_UserPreferences_Day_1_en","features.preferences.impl.user_UserPreferences_Night_1_en",0,], ["features.preferences.impl.user_UserPreferences_Day_2_en","features.preferences.impl.user_UserPreferences_Night_2_en",0,], ["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",0,], -["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19978,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19978,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19978,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19978,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19978,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19978,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19978,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19978,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19978,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19982,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19982,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19982,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19982,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19982,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19982,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19982,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19982,], +["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19982,], ["features.verifysession.impl_VerifySelfSessionView_Day_11_en","features.verifysession.impl_VerifySelfSessionView_Night_11_en",0,], ["features.verifysession.impl_VerifySelfSessionView_Day_12_en","features.verifysession.impl_VerifySelfSessionView_Night_12_en",0,], -["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19978,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19978,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19982,], ["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_0_en","features.viewfolder.impl.file_ViewFileView_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_1_en","features.viewfolder.impl.file_ViewFileView_Night_1_en",0,], @@ -1175,6 +1186,6 @@ export const screenshots = [ ["libraries.textcomposer.components_VoiceMessageRecording_Day_0_en","libraries.textcomposer.components_VoiceMessageRecording_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessage_Day_0_en","libraries.textcomposer.components_VoiceMessage_Night_0_en",0,], ["libraries.designsystem.components.media_WaveformPlaybackView_Day_0_en","libraries.designsystem.components.media_WaveformPlaybackView_Night_0_en",0,], -["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19978,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19982,], ["libraries.designsystem.ruler_WithRulers_Day_0_en","libraries.designsystem.ruler_WithRulers_Night_0_en",0,], ]; diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png index a348889301..d880280de2 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8df01760f694d1214e3d71582ee2e6ab3fe9a2319b8f1e3005d451764eb873f0 -size 39341 +oid sha256:f45332a3b2a62939aff408aa9537f9b71c4bb85bbe26b43c61a6400441830483 +size 39482 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png index faf85fafa4..5c49aa51c3 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f8a73d70b78289b7faf63a511f066fa3ee3fc89be512b1e69e143087c360fa2 -size 36847 +oid sha256:ea7772eb8d6f825dc5d8a5823e8452e4e4aec1db0b460a189715b843d8f7ae7c +size 37021 From 62a9d8ce29910bad4d53122db2b3ae041404e3c5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:04:28 +0200 Subject: [PATCH 048/122] SDK 0.2.45 abbe2ec52316c998c3894989b9c48b3781967d26 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 07898a0950..d536ed5c68 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.44" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.45" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From beb0bff3cca91f56890c770dda09ecbb411bc799 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:21:27 +0200 Subject: [PATCH 049/122] Use new API `awaitRoomRemoteEcho` to wait for the created room to be available. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 1112fde2f5..ff43659b40 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -311,14 +311,16 @@ class RustMatrixClient( avatar = createRoomParams.avatar, powerLevelContentOverride = defaultRoomCreationPowerLevels, ) - val roomId = RoomId(client.createRoom(rustParams)) + val roomId = client.createRoom(rustParams) // Wait to receive the room back from the sync but do not returns failure if it fails. try { - awaitJoinedRoom(roomId.toRoomIdOrAlias(), 30.seconds) + withTimeout(30.seconds) { + client.awaitRoomRemoteEcho(roomId) + } } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") } - roomId + RoomId(roomId) } } From 3a0e182ba9f2412e5eba45bc62fa283c6e6b9d3c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:59:26 +0200 Subject: [PATCH 050/122] Use new API `awaitRoomRemoteEcho` to ensure that the room is ready SDK side. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index ff43659b40..9e77dcff4c 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -272,6 +272,8 @@ class RustMatrixClient( .filter(predicate) .first() .first() + // Ensure that the room is ready + .also { client.awaitRoomRemoteEcho(it.roomId.value) } } } @@ -311,16 +313,14 @@ class RustMatrixClient( avatar = createRoomParams.avatar, powerLevelContentOverride = defaultRoomCreationPowerLevels, ) - val roomId = client.createRoom(rustParams) + val roomId = RoomId(client.createRoom(rustParams)) // Wait to receive the room back from the sync but do not returns failure if it fails. try { - withTimeout(30.seconds) { - client.awaitRoomRemoteEcho(roomId) - } + awaitJoinedRoom(roomId.toRoomIdOrAlias(), 30.seconds) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") } - RoomId(roomId) + roomId } } From 265c60a05615685272c9d9e086c2703028887613 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 11:01:28 +0200 Subject: [PATCH 051/122] Fix test compilation issue. --- .../impl/call/DefaultElementCallBaseUrlProviderTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt index 03174d5359..a5333d3c1f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt @@ -91,8 +91,9 @@ class DefaultElementCallBaseUrlProviderTest { private fun createElementWellKnown(widgetUrl: String): ElementWellKnown { return ElementWellKnown( call = ElementCallWellKnown( - widgetUrl = widgetUrl - ) + widgetUrl = widgetUrl, + ), + registrationHelperUrl = null, ) } } From 340d08e328eca57d8e767e6a075ad3ad3de33de8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 11:50:11 +0200 Subject: [PATCH 052/122] SDK 0.2.46 f576c72ef8cf4d735e3f91e9ec52aba0278c643f --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d536ed5c68..14d38d3a2c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.45" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.46" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 4583ffeaf94c9dbed08b15052fc27a7bb484dfc4 Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:05:35 +0000 Subject: [PATCH 053/122] Sync Strings from Localazy --- .../src/main/res/values-hu/translations.xml | 5 + .../src/main/res/values-hu/translations.xml | 1 + .../src/main/res/values-hu/translations.xml | 4 + .../src/main/res/values-de/translations.xml | 2 +- .../src/main/res/values-de/translations.xml | 1 + .../src/main/res/values-de/translations.xml | 1 + .../src/main/res/values-de/translations.xml | 11 + .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fr/translations.xml | 4 +- .../src/main/res/values-hu/translations.xml | 10 + .../src/main/res/values/localazy.xml | 4 +- ...er_ConfirmAccountProviderView_Day_2_de.png | 4 +- ...impl.actionlist_SheetContent_Day_12_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_2_de.png | 4 +- ....components_MessageShieldView_Day_0_de.png | 4 +- ...sable_SecureBackupDisableView_Day_0_de.png | 4 +- ...sable_SecureBackupDisableView_Day_1_de.png | 4 +- ...sable_SecureBackupDisableView_Day_2_de.png | 4 +- ...sable_SecureBackupDisableView_Day_3_de.png | 4 +- screenshots/html/data.js | 1200 ++++++++--------- ...impl.actionlist_SheetContent_Day_12_en.png | 4 +- ...pl.actionlist_SheetContent_Night_12_en.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_en.png | 4 +- ...VerifiedUserSendFailureView_Night_1_en.png | 4 +- 25 files changed, 665 insertions(+), 632 deletions(-) create mode 100644 appnav/src/main/res/values-hu/translations.xml diff --git a/appnav/src/main/res/values-hu/translations.xml b/appnav/src/main/res/values-hu/translations.xml new file mode 100644 index 0000000000..e4b24f811b --- /dev/null +++ b/appnav/src/main/res/values-hu/translations.xml @@ -0,0 +1,5 @@ + + + "Kijelentkezés és frissítés" + "A Matrix-kiszolgáló már nem támogatja a régi protokollt. Az alkalmazás további használatához jelentkezzen ki és be." + diff --git a/features/login/impl/src/main/res/values-hu/translations.xml b/features/login/impl/src/main/res/values-hu/translations.xml index a37288fd6f..1fb7f12d0c 100644 --- a/features/login/impl/src/main/res/values-hu/translations.xml +++ b/features/login/impl/src/main/res/values-hu/translations.xml @@ -21,6 +21,7 @@ "Csak olyan meglévő kiszolgálóhoz csatlakozhat, amely támogatja a Sliding sync protokollt. Ezt a Matrix-kiszolgáló adminisztrátorának kell beállítania. %1$s" "Mi a kiszolgálója címe?" "Válassza ki a kiszolgálóját" + "Fiók létrehozása" "Ez a fiók deaktiválva lett." "Helytelen felhasználónév vagy jelszó" "Ez nem érvényes felhasználóazonosító. A várt formátum: „@user:homeserver.org”" diff --git a/features/roomlist/impl/src/main/res/values-hu/translations.xml b/features/roomlist/impl/src/main/res/values-hu/translations.xml index 2325b7ae21..20006fd466 100644 --- a/features/roomlist/impl/src/main/res/values-hu/translations.xml +++ b/features/roomlist/impl/src/main/res/values-hu/translations.xml @@ -1,5 +1,9 @@ + "Kijelentkezés és frissítés" + "A kiszolgálója mostantól egy új, gyorsabb protokollt támogat. A frissítéshez jelentkezzen ki, majd jelentkezzen be újra. Ha ezt most megteszi, elkerülheti a kényszerített kijelentkeztetést a régi protokollt eltávolításakor." + "A Matrix-kiszolgáló már nem támogatja a régi protokollt. Az alkalmazás további használatához jelentkezzen ki és be." + "Frissítés érhető el" "Hozzon létre egy új helyreállítási kulcsot, amellyel visszaállíthatja a titkosított üzenetek előzményeit, ha elveszíti az eszközökhöz való hozzáférést." "Helyreállítás beállítása" "A csevegés biztonsági mentése nincs szinkronban. Meg kell erősítenie a helyreállítási kulcsát, hogy továbbra is hozzáférjen a csevegés biztonsági mentéséhez." diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index 4be1de6ddd..9589aa0534 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -36,7 +36,7 @@ "Wenn du das Backup deaktivierst, wird dein aktuelles Backup des Verschlüsselungsschlüssels entfernt und andere Sicherheitsfunktionen werden deaktiviert. Das bedeutet:" "Keine Historie für verschlüsselte Nachrichten auf neuen Geräten ." - "Du verlierst den Zugriff auf deine verschlüsselten Nachrichten, wenn du dich überall von %1$s abmeldest" + "Zugriff auf deine verschlüsselten Nachrichten verlieren, wenn du dich überall von %1$s abmeldest" "Bist du sicher, dass du das Backup deaktivieren willst?" "Hier kannst Du einen neuen Wiederherstellungsschlüssel erstellen. Nachdem Du einen neuen Wiederherstellungsschlüssel erstellt hast, funktioniert dein alter Schlüssel nicht mehr." "Wiederherstellungsschlüssel erstellen" diff --git a/features/verifysession/impl/src/main/res/values-de/translations.xml b/features/verifysession/impl/src/main/res/values-de/translations.xml index 5f0d9504f4..1ddda0126b 100644 --- a/features/verifysession/impl/src/main/res/values-de/translations.xml +++ b/features/verifysession/impl/src/main/res/values-de/translations.xml @@ -4,6 +4,7 @@ "Verifiziere dieses Gerät, um sicheres Messaging einzurichten." "Bestätige, dass du es bist" "Ein anderes Gerät verwenden" + "Wiederherstellungsschlüssel verwenden" "Du kannst nun verschlüsselte Nachrichten lesen oder versenden." "Gerät verifiziert" "Ein anderes Gerät verwenden" diff --git a/libraries/push/impl/src/main/res/values-de/translations.xml b/libraries/push/impl/src/main/res/values-de/translations.xml index 35924e6247..fc5edbf1d9 100644 --- a/libraries/push/impl/src/main/res/values-de/translations.xml +++ b/libraries/push/impl/src/main/res/values-de/translations.xml @@ -34,6 +34,7 @@ "Schnelle Antwort" "Du wurdest eingeladen, den Raum zu betreten" "Ich" + "%1$s hat Dich erwähnt oder geantwortet" "Du siehst dir die Benachrichtigung an! Klicke hier!" "%1$s: %2$s" "%1$s: %2$s %3$s" diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml index ee31b18978..13bd0b7d93 100644 --- a/libraries/ui-strings/src/main/res/values-de/translations.xml +++ b/libraries/ui-strings/src/main/res/values-de/translations.xml @@ -250,6 +250,7 @@ Grund: %1$s." "Warnung" "Deine Änderungen wurden nicht gespeichert. Bist du sicher, dass du zurückgehen willst?" "Änderungen speichern?" + "Dein Homeserver muss aktualisiert werden, um den Matrix Authentication Services und die Erstellung von Konten zu unterstützen." "Fehler beim Erstellen des Permalinks" "%1$s konnte die Karte nicht laden. Bitte versuche es später erneut." "Fehler beim Laden der Nachrichten" @@ -262,6 +263,7 @@ Grund: %1$s." "Einige Nachrichten wurden nicht gesendet" "Entschuldigung, es ist ein Fehler aufgetreten" "Die Authentizität dieser verschlüsselten Nachricht kann auf diesem Gerät nicht garantiert werden." + "Verschlüsselt von einem zuvor verifizierten Nutzer." "Unverschlüsselt." "Verschlüsselt von einem unbekannten oder gelöschten Gerät." "Verschlüsselt durch ein Gerät, das nicht von seinem Besitzer verifiziert wurde." @@ -280,7 +282,14 @@ Grund: %1$s." "%1$d fixierte Nachrichten" "Fixierte Nachrichten" + "Du wirst jetzt zu deinem %1$s Konto geleitet, um deine Identität zurückzusetzen. Danach wirst du zur App zurückgebracht." + "Kannst du das nicht bestätigen? Gehe zu deinem Konto, um deine Identität zurückzusetzen." + "Verifizierung zurückziehen und senden" + "Du kannst deine Verifizierung zurückziehen und diese Nachricht trotzdem senden, oder du kannst sie vorerst abbrechen und es später noch einmal versuchen, nachdem du %1$s erneut verifiziert hast." + "Deine Nachricht wurde nicht gesendet, da sich die verifizierte Identität von %1$s geändert hat" "Nachricht trotzdem senden" + "%1$s verwendet wenigstens ein nicht verifiziertes Gerät. Du kannst die Nachricht trotzdem verschicken, oder vorerst abbrechen und später erneut versuchen, nachdem %2$s alle Geräte verifiziert hat." + "Deine Nachricht wurde nicht gesendet, weil %1$s nicht alle Geräte verifiziert hat" "Fixierte Nachrichten" "Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut." "Benutzerdetails konnten nicht abgerufen werden" @@ -302,6 +311,8 @@ Grund: %1$s." "In Google Maps öffnen" "In OpenStreetMap öffnen" "Diesen Standort teilen" + "Nachricht nicht gesendet, weil sich die verifizierte Identität von %1$s geändert hat." + "Nachricht wurde nicht gesendet, weil %1$s nicht alle Geräte verifiziert hat" "Standort" "Version: %1$s (%2$s)" "en" diff --git a/libraries/ui-strings/src/main/res/values-et/translations.xml b/libraries/ui-strings/src/main/res/values-et/translations.xml index f6bcbf0fe4..1de14e5f1f 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -251,7 +251,7 @@ Põhjus: %1$s." "Hoiatus" "Sinu tehtud muudatused pole veel salvestatud. Kas sa oled kindel, et soovid minna tagasi?" "Kas salvestame muudatused?" - "Selleks et koos kasutajakonto loomisega toimiks Matrix Authentication Serveri tugi, vajab sinu koduserver uuendamist." + "Selleks et koos kasutajakonto loomisega toimiks Matrix Authentication Service\'i tugi, vajab sinu koduserver uuendamist." "Püsilingi loomine ei õnnestumud" "%1$s kaardi laadimine ei õnnestunud. Palun proovi hiljem uuesti." "Sõnumite laadimine ei õnnestunud" diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml index 831c134f22..8c41675598 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -289,7 +289,7 @@ Raison: %1$s." "Votre message n’a pas été envoyé car l’identité vérifiée de %1$s a changé" "Envoyer le message quand même" "%1$s utilise un ou plusieurs appareils non vérifiés. Vous pouvez quand même envoyer le message, ou vous pouvez annuler pour l’instant et réessayer plus tard après que %2$s vérifie tous ses appareils." - "Votre message n’a pas été envoyé car %1$s a un ou plusieurs appareils non vérifiés" + "Votre message n’a pas été envoyé car %1$s n’a pas vérifié tous ses appareils" "Messages épinglés" "Échec du traitement des médias à télécharger, veuillez réessayer." "Impossible de récupérer les détails de l’utilisateur" @@ -312,7 +312,7 @@ Raison: %1$s." "Ouvrir dans OpenStreetMap" "Partager cette position" "Le message n’a pas été envoyé car l’identité vérifiée de %1$s a changé." - "Le message n’a pas été envoyé car %1$s n’a pas vérifié un ou plusieurs appareils." + "Le message n’a pas été envoyé car %1$s n’a pas vérifié tous ses appareils." "Position" "Version : %1$s ( %2$s )" "fr" diff --git a/libraries/ui-strings/src/main/res/values-hu/translations.xml b/libraries/ui-strings/src/main/res/values-hu/translations.xml index fff7fcbe20..977c6c8928 100644 --- a/libraries/ui-strings/src/main/res/values-hu/translations.xml +++ b/libraries/ui-strings/src/main/res/values-hu/translations.xml @@ -36,6 +36,7 @@ "Vissza" "Hívás" "Mégse" + "Egyelőre nem" "Fénykép kiválasztása" "Törlés" "Bezárás" @@ -250,6 +251,7 @@ Ok: %1$s." "Figyelmeztetés" "A módosítások nem lettek mentve. Biztos, hogy visszalép?" "Menti a módosításokat?" + "A Matrix-kiszolgálót frissíteni kell a Matrix Authentication Service és a fióklétrehozás támogatásához." "Nem sikerült létrehozni az állandó hivatkozást" "Az %1$s nem tudta betölteni a térképet. Próbálja meg újra később." "Nem sikerült betölteni az üzeneteket" @@ -283,6 +285,12 @@ Ok: %1$s." "Kitűzött üzenetek" "Arra készül, hogy belépjen a(z) %1$s fiókjába, hogy visszaállítsa a személyazonosságát. Ezután vissza fog térni az alkalmazásba." "Nem tudja megerősíteni? Ugorjon a fiókjához, és állítsa vissza a személyazonosságát." + "Ellenőrzés visszavonása és elküldés" + "Visszavonhatja az ellenőrzést, és ennek ellenére elküldheti ezt az üzenetet, vagy egyelőre törölheti, és %1$s újbóli ellenőrzése után újra megpróbálhatja." + "Az üzenete nem lett elküldve, mert %1$s ellenőrzött személyazonossága megváltozott." + "Üzenet elküldése mindenképp" + "%1$s egy vagy több ellenőrizetlen eszközt használ. Így is elküldheti az üzenetet, vagy megszakíthatja most, és megpróbálhatja újra, miután %2$s ellenőrizte az összes eszközét." + "Az üzenet nem lett elküldve, mert %1$s nem ellenőrizte az összes eszközét" "Kitűzött üzenetek" "Nem sikerült feldolgozni a feltöltendő médiát, próbálja újra." "Nem sikerült letölteni a felhasználói adatokat" @@ -304,6 +312,8 @@ Ok: %1$s." "Megnyitás a Google Mapsben" "Megnyitás az OpenStreetMapen" "E hely megosztása" + "Az üzenet nem lett elküldve, mert %1$s ellenőrzött személyazonossága megváltozott." + "Az üzenet nem lett elküldve, mert %1$s nem ellenőrizte az összes eszközét." "Hely" "Verzió: %1$s (%2$s)" "hu" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index d55f7dc41c..8e2e7822bf 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -290,7 +290,7 @@ Reason: %1$s." "Your message was not sent because %1$s’s verified identity has changed" "Send message anyway" "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." - "Your message was not sent because %1$s has not verified one or more devices" + "Your message was not sent because %1$s has not verified all devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -313,7 +313,7 @@ Reason: %1$s." "Open in OpenStreetMap" "Share this location" "Message not sent because %1$s’s verified identity has changed." - "Message not sent because %1$s has not verified one or more devices." + "Message not sent because %1$s has not verified all devices." "Location" "Version: %1$s (%2$s)" "en" diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png index 9dc59b6bc0..6b5271c39f 100644 --- a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1519e48ee816d293367b106b9c0fb864ca4e91c5bacf9f6d005dfcd720976d6 -size 39245 +oid sha256:dbc451dbdbf48cbcf5851863970cfb2d5728d6ad1f0fbf8207b26cb9e8ace861 +size 39645 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png index 667b224dc4..2fd9274774 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:147cc98d5d7fb08ba2d6954bd9474adfe2006ee866a3852ff7b2368b11907d63 -size 51528 +oid sha256:dcd09b6f69e80f03ea6e81c64a7da582dc732a6288fb0660bddb6a2b4fe41a07 +size 51531 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png index 8c25a06e53..937f0b8b00 100644 --- a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae27a8ec38ca3a8a6157b6065018e8fb76d6a943456b6f186594393ce2e1bd1c -size 60488 +oid sha256:5b73f8ee5792e95bb189e3dfdb615e30d2089afb879ed05958245ddba0251aae +size 63856 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png index 939427e4d9..9d990d6e19 100644 --- a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70d9cbc012233cb9a0f538ae8634c24440afb92c5d7e38717215201ae62ada4a -size 56753 +oid sha256:54ad73d4aa324d71a5a6f718b8fb508b6a90aaf3f433f0e35ac621ca713ca0a1 +size 67574 diff --git a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png index b11f28b3dd..6b3a059bf1 100644 --- a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13b03b0125a0d3f6b44330a7ae2a49ac4139951371d4992c9b308f09c1afdeed -size 47269 +oid sha256:282e9afb40069c21fce9c8df11e9d1f98d07184fa0600ec8488b1a667ee0d1e0 +size 48184 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png index 46a6198a48..c262e144cb 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42ceb0bf684dcb97456ee904342afa81e966de5e595fbf741f26a25536f2700d -size 71135 +oid sha256:9fb3f15ba65c5bcc785dfbac0a51202a517cd04e38526d2ff7fcc41e63f80f68 +size 70437 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png index ac3fdcdf6d..dd41236040 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be22cf2ce23200a147bffc00d7bb7879957c046d44f97f46237783eeacfd6802 -size 54437 +oid sha256:8ba76ed706efff9b4dd95dac0cdd8c6034fa6265cbf18cc8a52bca3d10111e49 +size 53634 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png index a39ca0c09d..87bd3bbed3 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8334e9951e681fc87b1713ad9f2dee7b1bf288f479c9b77f026a7779ff3ad8d0 -size 71639 +oid sha256:7ff2ad4d9b49356877cf58160ffdca4867fe4aeaab74ac768760461649badd40 +size 70938 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png index d5a14dcbe8..33662ae687 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c730cf5ceebede7f6a9a02edad610ae9c7ec42e77a37cec222bda261b48cacc -size 42017 +oid sha256:57f314de86936d227316399b4d873b6d0cf72aa763b8eea3048c7580777301aa +size 41346 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 92f0a2a384..6ac9ca9bfe 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,41 +1,41 @@ // Generated file, do not edit export const screenshots = [ ["en","en-dark","de",], -["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19982,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19983,], ["features.invite.impl.response_AcceptDeclineInviteView_Day_0_en","features.invite.impl.response_AcceptDeclineInviteView_Night_0_en",0,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19982,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19982,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19982,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19982,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19983,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19983,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19983,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19983,], ["features.login.impl.accountprovider_AccountProviderView_Day_0_en","features.login.impl.accountprovider_AccountProviderView_Night_0_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_1_en","features.login.impl.accountprovider_AccountProviderView_Night_1_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_2_en","features.login.impl.accountprovider_AccountProviderView_Night_2_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_3_en","features.login.impl.accountprovider_AccountProviderView_Night_3_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_4_en","features.login.impl.accountprovider_AccountProviderView_Night_4_en",0,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19982,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19982,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19982,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19982,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19982,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19982,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19982,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19982,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19982,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19982,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19982,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19982,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19982,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19982,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19983,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19983,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19983,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19983,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19983,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19983,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19983,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19983,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19983,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19983,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19983,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19983,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19983,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19983,], ["libraries.designsystem.components.async_AsyncActionView_Day_0_en","libraries.designsystem.components.async_AsyncActionView_Night_0_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19982,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19983,], ["libraries.designsystem.components.async_AsyncActionView_Day_2_en","libraries.designsystem.components.async_AsyncActionView_Night_2_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19982,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19983,], ["libraries.designsystem.components.async_AsyncActionView_Day_4_en","libraries.designsystem.components.async_AsyncActionView_Night_4_en",0,], -["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19982,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19983,], ["libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncLoading_Day_0_en","libraries.designsystem.components.async_AsyncLoading_Night_0_en",0,], -["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19982,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19983,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_0_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_0_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_1_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_1_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_2_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_2_en",0,], @@ -45,11 +45,11 @@ export const screenshots = [ ["libraries.matrix.ui.components_AttachmentThumbnail_Day_6_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_6_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_7_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_7_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_8_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_8_en",0,], -["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19982,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19982,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19982,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19982,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19982,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19983,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19983,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19983,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19983,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19983,], ["libraries.designsystem.components.avatar_Avatar_Avatars_0_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_10_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_11_en","",0,], @@ -129,13 +129,13 @@ export const screenshots = [ ["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,], ["libraries.designsystem.components_BigCheckmark_Day_0_en","libraries.designsystem.components_BigCheckmark_Night_0_en",0,], ["libraries.designsystem.components_BigIcon_Day_0_en","libraries.designsystem.components_BigIcon_Night_0_en",0,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19982,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19982,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19983,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19983,], ["libraries.designsystem.components_BloomInitials_Day_0_en","libraries.designsystem.components_BloomInitials_Night_0_en",0,], ["libraries.designsystem.components_BloomInitials_Day_1_en","libraries.designsystem.components_BloomInitials_Night_1_en",0,], ["libraries.designsystem.components_BloomInitials_Day_2_en","libraries.designsystem.components_BloomInitials_Night_2_en",0,], @@ -146,93 +146,93 @@ export const screenshots = [ ["libraries.designsystem.components_BloomInitials_Day_7_en","libraries.designsystem.components_BloomInitials_Night_7_en",0,], ["libraries.designsystem.components_Bloom_Day_0_en","libraries.designsystem.components_Bloom_Night_0_en",0,], ["libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en","libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en",0,], -["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19982,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19982,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19982,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19982,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19982,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19983,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19983,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19983,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19983,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19983,], ["libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_ButtonRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonRowMolecule_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_0_en","features.call.impl.ui_CallScreenPipView_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_1_en","features.call.impl.ui_CallScreenPipView_Night_1_en",0,], ["features.call.impl.ui_CallScreenView_Day_0_en","features.call.impl.ui_CallScreenView_Night_0_en",0,], -["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19982,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19982,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19982,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19982,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19982,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19983,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19983,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19983,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19983,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19983,], ["features.login.impl.changeserver_ChangeServerView_Day_0_en","features.login.impl.changeserver_ChangeServerView_Night_0_en",0,], -["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19982,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19982,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19983,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19983,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19982,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19983,], ["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,], ["libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components_ClickableLinkText_Text_en","",0,], ["libraries.designsystem.theme_ColorAliases_Day_0_en","libraries.designsystem.theme_ColorAliases_Night_0_en",0,], ["libraries.textcomposer.components_ComposerOptionsButton_Day_0_en","libraries.textcomposer.components_ComposerOptionsButton_Night_0_en",0,], ["libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19982,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19982,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19983,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19983,], ["features.preferences.impl.developer.tracing_ConfigureTracingView_Day_0_en","features.preferences.impl.developer.tracing_ConfigureTracingView_Night_0_en",0,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19982,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19982,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19982,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19982,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19983,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19983,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19983,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19983,], ["libraries.designsystem.components.dialogs_ConfirmationDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_ConfirmationDialog_Day_0_en","libraries.designsystem.components.dialogs_ConfirmationDialog_Night_0_en",0,], ["features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en","features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en",0,], -["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19982,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19982,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19982,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19982,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19982,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19982,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19982,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19982,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19982,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19982,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19982,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19982,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19982,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19982,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19982,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19982,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19982,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19982,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19982,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19983,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19983,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19983,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19983,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19983,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19983,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19983,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19983,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19983,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19983,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19983,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19983,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19983,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19983,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19983,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19983,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19983,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19983,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19983,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_0_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_0_en",0,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19982,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19982,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19982,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19983,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19983,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19983,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_4_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_4_en",0,], -["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19982,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19982,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19982,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19983,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19983,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19983,], ["features.licenses.impl.details_DependenciesDetailsView_Day_0_en","features.licenses.impl.details_DependenciesDetailsView_Night_0_en",0,], -["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19982,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19982,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19982,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19982,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19982,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19982,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19982,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19983,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19983,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19983,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19983,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19983,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19983,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19983,], ["libraries.designsystem.theme.components_DialogWithDestructiveButton_Dialog with destructive button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithThirdButton_Dialog with third button_Dialogs_en","",0,], @@ -244,12 +244,12 @@ export const screenshots = [ ["libraries.designsystem.text_DpScale_1_0f__en","",0,], ["libraries.designsystem.text_DpScale_1_5f__en","",0,], ["libraries.designsystem.theme.components_DropdownMenuItem_Menus_en","",0,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19982,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19982,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19982,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19982,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19982,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19982,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19983,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19983,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19983,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19983,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19983,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19983,], ["libraries.matrix.ui.components_EditableAvatarView_Day_0_en","libraries.matrix.ui.components_EditableAvatarView_Night_0_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_1_en","libraries.matrix.ui.components_EditableAvatarView_Night_1_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_2_en","libraries.matrix.ui.components_EditableAvatarView_Night_2_en",0,], @@ -259,9 +259,9 @@ export const screenshots = [ ["libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en","libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiItem_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiItem_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiPicker_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiPicker_Night_0_en",0,], -["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19982,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19982,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19982,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19983,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19983,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19983,], ["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,], ["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,], ["libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en","",0,], @@ -272,15 +272,15 @@ export const screenshots = [ ["libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en","",0,], ["libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en","libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en",0,], ["features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en",0,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19982,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19982,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19982,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19983,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19983,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19983,], ["libraries.textcomposer.components_FormattingOption_Day_0_en","libraries.textcomposer.components_FormattingOption_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_0_en","features.messages.impl.forward_ForwardMessagesView_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_1_en","features.messages.impl.forward_ForwardMessagesView_Night_1_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_2_en","features.messages.impl.forward_ForwardMessagesView_Night_2_en",0,], -["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19982,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19982,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19983,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19983,], ["libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Night_0_en",0,], ["libraries.designsystem.components.button_GradientFloatingActionButton_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButton_Night_0_en",0,], ["features.messages.impl.timeline.components.group_GroupHeaderView_Day_0_en","features.messages.impl.timeline.components.group_GroupHeaderView_Night_0_en",0,], @@ -307,37 +307,37 @@ export const screenshots = [ ["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19982,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19983,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_5_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_5_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_6_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_6_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_7_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_7_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19982,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19983,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_9_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_9_en",0,], -["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19982,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19983,], ["libraries.designsystem.atomic.molecules_InfoListItemMolecule_Day_0_en","libraries.designsystem.atomic.molecules_InfoListItemMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.organisms_InfoListOrganism_Day_0_en","libraries.designsystem.atomic.organisms_InfoListOrganism_Night_0_en",0,], -["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19982,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19983,], ["features.joinroom.impl_JoinRoomView_Day_0_en","features.joinroom.impl_JoinRoomView_Night_0_en",0,], ["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",0,], -["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19982,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19982,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19983,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19983,], ["libraries.designsystem.components_LabelledCheckbox_Toggles_en","",0,], ["libraries.designsystem.components_LabelledOutlinedTextField_Day_0_en","libraries.designsystem.components_LabelledOutlinedTextField_Night_0_en",0,], ["libraries.designsystem.components_LabelledTextField_Day_0_en","libraries.designsystem.components_LabelledTextField_Night_0_en",0,], ["features.leaveroom.api_LeaveRoomView_Day_0_en","features.leaveroom.api_LeaveRoomView_Night_0_en",0,], -["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19982,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19982,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19982,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19982,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19982,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19982,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19983,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19983,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19983,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19983,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19983,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19983,], ["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components.dialogs_ListDialogContent_Dialogs_en","",0,], @@ -388,29 +388,29 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListSupportingTextSmallPadding_List supporting text - small padding_List sections_en","",0,], ["libraries.textcomposer.components_LiveWaveformView_Day_0_en","libraries.textcomposer.components_LiveWaveformView_Night_0_en",0,], ["appnav.room.joined_LoadingRoomNodeView_Day_0_en","appnav.room.joined_LoadingRoomNodeView_Night_0_en",0,], -["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19982,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19982,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19982,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19982,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19983,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19983,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19983,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19983,], ["appnav.loggedin_LoggedInView_Day_0_en","appnav.loggedin_LoggedInView_Night_0_en",0,], -["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19982,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19982,], -["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19982,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19982,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19982,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19982,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19982,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19982,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19982,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19982,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19982,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19982,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19982,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19982,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19982,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19982,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19983,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19983,], +["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19983,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19983,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19983,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19983,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19983,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19983,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19983,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19983,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19983,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19983,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19983,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19983,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19983,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19983,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19982,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19983,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Day_0_en","libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_0_en","libraries.matrix.ui.components_MatrixUserHeader_Night_0_en",0,], @@ -420,7 +420,7 @@ export const screenshots = [ ["libraries.mediaviewer.api.viewer_MediaViewerView_0_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_10_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_1_en","",0,], -["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19982,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19983,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -432,7 +432,7 @@ export const screenshots = [ ["libraries.textcomposer.mentions_MentionSpanTheme_Day_0_en","libraries.textcomposer.mentions_MentionSpanTheme_Night_0_en",0,], ["libraries.designsystem.theme.components.previews_Menu_Menus_en","",0,], ["features.messages.impl.messagecomposer_MessageComposerViewVoice_Day_0_en","features.messages.impl.messagecomposer_MessageComposerViewVoice_Night_0_en",0,], -["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19982,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19983,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_0_en","features.messages.impl.timeline.components_MessageEventBubble_Night_0_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_10_en","features.messages.impl.timeline.components_MessageEventBubble_Night_10_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_11_en","features.messages.impl.timeline.components_MessageEventBubble_Night_11_en",0,], @@ -449,7 +449,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_8_en","features.messages.impl.timeline.components_MessageEventBubble_Night_8_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_9_en","features.messages.impl.timeline.components_MessageEventBubble_Night_9_en",0,], -["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19982,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19983,], ["features.messages.impl.timeline.components_MessageStateEventContainer_Day_0_en","features.messages.impl.timeline.components_MessageStateEventContainer_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonAdd_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonAdd_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonExtra_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonExtra_Night_0_en",0,], @@ -457,25 +457,25 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessagesReactionButton_Day_1_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_1_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_2_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_2_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_3_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_3_en",0,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19982,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19982,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19982,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19982,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19982,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19982,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19982,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19982,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19982,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19982,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19982,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19982,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19982,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19982,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19982,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19982,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19982,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19983,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19983,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19983,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19983,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19983,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19983,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19983,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19983,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19983,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19983,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19983,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19983,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19983,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19983,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19983,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19983,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19983,], ["features.migration.impl_MigrationView_Day_0_en","features.migration.impl_MigrationView_Night_0_en",0,], -["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19982,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19983,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -484,29 +484,29 @@ export const screenshots = [ ["libraries.designsystem.components.list_MutipleSelectionListItemSelectedTrailingContent_Multiple selection List item - selection in trailing content_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItemSelected_Multiple selection List item - selection in supporting text_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItem_Multiple selection List item - no selection_List items_en","",0,], -["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19982,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19982,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19982,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19983,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19983,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19983,], ["libraries.oidc.impl.webview_OidcView_Day_0_en","libraries.oidc.impl.webview_OidcView_Night_0_en",0,], ["libraries.oidc.impl.webview_OidcView_Day_1_en","libraries.oidc.impl.webview_OidcView_Night_1_en",0,], ["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,], -["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19982,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19982,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19982,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19982,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19982,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19983,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19983,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19983,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19983,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19983,], ["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,], @@ -521,62 +521,62 @@ export const screenshots = [ ["libraries.designsystem.components_PageTitleWithIconFull_Day_3_en","libraries.designsystem.components_PageTitleWithIconFull_Night_3_en",0,], ["libraries.designsystem.components_PageTitleWithIconFull_Day_4_en","libraries.designsystem.components_PageTitleWithIconFull_Night_4_en",0,], ["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19982,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19982,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19982,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19982,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19982,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19983,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19983,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19983,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19983,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19983,], ["features.lockscreen.impl.components_PinEntryTextField_Day_0_en","features.lockscreen.impl.components_PinEntryTextField_Night_0_en",0,], ["libraries.designsystem.components_PinIcon_Day_0_en","libraries.designsystem.components_PinIcon_Night_0_en",0,], ["features.lockscreen.impl.unlock.keypad_PinKeypad_Day_0_en","features.lockscreen.impl.unlock.keypad_PinKeypad_Night_0_en",0,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19982,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19982,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19983,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19983,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_0_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_0_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19982,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19982,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19982,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19982,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19982,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19982,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19983,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19983,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19983,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19983,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19983,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19983,], ["libraries.designsystem.atomic.atoms_PlaceholderAtom_Day_0_en","libraries.designsystem.atomic.atoms_PlaceholderAtom_Night_0_en",0,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19982,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19982,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19982,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19982,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19982,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19983,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19983,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19983,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19983,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19983,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en",0,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en",0,], -["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19982,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19982,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19982,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19982,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19982,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19982,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19982,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19982,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19982,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19982,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19982,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19983,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19983,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19983,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19983,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19983,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19983,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19983,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19983,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19983,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19983,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19983,], ["features.poll.api.pollcontent_PollTitleView_Day_0_en","features.poll.api.pollcontent_PollTitleView_Night_0_en",0,], ["libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en","",0,], @@ -593,195 +593,195 @@ export const screenshots = [ ["libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en","",0,], -["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19982,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19982,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19982,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19982,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19983,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19983,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19983,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19983,], ["features.messages.impl.timeline.components.event_ProgressButton_Day_0_en","features.messages.impl.timeline.components.event_ProgressButton_Night_0_en",0,], -["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19982,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19982,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19982,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19982,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19982,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19982,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19982,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19982,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19982,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19982,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19982,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19982,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19983,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19983,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19983,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19983,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19983,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19983,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19983,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19983,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19983,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19983,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19983,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19983,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19982,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19982,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19983,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19983,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19982,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19982,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19982,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19982,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19982,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19982,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19982,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19983,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19983,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19983,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19983,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19983,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19983,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19983,], ["libraries.designsystem.atomic.atoms_RedIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_RedIndicatorAtom_Night_0_en",0,], ["features.messages.impl.timeline.components_ReplySwipeIndicator_Day_0_en","features.messages.impl.timeline.components_ReplySwipeIndicator_Night_0_en",0,], -["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19982,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19982,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19982,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19982,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19982,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19982,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19982,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19982,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19982,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19982,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19983,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19983,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19983,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19983,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19983,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19983,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19983,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19983,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19983,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19983,], ["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",0,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19982,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19983,], ["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en",0,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19982,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19982,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19982,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19982,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19982,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19983,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19983,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19983,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19983,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19983,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_0_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_0_en",0,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",0,], -["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19982,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19983,], ["features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en","features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en","features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgePositive_Day_0_en","features.roomdetails.impl.components_RoomBadgePositive_Night_0_en",0,], -["features.roomdetails.impl_RoomDetailsDark_0_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",19982,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19982,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19982,], -["features.roomdetails.impl_RoomDetails_0_en","",19982,], -["features.roomdetails.impl_RoomDetails_10_en","",19982,], -["features.roomdetails.impl_RoomDetails_11_en","",19982,], -["features.roomdetails.impl_RoomDetails_12_en","",19982,], -["features.roomdetails.impl_RoomDetails_13_en","",19982,], -["features.roomdetails.impl_RoomDetails_1_en","",19982,], -["features.roomdetails.impl_RoomDetails_2_en","",19982,], -["features.roomdetails.impl_RoomDetails_3_en","",19982,], -["features.roomdetails.impl_RoomDetails_4_en","",19982,], -["features.roomdetails.impl_RoomDetails_5_en","",19982,], -["features.roomdetails.impl_RoomDetails_6_en","",19982,], -["features.roomdetails.impl_RoomDetails_7_en","",19982,], -["features.roomdetails.impl_RoomDetails_8_en","",19982,], -["features.roomdetails.impl_RoomDetails_9_en","",19982,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19982,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19982,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19982,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19982,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19982,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19982,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",19983,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19983,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19983,], +["features.roomdetails.impl_RoomDetails_0_en","",19983,], +["features.roomdetails.impl_RoomDetails_10_en","",19983,], +["features.roomdetails.impl_RoomDetails_11_en","",19983,], +["features.roomdetails.impl_RoomDetails_12_en","",19983,], +["features.roomdetails.impl_RoomDetails_13_en","",19983,], +["features.roomdetails.impl_RoomDetails_1_en","",19983,], +["features.roomdetails.impl_RoomDetails_2_en","",19983,], +["features.roomdetails.impl_RoomDetails_3_en","",19983,], +["features.roomdetails.impl_RoomDetails_4_en","",19983,], +["features.roomdetails.impl_RoomDetails_5_en","",19983,], +["features.roomdetails.impl_RoomDetails_6_en","",19983,], +["features.roomdetails.impl_RoomDetails_7_en","",19983,], +["features.roomdetails.impl_RoomDetails_8_en","",19983,], +["features.roomdetails.impl_RoomDetails_9_en","",19983,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19983,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19983,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19983,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19983,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19983,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19983,], ["features.roomlist.impl.components_RoomListContentView_Day_2_en","features.roomlist.impl.components_RoomListContentView_Night_2_en",0,], -["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19982,], -["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19982,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19982,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19982,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19982,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19982,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19982,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19983,], +["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19983,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19983,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19983,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19983,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19983,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19983,], ["features.roomlist.impl.search_RoomListSearchContent_Day_0_en","features.roomlist.impl.search_RoomListSearchContent_Night_0_en",0,], -["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19982,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19982,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19982,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19982,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19982,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19982,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19982,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19982,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19982,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19982,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19982,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19983,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19983,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19983,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19983,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19983,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19983,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19983,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19983,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19983,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19983,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19983,], ["features.roomlist.impl_RoomListView_Day_8_en","features.roomlist.impl_RoomListView_Night_8_en",0,], ["features.roomlist.impl_RoomListView_Day_9_en","features.roomlist.impl_RoomListView_Night_9_en",0,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19982,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19982,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19982,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19983,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19983,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19983,], ["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",0,], -["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19982,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19982,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19983,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19983,], ["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19982,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19982,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19983,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19983,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_9_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_9_en",0,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19982,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19982,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19982,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19982,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19983,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19983,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19983,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19983,], ["features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_0_en","features.roomlist.impl.components_RoomSummaryRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_10_en","features.roomlist.impl.components_RoomSummaryRow_Night_10_en",0,], @@ -804,10 +804,10 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_26_en","features.roomlist.impl.components_RoomSummaryRow_Night_26_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_27_en","features.roomlist.impl.components_RoomSummaryRow_Night_27_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_28_en","features.roomlist.impl.components_RoomSummaryRow_Night_28_en",0,], -["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19982,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19982,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19982,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19982,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19983,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19983,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19983,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19983,], ["features.roomlist.impl.components_RoomSummaryRow_Day_3_en","features.roomlist.impl.components_RoomSummaryRow_Night_3_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_4_en","features.roomlist.impl.components_RoomSummaryRow_Night_4_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_5_en","features.roomlist.impl.components_RoomSummaryRow_Night_5_en",0,], @@ -815,64 +815,64 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_7_en","features.roomlist.impl.components_RoomSummaryRow_Night_7_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_8_en","features.roomlist.impl.components_RoomSummaryRow_Night_8_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_9_en","features.roomlist.impl.components_RoomSummaryRow_Night_9_en",0,], -["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19982,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19982,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19982,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19983,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19983,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19983,], ["appicon.element_RoundIcon_en","",0,], ["appicon.enterprise_RoundIcon_en","",0,], ["libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en","libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en",0,], -["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19982,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19982,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19982,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19983,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19983,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19983,], ["libraries.designsystem.theme.components_SearchBarActiveNoneQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithContent_Search views_en","",0,], -["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19982,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19983,], ["libraries.designsystem.theme.components_SearchBarActiveWithQueryNoBackButton_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarInactive_Search views_en","",0,], -["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19982,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",19982,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19982,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19982,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19982,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19982,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19982,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19982,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19982,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19982,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19982,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19982,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19982,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19982,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19982,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19983,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",19983,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19983,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19983,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19983,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19983,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19983,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19983,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19983,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19983,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19983,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19983,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19983,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19983,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19983,], ["libraries.matrix.ui.components_SelectedRoom_Day_0_en","libraries.matrix.ui.components_SelectedRoom_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedRoom_Day_1_en","libraries.matrix.ui.components_SelectedRoom_Night_1_en",0,], ["libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en","libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUser_Day_0_en","libraries.matrix.ui.components_SelectedUser_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en","libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en",0,], ["libraries.textcomposer.components_SendButton_Day_0_en","libraries.textcomposer.components_SendButton_Night_0_en",0,], -["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19982,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19982,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19982,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19982,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19982,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19983,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19983,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19983,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19983,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19983,], ["libraries.matrix.ui.messages.sender_SenderName_Day_0_en","libraries.matrix.ui.messages.sender_SenderName_Night_0_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_1_en","libraries.matrix.ui.messages.sender_SenderName_Night_1_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_2_en","libraries.matrix.ui.messages.sender_SenderName_Night_2_en",0,], @@ -882,40 +882,40 @@ export const screenshots = [ ["libraries.matrix.ui.messages.sender_SenderName_Day_6_en","libraries.matrix.ui.messages.sender_SenderName_Night_6_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_7_en","libraries.matrix.ui.messages.sender_SenderName_Night_7_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_8_en","libraries.matrix.ui.messages.sender_SenderName_Night_8_en",0,], -["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19982,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19982,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19982,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19982,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19982,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19982,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19982,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19983,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19983,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19983,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19983,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19983,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19983,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19983,], ["features.share.impl_ShareView_Day_0_en","features.share.impl_ShareView_Night_0_en",0,], ["features.share.impl_ShareView_Day_1_en","features.share.impl_ShareView_Night_1_en",0,], ["features.share.impl_ShareView_Day_2_en","features.share.impl_ShareView_Night_2_en",0,], -["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19982,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19983,], ["features.messages.impl.actionlist_SheetContent_Day_0_en","features.messages.impl.actionlist_SheetContent_Night_0_en",0,], ["features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19983,], ["features.messages.impl.actionlist_SheetContent_Day_1_en","features.messages.impl.actionlist_SheetContent_Night_1_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19982,], -["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19982,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19982,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19982,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19982,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19982,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19982,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19982,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19982,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19982,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19982,], +["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19983,], +["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19983,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19983,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19983,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19983,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19983,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19983,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19983,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19983,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19983,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19983,], ["libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en","libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en",0,], ["libraries.designsystem.components.list_SingleSelectionListItemCustomFormattert_Single selection List item - custom formatter_List items_en","",0,], @@ -924,7 +924,7 @@ export const screenshots = [ ["libraries.designsystem.components.list_SingleSelectionListItemUnselectedWithSupportingText_Single selection List item - no selection, supporting text_List items_en","",0,], ["libraries.designsystem.components.list_SingleSelectionListItem_Single selection List item - no selection_List items_en","",0,], ["libraries.designsystem.theme.components_Sliders_Sliders_en","",0,], -["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19982,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19983,], ["libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en","",0,], @@ -934,37 +934,37 @@ export const screenshots = [ ["libraries.designsystem.modifiers_SquareSizeModifierLargeHeight_en","",0,], ["libraries.designsystem.modifiers_SquareSizeModifierLargeWidth_en","",0,], ["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",0,], -["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19982,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19983,], ["features.location.api_StaticMapView_Day_0_en","features.location.api_StaticMapView_Night_0_en",0,], -["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19982,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19983,], ["libraries.designsystem.atomic.pages_SunsetPage_Day_0_en","libraries.designsystem.atomic.pages_SunsetPage_Night_0_en",0,], ["libraries.designsystem.components.button_SuperButton_Day_0_en","libraries.designsystem.components.button_SuperButton_Night_0_en",0,], ["libraries.designsystem.theme.components_Surface_en","",0,], ["libraries.designsystem.theme.components_Switch_Toggles_en","",0,], -["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19982,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19983,], ["libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonLarge_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMedium_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonSmall_Buttons_en","",0,], -["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19982,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19982,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19982,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19982,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19982,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19982,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19982,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19983,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19983,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19983,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19983,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19983,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19983,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19983,], ["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,], ["libraries.designsystem.theme.components_TextDark_Text_en","",0,], ["libraries.designsystem.theme.components_TextFieldDark_TextFields_en","",0,], @@ -976,26 +976,26 @@ export const screenshots = [ ["libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en","",0,], ["libraries.textcomposer.components_TextFormatting_Day_0_en","libraries.textcomposer.components_TextFormatting_Night_0_en",0,], ["libraries.designsystem.theme.components_TextLight_Text_en","",0,], -["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19982,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19982,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19982,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19983,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19983,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19983,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_0_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_1_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_2_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19982,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19982,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19983,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19983,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_5_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_6_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_6_en",0,], ["features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19983,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_0_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_1_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19982,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19982,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19983,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19983,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en","",0,], @@ -1003,16 +1003,16 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19982,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19983,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19982,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19983,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en",0,], @@ -1021,36 +1021,36 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19982,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19983,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19982,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19983,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19982,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19983,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19983,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_2_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemInformativeView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemInformativeView_Night_0_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19983,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19982,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19982,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19982,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19982,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19983,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19983,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19983,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19983,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19983,], ["features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19982,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19982,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19983,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19983,], ["features.messages.impl.timeline.components_TimelineItemReactionsView_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsView_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19982,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19983,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_0_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_0_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_2_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_2_en",0,], @@ -1059,8 +1059,8 @@ export const screenshots = [ ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19982,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19983,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19983,], ["features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStateView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStateView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en",0,], @@ -1072,7 +1072,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_4_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_5_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19982,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19983,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,], @@ -1094,84 +1094,84 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_9_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_9_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en",0,], -["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19982,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19983,], ["features.messages.impl.timeline_TimelineView_Day_10_en","features.messages.impl.timeline_TimelineView_Night_10_en",0,], -["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19982,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19983,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19983,], ["features.messages.impl.timeline_TimelineView_Day_2_en","features.messages.impl.timeline_TimelineView_Night_2_en",0,], ["features.messages.impl.timeline_TimelineView_Day_3_en","features.messages.impl.timeline_TimelineView_Night_3_en",0,], -["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19983,], ["features.messages.impl.timeline_TimelineView_Day_5_en","features.messages.impl.timeline_TimelineView_Night_5_en",0,], -["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19983,], ["features.messages.impl.timeline_TimelineView_Day_7_en","features.messages.impl.timeline_TimelineView_Night_7_en",0,], -["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19982,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19983,], ["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,], ["libraries.designsystem.theme.components_TopAppBar_App Bars_en","",0,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19982,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19982,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19983,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19983,], ["features.messages.impl.typing_TypingNotificationView_Day_0_en","features.messages.impl.typing_TypingNotificationView_Night_0_en",0,], -["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19982,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19982,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19982,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19982,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19982,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19982,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19983,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19983,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19983,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19983,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19983,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19983,], ["features.messages.impl.typing_TypingNotificationView_Day_7_en","features.messages.impl.typing_TypingNotificationView_Night_7_en",0,], ["features.messages.impl.typing_TypingNotificationView_Day_8_en","features.messages.impl.typing_TypingNotificationView_Night_8_en",0,], ["libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Night_0_en",0,], -["libraries.matrix.ui.components_UnresolvedUserRow_en","",19982,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",19983,], ["libraries.matrix.ui.components_UnsavedAvatar_Day_0_en","libraries.matrix.ui.components_UnsavedAvatar_Night_0_en",0,], ["libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en",0,], -["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19982,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19982,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19982,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19982,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19983,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19983,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19983,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19983,], ["features.createroom.impl.components_UserListView_Day_3_en","features.createroom.impl.components_UserListView_Night_3_en",0,], ["features.createroom.impl.components_UserListView_Day_4_en","features.createroom.impl.components_UserListView_Night_4_en",0,], ["features.createroom.impl.components_UserListView_Day_5_en","features.createroom.impl.components_UserListView_Night_5_en",0,], ["features.createroom.impl.components_UserListView_Day_6_en","features.createroom.impl.components_UserListView_Night_6_en",0,], -["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19982,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19983,], ["features.createroom.impl.components_UserListView_Day_8_en","features.createroom.impl.components_UserListView_Night_8_en",0,], -["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19982,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19983,], ["features.preferences.impl.user_UserPreferences_Day_0_en","features.preferences.impl.user_UserPreferences_Night_0_en",0,], ["features.preferences.impl.user_UserPreferences_Day_1_en","features.preferences.impl.user_UserPreferences_Night_1_en",0,], ["features.preferences.impl.user_UserPreferences_Day_2_en","features.preferences.impl.user_UserPreferences_Night_2_en",0,], ["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",0,], -["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19982,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19982,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19982,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19982,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19982,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19982,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19982,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19982,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19982,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19983,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19983,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19983,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19983,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19983,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19983,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19983,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19983,], +["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19983,], ["features.verifysession.impl_VerifySelfSessionView_Day_11_en","features.verifysession.impl_VerifySelfSessionView_Night_11_en",0,], ["features.verifysession.impl_VerifySelfSessionView_Day_12_en","features.verifysession.impl_VerifySelfSessionView_Night_12_en",0,], -["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19982,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19982,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19983,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19983,], ["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_0_en","features.viewfolder.impl.file_ViewFileView_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_1_en","features.viewfolder.impl.file_ViewFileView_Night_1_en",0,], @@ -1186,6 +1186,6 @@ export const screenshots = [ ["libraries.textcomposer.components_VoiceMessageRecording_Day_0_en","libraries.textcomposer.components_VoiceMessageRecording_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessage_Day_0_en","libraries.textcomposer.components_VoiceMessage_Night_0_en",0,], ["libraries.designsystem.components.media_WaveformPlaybackView_Day_0_en","libraries.designsystem.components.media_WaveformPlaybackView_Night_0_en",0,], -["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19982,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19983,], ["libraries.designsystem.ruler_WithRulers_Day_0_en","libraries.designsystem.ruler_WithRulers_Night_0_en",0,], ]; diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png index 362a9d5f95..aad99c4b83 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dccf918b02e10cc95f48de10ed7fbbf1d09fed2629d73ec09308a6604c02c0e3 -size 47777 +oid sha256:67210d5b8bba63c7c18013967fba0ffe92b1263733f66f26f864c6b52d73783a +size 46864 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png index b028117445..3ec416c537 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa076d0959c240108d948841358a5f485f3ab53d470de58c9c81e6d0b32cbd43 -size 46843 +oid sha256:f3dea9d5bd54cd6342a6d243760e383e39db8998a0caa25fb3dfb0547789efbe +size 45864 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png index 8b48d2c346..b10cbcbcac 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad9fa358acfb3257129c6ad0966af876cb469bab06969bef1e56b286ce99fe8b -size 58822 +oid sha256:91368f180f0dc431efed5f4a628a700a87aa3571bd5b49747171b6cfbc6fd464 +size 56981 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png index 7056928a24..42a57b0ba4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5704cb8201901bcb0a4a3a28a21390133fe1010fb928cae94530a2900f01e336 -size 57172 +oid sha256:6d632744706c96f51c14171b74f34e1be8f97aaefcd9f8173e7b03b7b458430d +size 55532 From d700bcf71ff5603ae2bb8b4485249ca623095903 Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:44:31 +0000 Subject: [PATCH 054/122] Sync Strings from Localazy --- .../impl/src/main/res/values-de/translations.xml | 7 +++---- ...ackup.impl.disable_SecureBackupDisableView_Day_0_de.png | 4 ++-- ...ackup.impl.disable_SecureBackupDisableView_Day_1_de.png | 4 ++-- ...ackup.impl.disable_SecureBackupDisableView_Day_2_de.png | 4 ++-- ...ackup.impl.disable_SecureBackupDisableView_Day_3_de.png | 4 ++-- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index 9589aa0534..3b95814763 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -33,10 +33,9 @@ "Ausschalten" "Du verlierst deine verschlüsselten Nachrichten, wenn du auf allen Geräten abgemeldet bist." "Bist du sicher, dass du das Backup deaktivieren willst?" - "Wenn du das Backup deaktivierst, wird dein aktuelles Backup des Verschlüsselungsschlüssels entfernt und andere Sicherheitsfunktionen werden deaktiviert. -Das bedeutet:" - "Keine Historie für verschlüsselte Nachrichten auf neuen Geräten ." - "Zugriff auf deine verschlüsselten Nachrichten verlieren, wenn du dich überall von %1$s abmeldest" + "Wenn du das Backup deaktivierst, wird dein aktuelles Schlüssel Backup für die Verschlüsselung entfernt und andere Sicherheitsfunktionen werden deaktiviert. Das bedeutet:" + "Keinen Nachrichtenverlauf für verschlüsselte Nachrichten auf neuen Geräten ." + "Verlust des Zugriffs auf Deine verschlüsselten Nachrichten, wenn Du Dich überall von %1$s abmeldest" "Bist du sicher, dass du das Backup deaktivieren willst?" "Hier kannst Du einen neuen Wiederherstellungsschlüssel erstellen. Nachdem Du einen neuen Wiederherstellungsschlüssel erstellt hast, funktioniert dein alter Schlüssel nicht mehr." "Wiederherstellungsschlüssel erstellen" diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png index c262e144cb..e2838bdd57 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fb3f15ba65c5bcc785dfbac0a51202a517cd04e38526d2ff7fcc41e63f80f68 -size 70437 +oid sha256:5108d337185d1cd70063fbf34a5510a5e3d441f001f164f61042bbd2fbe93e1f +size 72102 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png index dd41236040..dfb1308cdd 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ba76ed706efff9b4dd95dac0cdd8c6034fa6265cbf18cc8a52bca3d10111e49 -size 53634 +oid sha256:857e94824a054038e372ddfc47b64e3132f1ea9d35da6de8f371c7a5ce67fef5 +size 54421 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png index 87bd3bbed3..e64607ce87 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ff2ad4d9b49356877cf58160ffdca4867fe4aeaab74ac768760461649badd40 -size 70938 +oid sha256:7fa5a407d658c99463e30074041a643d6e826427b5171061e345af5419f9bbbf +size 72612 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png index 33662ae687..69f9af3f5c 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57f314de86936d227316399b4d873b6d0cf72aa763b8eea3048c7580777301aa -size 41346 +oid sha256:770cb9396ba855398d65d18e7794c771b8cfc26aa73a7dcb04b49ac3bacd63ac +size 41944 From 8a655de6913bda8b3c76cb3a7f332a51e15d8061 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 14:00:36 +0200 Subject: [PATCH 055/122] Adding fastlane file for version 0.6.1 --- fastlane/metadata/android/en-US/changelogs/40006010.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006010.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006010.txt b/fastlane/metadata/android/en-US/changelogs/40006010.txt new file mode 100644 index 0000000000..0574894881 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006010.txt @@ -0,0 +1,2 @@ +Element X is the new generation of Element for professional and personal use on mobile. It’s the fastest Matrix client with a seamless & intuitive user interface. +Full changelog: https://github.com/element-hq/element-x-android/releases From fe5c08108e68121bee2025f833f5f715de8078a7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 14:02:39 +0200 Subject: [PATCH 056/122] version++ --- plugins/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index 0ea95396de..c2e6f2d5c3 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 1 +private const val versionPatch = 2 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From b94a5c9c516ebd952b836064650e5c953d76f083 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 14:36:12 +0200 Subject: [PATCH 057/122] Changelog for version 0.6.1 --- CHANGES.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 0cd6932883..e4215c9fda 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,29 @@ +Changes in Element X v0.6.1 (2024-09-17) +======================================== + +### ✨ Features +* Add forced logout flow when the proxy is no longer available by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3458 +* Temporary account creation using Element Web. by @bmarty in https://github.com/element-hq/element-x-android/pull/3467 + +### 🙌 Improvements +* Feature/valere/invisible crypto feature flag by @BillCarsonFr in https://github.com/element-hq/element-x-android/pull/3451 +* Require acknowledgement to send to a verified user if their identity changed or if a device is unverified. by @ganfra in https://github.com/element-hq/element-x-android/pull/3461 +* Update pinned message actions by @ganfra in https://github.com/element-hq/element-x-android/pull/3438 + +### 🐛 Bugfixes +* Fix events blinking at the beginning of DM by @bmarty in https://github.com/element-hq/element-x-android/pull/3449 +* Fix not being able to decline an invite from the room list by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3466 + +### 🗣 Translations +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3464 +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3469 +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3476 +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3477 + +### Others +* Upgrade Rust sdk to 0.2.45 by @bmarty in https://github.com/element-hq/element-x-android/pull/3472 +* SDK 0.2.46 by @bmarty in https://github.com/element-hq/element-x-android/pull/3475 + Changes in Element X v0.6.0 (2024-09-12) ======================================== From cbb5e0ffed3be44d5b6047ca4a2e92779979fc8c Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 17 Sep 2024 16:17:08 +0200 Subject: [PATCH 058/122] Resolve send failure verification : fix crash when dismissing. --- .../resolve/ResolveVerifiedUserSendFailureView.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index 4c1d40cc87..e0d964fa51 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -118,7 +118,7 @@ private fun VerifiedUserSendFailure.title(): String { id = CommonStrings.screen_resolve_send_failure_changed_identity_title, userDisplayName ) - VerifiedUserSendFailure.None -> error("This method should never be called for this state") + VerifiedUserSendFailure.None -> "" } } @@ -134,7 +134,7 @@ private fun VerifiedUserSendFailure.subtitle(): String { id = CommonStrings.screen_resolve_send_failure_changed_identity_subtitle, userDisplayName ) - VerifiedUserSendFailure.None -> error("This method should never be called for this state") + VerifiedUserSendFailure.None -> "" } } @@ -143,7 +143,7 @@ private fun VerifiedUserSendFailure.resolveAction(): String { return when (this) { is VerifiedUserSendFailure.UnsignedDevice -> stringResource(id = CommonStrings.screen_resolve_send_failure_unsigned_device_primary_button_title) is VerifiedUserSendFailure.ChangedIdentity -> stringResource(id = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title) - VerifiedUserSendFailure.None -> error("This method should never be called for this state") + VerifiedUserSendFailure.None -> "" } } From b87bec622894f7c02438e17a595eb9e82ae2348c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 13:19:46 +0200 Subject: [PATCH 059/122] Account deactivation. --- features/deactivation/api/build.gradle.kts | 17 + .../api/AccountDeactivationEntryPoint.kt | 12 + features/deactivation/impl/build.gradle.kts | 49 +++ .../logout/impl/AccountDeactivationEvents.kt | 15 + .../logout/impl/AccountDeactivationNode.kt | 35 ++ .../impl/AccountDeactivationPresenter.kt | 84 +++++ .../logout/impl/AccountDeactivationState.kt | 32 ++ .../impl/AccountDeactivationStateProvider.kt | 52 +++ .../logout/impl/AccountDeactivationView.kt | 324 ++++++++++++++++++ .../DefaultAccountDeactivationEntryPoint.kt | 23 ++ .../ui/AccountDeactivationActionDialog.kt | 43 +++ .../AccountDeactivationConfirmationDialog.kt | 29 ++ .../impl/src/main/res/values/localazy.xml | 12 + .../impl/AccountDeactivationPresenterTest.kt | 157 +++++++++ .../impl/AccountDeactivationViewTest.kt | 52 +++ features/preferences/impl/build.gradle.kts | 1 + .../preferences/impl/PreferencesFlowNode.kt | 12 + .../impl/root/PreferencesRootNode.kt | 6 + .../impl/root/PreferencesRootPresenter.kt | 8 + .../impl/root/PreferencesRootState.kt | 1 + .../impl/root/PreferencesRootStateProvider.kt | 1 + .../impl/root/PreferencesRootView.kt | 12 + .../impl/root/PreferencesRootPresenterTest.kt | 34 +- .../atomic/organisms/InfoListOrganism.kt | 3 +- .../libraries/matrix/api/MatrixClient.kt | 3 + .../libraries/matrix/impl/RustMatrixClient.kt | 43 +++ .../libraries/matrix/test/FakeMatrixClient.kt | 8 + .../src/main/res/values/localazy.xml | 6 + tools/localazy/config.json | 6 + 29 files changed, 1071 insertions(+), 9 deletions(-) create mode 100644 features/deactivation/api/build.gradle.kts create mode 100644 features/deactivation/api/src/main/kotlin/io/element/android/features/deactivation/api/AccountDeactivationEntryPoint.kt create mode 100644 features/deactivation/impl/build.gradle.kts create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationEvents.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationNode.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenter.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationState.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationActionDialog.kt create mode 100644 features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationConfirmationDialog.kt create mode 100644 features/deactivation/impl/src/main/res/values/localazy.xml create mode 100644 features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenterTest.kt create mode 100644 features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt diff --git a/features/deactivation/api/build.gradle.kts b/features/deactivation/api/build.gradle.kts new file mode 100644 index 0000000000..25d59790e5 --- /dev/null +++ b/features/deactivation/api/build.gradle.kts @@ -0,0 +1,17 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ +plugins { + id("io.element.android-compose-library") +} + +android { + namespace = "io.element.android.features.deactivation.api" +} + +dependencies { + implementation(projects.libraries.architecture) +} diff --git a/features/deactivation/api/src/main/kotlin/io/element/android/features/deactivation/api/AccountDeactivationEntryPoint.kt b/features/deactivation/api/src/main/kotlin/io/element/android/features/deactivation/api/AccountDeactivationEntryPoint.kt new file mode 100644 index 0000000000..5865f1a2b8 --- /dev/null +++ b/features/deactivation/api/src/main/kotlin/io/element/android/features/deactivation/api/AccountDeactivationEntryPoint.kt @@ -0,0 +1,12 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.deactivation.api + +import io.element.android.libraries.architecture.SimpleFeatureEntryPoint + +interface AccountDeactivationEntryPoint : SimpleFeatureEntryPoint diff --git a/features/deactivation/impl/build.gradle.kts b/features/deactivation/impl/build.gradle.kts new file mode 100644 index 0000000000..6e19a485d4 --- /dev/null +++ b/features/deactivation/impl/build.gradle.kts @@ -0,0 +1,49 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +plugins { + id("io.element.android-compose-library") + alias(libs.plugins.anvil) + id("kotlin-parcelize") +} + +android { + namespace = "io.element.android.features.deactivation.impl" + + testOptions { + unitTests { + isIncludeAndroidResources = true + } + } +} + +anvil { + generateDaggerFactories.set(true) +} + +dependencies { + implementation(projects.anvilannotations) + anvil(projects.anvilcodegen) + implementation(projects.libraries.androidutils) + implementation(projects.libraries.core) + implementation(projects.libraries.architecture) + implementation(projects.libraries.matrix.api) + implementation(projects.libraries.designsystem) + implementation(projects.libraries.uiStrings) + api(projects.features.deactivation.api) + + testImplementation(libs.test.junit) + testImplementation(libs.coroutines.test) + testImplementation(libs.molecule.runtime) + testImplementation(libs.test.truth) + testImplementation(libs.test.turbine) + testImplementation(libs.test.robolectric) + testImplementation(libs.androidx.compose.ui.test.junit) + testReleaseImplementation(libs.androidx.compose.ui.test.manifest) + testImplementation(projects.libraries.matrix.test) + testImplementation(projects.tests.testutils) +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationEvents.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationEvents.kt new file mode 100644 index 0000000000..35be3f4bf2 --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationEvents.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +sealed interface AccountDeactivationEvents { + data class SetEraseData(val eraseData: Boolean) : AccountDeactivationEvents + data class SetPassword(val password: String) : AccountDeactivationEvents + data class DeactivateAccount(val isRetry: Boolean) : AccountDeactivationEvents + data object CloseDialogs : AccountDeactivationEvents +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationNode.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationNode.kt new file mode 100644 index 0000000000..0faad3ad20 --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationNode.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.bumble.appyx.core.plugin.Plugin +import dagger.assisted.Assisted +import dagger.assisted.AssistedInject +import io.element.android.anvilannotations.ContributesNode +import io.element.android.libraries.di.SessionScope + +@ContributesNode(SessionScope::class) +class AccountDeactivationNode @AssistedInject constructor( + @Assisted buildContext: BuildContext, + @Assisted plugins: List, + private val presenter: AccountDeactivationPresenter, +) : Node(buildContext, plugins = plugins) { + @Composable + override fun View(modifier: Modifier) { + val state = presenter.present() + AccountDeactivationView( + state = state, + onBackClick = ::navigateUp, + modifier = modifier, + ) + } +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenter.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenter.kt new file mode 100644 index 0000000000..8f0e895524 --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenter.kt @@ -0,0 +1,84 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.architecture.runCatchingUpdatingState +import io.element.android.libraries.matrix.api.MatrixClient +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch +import javax.inject.Inject + +class AccountDeactivationPresenter @Inject constructor( + private val matrixClient: MatrixClient, +) : Presenter { + @Composable + override fun present(): AccountDeactivationState { + val localCoroutineScope = rememberCoroutineScope() + val action: MutableState> = remember { + mutableStateOf(AsyncAction.Uninitialized) + } + + val formState = remember { mutableStateOf(DeactivateFormState.Default) } + + fun handleEvents(event: AccountDeactivationEvents) { + when (event) { + is AccountDeactivationEvents.SetEraseData -> { + updateFormState(formState) { + copy(eraseData = event.eraseData) + } + } + is AccountDeactivationEvents.SetPassword -> { + updateFormState(formState) { + copy(password = event.password) + } + } + is AccountDeactivationEvents.DeactivateAccount -> + if (action.value.isConfirming() || event.isRetry) { + localCoroutineScope.deactivateAccount( + formState = formState.value, + action + ) + } else { + action.value = AsyncAction.Confirming + } + AccountDeactivationEvents.CloseDialogs -> { + action.value = AsyncAction.Uninitialized + } + } + } + + return AccountDeactivationState( + deactivateFormState = formState.value, + accountDeactivationAction = action.value, + eventSink = ::handleEvents + ) + } + + private fun updateFormState(formState: MutableState, updateLambda: DeactivateFormState.() -> DeactivateFormState) { + formState.value = updateLambda(formState.value) + } + + private fun CoroutineScope.deactivateAccount( + formState: DeactivateFormState, + action: MutableState>, + ) = launch { + suspend { + matrixClient.deactivateAccount( + password = formState.password, + eraseData = formState.eraseData, + ).getOrThrow() + }.runCatchingUpdatingState(action) + } +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationState.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationState.kt new file mode 100644 index 0000000000..5504c3b0bf --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationState.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import android.os.Parcelable +import io.element.android.libraries.architecture.AsyncAction +import kotlinx.parcelize.Parcelize + +data class AccountDeactivationState( + val deactivateFormState: DeactivateFormState, + val accountDeactivationAction: AsyncAction, + val eventSink: (AccountDeactivationEvents) -> Unit, +) { + val submitEnabled: Boolean + get() = accountDeactivationAction is AsyncAction.Uninitialized && + deactivateFormState.password.isNotEmpty() +} + +@Parcelize +data class DeactivateFormState( + val eraseData: Boolean, + val password: String +) : Parcelable { + companion object { + val Default = DeactivateFormState(false, "") + } +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt new file mode 100644 index 0000000000..07ef6590bb --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt @@ -0,0 +1,52 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.architecture.AsyncAction + +open class AccountDeactivationStateProvider : PreviewParameterProvider { + private val filledForm = aDeactivateFormState(eraseData = true, password = "password") + override val values: Sequence + get() = sequenceOf( + anAccountDeactivationState(), + anAccountDeactivationState( + deactivateFormState = filledForm + ), + anAccountDeactivationState( + deactivateFormState = filledForm, + accountDeactivationAction = AsyncAction.Confirming, + ), + anAccountDeactivationState( + deactivateFormState = filledForm, + accountDeactivationAction = AsyncAction.Loading + ), + anAccountDeactivationState( + deactivateFormState = filledForm, + accountDeactivationAction = AsyncAction.Failure(Exception("Failed to deactivate account")) + ), + ) +} + +internal fun aDeactivateFormState( + eraseData: Boolean = false, + password: String = "", +) = DeactivateFormState( + eraseData = eraseData, + password = password, +) + +internal fun anAccountDeactivationState( + deactivateFormState: DeactivateFormState = aDeactivateFormState(), + accountDeactivationAction: AsyncAction = AsyncAction.Uninitialized, + eventSink: (AccountDeactivationEvents) -> Unit = {}, +) = AccountDeactivationState( + deactivateFormState = deactivateFormState, + accountDeactivationAction = accountDeactivationAction, + eventSink = eventSink, +) diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt new file mode 100644 index 0000000000..c46461580b --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt @@ -0,0 +1,324 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +@file:OptIn(ExperimentalComposeUiApi::class) + +package io.element.android.features.logout.impl + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.consumeWindowInsets +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.imePadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.ExperimentalComposeUiApi +import androidx.compose.ui.Modifier +import androidx.compose.ui.autofill.AutofillType +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.input.PasswordVisualTransformation +import androidx.compose.ui.text.input.VisualTransformation +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.deactivation.impl.R +import io.element.android.features.logout.impl.ui.AccountDeactivationActionDialog +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.designsystem.atomic.organisms.InfoListItem +import io.element.android.libraries.designsystem.atomic.organisms.InfoListOrganism +import io.element.android.libraries.designsystem.components.button.BackButton +import io.element.android.libraries.designsystem.components.form.textFieldState +import io.element.android.libraries.designsystem.components.list.SwitchListItem +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.aliasScreenTitle +import io.element.android.libraries.designsystem.theme.components.Button +import io.element.android.libraries.designsystem.theme.components.Icon +import io.element.android.libraries.designsystem.theme.components.IconButton +import io.element.android.libraries.designsystem.theme.components.OutlinedTextField +import io.element.android.libraries.designsystem.theme.components.Scaffold +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TopAppBar +import io.element.android.libraries.designsystem.theme.components.autofill +import io.element.android.libraries.designsystem.theme.components.onTabOrEnterKeyFocusNext +import io.element.android.libraries.ui.strings.CommonStrings +import kotlinx.collections.immutable.persistentListOf + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun AccountDeactivationView( + state: AccountDeactivationState, + onBackClick: () -> Unit, + modifier: Modifier = Modifier, +) { + val eventSink = state.eventSink + + Scaffold( + modifier = modifier, + topBar = { + TopAppBar( + navigationIcon = { + BackButton(onClick = onBackClick) + }, + title = { + Text( + text = stringResource(R.string.screen_deactivate_account_title), + style = ElementTheme.typography.aliasScreenTitle, + ) + }, + ) + }, + ) { padding -> + val scrollState = rememberScrollState() + Column( + modifier = Modifier + .imePadding() + .padding(padding) + .consumeWindowInsets(padding) + .verticalScroll(state = scrollState) + .padding(vertical = 16.dp, horizontal = 20.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + Content( + state = state, + onSubmitClick = { + eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + } + ) + Spacer(modifier = Modifier.height(32.dp)) + Buttons( + state = state, + onSubmitClick = { + eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + } + ) + } + } + AccountDeactivationActionDialog( + state.accountDeactivationAction, + onConfirmClick = { + eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + }, + onRetryClick = { + eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = true)) + }, + onDismissDialog = { + eventSink(AccountDeactivationEvents.CloseDialogs) + }, + ) +} + +@Composable +private fun ColumnScope.Buttons( + state: AccountDeactivationState, + onSubmitClick: () -> Unit, +) { + val logoutAction = state.accountDeactivationAction + Button( + text = stringResource(CommonStrings.action_deactivate), + showProgress = logoutAction is AsyncAction.Loading, + destructive = true, + enabled = state.submitEnabled, + modifier = Modifier.fillMaxWidth(), + onClick = onSubmitClick, + ) +} + +@Composable +private fun Content( + state: AccountDeactivationState, + onSubmitClick: () -> Unit, +) { + val isLoading by remember(state.deactivateFormState) { + derivedStateOf { + state.accountDeactivationAction is AsyncAction.Loading + } + } + val eraseData = state.deactivateFormState.eraseData + var passwordFieldState by textFieldState(stateValue = state.deactivateFormState.password) + + val focusManager = LocalFocusManager.current + val eventSink = state.eventSink + + Column( + modifier = Modifier.fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + Text( + text = stringResource(R.string.screen_deactivate_account_description), + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textSecondary, + ) + InfoListOrganism( + items = persistentListOf( + InfoListItem( + message = stringResource(R.string.screen_deactivate_account_list_item_1), + iconComposable = { + Icon( + modifier = Modifier.size(20.dp), + imageVector = CompoundIcons.Close(), + contentDescription = null, + tint = ElementTheme.colors.iconCriticalPrimary, + ) + }, + iconVector = CompoundIcons.Close(), + ), + InfoListItem( + message = stringResource(R.string.screen_deactivate_account_list_item_2), + iconComposable = { + Icon( + modifier = Modifier.size(20.dp), + imageVector = CompoundIcons.Close(), + contentDescription = null, + tint = ElementTheme.colors.iconCriticalPrimary, + ) + }, + ), + InfoListItem( + message = stringResource(R.string.screen_deactivate_account_list_item_3), + iconComposable = { + Icon( + modifier = Modifier.size(20.dp), + imageVector = CompoundIcons.Close(), + contentDescription = null, + tint = ElementTheme.colors.iconCriticalPrimary, + ) + }, + ), + InfoListItem( + message = stringResource(R.string.screen_deactivate_account_list_item_4), + iconComposable = { + Icon( + modifier = Modifier.size(20.dp), + imageVector = CompoundIcons.Check(), + contentDescription = null, + tint = ElementTheme.colors.iconSuccessPrimary, + ) + }, + ), + ), + textStyle = ElementTheme.typography.fontBodyMdRegular, + textColor = ElementTheme.colors.textSecondary, + iconTint = ElementTheme.colors.iconSuccessPrimary, + backgroundColor = Color.Transparent, + ) + + Column { + SwitchListItem( + headline = stringResource(R.string.screen_deactivate_account_delete_all_messages), + value = eraseData, + onChange = { + eventSink(AccountDeactivationEvents.SetEraseData(it)) + }, + enabled = !isLoading, + ) + Text( + modifier = Modifier.padding(start = 16.dp), + text = stringResource(R.string.screen_deactivate_account_delete_all_messages_notice), + style = ElementTheme.typography.fontBodySmRegular, + color = ElementTheme.colors.textSecondary, + ) + } + + Column( + modifier = Modifier + .fillMaxWidth() + .padding(top = 16.dp), + ) { + Text( + text = stringResource(CommonStrings.action_confirm_password), + style = ElementTheme.typography.fontBodySmMedium, + color = ElementTheme.colors.textSecondary, + ) + var passwordVisible by remember { mutableStateOf(false) } + if (isLoading) { + // Ensure password is hidden when user submits the form + passwordVisible = false + } + OutlinedTextField( + value = passwordFieldState, + readOnly = isLoading, + modifier = Modifier + .padding(top = 8.dp) + .fillMaxWidth() + .onTabOrEnterKeyFocusNext(focusManager) + .autofill( + autofillTypes = listOf(AutofillType.Password), + onFill = { + val sanitized = it.sanitize() + passwordFieldState = sanitized + eventSink(AccountDeactivationEvents.SetPassword(sanitized)) + } + ), + onValueChange = { + val sanitized = it.sanitize() + passwordFieldState = sanitized + eventSink(AccountDeactivationEvents.SetPassword(sanitized)) + }, + placeholder = { + Text(text = stringResource(CommonStrings.common_password)) + }, + visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), + trailingIcon = { + val image = + if (passwordVisible) CompoundIcons.VisibilityOn() else CompoundIcons.VisibilityOff() + val description = + if (passwordVisible) stringResource(CommonStrings.a11y_hide_password) else stringResource(CommonStrings.a11y_show_password) + + IconButton(onClick = { passwordVisible = !passwordVisible }) { + Icon(imageVector = image, description) + } + }, + keyboardOptions = KeyboardOptions( + keyboardType = KeyboardType.Password, + imeAction = ImeAction.Done, + ), + keyboardActions = KeyboardActions( + onDone = { onSubmitClick() } + ), + singleLine = true, + ) + } + } +} + +/** + * Ensure that the string does not contain any new line characters, which can happen when pasting values. + */ +private fun String.sanitize(): String { + return replace("\n", "") +} + +@PreviewsDayNight +@Composable +internal fun AccountDeactivationViewPreview( + @PreviewParameter(AccountDeactivationStateProvider::class) state: AccountDeactivationState, +) = ElementPreview { + AccountDeactivationView( + state, + onBackClick = {}, + ) +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt new file mode 100644 index 0000000000..dd9197684c --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.features.deactivation.api.AccountDeactivationEntryPoint +import io.element.android.libraries.architecture.createNode +import io.element.android.libraries.di.AppScope +import javax.inject.Inject + +@ContributesBinding(AppScope::class) +class DefaultAccountDeactivationEntryPoint @Inject constructor() : AccountDeactivationEntryPoint { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { + return parentNode.createNode(buildContext) + } +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationActionDialog.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationActionDialog.kt new file mode 100644 index 0000000000..8fcd9557cf --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationActionDialog.kt @@ -0,0 +1,43 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl.ui + +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.stringResource +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.designsystem.components.ProgressDialog +import io.element.android.libraries.designsystem.components.dialogs.RetryDialog +import io.element.android.libraries.ui.strings.CommonStrings + +@Composable +fun AccountDeactivationActionDialog( + state: AsyncAction, + onConfirmClick: () -> Unit, + onRetryClick: () -> Unit, + onDismissDialog: () -> Unit, +) { + when (state) { + AsyncAction.Uninitialized -> + Unit + AsyncAction.Confirming -> + AccountDeactivationConfirmationDialog( + onSubmitClick = onConfirmClick, + onDismiss = onDismissDialog + ) + is AsyncAction.Loading -> + ProgressDialog(text = stringResource(CommonStrings.common_please_wait)) + is AsyncAction.Failure -> + RetryDialog( + title = stringResource(id = CommonStrings.dialog_title_error), + content = stringResource(id = CommonStrings.error_unknown), + onRetry = onRetryClick, + onDismiss = onDismissDialog, + ) + is AsyncAction.Success -> Unit + } +} diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationConfirmationDialog.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationConfirmationDialog.kt new file mode 100644 index 0000000000..18a79c8ed5 --- /dev/null +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/ui/AccountDeactivationConfirmationDialog.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl.ui + +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.stringResource +import io.element.android.features.deactivation.impl.R +import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog +import io.element.android.libraries.ui.strings.CommonStrings + +@Composable +fun AccountDeactivationConfirmationDialog( + onSubmitClick: () -> Unit, + onDismiss: () -> Unit, +) { + ConfirmationDialog( + title = stringResource(id = R.string.screen_deactivate_account_title), + content = stringResource(R.string.screen_deactivate_account_confirmation_dialog_content), + submitText = stringResource(id = CommonStrings.action_deactivate), + onSubmitClick = onSubmitClick, + onDismiss = onDismiss, + destructiveSubmit = true, + ) +} diff --git a/features/deactivation/impl/src/main/res/values/localazy.xml b/features/deactivation/impl/src/main/res/values/localazy.xml new file mode 100644 index 0000000000..5088a41c61 --- /dev/null +++ b/features/deactivation/impl/src/main/res/values/localazy.xml @@ -0,0 +1,12 @@ + + + "Please confirm that you want to deactivate your account. This action cannot be undone." + "Delete all my messages" + "Warning: Future users may see incomplete conversations." + "Deactivating your account is irreversible, it will:" + "Permanently disable your account (you can\'t log back in, and your ID can\'t be reused)." + "Remove you from all chat rooms." + "Delete your account information from our identity server." + "Your messages will still be visible to registered users but won’t be available to new or unregistered users if you choose to delete them." + "Account deactivation" + diff --git a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenterTest.kt b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenterTest.kt new file mode 100644 index 0000000000..b34ac2f391 --- /dev/null +++ b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationPresenterTest.kt @@ -0,0 +1,157 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import app.cash.molecule.RecompositionMode +import app.cash.molecule.moleculeFlow +import app.cash.turbine.test +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.test.AN_EXCEPTION +import io.element.android.libraries.matrix.test.FakeMatrixClient +import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.lambda.lambdaRecorder +import io.element.android.tests.testutils.lambda.value +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class AccountDeactivationPresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - initial state`() = runTest { + val presenter = createPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + assertThat(initialState.accountDeactivationAction).isEqualTo(AsyncAction.Uninitialized) + assertThat(initialState.deactivateFormState).isEqualTo(DeactivateFormState.Default) + } + } + + @Test + fun `present - form update`() = runTest { + val presenter = createPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + assertThat(initialState.deactivateFormState).isEqualTo(DeactivateFormState.Default) + initialState.eventSink(AccountDeactivationEvents.SetEraseData(true)) + val updatedState = awaitItem() + assertThat(updatedState.deactivateFormState).isEqualTo(DeactivateFormState.Default.copy(eraseData = true)) + assertThat(updatedState.submitEnabled).isFalse() + updatedState.eventSink(AccountDeactivationEvents.SetPassword("password")) + val updatedState2 = awaitItem() + assertThat(updatedState2.deactivateFormState).isEqualTo(DeactivateFormState(password = "password", eraseData = true)) + assertThat(updatedState2.submitEnabled).isTrue() + } + } + + @Test + fun `present - submit`() = runTest { + val recorder = lambdaRecorder> { _, _ -> + Result.success(Unit) + } + val matrixClient = FakeMatrixClient( + deactivateAccountResult = recorder + ) + val presenter = createPresenter(matrixClient) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(AccountDeactivationEvents.SetPassword("password")) + skipItems(1) + initialState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState = awaitItem() + assertThat(updatedState.accountDeactivationAction).isEqualTo(AsyncAction.Confirming) + updatedState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState2 = awaitItem() + assertThat(updatedState2.accountDeactivationAction).isEqualTo(AsyncAction.Loading) + val finalState = awaitItem() + assertThat(finalState.accountDeactivationAction).isEqualTo(AsyncAction.Success(Unit)) + recorder.assertions().isCalledOnce().with(value("password"), value(false)) + } + } + + @Test + fun `present - submit with error and retry`() = runTest { + val recorder = lambdaRecorder> { _, _ -> + Result.failure(AN_EXCEPTION) + } + val matrixClient = FakeMatrixClient( + deactivateAccountResult = recorder + ) + val presenter = createPresenter(matrixClient) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(AccountDeactivationEvents.SetPassword("password")) + initialState.eventSink(AccountDeactivationEvents.SetEraseData(true)) + skipItems(2) + initialState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState = awaitItem() + assertThat(updatedState.accountDeactivationAction).isEqualTo(AsyncAction.Confirming) + updatedState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState2 = awaitItem() + assertThat(updatedState2.accountDeactivationAction).isEqualTo(AsyncAction.Loading) + val finalState = awaitItem() + assertThat(finalState.accountDeactivationAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) + recorder.assertions().isCalledOnce().with(value("password"), value(true)) + // Retry + finalState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = true)) + val finalState2 = awaitItem() + assertThat(finalState2.accountDeactivationAction).isEqualTo(AsyncAction.Loading) + assertThat(awaitItem().accountDeactivationAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) + } + } + + @Test + fun `present - submit with error and cancel`() = runTest { + val recorder = lambdaRecorder> { _, _ -> + Result.failure(AN_EXCEPTION) + } + val matrixClient = FakeMatrixClient( + deactivateAccountResult = recorder + ) + val presenter = createPresenter(matrixClient) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitItem() + initialState.eventSink(AccountDeactivationEvents.SetPassword("password")) + initialState.eventSink(AccountDeactivationEvents.SetEraseData(true)) + skipItems(2) + initialState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState = awaitItem() + assertThat(updatedState.accountDeactivationAction).isEqualTo(AsyncAction.Confirming) + updatedState.eventSink(AccountDeactivationEvents.DeactivateAccount(isRetry = false)) + val updatedState2 = awaitItem() + assertThat(updatedState2.accountDeactivationAction).isEqualTo(AsyncAction.Loading) + val finalState = awaitItem() + assertThat(finalState.accountDeactivationAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) + recorder.assertions().isCalledOnce().with(value("password"), value(true)) + // Cancel + finalState.eventSink(AccountDeactivationEvents.CloseDialogs) + val finalState2 = awaitItem() + assertThat(finalState2.accountDeactivationAction).isEqualTo(AsyncAction.Uninitialized) + } + } + + private fun createPresenter( + matrixClient: MatrixClient = FakeMatrixClient(), + ) = AccountDeactivationPresenter( + matrixClient = matrixClient, + ) +} diff --git a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt new file mode 100644 index 0000000000..97a1b34751 --- /dev/null +++ b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt @@ -0,0 +1,52 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl + +import androidx.activity.ComponentActivity +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.tests.testutils.EnsureNeverCalled +import io.element.android.tests.testutils.EventsRecorder +import io.element.android.tests.testutils.ensureCalledOnce +import io.element.android.tests.testutils.pressBack +import org.junit.Rule +import org.junit.Test +import org.junit.rules.TestRule +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class AccountDeactivationViewTest { + @get:Rule val rule = createAndroidComposeRule() + + @Test + fun `clicking on back invokes the expected callback`() { + val eventsRecorder = EventsRecorder(expectEvents = false) + ensureCalledOnce { + rule.setAccountDeactivationView( + state = anAccountDeactivationState(eventSink = eventsRecorder), + onBackClick = it, + ) + rule.pressBack() + } + } + + // TODO Add more tests +} + +private fun AndroidComposeTestRule.setAccountDeactivationView( + state: AccountDeactivationState, + onBackClick: () -> Unit = EnsureNeverCalled(), +) { + setContent { + AccountDeactivationView( + state = state, + onBackClick = onBackClick, + ) + } +} diff --git a/features/preferences/impl/build.gradle.kts b/features/preferences/impl/build.gradle.kts index a75b920b16..44a792a625 100644 --- a/features/preferences/impl/build.gradle.kts +++ b/features/preferences/impl/build.gradle.kts @@ -55,6 +55,7 @@ dependencies { implementation(projects.features.ftue.api) implementation(projects.features.licenses.api) implementation(projects.features.logout.api) + implementation(projects.features.deactivation.api) implementation(projects.features.roomlist.api) implementation(projects.services.analytics.api) implementation(projects.services.toolbox.api) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt index ad3673bc0e..9a4c5d490e 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt @@ -20,6 +20,7 @@ import com.bumble.appyx.navmodel.backstack.operation.push import dagger.assisted.Assisted import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode +import io.element.android.features.deactivation.api.AccountDeactivationEntryPoint import io.element.android.features.licenses.api.OpenSourceLicensesEntryPoint import io.element.android.features.lockscreen.api.LockScreenEntryPoint import io.element.android.features.logout.api.LogoutEntryPoint @@ -52,6 +53,7 @@ class PreferencesFlowNode @AssistedInject constructor( private val notificationTroubleShootEntryPoint: NotificationTroubleShootEntryPoint, private val logoutEntryPoint: LogoutEntryPoint, private val openSourceLicensesEntryPoint: OpenSourceLicensesEntryPoint, + private val accountDeactivationEntryPoint: AccountDeactivationEntryPoint, ) : BaseFlowNode( backstack = BackStack( initialElement = plugins.filterIsInstance().first().initialElement.toNavTarget(), @@ -100,6 +102,9 @@ class PreferencesFlowNode @AssistedInject constructor( @Parcelize data object SignOut : NavTarget + @Parcelize + data object AccountDeactivation : NavTarget + @Parcelize data object OssLicenses : NavTarget } @@ -151,6 +156,10 @@ class PreferencesFlowNode @AssistedInject constructor( override fun onSignOutClick() { backstack.push(NavTarget.SignOut) } + + override fun onOpenAccountDeactivation() { + backstack.push(NavTarget.AccountDeactivation) + } } createNode(buildContext, plugins = listOf(callback)) } @@ -236,6 +245,9 @@ class PreferencesFlowNode @AssistedInject constructor( is NavTarget.OssLicenses -> { openSourceLicensesEntryPoint.getNode(this, buildContext) } + NavTarget.AccountDeactivation -> { + accountDeactivationEntryPoint.createNode(this, buildContext) + } } } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootNode.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootNode.kt index 266fddbca0..9dfa53f4e6 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootNode.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootNode.kt @@ -45,6 +45,7 @@ class PreferencesRootNode @AssistedInject constructor( fun onOpenUserProfile(matrixUser: MatrixUser) fun onOpenBlockedUsers() fun onSignOutClick() + fun onOpenAccountDeactivation() } private fun onOpenBugReport() { @@ -105,6 +106,10 @@ class PreferencesRootNode @AssistedInject constructor( plugins().forEach { it.onSignOutClick() } } + private fun onOpenAccountDeactivation() { + plugins().forEach { it.onOpenAccountDeactivation() } + } + @Composable override fun View(modifier: Modifier) { val state = presenter.present() @@ -132,6 +137,7 @@ class PreferencesRootNode @AssistedInject constructor( onSignOutClick() } }, + onDeactivateClick = this::onOpenAccountDeactivation ) directLogoutView.Render( diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt index 500570412d..f1507c45f4 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt @@ -15,6 +15,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import io.element.android.features.logout.api.direct.DirectLogoutPresenter import io.element.android.features.preferences.impl.utils.ShowDeveloperSettingsProvider import io.element.android.libraries.architecture.Presenter @@ -75,6 +76,12 @@ class PreferencesRootPresenter @Inject constructor( val devicesManagementUrl: MutableState = remember { mutableStateOf(null) } + var canDeactivateAccount by remember { + mutableStateOf(false) + } + LaunchedEffect(Unit) { + canDeactivateAccount = matrixClient.canDeactivateAccount() + } val showBlockedUsersItem by produceState(initialValue = false) { matrixClient.ignoredUsersFlow @@ -108,6 +115,7 @@ class PreferencesRootPresenter @Inject constructor( devicesManagementUrl = devicesManagementUrl.value, showAnalyticsSettings = hasAnalyticsProviders, showDeveloperSettings = showDeveloperSettings, + canDeactivateAccount = canDeactivateAccount, showNotificationSettings = showNotificationSettings.value, showLockScreenSettings = showLockScreenSettings.value, showBlockedUsersItem = showBlockedUsersItem, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt index f6db1cbec1..4ece77a55c 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootState.kt @@ -22,6 +22,7 @@ data class PreferencesRootState( val devicesManagementUrl: String?, val showAnalyticsSettings: Boolean, val showDeveloperSettings: Boolean, + val canDeactivateAccount: Boolean, val showLockScreenSettings: Boolean, val showNotificationSettings: Boolean, val showBlockedUsersItem: Boolean, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt index 464288fd9b..c91a7e1adc 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt @@ -29,6 +29,7 @@ fun aPreferencesRootState( showNotificationSettings = true, showLockScreenSettings = true, showBlockedUsersItem = true, + canDeactivateAccount = true, snackbarMessage = SnackbarMessage(CommonStrings.common_verification_complete), directLogoutState = aDirectLogoutState(), eventSink = eventSink, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index 4f47c7eab9..10e59bf334 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -57,6 +57,7 @@ fun PreferencesRootView( onOpenUserProfile: (MatrixUser) -> Unit, onOpenBlockedUsers: () -> Unit, onSignOutClick: () -> Unit, + onDeactivateClick: () -> Unit, modifier: Modifier = Modifier, ) { val snackbarHostState = rememberSnackbarHostState(snackbarMessage = state.snackbarMessage) @@ -99,6 +100,7 @@ fun PreferencesRootView( onOpenAdvancedSettings = onOpenAdvancedSettings, onOpenDeveloperSettings = onOpenDeveloperSettings, onSignOutClick = onSignOutClick, + onDeactivateClick = onDeactivateClick, ) Footer( @@ -193,6 +195,7 @@ private fun ColumnScope.GeneralSection( onOpenAdvancedSettings: () -> Unit, onOpenDeveloperSettings: () -> Unit, onSignOutClick: () -> Unit, + onDeactivateClick: () -> Unit, ) { ListItem( headlineContent = { Text(stringResource(id = CommonStrings.common_about)) }, @@ -225,6 +228,14 @@ private fun ColumnScope.GeneralSection( style = ListItemStyle.Destructive, onClick = onSignOutClick, ) + if (state.canDeactivateAccount) { + ListItem( + headlineContent = { Text(stringResource(id = CommonStrings.action_deactivate_account)) }, + leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Warning())), + style = ListItemStyle.Destructive, + onClick = onDeactivateClick, + ) + } } @Composable @@ -292,5 +303,6 @@ private fun ContentToPreview(matrixUser: MatrixUser) { onOpenUserProfile = {}, onOpenBlockedUsers = {}, onSignOutClick = {}, + onDeactivateClick = {}, ) } diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt index 4e276701f4..774d52076a 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt @@ -10,6 +10,7 @@ package io.element.android.features.preferences.impl.root import androidx.compose.runtime.Composable import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow +import app.cash.turbine.ReceiveTurbine import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.logout.api.direct.DirectLogoutPresenter @@ -45,7 +46,7 @@ class PreferencesRootPresenterTest { @Test fun `present - initial state`() = runTest { - val matrixClient = FakeMatrixClient() + val matrixClient = FakeMatrixClient(canDeactivateAccountResult = { true }) val presenter = createPresenter(matrixClient = matrixClient) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -76,11 +77,27 @@ class PreferencesRootPresenterTest { assertThat(loadedState.showDeveloperSettings).isTrue() assertThat(loadedState.showLockScreenSettings).isTrue() assertThat(loadedState.showNotificationSettings).isTrue() + assertThat(loadedState.canDeactivateAccount).isTrue() assertThat(loadedState.directLogoutState).isEqualTo(aDirectLogoutState) assertThat(loadedState.snackbarMessage).isNull() } } + @Test + fun `present - can deactivate account is false if the Matrix client say so`() = runTest { + val presenter = createPresenter( + matrixClient = FakeMatrixClient( + canDeactivateAccountResult = { false } + ) + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val loadedState = awaitFirstItem() + assertThat(loadedState.canDeactivateAccount).isFalse() + } + } + @Test fun `present - developer settings is hidden by default in release builds`() = runTest { val presenter = createPresenter( @@ -89,8 +106,7 @@ class PreferencesRootPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) - val loadedState = awaitItem() + val loadedState = awaitFirstItem() assertThat(loadedState.showDeveloperSettings).isFalse() } } @@ -103,20 +119,22 @@ class PreferencesRootPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) - val loadedState = awaitItem() - + val loadedState = awaitFirstItem() repeat(times = ShowDeveloperSettingsProvider.DEVELOPER_SETTINGS_COUNTER) { assertThat(loadedState.showDeveloperSettings).isFalse() loadedState.eventSink(PreferencesRootEvents.OnVersionInfoClick) } - assertThat(awaitItem().showDeveloperSettings).isTrue() } } + private suspend fun ReceiveTurbine.awaitFirstItem(): T { + skipItems(1) + return awaitItem() + } + private fun createPresenter( - matrixClient: FakeMatrixClient = FakeMatrixClient(), + matrixClient: FakeMatrixClient = FakeMatrixClient(canDeactivateAccountResult = { true }), sessionVerificationService: FakeSessionVerificationService = FakeSessionVerificationService(), showDeveloperSettingsProvider: ShowDeveloperSettingsProvider = ShowDeveloperSettingsProvider(aBuildMeta(BuildType.DEBUG)), ) = PreferencesRootPresenter( diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt index fec66c6f96..dedcd75af0 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt @@ -38,6 +38,7 @@ fun InfoListOrganism( iconTint: Color = LocalContentColor.current, iconSize: Dp = 20.dp, textStyle: TextStyle = LocalTextStyle.current, + textColor: Color = ElementTheme.colors.textPrimary, verticalArrangement: Arrangement.Vertical = Arrangement.spacedBy(4.dp), ) { Column( @@ -56,7 +57,7 @@ fun InfoListOrganism( Text( text = item.message, style = textStyle, - color = ElementTheme.colors.textPrimary, + color = textColor, ) }, icon = { diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index ca44838553..6dacb03dfb 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -138,4 +138,7 @@ interface MatrixClient : Closeable { /** Returns `true` if the current session is using native sliding sync, `false` if it's using a proxy. */ fun isUsingNativeSlidingSync(): Boolean + + fun canDeactivateAccount(): Boolean + suspend fun deactivateAccount(password: String, eraseData: Boolean): Result } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 9e77dcff4c..a5c5f1f442 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -9,6 +9,7 @@ package io.element.android.libraries.matrix.impl import io.element.android.libraries.androidutils.file.getSizeOfFiles import io.element.android.libraries.androidutils.file.safeDelete +import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.coroutine.childScope import io.element.android.libraries.matrix.api.MatrixClient @@ -89,6 +90,8 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext import kotlinx.coroutines.withTimeout +import org.matrix.rustcomponents.sdk.AuthData +import org.matrix.rustcomponents.sdk.AuthDataPasswordDetails import org.matrix.rustcomponents.sdk.Client import org.matrix.rustcomponents.sdk.ClientException import org.matrix.rustcomponents.sdk.IgnoredUsersListener @@ -493,6 +496,46 @@ class RustMatrixClient( return result } + override fun canDeactivateAccount(): Boolean { + return runCatching { + client.canDeactivateAccount() + } + .getOrNull() + .orFalse() + } + + override suspend fun deactivateAccount(password: String, eraseData: Boolean): Result = withContext(sessionDispatcher) { + Timber.w("Deactivating account") + syncService.stop() + runCatching { + // First call without AuthData, should fail + val firstAttempt = runCatching { + client.deactivateAccount( + authData = null, + eraseData = eraseData, + ) + } + if (firstAttempt.isFailure) { + Timber.w(firstAttempt.exceptionOrNull(), "Expected failure, try again") + // This is expected, try again with the password + client.deactivateAccount( + authData = AuthData.Password( + passwordDetails = AuthDataPasswordDetails( + identifier = sessionId.value, + password = password, + ), + ), + eraseData = eraseData, + ) + } + close() + deleteSessionDirectory(deleteCryptoDb = true) + sessionStore.removeSession(sessionId.value) + }.onFailure { + Timber.e(it, "Failed to deactivate account") + } + } + override suspend fun getAccountManagementUrl(action: AccountManagementAction?): Result = withContext(sessionDispatcher) { val rustAction = action?.toRustAction() runCatching { diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index 908cb443ea..2d5e29f064 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -79,6 +79,8 @@ class FakeMatrixClient( private val clearCacheLambda: () -> Unit = { lambdaError() }, private val userIdServerNameLambda: () -> String = { lambdaError() }, private val getUrlLambda: (String) -> Result = { lambdaError() }, + private val canDeactivateAccountResult: () -> Boolean = { lambdaError() }, + private val deactivateAccountResult: (String, Boolean) -> Result = { _, _ -> lambdaError() }, var isNativeSlidingSyncSupportedLambda: suspend () -> Boolean = { true }, var isSlidingSyncProxySupportedLambda: suspend () -> Boolean = { true }, var isUsingNativeSlidingSyncLambda: () -> Boolean = { true }, @@ -175,6 +177,12 @@ class FakeMatrixClient( return logoutLambda(ignoreSdkError, userInitiated) } + override fun canDeactivateAccount() = canDeactivateAccountResult() + + override suspend fun deactivateAccount(password: String, eraseData: Boolean): Result = simulateLongTask { + deactivateAccountResult(password, eraseData) + } + override fun close() = Unit override suspend fun getUserProfile(): Result = simulateLongTask { diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 8e2e7822bf..4ef598a33b 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -42,12 +42,15 @@ "Close" "Complete verification" "Confirm" + "Confirm password" "Continue" "Copy" "Copy link" "Copy link to message" "Create" "Create a room" + "Deactivate" + "Deactivate account" "Decline" "Delete Poll" "Disable" @@ -291,6 +294,8 @@ Reason: %1$s." "Send message anyway" "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." "Your message was not sent because %1$s has not verified all devices" + "One or more of your devices are unverified. You can send the message anyway, or you can cancel for now and try again later after you have verified all of your devices." + "Your message was not sent because you have not verified one or more of your devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -314,6 +319,7 @@ Reason: %1$s." "Share this location" "Message not sent because %1$s’s verified identity has changed." "Message not sent because %1$s has not verified all devices." + "Message not sent because you have not verified one or more of your devices." "Location" "Version: %1$s (%2$s)" "en" diff --git a/tools/localazy/config.json b/tools/localazy/config.json index f463b6d621..f7555ea393 100644 --- a/tools/localazy/config.json +++ b/tools/localazy/config.json @@ -27,6 +27,12 @@ "screen_signout_.*" ] }, + { + "name" : ":features:deactivation:impl", + "includeRegex" : [ + "screen_deactivate_account_.*" + ] + }, { "name" : ":features:roomaliasresolver:impl", "includeRegex" : [ From 6154b08ba757dd343af1214d051bafaf8ad789b7 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 17 Sep 2024 15:13:22 +0000 Subject: [PATCH 060/122] Update screenshots --- .../features.logout.impl_AccountDeactivationView_Day_0_en.png | 3 +++ .../features.logout.impl_AccountDeactivationView_Day_1_en.png | 3 +++ .../features.logout.impl_AccountDeactivationView_Day_2_en.png | 3 +++ .../features.logout.impl_AccountDeactivationView_Day_3_en.png | 3 +++ .../features.logout.impl_AccountDeactivationView_Day_4_en.png | 3 +++ ...eatures.logout.impl_AccountDeactivationView_Night_0_en.png | 3 +++ ...eatures.logout.impl_AccountDeactivationView_Night_1_en.png | 3 +++ ...eatures.logout.impl_AccountDeactivationView_Night_2_en.png | 3 +++ ...eatures.logout.impl_AccountDeactivationView_Night_3_en.png | 3 +++ ...eatures.logout.impl_AccountDeactivationView_Night_4_en.png | 3 +++ ...res.preferences.impl.root_PreferencesRootViewDark_0_en.png | 4 ++-- ...res.preferences.impl.root_PreferencesRootViewDark_1_en.png | 4 ++-- ...es.preferences.impl.root_PreferencesRootViewLight_0_en.png | 4 ++-- ...es.preferences.impl.root_PreferencesRootViewLight_1_en.png | 4 ++-- 14 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png new file mode 100644 index 0000000000..44150a9cdc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee6b7ffa3bb58fb9124960bc7ef91b496888f1d2e4e00b6f073422e5598baeec +size 76791 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png new file mode 100644 index 0000000000..ae77faeecc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:930cabf63ba6ea12db0b3339202df7553f03dd51eeadab3bf9c0cad2ae0b716d +size 75151 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png new file mode 100644 index 0000000000..0a50ec8c06 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e230e408e90da51876f4e416d65e3a1f0bc01572df95789aac4a81c0b81d85e4 +size 60970 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png new file mode 100644 index 0000000000..1d46dd4c3e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8f2ab416d3ec72b7033e9b930d50eb19c4ae8c21fbfae77c1ec91adca67b42f +size 55109 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png new file mode 100644 index 0000000000..9d17632802 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d060436e3171c6b8d2059067c568965b872ec8ddaff4ef53005e594069cef3f +size 51983 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png new file mode 100644 index 0000000000..5aebe11211 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa880b0b3f74fb3ec557645c02b5c932b7793520206568f88832aac4be466ec8 +size 74806 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png new file mode 100644 index 0000000000..38dca4e570 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3acc8da7da5ac077b35e3ea321ab527a68f1cd193a0a609cc738080dae6eedd2 +size 73250 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png new file mode 100644 index 0000000000..494d79db03 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e3171efff5e2aa90ac148bfa9a46686bdbb8c4ba52270575d905e5ce9e9da45 +size 57661 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png new file mode 100644 index 0000000000..e6a8e0d1b1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d86d686303683355f6c3b0f621828311242aebac20893407f9fd4f9bbdd4a3a1 +size 52115 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png new file mode 100644 index 0000000000..71ab4e1742 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:389c15a481d2ac06f283dddbda46e3032276c635e7ecca3446b81b435a63dd3b +size 48815 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png index acddf62ed1..6e91a26672 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:297b638c5314b3ac97c164739799e299206f5c13c9b889b088f3db3ef5e0117f -size 35695 +oid sha256:f99630ffa68c56bcfa9f20b0c895869ccf285f9dca4b9f4d60518ab7f09944fa +size 37993 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png index d95315c26a..a8fa281a84 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58f464863c5294262427d3fb4b2e682140aa8805a43d12ea4dc9d41d3b976062 -size 35449 +oid sha256:7fc7114af573847a08d1d331a34f13ea2ee6d1b02e52995c3657b493eb2cb9fd +size 37747 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png index 449d1ada38..ac15df98a7 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a14903e0fdc50efba1617758babec6a8ef3281b74a5eba7b8f17f41f6ae304a6 -size 36584 +oid sha256:32996754db75d663e65844ac5bcdfce45407154dce88afa5e6a6914d4717ad81 +size 39033 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png index a33eaa62d5..1d6aa51b79 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bed3564666198684c099e4be89ff919a1e1820ff5f91d39080f547e05cbeea2c -size 36539 +oid sha256:14d283a64fe6070713fcc0fdac0435da664f4644143db758eeacf18fd9d5ed07 +size 38987 From 8f2aecd42b67bb2a42eadd331f801cfc669af6cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 17:30:38 +0200 Subject: [PATCH 061/122] Fix icon tint issue. --- .../android/features/logout/impl/AccountDeactivationView.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt index c46461580b..596bbb8412 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt @@ -184,7 +184,6 @@ private fun Content( tint = ElementTheme.colors.iconCriticalPrimary, ) }, - iconVector = CompoundIcons.Close(), ), InfoListItem( message = stringResource(R.string.screen_deactivate_account_list_item_2), From 5a6859b2517a7d46f1bfac2f3e695fe9d07f8e95 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 17:39:23 +0200 Subject: [PATCH 062/122] Make text parts in bold. --- .../logout/impl/AccountDeactivationView.kt | 17 +++++++++++++-- .../impl/src/main/res/values/localazy.xml | 6 ++++-- .../atomic/organisms/InfoListOrganism.kt | 21 +++++++++++++------ 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt index 596bbb8412..ec397393bb 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt @@ -54,6 +54,7 @@ import io.element.android.libraries.designsystem.components.form.textFieldState import io.element.android.libraries.designsystem.components.list.SwitchListItem import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.text.buildAnnotatedStringWithStyledPart import io.element.android.libraries.designsystem.theme.aliasScreenTitle import io.element.android.libraries.designsystem.theme.components.Button import io.element.android.libraries.designsystem.theme.components.Icon @@ -168,14 +169,26 @@ private fun Content( verticalArrangement = Arrangement.spacedBy(16.dp), ) { Text( - text = stringResource(R.string.screen_deactivate_account_description), + text = buildAnnotatedStringWithStyledPart( + R.string.screen_deactivate_account_description, + R.string.screen_deactivate_account_description_bold_part, + color = ElementTheme.colors.textSecondary, + bold = true, + underline = false, + ), style = ElementTheme.typography.fontBodyMdRegular, color = ElementTheme.colors.textSecondary, ) InfoListOrganism( items = persistentListOf( InfoListItem( - message = stringResource(R.string.screen_deactivate_account_list_item_1), + message = buildAnnotatedStringWithStyledPart( + R.string.screen_deactivate_account_list_item_1, + R.string.screen_deactivate_account_list_item_1_bold_part, + color = ElementTheme.colors.textSecondary, + bold = true, + underline = false, + ), iconComposable = { Icon( modifier = Modifier.size(20.dp), diff --git a/features/deactivation/impl/src/main/res/values/localazy.xml b/features/deactivation/impl/src/main/res/values/localazy.xml index 5088a41c61..4a648996be 100644 --- a/features/deactivation/impl/src/main/res/values/localazy.xml +++ b/features/deactivation/impl/src/main/res/values/localazy.xml @@ -3,8 +3,10 @@ "Please confirm that you want to deactivate your account. This action cannot be undone." "Delete all my messages" "Warning: Future users may see incomplete conversations." - "Deactivating your account is irreversible, it will:" - "Permanently disable your account (you can\'t log back in, and your ID can\'t be reused)." + "Deactivating your account is %1$s, it will:" + "irreversible" + "%1$s your account (you can\'t log back in, and your ID can\'t be reused)." + "Permanently disable" "Remove you from all chat rooms." "Delete your account information from our identity server." "Your messages will still be visible to registered users but won’t be available to new or unregistered users if you choose to delete them." diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt index dedcd75af0..f3ff74909c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/organisms/InfoListOrganism.kt @@ -17,6 +17,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -54,11 +55,19 @@ fun InfoListOrganism( } InfoListItemMolecule( message = { - Text( - text = item.message, - style = textStyle, - color = textColor, - ) + if (item.message is AnnotatedString) { + Text( + text = item.message, + style = textStyle, + color = textColor, + ) + } else { + Text( + text = item.message.toString(), + style = textStyle, + color = textColor, + ) + } }, icon = { if (item.iconId != null) { @@ -87,7 +96,7 @@ fun InfoListOrganism( } data class InfoListItem( - val message: String, + val message: CharSequence, @DrawableRes val iconId: Int? = null, val iconVector: ImageVector? = null, val iconComposable: @Composable () -> Unit = {}, From 61bca4ff055feeb2428047abc428ffcdc0bac7dd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 17:42:52 +0200 Subject: [PATCH 063/122] Fix screen title --- features/deactivation/impl/src/main/res/values/localazy.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/deactivation/impl/src/main/res/values/localazy.xml b/features/deactivation/impl/src/main/res/values/localazy.xml index 4a648996be..0380cf1c94 100644 --- a/features/deactivation/impl/src/main/res/values/localazy.xml +++ b/features/deactivation/impl/src/main/res/values/localazy.xml @@ -10,5 +10,5 @@ "Remove you from all chat rooms." "Delete your account information from our identity server." "Your messages will still be visible to registered users but won’t be available to new or unregistered users if you choose to delete them." - "Account deactivation" + "Deactivate account" From 782e1e392e290a9dffc671bf4c7993168fa2c1c6 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 17 Sep 2024 15:54:22 +0000 Subject: [PATCH 064/122] Update screenshots --- .../features.logout.impl_AccountDeactivationView_Day_0_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_1_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_2_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_3_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_4_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_0_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_1_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_2_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_3_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_4_en.png | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png index 44150a9cdc..d935111fb9 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee6b7ffa3bb58fb9124960bc7ef91b496888f1d2e4e00b6f073422e5598baeec -size 76791 +oid sha256:4c39aa8d3c17480057e87f5fbe1a490f2c287726b8223b28fdb3a199670e664a +size 76627 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png index ae77faeecc..6e683cf2df 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:930cabf63ba6ea12db0b3339202df7553f03dd51eeadab3bf9c0cad2ae0b716d -size 75151 +oid sha256:5676526f71b0e743ae5a9fa174186f07514fcd367a6d1dbd00f6e2c0ca8e3558 +size 74986 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png index 0a50ec8c06..80534b9551 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e230e408e90da51876f4e416d65e3a1f0bc01572df95789aac4a81c0b81d85e4 -size 60970 +oid sha256:db84da9b296e66a1968359da1c80ac546f4851d1f581e5e4d9100f16df4e80fc +size 60534 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png index 1d46dd4c3e..0c830753d5 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b8f2ab416d3ec72b7033e9b930d50eb19c4ae8c21fbfae77c1ec91adca67b42f -size 55109 +oid sha256:621f75bd069d08bf2ae1c6a51bc3022a32ba4c6eaf829b0731d294d462ce0bd7 +size 55043 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png index 9d17632802..d97957903f 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d060436e3171c6b8d2059067c568965b872ec8ddaff4ef53005e594069cef3f -size 51983 +oid sha256:f83cd277b65f86c7f5ad85d92454be4ab8df730078a7fc3f030f17b0b61b10a1 +size 51928 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png index 5aebe11211..8e57779361 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa880b0b3f74fb3ec557645c02b5c932b7793520206568f88832aac4be466ec8 -size 74806 +oid sha256:6b1b12d2b3f79c0c941b9b2d376d2d0e8e7684bdcba8b1fffe2d7f025b738678 +size 74846 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png index 38dca4e570..89f4f18a30 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3acc8da7da5ac077b35e3ea321ab527a68f1cd193a0a609cc738080dae6eedd2 -size 73250 +oid sha256:90ada7991629e3f1888aa187425bb90bc525f75aedb5f368c589fbb2fbfe897d +size 73288 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png index 494d79db03..4cef2b643d 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e3171efff5e2aa90ac148bfa9a46686bdbb8c4ba52270575d905e5ce9e9da45 -size 57661 +oid sha256:685a1e99238808e83a4774bd139c14049f4dfc19dd8bac757207d1e697d9c716 +size 57240 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png index e6a8e0d1b1..005c79045b 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d86d686303683355f6c3b0f621828311242aebac20893407f9fd4f9bbdd4a3a1 -size 52115 +oid sha256:a6992f4794f325cbd35dae667f8cb7973bcc9470e61f8bedb600917bc15af44c +size 52087 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png index 71ab4e1742..b25188b298 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:389c15a481d2ac06f283dddbda46e3032276c635e7ecca3446b81b435a63dd3b -size 48815 +oid sha256:8594136f07338d981c1e9e395eb52cd7088af03565397ae416169388d721dca2 +size 48791 From 3ec38a15299ca2d0122babb9af6f908a70eba30b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 20:05:14 +0200 Subject: [PATCH 065/122] Adding fastlane file for version 0.6.2 --- fastlane/metadata/android/en-US/changelogs/40006020.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006020.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006020.txt b/fastlane/metadata/android/en-US/changelogs/40006020.txt new file mode 100644 index 0000000000..0574894881 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006020.txt @@ -0,0 +1,2 @@ +Element X is the new generation of Element for professional and personal use on mobile. It’s the fastest Matrix client with a seamless & intuitive user interface. +Full changelog: https://github.com/element-hq/element-x-android/releases From 4bd7fbe2b004e6b637830fc571c70d7c1373a0c7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 20:06:10 +0200 Subject: [PATCH 066/122] version++ --- plugins/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index c2e6f2d5c3..54afab0525 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 2 +private const val versionPatch = 3 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From dbc4c8f56ed5a6f31b9f5d70742e3dc7082a40d1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 20:33:16 +0200 Subject: [PATCH 067/122] Changelog for version 0.6.2 --- CHANGES.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index e4215c9fda..a3b77c6ec6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +Changes in Element X v0.6.2 (2024-09-17) +======================================== + +### ✨ Features +* Account deactivation. by @bmarty in https://github.com/element-hq/element-x-android/pull/3479 + Changes in Element X v0.6.1 (2024-09-17) ======================================== From 5e3def8185157943f3395f74c90cec6cfbacba86 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 21:17:04 +0200 Subject: [PATCH 068/122] Add tests on AccountDeactivationView --- features/deactivation/impl/build.gradle.kts | 1 + .../logout/impl/AccountDeactivationView.kt | 3 + .../impl/AccountDeactivationViewTest.kt | 102 +++++++++++++++++- 3 files changed, 105 insertions(+), 1 deletion(-) diff --git a/features/deactivation/impl/build.gradle.kts b/features/deactivation/impl/build.gradle.kts index 6e19a485d4..25a71098ac 100644 --- a/features/deactivation/impl/build.gradle.kts +++ b/features/deactivation/impl/build.gradle.kts @@ -33,6 +33,7 @@ dependencies { implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) implementation(projects.libraries.designsystem) + implementation(projects.libraries.testtags) implementation(projects.libraries.uiStrings) api(projects.features.deactivation.api) diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt index ec397393bb..7df20acb96 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt @@ -65,6 +65,8 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.theme.components.autofill import io.element.android.libraries.designsystem.theme.components.onTabOrEnterKeyFocusNext +import io.element.android.libraries.testtags.TestTags +import io.element.android.libraries.testtags.testTag import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.persistentListOf @@ -277,6 +279,7 @@ private fun Content( .padding(top = 8.dp) .fillMaxWidth() .onTabOrEnterKeyFocusNext(focusManager) + .testTag(TestTags.loginPassword) .autofill( autofillTypes = listOf(AutofillType.Password), onFill = { diff --git a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt index 97a1b34751..06d27e463b 100644 --- a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt +++ b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/AccountDeactivationViewTest.kt @@ -10,15 +10,26 @@ package io.element.android.features.logout.impl import androidx.activity.ComponentActivity import androidx.compose.ui.test.junit4.AndroidComposeTestRule import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.compose.ui.test.onNodeWithTag +import androidx.compose.ui.test.performTextInput import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.features.deactivation.impl.R +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.matrix.test.AN_EXCEPTION +import io.element.android.libraries.matrix.test.A_PASSWORD +import io.element.android.libraries.testtags.TestTags +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.tests.testutils.EnsureNeverCalled import io.element.android.tests.testutils.EventsRecorder +import io.element.android.tests.testutils.clickOn import io.element.android.tests.testutils.ensureCalledOnce import io.element.android.tests.testutils.pressBack +import io.element.android.tests.testutils.pressTag import org.junit.Rule import org.junit.Test import org.junit.rules.TestRule import org.junit.runner.RunWith +import org.robolectric.annotation.Config @RunWith(AndroidJUnit4::class) class AccountDeactivationViewTest { @@ -36,7 +47,96 @@ class AccountDeactivationViewTest { } } - // TODO Add more tests + @Config(qualifiers = "h1024dp") + @Test + fun `clicking on Deactivate emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + deactivateFormState = aDeactivateFormState( + password = A_PASSWORD, + ), + eventSink = eventsRecorder, + ), + ) + rule.clickOn(CommonStrings.action_deactivate) + eventsRecorder.assertSingle(AccountDeactivationEvents.DeactivateAccount(false)) + } + + @Test + fun `clicking on Deactivate on the confirmation dialog emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + deactivateFormState = aDeactivateFormState( + password = A_PASSWORD, + ), + accountDeactivationAction = AsyncAction.Confirming, + eventSink = eventsRecorder, + ), + ) + rule.pressTag(TestTags.dialogPositive.value) + eventsRecorder.assertSingle(AccountDeactivationEvents.DeactivateAccount(false)) + } + + @Test + fun `clicking on retry on the confirmation dialog emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + deactivateFormState = aDeactivateFormState( + password = A_PASSWORD, + ), + accountDeactivationAction = AsyncAction.Failure(AN_EXCEPTION), + eventSink = eventsRecorder, + ), + ) + rule.clickOn(CommonStrings.action_retry) + eventsRecorder.assertSingle(AccountDeactivationEvents.DeactivateAccount(true)) + } + + @Test + fun `switching on the erase all switch emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + eventSink = eventsRecorder, + ), + ) + rule.clickOn(R.string.screen_deactivate_account_delete_all_messages) + eventsRecorder.assertSingle(AccountDeactivationEvents.SetEraseData(true)) + } + + @Test + fun `switching off the erase all switch emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + deactivateFormState = aDeactivateFormState( + eraseData = true, + ), + eventSink = eventsRecorder, + ), + ) + rule.clickOn(R.string.screen_deactivate_account_delete_all_messages) + eventsRecorder.assertSingle(AccountDeactivationEvents.SetEraseData(false)) + } + + @Config(qualifiers = "h1024dp") + @Test + fun `typing text in the password field emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setAccountDeactivationView( + state = anAccountDeactivationState( + deactivateFormState = aDeactivateFormState( + password = A_PASSWORD, + ), + eventSink = eventsRecorder, + ), + ) + rule.onNodeWithTag(TestTags.loginPassword.value).performTextInput("A") + eventsRecorder.assertSingle(AccountDeactivationEvents.SetPassword("A$A_PASSWORD")) + } } private fun AndroidComposeTestRule.setAccountDeactivationView( From 52405553293bf1b67a9efb848936a0e5e44d085a Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 18 Sep 2024 11:07:07 +0200 Subject: [PATCH 069/122] Resolve send failure verification : clearer message when unsigned device is from you --- .../messages/impl/actionlist/ActionListView.kt | 3 ++- .../crypto/sendfailure/VerifiedUserSendFailure.kt | 7 ++++--- .../sendfailure/VerifiedUserSendFailureFactory.kt | 8 ++++++-- .../ResolveVerifiedUserSendFailureStateProvider.kt | 2 +- .../resolve/ResolveVerifiedUserSendFailureView.kt | 9 +++++++-- .../ResolveVerifiedUserSendFailurePresenterTest.kt | 12 ++++++------ .../ui-strings/src/main/res/values/localazy.xml | 3 +++ 7 files changed, 29 insertions(+), 15 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index 8c950012db..a81975bf46 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -374,7 +374,8 @@ private fun VerifiedUserSendFailureView( fun VerifiedUserSendFailure.headline(): String { return when (this) { is None -> "" - is UnsignedDevice -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_unsigned_device, userDisplayName) + is UnsignedDevice.FromOther -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_unsigned_device, userDisplayName) + is UnsignedDevice.FromYou -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_you_unsigned_device) is ChangedIdentity -> stringResource(CommonStrings.screen_timeline_item_menu_send_failure_changed_identity, userDisplayName) } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt index e3c798f7df..13a26a8bdb 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailure.kt @@ -13,9 +13,10 @@ import androidx.compose.runtime.Immutable sealed interface VerifiedUserSendFailure { data object None : VerifiedUserSendFailure - data class UnsignedDevice( - val userDisplayName: String, - ) : VerifiedUserSendFailure + sealed interface UnsignedDevice : VerifiedUserSendFailure { + data object FromYou : UnsignedDevice + data class FromOther(val userDisplayName: String) : UnsignedDevice + } data class ChangedIdentity( val userDisplayName: String, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt index de5817c909..b96baed27d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/VerifiedUserSendFailureFactory.kt @@ -23,8 +23,12 @@ class VerifiedUserSendFailureFactory @Inject constructor( if (userId == null) { VerifiedUserSendFailure.None } else { - val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value - VerifiedUserSendFailure.UnsignedDevice(displayName) + if (userId == room.sessionId) { + VerifiedUserSendFailure.UnsignedDevice.FromYou + } else { + val displayName = room.userDisplayName(userId).getOrNull() ?: userId.value + VerifiedUserSendFailure.UnsignedDevice.FromOther(displayName) + } } } is LocalEventSendState.Failed.VerifiedUserChangedIdentity -> { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt index 1f8335b648..cdbdf6fcb0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt @@ -36,7 +36,7 @@ fun aResolveVerifiedUserSendFailureState( eventSink = eventSink ) -fun anUnsignedDeviceSendFailure(userDisplayName: String = "Alice") = VerifiedUserSendFailure.UnsignedDevice( +fun anUnsignedDeviceSendFailure(userDisplayName: String = "Alice") = VerifiedUserSendFailure.UnsignedDevice.FromOther( userDisplayName = userDisplayName, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index e0d964fa51..fb602fa943 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -113,7 +113,11 @@ fun ResolveVerifiedUserSendFailureView( @Composable private fun VerifiedUserSendFailure.title(): String { return when (this) { - is VerifiedUserSendFailure.UnsignedDevice -> stringResource(id = CommonStrings.screen_resolve_send_failure_unsigned_device_title, userDisplayName) + is VerifiedUserSendFailure.UnsignedDevice.FromOther -> stringResource( + id = CommonStrings.screen_resolve_send_failure_unsigned_device_title, + userDisplayName + ) + VerifiedUserSendFailure.UnsignedDevice.FromYou -> stringResource(id = CommonStrings.screen_resolve_send_failure_you_unsigned_device_title) is VerifiedUserSendFailure.ChangedIdentity -> stringResource( id = CommonStrings.screen_resolve_send_failure_changed_identity_title, userDisplayName @@ -125,11 +129,12 @@ private fun VerifiedUserSendFailure.title(): String { @Composable private fun VerifiedUserSendFailure.subtitle(): String { return when (this) { - is VerifiedUserSendFailure.UnsignedDevice -> stringResource( + is VerifiedUserSendFailure.UnsignedDevice.FromOther -> stringResource( id = CommonStrings.screen_resolve_send_failure_unsigned_device_subtitle, userDisplayName, userDisplayName, ) + VerifiedUserSendFailure.UnsignedDevice.FromYou -> stringResource(id = CommonStrings.screen_resolve_send_failure_you_unsigned_device_subtitle) is VerifiedUserSendFailure.ChangedIdentity -> stringResource( id = CommonStrings.screen_resolve_send_failure_changed_identity_subtitle, userDisplayName diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt index 8d5884cf08..e74ae89b4f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailurePresenterTest.kt @@ -94,7 +94,7 @@ class ResolveVerifiedUserSendFailurePresenterTest { initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage)) skipItems(1) awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou) state.eventSink(ResolveVerifiedUserSendFailureEvents.Dismiss) } skipItems(1) @@ -124,7 +124,7 @@ class ResolveVerifiedUserSendFailurePresenterTest { skipItems(1) awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou) state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry) } awaitItem().also { state -> @@ -158,7 +158,7 @@ class ResolveVerifiedUserSendFailurePresenterTest { skipItems(1) awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou) state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) } awaitItem().also { state -> @@ -167,7 +167,7 @@ class ResolveVerifiedUserSendFailurePresenterTest { // This should move to the next user skipItems(2) awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID_2.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromOther(A_USER_ID_2.value)) assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit)) state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) } @@ -199,14 +199,14 @@ class ResolveVerifiedUserSendFailurePresenterTest { skipItems(1) awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou) state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend) } awaitItem().also { state -> assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading) } awaitItem().also { state -> - assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice(A_USER_ID.value)) + assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou) assertThat(state.resolveAction).isInstanceOf(AsyncAction.Failure::class.java) } ensureAllEventsConsumed() diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 8e2e7822bf..c71dd4d505 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -291,6 +291,8 @@ Reason: %1$s." "Send message anyway" "%1$s is using one or more unverified devices. You can send the message anyway, or you can cancel for now and try again later after %2$s has verified all their devices." "Your message was not sent because %1$s has not verified all devices" + "One or more of your devices are unverified. You can send the message anyway, or you can cancel for now and try again later after you have verified all of your devices." + "Your message was not sent because you have not verified one or more of your devices" "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" @@ -314,6 +316,7 @@ Reason: %1$s." "Share this location" "Message not sent because %1$s’s verified identity has changed." "Message not sent because %1$s has not verified all devices." + "Message not sent because you have not verified one or more of your devices." "Location" "Version: %1$s (%2$s)" "en" From 1a049832ab41ba6150641d468adb0255f2eb2d6a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 11:41:15 +0200 Subject: [PATCH 070/122] Distinguish between roomId and roomAlias. --- .../android/libraries/matrix/api/core/MatrixPatterns.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt index 851dd44e3e..454dfba462 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt @@ -149,7 +149,12 @@ object MatrixPatterns { add(MatrixPatternResult(MatrixPatternType.USER_ID, permalink.userId.toString(), match.range.first, match.range.last + 1)) } is PermalinkData.RoomLink -> { - add(MatrixPatternResult(MatrixPatternType.ROOM_ALIAS, permalink.roomIdOrAlias.identifier, match.range.first, match.range.last + 1)) + when (permalink.roomIdOrAlias) { + is RoomIdOrAlias.Alias -> MatrixPatternType.ROOM_ALIAS + is RoomIdOrAlias.Id -> if (permalink.eventId == null) MatrixPatternType.ROOM_ID else null + }?.let { type -> + add(MatrixPatternResult(type, permalink.roomIdOrAlias.identifier, match.range.first, match.range.last + 1)) + } } else -> Unit } From c08b8c04169a58c772f43e320a49d2f35ad595f3 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 18 Sep 2024 13:54:54 +0200 Subject: [PATCH 071/122] Make sure the logout action doesn't cause a crash (#3480) * Make sure the logout doesn't cause a crash Some reasons why this could happen: 1. The `ClientDelegate` could receive a `didReceiveAuthError` callback call on a logout, which could trigger another logout when every Rust object had already been destroyed. 2. Even though we stop the sync before logging out, `LoggedInFlowNode` will try to start it again automatically when it detects we still have internet connection. Making sure to unregister the delegate should fix the first part of the issue. For the other one, adding `RustSyncService.isServiceReady` to check if we should start/stop the service, which is enabled by default and set to false on destroy should help. * Apply the same patch on account deactivation. --------- Co-authored-by: Benoit Marty --- .../matrix/impl/RustClientSessionDelegate.kt | 1 - .../libraries/matrix/impl/RustMatrixClient.kt | 44 ++++++++++++------- .../matrix/impl/sync/RustSyncService.kt | 23 +++++++++- 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustClientSessionDelegate.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustClientSessionDelegate.kt index 03a59203e5..dcdb719511 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustClientSessionDelegate.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustClientSessionDelegate.kt @@ -50,7 +50,6 @@ class RustClientSessionDelegate( */ fun bindClient(client: RustMatrixClient) { this.client = client - client.setDelegate(this) } override fun saveSessionInKeychain(session: Session) { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index a5c5f1f442..a49db1ccd2 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -122,7 +122,7 @@ class RustMatrixClient( private val baseDirectory: File, baseCacheDirectory: File, private val clock: SystemClock, - sessionDelegate: RustClientSessionDelegate, + private val sessionDelegate: RustClientSessionDelegate, ) : MatrixClient { override val sessionId: UserId = UserId(client.userId()) override val deviceId: DeviceId = DeviceId(client.deviceId()) @@ -195,7 +195,7 @@ class RustMatrixClient( private val roomMembershipObserver = RoomMembershipObserver() - private val clientDelegateTaskHandle: TaskHandle? = client.setDelegate(sessionDelegate) + private var clientDelegateTaskHandle: TaskHandle? = client.setDelegate(sessionDelegate) private val _userProfile: MutableStateFlow = MutableStateFlow( MatrixUser( @@ -449,12 +449,12 @@ class RustMatrixClient( override fun close() { appCoroutineScope.launch { roomFactory.destroy() + rustSyncService.destroy() } sessionCoroutineScope.cancel() clientDelegateTaskHandle?.cancelAndDestroy() notificationSettingsService.destroy() verificationService.destroy() - syncService.destroy() innerRoomListService.destroy() notificationClient.destroy() notificationProcessSetup.destroy() @@ -473,7 +473,9 @@ class RustMatrixClient( override suspend fun logout(userInitiated: Boolean, ignoreSdkError: Boolean): String? { var result: String? = null - syncService.stop() + // Remove current delegate so we don't receive an auth error + clientDelegateTaskHandle?.cancelAndDestroy() + clientDelegateTaskHandle = null withContext(sessionDispatcher) { if (userInitiated) { try { @@ -482,12 +484,15 @@ class RustMatrixClient( if (ignoreSdkError) { Timber.e(failure, "Fail to call logout on HS. Still delete local files.") } else { + // If the logout failed we need to restore the delegate + clientDelegateTaskHandle = client.setDelegate(sessionDelegate) Timber.e(failure, "Fail to call logout on HS.") throw failure } } } close() + deleteSessionDirectory(deleteCryptoDb = true) if (userInitiated) { sessionStore.removeSession(sessionId.value) @@ -506,7 +511,9 @@ class RustMatrixClient( override suspend fun deactivateAccount(password: String, eraseData: Boolean): Result = withContext(sessionDispatcher) { Timber.w("Deactivating account") - syncService.stop() + // Remove current delegate so we don't receive an auth error + clientDelegateTaskHandle?.cancelAndDestroy() + clientDelegateTaskHandle = null runCatching { // First call without AuthData, should fail val firstAttempt = runCatching { @@ -518,15 +525,22 @@ class RustMatrixClient( if (firstAttempt.isFailure) { Timber.w(firstAttempt.exceptionOrNull(), "Expected failure, try again") // This is expected, try again with the password - client.deactivateAccount( - authData = AuthData.Password( - passwordDetails = AuthDataPasswordDetails( - identifier = sessionId.value, - password = password, + runCatching { + client.deactivateAccount( + authData = AuthData.Password( + passwordDetails = AuthDataPasswordDetails( + identifier = sessionId.value, + password = password, + ), ), - ), - eraseData = eraseData, - ) + eraseData = eraseData, + ) + }.onFailure { + Timber.e(it, "Failed to deactivate account") + // If the deactivation failed we need to restore the delegate + clientDelegateTaskHandle = client.setDelegate(sessionDelegate) + throw it + } } close() deleteSessionDirectory(deleteCryptoDb = true) @@ -592,10 +606,6 @@ class RustMatrixClient( return client.session().slidingSyncVersion == SlidingSyncVersion.Native } - internal fun setDelegate(delegate: RustClientSessionDelegate) { - client.setDelegate(delegate) - } - private suspend fun File.getCacheSize( includeCryptoDb: Boolean = false, ): Long = withContext(sessionDispatcher) { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/RustSyncService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/RustSyncService.kt index cf52609fa0..0a859ee146 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/RustSyncService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/RustSyncService.kt @@ -16,15 +16,22 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn -import org.matrix.rustcomponents.sdk.SyncServiceInterface import org.matrix.rustcomponents.sdk.SyncServiceState import timber.log.Timber +import java.util.concurrent.atomic.AtomicBoolean +import org.matrix.rustcomponents.sdk.SyncService as InnerSyncService class RustSyncService( - private val innerSyncService: SyncServiceInterface, + private val innerSyncService: InnerSyncService, sessionCoroutineScope: CoroutineScope ) : SyncService { + private val isServiceReady = AtomicBoolean(true) + override suspend fun startSync() = runCatching { + if (!isServiceReady.get()) { + Timber.d("Can't start sync: service is not ready") + return@runCatching + } Timber.i("Start sync") innerSyncService.start() }.onFailure { @@ -32,12 +39,24 @@ class RustSyncService( } override suspend fun stopSync() = runCatching { + if (!isServiceReady.get()) { + Timber.d("Can't stop sync: service is not ready") + return@runCatching + } Timber.i("Stop sync") innerSyncService.stop() }.onFailure { Timber.d("Stop sync failed: $it") } + suspend fun destroy() { + // If the service was still running, stop it + stopSync() + Timber.d("Destroying sync service") + isServiceReady.set(false) + innerSyncService.destroy() + } + override val syncState: StateFlow = innerSyncService.stateFlow() .map(SyncServiceState::toSyncState) From 05f2c71745428e47316713f51416385868c1c0f8 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 18 Sep 2024 14:01:05 +0200 Subject: [PATCH 072/122] Pinned messages : remove debounce now it's properly handled by sdk. --- .../impl/pinned/banner/PinnedMessagesBannerPresenter.kt | 3 --- .../messages/impl/pinned/list/PinnedMessagesListPresenter.kt | 4 +--- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerPresenter.kt index 81405c8f38..457e96c5b8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerPresenter.kt @@ -25,14 +25,12 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.FlowPreview -import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import javax.inject.Inject -import kotlin.time.Duration.Companion.milliseconds class PinnedMessagesBannerPresenter @Inject constructor( private val room: MatrixRoom, @@ -123,7 +121,6 @@ class PinnedMessagesBannerPresenter @Inject constructor( is AsyncData.Loading -> flowOf(AsyncData.Loading()) is AsyncData.Success -> { asyncTimeline.data.timelineItems - .debounce(300.milliseconds) .map { timelineItems -> val pinnedItems = timelineItems.mapNotNull { timelineItem -> itemFactory.create(timelineItem) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index 6c8c52a443..1525a8a5e1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -43,14 +43,12 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import timber.log.Timber -import kotlin.time.Duration.Companion.milliseconds class PinnedMessagesListPresenter @AssistedInject constructor( @Assisted private val navigator: PinnedMessagesListNavigator, @@ -174,7 +172,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( is AsyncData.Failure -> flowOf(AsyncData.Failure(asyncTimeline.error)) is AsyncData.Loading -> flowOf(AsyncData.Loading()) is AsyncData.Success -> { - val timelineItemsFlow = asyncTimeline.data.timelineItems.debounce(300.milliseconds) + val timelineItemsFlow = asyncTimeline.data.timelineItems combine(timelineItemsFlow, room.membersStateFlow) { items, membersState -> timelineItemsFactory.replaceWith( timelineItems = items, From 6b4cce7de342f8e60f0e823254f6ac79abd9e1b8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 14:14:10 +0200 Subject: [PATCH 073/122] Code cleanup --- .../auth/RustMatrixAuthenticationService.kt | 27 +++++++++---------- .../RustSessionVerificationService.kt | 1 + 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt index d1f0d29295..b63e307888 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt @@ -251,18 +251,17 @@ class RustMatrixAuthenticationService @Inject constructor( oidcConfiguration = oidcConfiguration, progressListener = progressListener, ) - - client.use { rustClient -> - val sessionData = rustClient.session() + val sessionData = client.use { rustClient -> + rustClient.session() .toSessionData( isTokenValid = true, loginType = LoginType.QR, passphrase = pendingPassphrase, sessionPaths = emptySessionPaths, ) - sessionStore.storeData(sessionData) - SessionId(sessionData.userId) } + sessionStore.storeData(sessionData) + SessionId(sessionData.userId) }.mapFailure { when (it) { is QrCodeDecodeException -> QrErrorMapper.map(it) @@ -285,14 +284,14 @@ class RustMatrixAuthenticationService @Inject constructor( if (slidingSyncType is ClientBuilderSlidingSync.Simplified) { Timber.d("Creating client with simplified sliding sync") try { - return rustMatrixClientFactory - .getBaseClientBuilder( - sessionPaths = sessionPaths, - passphrase = pendingPassphrase, - slidingSyncType = slidingSyncType, - ) - .run { config() } - .build() + return rustMatrixClientFactory + .getBaseClientBuilder( + sessionPaths = sessionPaths, + passphrase = pendingPassphrase, + slidingSyncType = slidingSyncType, + ) + .config() + .build() } catch (e: HumanQrLoginException.SlidingSyncNotAvailable) { Timber.e(e, "Failed to create client with simplified sliding sync, trying with Proxy now") } @@ -304,7 +303,7 @@ class RustMatrixAuthenticationService @Inject constructor( passphrase = pendingPassphrase, slidingSyncType = getSlidingSyncProxy(), ) - .run { config() } + .config() .build() } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt index 9d55d3402c..71004a74d7 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt @@ -206,6 +206,7 @@ class RustSessionVerificationService( } } } + private suspend fun updateVerificationStatus() { if (verificationFlowState.value == VerificationFlowState.Finished) { // Calling `encryptionService.verificationState()` performs a network call and it will deadlock if there is no network From 7c56bc4c6bb6ff61da5a74b1213deb57234f711c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 14:14:44 +0200 Subject: [PATCH 074/122] Move FakeRust classes and factories to a fixtures package --- .../matrix/impl/fixtures/FakeRustRoom.kt | 39 ++++++ .../impl/fixtures/FakeRustRoomListItem.kt | 32 +++++ .../fixtures/FakeRustRoomMembersIterator.kt | 31 +++++ .../matrix/impl/fixtures/RustRoomInfo.kt | 81 +++++++++++++ .../matrix/impl/fixtures/RustRoomMember.kt | 34 ++++++ .../room/member/RoomMemberListFetcherTest.kt | 113 ++++-------------- .../roomlist/RoomSummaryListProcessorTest.kt | 103 +--------------- 7 files changed, 244 insertions(+), 189 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt new file mode 100644 index 0000000000..f8f8b88a98 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures + +import io.element.android.libraries.matrix.test.A_ROOM_ID +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.Room +import org.matrix.rustcomponents.sdk.RoomMembersIterator + +class FakeRustRoom( + private val getMembers: () -> RoomMembersIterator = { FakeRustRoomMembersIterator() }, + private val getMembersNoSync: () -> RoomMembersIterator = { FakeRustRoomMembersIterator() }, +) : Room(NoPointer) { + var membersCallCount = 0 + var membersNoSyncCallCount = 0 + + override fun id(): String { + return A_ROOM_ID.value + } + + override suspend fun members(): RoomMembersIterator { + membersCallCount++ + return getMembers() + } + + override suspend fun membersNoSync(): RoomMembersIterator { + membersNoSyncCallCount++ + return getMembersNoSync() + } + + override fun close() { + // No-op + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt new file mode 100644 index 0000000000..1b9adee435 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures + +import io.element.android.libraries.matrix.api.core.RoomId +import org.matrix.rustcomponents.sdk.EventTimelineItem +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.RoomInfo +import org.matrix.rustcomponents.sdk.RoomListItem + +class FakeRustRoomListItem( + private val roomId: RoomId, + private val roomInfo: RoomInfo = aRustRoomInfo(id = roomId.value), + private val latestEvent: EventTimelineItem? = null, +) : RoomListItem(NoPointer) { + override fun id(): String { + return roomId.value + } + + override suspend fun roomInfo(): RoomInfo { + return roomInfo + } + + override suspend fun latestEvent(): EventTimelineItem? { + return latestEvent + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt new file mode 100644 index 0000000000..e5a0646303 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures + +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.RoomMember +import org.matrix.rustcomponents.sdk.RoomMembersIterator + +class FakeRustRoomMembersIterator( + private var members: List? = null +) : RoomMembersIterator(NoPointer) { + override fun len(): UInt { + return members?.size?.toUInt() ?: 0u + } + + override fun nextChunk(chunkSize: UInt): List? { + if (members?.isEmpty() == true) { + return null + } + return members?.let { + val result = it.take(chunkSize.toInt()) + members = it.subList(result.size, it.size) + result + } + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt new file mode 100644 index 0000000000..e64dabf27a --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt @@ -0,0 +1,81 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures + +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.A_ROOM_NAME +import org.matrix.rustcomponents.sdk.Membership +import org.matrix.rustcomponents.sdk.RoomHero +import org.matrix.rustcomponents.sdk.RoomInfo +import org.matrix.rustcomponents.sdk.RoomMember +import org.matrix.rustcomponents.sdk.RoomNotificationMode + +fun aRustRoomInfo( + id: String = A_ROOM_ID.value, + displayName: String = A_ROOM_NAME, + rawName: String = A_ROOM_NAME, + topic: String? = null, + avatarUrl: String? = null, + isDirect: Boolean = false, + isPublic: Boolean = false, + isSpace: Boolean = false, + isTombstoned: Boolean = false, + isFavourite: Boolean = false, + canonicalAlias: String? = null, + alternativeAliases: List = listOf(), + membership: Membership = Membership.JOINED, + inviter: RoomMember? = null, + heroes: List = listOf(), + activeMembersCount: ULong = 0uL, + invitedMembersCount: ULong = 0uL, + joinedMembersCount: ULong = 0uL, + userPowerLevels: Map = mapOf(), + highlightCount: ULong = 0uL, + notificationCount: ULong = 0uL, + userDefinedNotificationMode: RoomNotificationMode? = null, + hasRoomCall: Boolean = false, + activeRoomCallParticipants: List = listOf(), + isMarkedUnread: Boolean = false, + numUnreadMessages: ULong = 0uL, + numUnreadNotifications: ULong = 0uL, + numUnreadMentions: ULong = 0uL, + pinnedEventIds: List = listOf(), + roomCreator: UserId? = null, +) = RoomInfo( + id = id, + displayName = displayName, + rawName = rawName, + topic = topic, + avatarUrl = avatarUrl, + isDirect = isDirect, + isPublic = isPublic, + isSpace = isSpace, + isTombstoned = isTombstoned, + isFavourite = isFavourite, + canonicalAlias = canonicalAlias, + alternativeAliases = alternativeAliases, + membership = membership, + inviter = inviter, + heroes = heroes, + activeMembersCount = activeMembersCount, + invitedMembersCount = invitedMembersCount, + joinedMembersCount = joinedMembersCount, + userPowerLevels = userPowerLevels, + highlightCount = highlightCount, + notificationCount = notificationCount, + cachedUserDefinedNotificationMode = userDefinedNotificationMode, + hasRoomCall = hasRoomCall, + activeRoomCallParticipants = activeRoomCallParticipants, + isMarkedUnread = isMarkedUnread, + numUnreadMessages = numUnreadMessages, + numUnreadNotifications = numUnreadNotifications, + numUnreadMentions = numUnreadMentions, + pinnedEventIds = pinnedEventIds, + creator = roomCreator?.value, +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt new file mode 100644 index 0000000000..918ae1fe12 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures + +import io.element.android.libraries.matrix.api.core.UserId +import org.matrix.rustcomponents.sdk.MembershipState +import org.matrix.rustcomponents.sdk.RoomMember +import uniffi.matrix_sdk.RoomMemberRole + +fun aRustRoomMember( + userId: UserId, + displayName: String? = null, + avatarUrl: String? = null, + membership: MembershipState = MembershipState.JOIN, + isNameAmbiguous: Boolean = false, + powerLevel: Long = 0L, + isIgnored: Boolean = false, + role: RoomMemberRole = RoomMemberRole.USER, +) = RoomMember( + userId = userId.value, + displayName = displayName, + avatarUrl = avatarUrl, + membership = membership, + isNameAmbiguous = isNameAmbiguous, + powerLevel = powerLevel, + normalizedPowerLevel = powerLevel, + isIgnored = isIgnored, + suggestedRoleForPowerLevel = role, +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt index 2411b67c61..87e2f5a0b7 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt @@ -9,13 +9,14 @@ package io.element.android.libraries.matrix.impl.room.member import app.cash.turbine.test import com.google.common.truth.Truth.assertThat -import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState import io.element.android.libraries.matrix.api.room.roomMembers +import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoom +import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoomMembersIterator +import io.element.android.libraries.matrix.impl.fixtures.aRustRoomMember import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE_AND_SERVER import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.SERVER -import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.matrix.test.A_USER_ID_2 import io.element.android.libraries.matrix.test.A_USER_ID_3 @@ -23,22 +24,16 @@ import io.element.android.libraries.matrix.test.A_USER_ID_4 import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.test.runTest import org.junit.Test -import org.matrix.rustcomponents.sdk.MembershipState -import org.matrix.rustcomponents.sdk.NoPointer -import org.matrix.rustcomponents.sdk.Room -import org.matrix.rustcomponents.sdk.RoomMember -import org.matrix.rustcomponents.sdk.RoomMembersIterator -import uniffi.matrix_sdk.RoomMemberRole class RoomMemberListFetcherTest { @Test fun `fetchRoomMembers with CACHE source - emits cached members, if any`() = runTest { val room = FakeRustRoom(getMembersNoSync = { - FakeRoomMembersIterator( + FakeRustRoomMembersIterator( listOf( - fakeRustRoomMember(A_USER_ID), - fakeRustRoomMember(A_USER_ID_2), - fakeRustRoomMember(A_USER_ID_3), + aRustRoomMember(A_USER_ID), + aRustRoomMember(A_USER_ID_2), + aRustRoomMember(A_USER_ID_3), ) ) }) @@ -65,7 +60,7 @@ class RoomMemberListFetcherTest { @Test fun `fetchRoomMembers with CACHE source - emits empty list, if no members exist`() = runTest { val room = FakeRustRoom(getMembersNoSync = { - FakeRoomMembersIterator(emptyList()) + FakeRustRoomMembersIterator(emptyList()) }) val fetcher = RoomMemberListFetcher(room, Dispatchers.Default) @@ -95,11 +90,11 @@ class RoomMemberListFetcherTest { @Test fun `fetchRoomMembers with CACHE source - emits all items at once`() = runTest { val room = FakeRustRoom(getMembersNoSync = { - FakeRoomMembersIterator( + FakeRustRoomMembersIterator( listOf( - fakeRustRoomMember(A_USER_ID), - fakeRustRoomMember(A_USER_ID_2), - fakeRustRoomMember(A_USER_ID_3), + aRustRoomMember(A_USER_ID), + aRustRoomMember(A_USER_ID_2), + aRustRoomMember(A_USER_ID_3), ) ) }) @@ -122,11 +117,11 @@ class RoomMemberListFetcherTest { @Test fun `fetchRoomMembers with SERVER source - emits only new members, if any`() = runTest { val room = FakeRustRoom(getMembers = { - FakeRoomMembersIterator( + FakeRustRoomMembersIterator( listOf( - fakeRustRoomMember(A_USER_ID), - fakeRustRoomMember(A_USER_ID_2), - fakeRustRoomMember(A_USER_ID_3), + aRustRoomMember(A_USER_ID), + aRustRoomMember(A_USER_ID_2), + aRustRoomMember(A_USER_ID_3), ) ) }) @@ -163,14 +158,14 @@ class RoomMemberListFetcherTest { fun `fetchRoomMembers with CACHE_AND_SERVER source - returns cached items first, then new ones`() = runTest { val room = FakeRustRoom( getMembersNoSync = { - FakeRoomMembersIterator(listOf(fakeRustRoomMember(A_USER_ID_4))) + FakeRustRoomMembersIterator(listOf(aRustRoomMember(A_USER_ID_4))) }, getMembers = { - FakeRoomMembersIterator( + FakeRustRoomMembersIterator( listOf( - fakeRustRoomMember(A_USER_ID), - fakeRustRoomMember(A_USER_ID_2), - fakeRustRoomMember(A_USER_ID_3), + aRustRoomMember(A_USER_ID), + aRustRoomMember(A_USER_ID_2), + aRustRoomMember(A_USER_ID_3), ) ) } @@ -203,69 +198,3 @@ class RoomMemberListFetcherTest { } } } - -class FakeRustRoom( - private val getMembers: () -> RoomMembersIterator = { FakeRoomMembersIterator() }, - private val getMembersNoSync: () -> RoomMembersIterator = { FakeRoomMembersIterator() }, -) : Room(NoPointer) { - var membersCallCount = 0 - var membersNoSyncCallCount = 0 - - override fun id(): String { - return A_ROOM_ID.value - } - - override suspend fun members(): RoomMembersIterator { - membersCallCount++ - return getMembers() - } - - override suspend fun membersNoSync(): RoomMembersIterator { - membersNoSyncCallCount++ - return getMembersNoSync() - } - - override fun close() { - // No-op - } -} - -class FakeRoomMembersIterator( - private var members: List? = null -) : RoomMembersIterator(NoPointer) { - override fun len(): UInt { - return members?.size?.toUInt() ?: 0u - } - - override fun nextChunk(chunkSize: UInt): List? { - if (members?.isEmpty() == true) { - return null - } - return members?.let { - val result = it.take(chunkSize.toInt()) - members = it.subList(result.size, it.size) - result - } - } -} - -private fun fakeRustRoomMember( - userId: UserId, - displayName: String? = null, - avatarUrl: String? = null, - membership: MembershipState = MembershipState.JOIN, - isNameAmbiguous: Boolean = false, - powerLevel: Long = 0L, - isIgnored: Boolean = false, - role: RoomMemberRole = RoomMemberRole.USER, -) = RoomMember( - userId = userId.value, - displayName = displayName, - avatarUrl = avatarUrl, - membership = membership, - isNameAmbiguous = isNameAmbiguous, - powerLevel = powerLevel, - normalizedPowerLevel = powerLevel, - isIgnored = isIgnored, - suggestedRoleForPowerLevel = role, -) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt index faa8a1102e..93096ee227 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt @@ -9,12 +9,10 @@ package io.element.android.libraries.matrix.impl.roomlist import com.google.common.truth.Truth.assertThat import com.sun.jna.Pointer -import io.element.android.libraries.matrix.api.core.RoomId -import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.roomlist.RoomSummary +import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoomListItem import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_ID_2 -import io.element.android.libraries.matrix.test.A_ROOM_NAME import io.element.android.libraries.matrix.test.room.aRoomSummary import io.element.android.libraries.matrix.test.room.aRoomSummaryFilled import kotlinx.coroutines.flow.MutableStateFlow @@ -22,19 +20,12 @@ import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Test -import org.matrix.rustcomponents.sdk.EventTimelineItem -import org.matrix.rustcomponents.sdk.Membership -import org.matrix.rustcomponents.sdk.NoPointer -import org.matrix.rustcomponents.sdk.RoomHero -import org.matrix.rustcomponents.sdk.RoomInfo import org.matrix.rustcomponents.sdk.RoomList import org.matrix.rustcomponents.sdk.RoomListEntriesUpdate import org.matrix.rustcomponents.sdk.RoomListItem import org.matrix.rustcomponents.sdk.RoomListServiceInterface import org.matrix.rustcomponents.sdk.RoomListServiceStateListener import org.matrix.rustcomponents.sdk.RoomListServiceSyncIndicatorListener -import org.matrix.rustcomponents.sdk.RoomMember -import org.matrix.rustcomponents.sdk.RoomNotificationMode import org.matrix.rustcomponents.sdk.RoomSubscription import org.matrix.rustcomponents.sdk.TaskHandle @@ -48,7 +39,7 @@ class RoomSummaryListProcessorTest { summaries.value = listOf(aRoomSummary()) val processor = createProcessor() - val newEntry = FakeRoomListItem(A_ROOM_ID_2) + val newEntry = FakeRustRoomListItem(A_ROOM_ID_2) processor.postUpdate(listOf(RoomListEntriesUpdate.Append(listOf(newEntry, newEntry, newEntry)))) assertThat(summaries.value.count()).isEqualTo(4) @@ -59,7 +50,7 @@ class RoomSummaryListProcessorTest { fun `PushBack adds a new entry at the end of the list`() = runTest { summaries.value = listOf(aRoomSummaryFilled()) val processor = createProcessor() - processor.postUpdate(listOf(RoomListEntriesUpdate.PushBack(FakeRoomListItem(A_ROOM_ID_2)))) + processor.postUpdate(listOf(RoomListEntriesUpdate.PushBack(FakeRustRoomListItem(A_ROOM_ID_2)))) assertThat(summaries.value.count()).isEqualTo(2) assertThat(summaries.value.last().roomId).isEqualTo(A_ROOM_ID_2) @@ -69,7 +60,7 @@ class RoomSummaryListProcessorTest { fun `PushFront inserts a new entry at the start of the list`() = runTest { summaries.value = listOf(aRoomSummaryFilled()) val processor = createProcessor() - processor.postUpdate(listOf(RoomListEntriesUpdate.PushFront(FakeRoomListItem(A_ROOM_ID_2)))) + processor.postUpdate(listOf(RoomListEntriesUpdate.PushFront(FakeRustRoomListItem(A_ROOM_ID_2)))) assertThat(summaries.value.count()).isEqualTo(2) assertThat(summaries.value.first().roomId).isEqualTo(A_ROOM_ID_2) @@ -81,7 +72,7 @@ class RoomSummaryListProcessorTest { val processor = createProcessor() val index = 0 - processor.postUpdate(listOf(RoomListEntriesUpdate.Set(index.toUInt(), FakeRoomListItem(A_ROOM_ID_2)))) + processor.postUpdate(listOf(RoomListEntriesUpdate.Set(index.toUInt(), FakeRustRoomListItem(A_ROOM_ID_2)))) assertThat(summaries.value.count()).isEqualTo(1) assertThat(summaries.value[index].roomId).isEqualTo(A_ROOM_ID_2) @@ -93,7 +84,7 @@ class RoomSummaryListProcessorTest { val processor = createProcessor() val index = 0 - processor.postUpdate(listOf(RoomListEntriesUpdate.Insert(index.toUInt(), FakeRoomListItem(A_ROOM_ID_2)))) + processor.postUpdate(listOf(RoomListEntriesUpdate.Insert(index.toUInt(), FakeRustRoomListItem(A_ROOM_ID_2)))) assertThat(summaries.value.count()).isEqualTo(2) assertThat(summaries.value[index].roomId).isEqualTo(A_ROOM_ID_2) @@ -185,85 +176,3 @@ class RoomSummaryListProcessorTest { override fun subscribeToRooms(roomIds: List, settings: RoomSubscription?) = Unit } } - -private fun aRustRoomInfo( - id: String = A_ROOM_ID.value, - displayName: String = A_ROOM_NAME, - rawName: String = A_ROOM_NAME, - topic: String? = null, - avatarUrl: String? = null, - isDirect: Boolean = false, - isPublic: Boolean = false, - isSpace: Boolean = false, - isTombstoned: Boolean = false, - isFavourite: Boolean = false, - canonicalAlias: String? = null, - alternativeAliases: List = listOf(), - membership: Membership = Membership.JOINED, - inviter: RoomMember? = null, - heroes: List = listOf(), - activeMembersCount: ULong = 0uL, - invitedMembersCount: ULong = 0uL, - joinedMembersCount: ULong = 0uL, - userPowerLevels: Map = mapOf(), - highlightCount: ULong = 0uL, - notificationCount: ULong = 0uL, - userDefinedNotificationMode: RoomNotificationMode? = null, - hasRoomCall: Boolean = false, - activeRoomCallParticipants: List = listOf(), - isMarkedUnread: Boolean = false, - numUnreadMessages: ULong = 0uL, - numUnreadNotifications: ULong = 0uL, - numUnreadMentions: ULong = 0uL, - pinnedEventIds: List = listOf(), - roomCreator: UserId? = null, -) = RoomInfo( - id = id, - displayName = displayName, - rawName = rawName, - topic = topic, - avatarUrl = avatarUrl, - isDirect = isDirect, - isPublic = isPublic, - isSpace = isSpace, - isTombstoned = isTombstoned, - isFavourite = isFavourite, - canonicalAlias = canonicalAlias, - alternativeAliases = alternativeAliases, - membership = membership, - inviter = inviter, - heroes = heroes, - activeMembersCount = activeMembersCount, - invitedMembersCount = invitedMembersCount, - joinedMembersCount = joinedMembersCount, - userPowerLevels = userPowerLevels, - highlightCount = highlightCount, - notificationCount = notificationCount, - cachedUserDefinedNotificationMode = userDefinedNotificationMode, - hasRoomCall = hasRoomCall, - activeRoomCallParticipants = activeRoomCallParticipants, - isMarkedUnread = isMarkedUnread, - numUnreadMessages = numUnreadMessages, - numUnreadNotifications = numUnreadNotifications, - numUnreadMentions = numUnreadMentions, - pinnedEventIds = pinnedEventIds, - creator = roomCreator?.value, -) - -class FakeRoomListItem( - private val roomId: RoomId, - private val roomInfo: RoomInfo = aRustRoomInfo(id = roomId.value), - private val latestEvent: EventTimelineItem? = null, -) : RoomListItem(NoPointer) { - override fun id(): String { - return roomId.value - } - - override suspend fun roomInfo(): RoomInfo { - return roomInfo - } - - override suspend fun latestEvent(): EventTimelineItem? { - return latestEvent - } -} From 352dbdb9cbb63950aa824b1f77bd130e7d79adce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 14:26:45 +0200 Subject: [PATCH 075/122] Cleanup tests. --- .../libraries/matrix/impl/fixtures/FakeRustRoom.kt | 14 ++++++-------- .../impl/room/member/RoomMemberListFetcherTest.kt | 12 ------------ 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt index f8f8b88a98..a9321bf347 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt @@ -7,29 +7,27 @@ package io.element.android.libraries.matrix.impl.fixtures +import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.tests.testutils.lambda.lambdaError import org.matrix.rustcomponents.sdk.NoPointer import org.matrix.rustcomponents.sdk.Room import org.matrix.rustcomponents.sdk.RoomMembersIterator class FakeRustRoom( - private val getMembers: () -> RoomMembersIterator = { FakeRustRoomMembersIterator() }, - private val getMembersNoSync: () -> RoomMembersIterator = { FakeRustRoomMembersIterator() }, + private val roomId: RoomId = A_ROOM_ID, + private val getMembers: () -> RoomMembersIterator = { lambdaError() }, + private val getMembersNoSync: () -> RoomMembersIterator = { lambdaError() }, ) : Room(NoPointer) { - var membersCallCount = 0 - var membersNoSyncCallCount = 0 - override fun id(): String { - return A_ROOM_ID.value + return roomId.value } override suspend fun members(): RoomMembersIterator { - membersCallCount++ return getMembers() } override suspend fun membersNoSync(): RoomMembersIterator { - membersNoSyncCallCount++ return getMembersNoSync() } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt index 87e2f5a0b7..dc8489e48f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt @@ -50,10 +50,6 @@ class RoomMemberListFetcherTest { val cachedItemsState = awaitItem() assertThat(cachedItemsState).isInstanceOf(MatrixRoomMembersState.Ready::class.java) assertThat((cachedItemsState as? MatrixRoomMembersState.Ready)?.roomMembers).hasSize(3) - - // Assert only the 'no sync' method was called, so no new member sync happened - assertThat(room.membersNoSyncCallCount).isEqualTo(1) - assertThat(room.membersCallCount).isEqualTo(0) } } @@ -133,10 +129,6 @@ class RoomMemberListFetcherTest { assertThat(awaitItem()).isInstanceOf(MatrixRoomMembersState.Unknown::class.java) assertThat(awaitItem()).isInstanceOf(MatrixRoomMembersState.Pending::class.java) assertThat((awaitItem() as? MatrixRoomMembersState.Ready)?.roomMembers?.size).isEqualTo(3) - - // Assert only the 'sync' method was called, so a new member sync happened - assertThat(room.membersNoSyncCallCount).isEqualTo(0) - assertThat(room.membersCallCount).isEqualTo(1) } } @@ -191,10 +183,6 @@ class RoomMemberListFetcherTest { assertThat(ready).isInstanceOf(MatrixRoomMembersState.Ready::class.java) assertThat(ready.roomMembers()).hasSize(3) } - - // Assert both member methods were called, so both the cache was hit and a new member sync happened - assertThat(room.membersNoSyncCallCount).isEqualTo(1) - assertThat(room.membersCallCount).isEqualTo(1) } } } From 1242316c05de68c78e42b18e943a9f40469c6aaf Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 18 Sep 2024 14:01:24 +0200 Subject: [PATCH 076/122] Timeline : makes sure we don't emit empty list when navigating back to timeline. --- .../features/messages/impl/timeline/TimelinePresenter.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index 088354f245..29a2786bc0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -17,6 +17,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -81,6 +82,7 @@ class TimelinePresenter @AssistedInject constructor( computeReactions = true, ) ) + private var timelineItems by mutableStateOf>(persistentListOf()) @Composable override fun present(): TimelineState { @@ -89,9 +91,12 @@ class TimelinePresenter @AssistedInject constructor( mutableStateOf(FocusRequestState.None) } + LaunchedEffect(Unit) { + timelineItemsFactory.timelineItems.collect { timelineItems = it } + } + val lastReadReceiptId = rememberSaveable { mutableStateOf(null) } - val timelineItems by timelineItemsFactory.timelineItems.collectAsState(initial = persistentListOf()) val roomInfo by room.roomInfoFlow.collectAsState(initial = null) val syncUpdateFlow = room.syncUpdateFlow.collectAsState() From d5ac6dabdf303c78ac346a4ed3917d4403a3a81c Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 18 Sep 2024 17:02:49 +0200 Subject: [PATCH 077/122] Fix sliding sync proxy login not working after native SS failure (#3489) --- .../matrix/impl/auth/RustMatrixAuthenticationService.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt index b63e307888..47a81e9f65 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt @@ -42,6 +42,7 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.Client +import org.matrix.rustcomponents.sdk.ClientBuildException import org.matrix.rustcomponents.sdk.ClientBuilder import org.matrix.rustcomponents.sdk.HumanQrLoginException import org.matrix.rustcomponents.sdk.OidcConfiguration @@ -292,7 +293,7 @@ class RustMatrixAuthenticationService @Inject constructor( ) .config() .build() - } catch (e: HumanQrLoginException.SlidingSyncNotAvailable) { + } catch (e: ClientBuildException.SlidingSyncVersion) { Timber.e(e, "Failed to create client with simplified sliding sync, trying with Proxy now") } } From 30847e9e1f95e215a520f0448c256c6158a5d90a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:09:02 +0200 Subject: [PATCH 078/122] Add unit test on toAnalyticsJoinedRoom and fix a mapping issue. --- .../matrix/impl/analytics/JoinedRoomExt.kt | 5 +- .../impl/analytics/JoinedRoomExtKtTest.kt | 91 +++++++++++++++++++ 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExtKtTest.kt diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExt.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExt.kt index a454c1b58f..81ef1672e3 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExt.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExt.kt @@ -10,9 +10,10 @@ package io.element.android.libraries.matrix.impl.analytics import im.vector.app.features.analytics.plan.JoinedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom -private fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize { +private fun Long.toAnalyticsRoomSize(): JoinedRoom.RoomSize { return when (this) { - null, + 0L, + 1L -> JoinedRoom.RoomSize.One 2L -> JoinedRoom.RoomSize.Two in 3..10 -> JoinedRoom.RoomSize.ThreeToTen in 11..100 -> JoinedRoom.RoomSize.ElevenToOneHundred diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExtKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExtKtTest.kt new file mode 100644 index 0000000000..6140f32b2e --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/JoinedRoomExtKtTest.kt @@ -0,0 +1,91 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.analytics + +import com.google.common.truth.Truth.assertThat +import im.vector.app.features.analytics.plan.JoinedRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import org.junit.Test + +class JoinedRoomExtKtTest { + @Test + fun `test room size mapping`() { + mapOf( + listOf(0L, 1L) to JoinedRoom.RoomSize.One, + listOf(2L, 2L) to JoinedRoom.RoomSize.Two, + listOf(3L, 10L) to JoinedRoom.RoomSize.ThreeToTen, + listOf(11L, 100L) to JoinedRoom.RoomSize.ElevenToOneHundred, + listOf(101L, 1000L) to JoinedRoom.RoomSize.OneHundredAndOneToAThousand, + listOf(1001L, 2000L) to JoinedRoom.RoomSize.MoreThanAThousand + ).forEach { (joinedMemberCounts, expectedRoomSize) -> + joinedMemberCounts.forEach { joinedMemberCount -> + assertThat(aMatrixRoom(joinedMemberCount = joinedMemberCount).toAnalyticsJoinedRoom(null)) + .isEqualTo( + JoinedRoom( + isDM = false, + isSpace = false, + roomSize = expectedRoomSize, + trigger = null + ) + ) + } + } + } + + @Test + fun `test isDirect parameter mapping`() { + assertThat(aMatrixRoom(isDirect = true).toAnalyticsJoinedRoom(null)) + .isEqualTo( + JoinedRoom( + isDM = true, + isSpace = false, + roomSize = JoinedRoom.RoomSize.One, + trigger = null + ) + ) + } + + @Test + fun `test isSpace parameter mapping`() { + assertThat(aMatrixRoom(isSpace = true).toAnalyticsJoinedRoom(null)) + .isEqualTo( + JoinedRoom( + isDM = false, + isSpace = true, + roomSize = JoinedRoom.RoomSize.One, + trigger = null + ) + ) + } + + @Test + fun `test trigger parameter mapping`() { + assertThat(aMatrixRoom().toAnalyticsJoinedRoom(JoinedRoom.Trigger.Invite)) + .isEqualTo( + JoinedRoom( + isDM = false, + isSpace = false, + roomSize = JoinedRoom.RoomSize.One, + trigger = JoinedRoom.Trigger.Invite + ) + ) + } + + private fun aMatrixRoom( + isDirect: Boolean = false, + isSpace: Boolean = false, + joinedMemberCount: Long = 0 + ): MatrixRoom { + return FakeMatrixRoom( + isDirect = isDirect, + isSpace = isSpace, + joinedMemberCount = joinedMemberCount + ) + } +} From e43491ac5a6324f2195f4e532855704d018b74c5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:19:38 +0200 Subject: [PATCH 079/122] Add unit test on QrErrorMapper --- .../impl/auth/qrlogin/QrErrorMapperTest.kt | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrErrorMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrErrorMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrErrorMapperTest.kt new file mode 100644 index 0000000000..3bbb98fb34 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrErrorMapperTest.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.auth.qrlogin + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeDecodeException +import io.element.android.libraries.matrix.api.auth.qrlogin.QrLoginException +import org.junit.Test +import org.matrix.rustcomponents.sdk.HumanQrLoginException as RustHumanQrLoginException +import org.matrix.rustcomponents.sdk.QrCodeDecodeException as RustQrCodeDecodeException + +class QrErrorMapperTest { + @Test + fun `test map QrCodeDecodeException`() { + val result = QrErrorMapper.map(RustQrCodeDecodeException.Crypto("test")) + assertThat(result).isInstanceOf(QrCodeDecodeException.Crypto::class.java) + assertThat(result.message).isEqualTo("test") + } + + @Test + fun `test map HumanQrLoginException`() { + assertThat(QrErrorMapper.map(RustHumanQrLoginException.Cancelled())).isEqualTo(QrLoginException.Cancelled) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.ConnectionInsecure())).isEqualTo(QrLoginException.ConnectionInsecure) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.Declined())).isEqualTo(QrLoginException.Declined) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.Expired())).isEqualTo(QrLoginException.Expired) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.OtherDeviceNotSignedIn())).isEqualTo(QrLoginException.OtherDeviceNotSignedIn) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.LinkingNotSupported())).isEqualTo(QrLoginException.LinkingNotSupported) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.Unknown())).isEqualTo(QrLoginException.Unknown) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.OidcMetadataInvalid())).isEqualTo(QrLoginException.OidcMetadataInvalid) + assertThat(QrErrorMapper.map(RustHumanQrLoginException.SlidingSyncNotAvailable())).isEqualTo(QrLoginException.SlidingSyncNotAvailable) + } +} From 18461fa1f175ab2423562c7db4d8a23b4f3d7820 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:24:42 +0200 Subject: [PATCH 080/122] Add unit test on QrLoginProgress.toStep() --- .../QrLoginProgressExtensionsKtTest.kt | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt new file mode 100644 index 0000000000..0de3d15e57 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.auth.qrlogin + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep +import org.junit.Test +import org.matrix.rustcomponents.sdk.QrLoginProgress + +class QrLoginProgressExtensionsKtTest { + @Test + fun `mapping QrLoginProgress should return expected result`() { + assertThat(QrLoginProgress.Starting.toStep()) + .isEqualTo(QrCodeLoginStep.Starting) + assertThat(QrLoginProgress.EstablishingSecureChannel(1u, "01").toStep()) + .isEqualTo(QrCodeLoginStep.EstablishingSecureChannel("01")) + assertThat(QrLoginProgress.WaitingForToken("userCode").toStep()) + .isEqualTo(QrCodeLoginStep.WaitingForToken("userCode")) + assertThat(QrLoginProgress.Done.toStep()) + .isEqualTo(QrCodeLoginStep.Finished) + } +} + + From 25fd71cb2c3517768a33ccde4d4ba6d7e10db1b4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:40:26 +0200 Subject: [PATCH 081/122] Make sure Throwable.mapAuthenticationException() is exhaustive on mapping ClientBuildException and add test for full coverage. --- .../matrix/impl/auth/AuthenticationException.kt | 15 +++++++++++---- .../auth/AuthenticationExceptionMappingTest.kt | 17 ++++++++++++++--- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationException.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationException.kt index 278b814fe2..cf48d68c70 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationException.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationException.kt @@ -8,14 +8,21 @@ package io.element.android.libraries.matrix.impl.auth import io.element.android.libraries.matrix.api.auth.AuthenticationException -import org.matrix.rustcomponents.sdk.ClientBuildException as RustAuthenticationException +import org.matrix.rustcomponents.sdk.ClientBuildException fun Throwable.mapAuthenticationException(): AuthenticationException { val message = this.message ?: "Unknown error" return when (this) { - is RustAuthenticationException.Generic -> AuthenticationException.Generic(message) - is RustAuthenticationException.InvalidServerName -> AuthenticationException.InvalidServerName(message) - is RustAuthenticationException.SlidingSyncVersion -> AuthenticationException.SlidingSyncVersion(message) + is ClientBuildException -> when (this) { + is ClientBuildException.Generic -> AuthenticationException.Generic(message) + is ClientBuildException.InvalidServerName -> AuthenticationException.InvalidServerName(message) + is ClientBuildException.SlidingSyncVersion -> AuthenticationException.SlidingSyncVersion(message) + is ClientBuildException.Sdk -> AuthenticationException.Generic(message) + is ClientBuildException.ServerUnreachable -> AuthenticationException.Generic(message) + is ClientBuildException.SlidingSync -> AuthenticationException.Generic(message) + is ClientBuildException.WellKnownDeserializationException -> AuthenticationException.Generic(message) + is ClientBuildException.WellKnownLookupFailed -> AuthenticationException.Generic(message) + } else -> AuthenticationException.Generic(message) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationExceptionMappingTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationExceptionMappingTest.kt index fd007151c8..81a1667f4e 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationExceptionMappingTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/AuthenticationExceptionMappingTest.kt @@ -36,13 +36,24 @@ class AuthenticationExceptionMappingTest { assertThat(ClientBuildException.InvalidServerName("Invalid server name").mapAuthenticationException()) .isException("Invalid server name") - assertThat(ClientBuildException.Sdk("SDK issue").mapAuthenticationException()) - .isException("SDK issue") - assertThat(ClientBuildException.SlidingSyncVersion("Sliding sync not available").mapAuthenticationException()) .isException("Sliding sync not available") } + @Test + fun `mapping other exceptions map to the Generic Kotlin`() { + assertThat(ClientBuildException.Sdk("SDK issue").mapAuthenticationException()) + .isException("SDK issue") + assertThat(ClientBuildException.ServerUnreachable("Server unreachable").mapAuthenticationException()) + .isException("Server unreachable") + assertThat(ClientBuildException.SlidingSync("Sliding Sync").mapAuthenticationException()) + .isException("Sliding Sync") + assertThat(ClientBuildException.WellKnownDeserializationException("WellKnown Deserialization").mapAuthenticationException()) + .isException("WellKnown Deserialization") + assertThat(ClientBuildException.WellKnownLookupFailed("WellKnown Lookup Failed").mapAuthenticationException()) + .isException("WellKnown Lookup Failed") + } + private inline fun ThrowableSubject.isException(message: String) { isInstanceOf(T::class.java) hasMessageThat().isEqualTo(message) From 021d7297e57a809a426598730da45267b10502da Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:47:55 +0200 Subject: [PATCH 082/122] Add unit test on ProgressWatcherWrapper --- .../impl/core/ProgressWatcherWrapperKtTest.kt | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/core/ProgressWatcherWrapperKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/core/ProgressWatcherWrapperKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/core/ProgressWatcherWrapperKtTest.kt new file mode 100644 index 0000000000..316c69ebb7 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/core/ProgressWatcherWrapperKtTest.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.core + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.core.ProgressCallback +import kotlinx.coroutines.test.runTest +import org.junit.Test +import org.matrix.rustcomponents.sdk.TransmissionProgress +import kotlin.coroutines.resume +import kotlin.coroutines.suspendCoroutine + +class ProgressWatcherWrapperKtTest { + @Test + fun testToProgressWatcher() = runTest { + suspendCoroutine { continuation -> + val callback = object : ProgressCallback { + override fun onProgress(current: Long, total: Long) { + assertThat(current).isEqualTo(1) + assertThat(total).isEqualTo(2) + continuation.resume(Unit) + } + } + val result = callback.toProgressWatcher() + result.transmissionProgress(TransmissionProgress(1.toULong(), 2.toULong())) + } + } +} From eca112fcc0c4c161ee1d175778eea8b71e194a43 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:52:46 +0200 Subject: [PATCH 083/122] Add unit test on providesTracingFilterConfiguration --- .../matrix/impl/di/TracingMatrixModuleTest.kt | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/di/TracingMatrixModuleTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/di/TracingMatrixModuleTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/di/TracingMatrixModuleTest.kt new file mode 100644 index 0000000000..687ca3d56c --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/di/TracingMatrixModuleTest.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.di + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.core.meta.BuildType +import io.element.android.libraries.matrix.api.tracing.TracingFilterConfigurations +import io.element.android.libraries.matrix.test.core.aBuildMeta +import org.junit.Test + +class TracingMatrixModuleTest { + @Test + fun `providesTracingFilterConfiguration returns debug config for debug build`() { + assertThat(TracingMatrixModule.providesTracingFilterConfiguration(aBuildMeta(BuildType.DEBUG))) + .isEqualTo(TracingFilterConfigurations.debug) + } + + @Test + fun `providesTracingFilterConfiguration returns nightly config for nightly build`() { + assertThat(TracingMatrixModule.providesTracingFilterConfiguration(aBuildMeta(BuildType.NIGHTLY))) + .isEqualTo(TracingFilterConfigurations.nightly) + } + + @Test + fun `providesTracingFilterConfiguration returns release config for release build`() { + assertThat(TracingMatrixModule.providesTracingFilterConfiguration(aBuildMeta(BuildType.RELEASE))) + .isEqualTo(TracingFilterConfigurations.release) + } +} From 5b8e99149a7c283c0d7b1ec79e70a83f5494c71a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 12:58:00 +0200 Subject: [PATCH 084/122] Add unit test on crypto mappers --- .../impl/encryption/BackupStateMapperTest.kt | 26 +++++++++++++++ .../encryption/BackupUploadStateMapperTest.kt | 33 +++++++++++++++++++ .../EnableRecoveryProgressMapperTest.kt | 31 +++++++++++++++++ .../encryption/RecoveryStateMapperTest.kt | 23 +++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt new file mode 100644 index 0000000000..fc804b0978 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.encryption + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.encryption.BackupState +import org.junit.Test +import org.matrix.rustcomponents.sdk.BackupState as RustBackupState + +class BackupStateMapperTest { + @Test + fun `Ensure that mapping is correct`() { + assertThat(BackupStateMapper().map(RustBackupState.UNKNOWN)).isEqualTo(BackupState.UNKNOWN) + assertThat(BackupStateMapper().map(RustBackupState.CREATING)).isEqualTo(BackupState.CREATING) + assertThat(BackupStateMapper().map(RustBackupState.ENABLING)).isEqualTo(BackupState.ENABLING) + assertThat(BackupStateMapper().map(RustBackupState.RESUMING)).isEqualTo(BackupState.RESUMING) + assertThat(BackupStateMapper().map(RustBackupState.ENABLED)).isEqualTo(BackupState.ENABLED) + assertThat(BackupStateMapper().map(RustBackupState.DOWNLOADING)).isEqualTo(BackupState.DOWNLOADING) + assertThat(BackupStateMapper().map(RustBackupState.DISABLING)).isEqualTo(BackupState.DISABLING) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt new file mode 100644 index 0000000000..7c1ad1d7c5 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.encryption + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.encryption.BackupUploadState +import org.junit.Test +import org.matrix.rustcomponents.sdk.BackupUploadState as RustBackupUploadState + +class BackupUploadStateMapperTest { + @Test + fun `Ensure that mapping is correct`() { + assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Waiting)) + .isEqualTo(BackupUploadState.Waiting) + assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Error)) + .isEqualTo(BackupUploadState.Error) + assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Done)) + .isEqualTo(BackupUploadState.Done) + assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Uploading(1.toUInt(), 2.toUInt()))) + .isEqualTo(BackupUploadState.Uploading(1, 2)) + } + + @Test + fun `Ensure that full uploading is mapper to Done`() { + assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Uploading(2.toUInt(), 2.toUInt()))) + .isEqualTo(BackupUploadState.Done) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt new file mode 100644 index 0000000000..191a7f3964 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.encryption + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.encryption.EnableRecoveryProgress +import org.junit.Test +import org.matrix.rustcomponents.sdk.EnableRecoveryProgress as RustEnableRecoveryProgress + +class EnableRecoveryProgressMapperTest { + @Test + fun `Ensure that mapping is correct`() { + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.CreatingRecoveryKey)) + .isEqualTo(EnableRecoveryProgress.CreatingRecoveryKey) + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.CreatingBackup)) + .isEqualTo(EnableRecoveryProgress.CreatingBackup) + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.Starting)) + .isEqualTo(EnableRecoveryProgress.Starting) + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.BackingUp(1.toUInt(), 2.toUInt()))) + .isEqualTo(EnableRecoveryProgress.BackingUp(1, 2)) + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.RoomKeyUploadError)) + .isEqualTo(EnableRecoveryProgress.RoomKeyUploadError) + assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.Done("recoveryKey"))) + .isEqualTo(EnableRecoveryProgress.Done("recoveryKey")) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt new file mode 100644 index 0000000000..9d7c2d0c04 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.encryption + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.encryption.RecoveryState +import org.junit.Test +import org.matrix.rustcomponents.sdk.RecoveryState as RustRecoveryState + +class RecoveryStateMapperTest { + @Test + fun `Ensure that mapping is correct`() { + assertThat(RecoveryStateMapper().map(RustRecoveryState.UNKNOWN)).isEqualTo(RecoveryState.UNKNOWN) + assertThat(RecoveryStateMapper().map(RustRecoveryState.ENABLED)).isEqualTo(RecoveryState.ENABLED) + assertThat(RecoveryStateMapper().map(RustRecoveryState.DISABLED)).isEqualTo(RecoveryState.DISABLED) + assertThat(RecoveryStateMapper().map(RustRecoveryState.INCOMPLETE)).isEqualTo(RecoveryState.INCOMPLETE) + } +} From 5b44eab444b25934cab23ca5495b2316ca1be28a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:05:45 +0200 Subject: [PATCH 085/122] Ensure mapping of Rust exceptions cover all cases. --- .../impl/encryption/RecoveryExceptionMapper.kt | 18 +++++++++++------- .../matrix/impl/exception/ClientException.kt | 6 +++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryExceptionMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryExceptionMapper.kt index e200ca5434..b33d59375b 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryExceptionMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryExceptionMapper.kt @@ -14,13 +14,17 @@ import org.matrix.rustcomponents.sdk.RecoveryException as RustRecoveryException fun Throwable.mapRecoveryException(): RecoveryException { return when (this) { - is RustRecoveryException.SecretStorage -> RecoveryException.SecretStorage( - message = errorMessage - ) - is RustRecoveryException.BackupExistsOnServer -> RecoveryException.BackupExistsOnServer - is RustRecoveryException.Client -> RecoveryException.Client( - source.mapClientException() - ) + is RustRecoveryException -> { + when (this) { + is RustRecoveryException.SecretStorage -> RecoveryException.SecretStorage( + message = errorMessage + ) + is RustRecoveryException.BackupExistsOnServer -> RecoveryException.BackupExistsOnServer + is RustRecoveryException.Client -> RecoveryException.Client( + source.mapClientException() + ) + } + } else -> RecoveryException.Client( ClientException.Other("Unknown error") ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/exception/ClientException.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/exception/ClientException.kt index c15b873d73..87364930ce 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/exception/ClientException.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/exception/ClientException.kt @@ -12,7 +12,11 @@ import org.matrix.rustcomponents.sdk.ClientException as RustClientException fun Throwable.mapClientException(): ClientException { return when (this) { - is RustClientException.Generic -> ClientException.Generic(msg) + is RustClientException -> { + when (this) { + is RustClientException.Generic -> ClientException.Generic(msg) + } + } else -> ClientException.Other(message ?: "Unknown error") } } From 03b9a0f3137d63c5a40f49ba2e6935bb72309c37 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:26:29 +0200 Subject: [PATCH 086/122] Add unit test on mappers --- .../matrix/impl/room/StateEventTypeTest.kt | 68 +++++++++++++++++++ .../powerlevels/RoomPowerLevelsMapperTest.kt | 46 +++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt new file mode 100644 index 0000000000..3772ae780d --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt @@ -0,0 +1,68 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room + +import com.google.common.truth.Truth.assertThat +import org.junit.Test + +import io.element.android.libraries.matrix.api.room.StateEventType +import org.matrix.rustcomponents.sdk.StateEventType as RustStateEventType + +class StateEventTypeTest { + @Test + fun `mapping Rust type should work`() { + assertThat(RustStateEventType.CALL_MEMBER.map()).isEqualTo(StateEventType.CALL_MEMBER) + assertThat(RustStateEventType.POLICY_RULE_ROOM.map()).isEqualTo(StateEventType.POLICY_RULE_ROOM) + assertThat(RustStateEventType.POLICY_RULE_SERVER.map()).isEqualTo(StateEventType.POLICY_RULE_SERVER) + assertThat(RustStateEventType.POLICY_RULE_USER.map()).isEqualTo(StateEventType.POLICY_RULE_USER) + assertThat(RustStateEventType.ROOM_ALIASES.map()).isEqualTo(StateEventType.ROOM_ALIASES) + assertThat(RustStateEventType.ROOM_AVATAR.map()).isEqualTo(StateEventType.ROOM_AVATAR) + assertThat(RustStateEventType.ROOM_CANONICAL_ALIAS.map()).isEqualTo(StateEventType.ROOM_CANONICAL_ALIAS) + assertThat(RustStateEventType.ROOM_CREATE.map()).isEqualTo(StateEventType.ROOM_CREATE) + assertThat(RustStateEventType.ROOM_ENCRYPTION.map()).isEqualTo(StateEventType.ROOM_ENCRYPTION) + assertThat(RustStateEventType.ROOM_GUEST_ACCESS.map()).isEqualTo(StateEventType.ROOM_GUEST_ACCESS) + assertThat(RustStateEventType.ROOM_HISTORY_VISIBILITY.map()).isEqualTo(StateEventType.ROOM_HISTORY_VISIBILITY) + assertThat(RustStateEventType.ROOM_JOIN_RULES.map()).isEqualTo(StateEventType.ROOM_JOIN_RULES) + assertThat(RustStateEventType.ROOM_MEMBER_EVENT.map()).isEqualTo(StateEventType.ROOM_MEMBER_EVENT) + assertThat(RustStateEventType.ROOM_NAME.map()).isEqualTo(StateEventType.ROOM_NAME) + assertThat(RustStateEventType.ROOM_PINNED_EVENTS.map()).isEqualTo(StateEventType.ROOM_PINNED_EVENTS) + assertThat(RustStateEventType.ROOM_POWER_LEVELS.map()).isEqualTo(StateEventType.ROOM_POWER_LEVELS) + assertThat(RustStateEventType.ROOM_SERVER_ACL.map()).isEqualTo(StateEventType.ROOM_SERVER_ACL) + assertThat(RustStateEventType.ROOM_THIRD_PARTY_INVITE.map()).isEqualTo(StateEventType.ROOM_THIRD_PARTY_INVITE) + assertThat(RustStateEventType.ROOM_TOMBSTONE.map()).isEqualTo(StateEventType.ROOM_TOMBSTONE) + assertThat(RustStateEventType.ROOM_TOPIC.map()).isEqualTo(StateEventType.ROOM_TOPIC) + assertThat(RustStateEventType.SPACE_CHILD.map()).isEqualTo(StateEventType.SPACE_CHILD) + assertThat(RustStateEventType.SPACE_PARENT.map()).isEqualTo(StateEventType.SPACE_PARENT) + } + + @Test + fun `mapping Kotlin type should work`() { + assertThat(StateEventType.CALL_MEMBER.map()).isEqualTo(RustStateEventType.CALL_MEMBER) + assertThat(StateEventType.POLICY_RULE_ROOM.map()).isEqualTo(RustStateEventType.POLICY_RULE_ROOM) + assertThat(StateEventType.POLICY_RULE_SERVER.map()).isEqualTo(RustStateEventType.POLICY_RULE_SERVER) + assertThat(StateEventType.POLICY_RULE_USER.map()).isEqualTo(RustStateEventType.POLICY_RULE_USER) + assertThat(StateEventType.ROOM_ALIASES.map()).isEqualTo(RustStateEventType.ROOM_ALIASES) + assertThat(StateEventType.ROOM_AVATAR.map()).isEqualTo(RustStateEventType.ROOM_AVATAR) + assertThat(StateEventType.ROOM_CANONICAL_ALIAS.map()).isEqualTo(RustStateEventType.ROOM_CANONICAL_ALIAS) + assertThat(StateEventType.ROOM_CREATE.map()).isEqualTo(RustStateEventType.ROOM_CREATE) + assertThat(StateEventType.ROOM_ENCRYPTION.map()).isEqualTo(RustStateEventType.ROOM_ENCRYPTION) + assertThat(StateEventType.ROOM_GUEST_ACCESS.map()).isEqualTo(RustStateEventType.ROOM_GUEST_ACCESS) + assertThat(StateEventType.ROOM_HISTORY_VISIBILITY.map()).isEqualTo(RustStateEventType.ROOM_HISTORY_VISIBILITY) + assertThat(StateEventType.ROOM_JOIN_RULES.map()).isEqualTo(RustStateEventType.ROOM_JOIN_RULES) + assertThat(StateEventType.ROOM_MEMBER_EVENT.map()).isEqualTo(RustStateEventType.ROOM_MEMBER_EVENT) + assertThat(StateEventType.ROOM_NAME.map()).isEqualTo(RustStateEventType.ROOM_NAME) + assertThat(StateEventType.ROOM_PINNED_EVENTS.map()).isEqualTo(RustStateEventType.ROOM_PINNED_EVENTS) + assertThat(StateEventType.ROOM_POWER_LEVELS.map()).isEqualTo(RustStateEventType.ROOM_POWER_LEVELS) + assertThat(StateEventType.ROOM_SERVER_ACL.map()).isEqualTo(RustStateEventType.ROOM_SERVER_ACL) + assertThat(StateEventType.ROOM_THIRD_PARTY_INVITE.map()).isEqualTo(RustStateEventType.ROOM_THIRD_PARTY_INVITE) + assertThat(StateEventType.ROOM_TOMBSTONE.map()).isEqualTo(RustStateEventType.ROOM_TOMBSTONE) + assertThat(StateEventType.ROOM_TOPIC.map()).isEqualTo(RustStateEventType.ROOM_TOPIC) + assertThat(StateEventType.SPACE_CHILD.map()).isEqualTo(RustStateEventType.SPACE_CHILD) + assertThat(StateEventType.SPACE_PARENT.map()).isEqualTo(RustStateEventType.SPACE_PARENT) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt new file mode 100644 index 0000000000..2a8a89004d --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room.powerlevels + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.room.powerlevels.MatrixRoomPowerLevels +import org.junit.Test +import org.matrix.rustcomponents.sdk.RoomPowerLevels as RustRoomPowerLevels + +class RoomPowerLevelsMapperTest { + @Test + fun `test that mapping of RoomPowerLevels is correct`() { + assertThat( + RoomPowerLevelsMapper.map( + RustRoomPowerLevels( + ban = 1, + invite = 2, + kick = 3, + redact = 4, + eventsDefault = 5, + stateDefault = 6, + usersDefault = 7, + roomName = 8, + roomAvatar = 9, + roomTopic = 10, + ) + ) + ).isEqualTo( + MatrixRoomPowerLevels( + ban = 1, + invite = 2, + kick = 3, + sendEvents = 5, + redactEvents = 4, + roomName = 8, + roomAvatar = 9, + roomTopic = 10, + ) + ) + } +} From 764b0cf8d3194c4d0b1810f605e2374477fcaa70 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:39:17 +0200 Subject: [PATCH 087/122] Add unit test on elementHeroes() --- .../matrix/impl/room/RoomInfoExtTest.kt | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt new file mode 100644 index 0000000000..7c5c873155 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt @@ -0,0 +1,76 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.impl.fixtures.aRustRoomInfo +import io.element.android.libraries.matrix.test.A_USER_ID +import org.junit.Test +import org.matrix.rustcomponents.sdk.RoomHero + +class RoomInfoExtTest { + @Test + fun `get non empty element Heroes`() { + val result = aRustRoomInfo( + isDirect = true, + activeMembersCount = 2uL, + heroes = listOf(aRoomHero()) + ).elementHeroes() + assertThat(result).isEqualTo( + listOf( + MatrixUser( + userId = UserId(A_USER_ID.value), + displayName = "displayName", + avatarUrl = "avatarUrl", + ) + ) + ) + } + + @Test + fun `too many heroes and element Heroes is empty`() { + val result = aRustRoomInfo( + isDirect = true, + activeMembersCount = 2uL, + heroes = listOf(aRoomHero(), aRoomHero()) + ).elementHeroes() + assertThat(result).isEmpty() + } + + @Test + fun `not direct and element Heroes is empty`() { + val result = aRustRoomInfo( + isDirect = false, + activeMembersCount = 2uL, + heroes = listOf(aRoomHero()) + ).elementHeroes() + assertThat(result).isEmpty() + } + + @Test + fun `too many members and element Heroes is empty`() { + val result = aRustRoomInfo( + isDirect = true, + activeMembersCount = 3uL, + heroes = listOf(aRoomHero()) + ).elementHeroes() + assertThat(result).isEmpty() + } +} + +private fun aRoomHero( + userId: UserId = A_USER_ID, +): RoomHero { + return RoomHero( + userId = userId.value, + displayName = "displayName", + avatarUrl = "avatarUrl", + ) +} From 56ac755b62e0bc9aa0403a7bd6f83a75c5721e5a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:42:23 +0200 Subject: [PATCH 088/122] Add unit test on MessageEventType mappers --- .../impl/room/MessageEventTypeKtTest.kt | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt new file mode 100644 index 0000000000..847c41e89a --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt @@ -0,0 +1,70 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room + +import com.google.common.truth.Truth.assertThat +import org.junit.Test + +import io.element.android.libraries.matrix.api.room.MessageEventType +import org.matrix.rustcomponents.sdk.MessageLikeEventType + +class MessageEventTypeKtTest { + @Test + fun `map Rust type should result to correct Kotlin type`() { + assertThat(MessageLikeEventType.CALL_ANSWER.map()).isEqualTo(MessageEventType.CALL_ANSWER) + assertThat(MessageLikeEventType.CALL_INVITE.map()).isEqualTo(MessageEventType.CALL_INVITE) + assertThat(MessageLikeEventType.CALL_HANGUP.map()).isEqualTo(MessageEventType.CALL_HANGUP) + assertThat(MessageLikeEventType.CALL_CANDIDATES.map()).isEqualTo(MessageEventType.CALL_CANDIDATES) + assertThat(MessageLikeEventType.CALL_NOTIFY.map()).isEqualTo(MessageEventType.CALL_NOTIFY) + assertThat(MessageLikeEventType.KEY_VERIFICATION_READY.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_READY) + assertThat(MessageLikeEventType.KEY_VERIFICATION_START.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_START) + assertThat(MessageLikeEventType.KEY_VERIFICATION_CANCEL.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_CANCEL) + assertThat(MessageLikeEventType.KEY_VERIFICATION_ACCEPT.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_ACCEPT) + assertThat(MessageLikeEventType.KEY_VERIFICATION_KEY.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_KEY) + assertThat(MessageLikeEventType.KEY_VERIFICATION_MAC.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_MAC) + assertThat(MessageLikeEventType.KEY_VERIFICATION_DONE.map()).isEqualTo(MessageEventType.KEY_VERIFICATION_DONE) + assertThat(MessageLikeEventType.REACTION.map()).isEqualTo(MessageEventType.REACTION) + assertThat(MessageLikeEventType.ROOM_ENCRYPTED.map()).isEqualTo(MessageEventType.ROOM_ENCRYPTED) + assertThat(MessageLikeEventType.ROOM_MESSAGE.map()).isEqualTo(MessageEventType.ROOM_MESSAGE) + assertThat(MessageLikeEventType.ROOM_REDACTION.map()).isEqualTo(MessageEventType.ROOM_REDACTION) + assertThat(MessageLikeEventType.STICKER.map()).isEqualTo(MessageEventType.STICKER) + assertThat(MessageLikeEventType.POLL_END.map()).isEqualTo(MessageEventType.POLL_END) + assertThat(MessageLikeEventType.POLL_RESPONSE.map()).isEqualTo(MessageEventType.POLL_RESPONSE) + assertThat(MessageLikeEventType.POLL_START.map()).isEqualTo(MessageEventType.POLL_START) + assertThat(MessageLikeEventType.UNSTABLE_POLL_END.map()).isEqualTo(MessageEventType.UNSTABLE_POLL_END) + assertThat(MessageLikeEventType.UNSTABLE_POLL_RESPONSE.map()).isEqualTo(MessageEventType.UNSTABLE_POLL_RESPONSE) + assertThat(MessageLikeEventType.UNSTABLE_POLL_START.map()).isEqualTo(MessageEventType.UNSTABLE_POLL_START) + } + + @Test + fun `map Kotlin type should result to correct Rust type`() { + assertThat(MessageEventType.CALL_ANSWER.map()).isEqualTo(MessageLikeEventType.CALL_ANSWER) + assertThat(MessageEventType.CALL_INVITE.map()).isEqualTo(MessageLikeEventType.CALL_INVITE) + assertThat(MessageEventType.CALL_HANGUP.map()).isEqualTo(MessageLikeEventType.CALL_HANGUP) + assertThat(MessageEventType.CALL_CANDIDATES.map()).isEqualTo(MessageLikeEventType.CALL_CANDIDATES) + assertThat(MessageEventType.CALL_NOTIFY.map()).isEqualTo(MessageLikeEventType.CALL_NOTIFY) + assertThat(MessageEventType.KEY_VERIFICATION_READY.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_READY) + assertThat(MessageEventType.KEY_VERIFICATION_START.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_START) + assertThat(MessageEventType.KEY_VERIFICATION_CANCEL.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_CANCEL) + assertThat(MessageEventType.KEY_VERIFICATION_ACCEPT.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_ACCEPT) + assertThat(MessageEventType.KEY_VERIFICATION_KEY.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_KEY) + assertThat(MessageEventType.KEY_VERIFICATION_MAC.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_MAC) + assertThat(MessageEventType.KEY_VERIFICATION_DONE.map()).isEqualTo(MessageLikeEventType.KEY_VERIFICATION_DONE) + assertThat(MessageEventType.REACTION.map()).isEqualTo(MessageLikeEventType.REACTION) + assertThat(MessageEventType.ROOM_ENCRYPTED.map()).isEqualTo(MessageLikeEventType.ROOM_ENCRYPTED) + assertThat(MessageEventType.ROOM_MESSAGE.map()).isEqualTo(MessageLikeEventType.ROOM_MESSAGE) + assertThat(MessageEventType.ROOM_REDACTION.map()).isEqualTo(MessageLikeEventType.ROOM_REDACTION) + assertThat(MessageEventType.STICKER.map()).isEqualTo(MessageLikeEventType.STICKER) + assertThat(MessageEventType.POLL_END.map()).isEqualTo(MessageLikeEventType.POLL_END) + assertThat(MessageEventType.POLL_RESPONSE.map()).isEqualTo(MessageLikeEventType.POLL_RESPONSE) + assertThat(MessageEventType.POLL_START.map()).isEqualTo(MessageLikeEventType.POLL_START) + assertThat(MessageEventType.UNSTABLE_POLL_END.map()).isEqualTo(MessageLikeEventType.UNSTABLE_POLL_END) + assertThat(MessageEventType.UNSTABLE_POLL_RESPONSE.map()).isEqualTo(MessageLikeEventType.UNSTABLE_POLL_RESPONSE) + assertThat(MessageEventType.UNSTABLE_POLL_START.map()).isEqualTo(MessageLikeEventType.UNSTABLE_POLL_START) + } +} From 79032235859b9af84e73b38c12071ca8c7970743 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:54:40 +0200 Subject: [PATCH 089/122] Change type of items in `alternativeAliases` from String to RoomAlias --- .../element/android/libraries/matrix/api/room/MatrixRoomInfo.kt | 2 +- .../android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt | 2 +- .../android/libraries/matrix/test/room/FakeMatrixRoom.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt index b466a28da6..e335996cd0 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt @@ -31,7 +31,7 @@ data class MatrixRoomInfo( val isTombstoned: Boolean, val isFavorite: Boolean, val canonicalAlias: RoomAlias?, - val alternativeAliases: ImmutableList, + val alternativeAliases: ImmutableList, val currentUserMembership: CurrentUserMembership, val inviter: RoomMember?, val activeMembersCount: Long, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt index 7fcef163b6..1126d3dab9 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt @@ -39,7 +39,7 @@ class MatrixRoomInfoMapper { isTombstoned = it.isTombstoned, isFavorite = it.isFavourite, canonicalAlias = it.canonicalAlias?.let(::RoomAlias), - alternativeAliases = it.alternativeAliases.toImmutableList(), + alternativeAliases = it.alternativeAliases.map(::RoomAlias).toImmutableList(), currentUserMembership = it.membership.map(), inviter = it.inviter?.let(RoomMemberMapper::map), activeMembersCount = it.activeMembersCount.toLong(), diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 54b52c6fb7..8ff9d70bcc 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -520,7 +520,7 @@ fun aRoomInfo( isTombstoned: Boolean = false, isFavorite: Boolean = false, canonicalAlias: RoomAlias? = null, - alternativeAliases: List = emptyList(), + alternativeAliases: List = emptyList(), currentUserMembership: CurrentUserMembership = CurrentUserMembership.JOINED, inviter: RoomMember? = null, activeMembersCount: Long = 1, From 97f0b65c03775eb86ed57718c6a19572199fab8c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 13:59:17 +0200 Subject: [PATCH 090/122] Change type of items in `activeRoomCallParticipants` from String to UserId --- .../element/android/libraries/matrix/api/room/MatrixRoomInfo.kt | 2 +- .../android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt | 2 +- .../android/libraries/matrix/test/room/FakeMatrixRoom.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt index e335996cd0..b83c2c98d6 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt @@ -42,7 +42,7 @@ data class MatrixRoomInfo( val notificationCount: Long, val userDefinedNotificationMode: RoomNotificationMode?, val hasRoomCall: Boolean, - val activeRoomCallParticipants: ImmutableList, + val activeRoomCallParticipants: ImmutableList, val heroes: ImmutableList, val pinnedEventIds: ImmutableList, val creator: UserId?, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt index 1126d3dab9..c7ed6c1205 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt @@ -50,7 +50,7 @@ class MatrixRoomInfoMapper { notificationCount = it.notificationCount.toLong(), userDefinedNotificationMode = it.cachedUserDefinedNotificationMode?.map(), hasRoomCall = it.hasRoomCall, - activeRoomCallParticipants = it.activeRoomCallParticipants.toImmutableList(), + activeRoomCallParticipants = it.activeRoomCallParticipants.map(::UserId).toImmutableList(), heroes = it.elementHeroes().toImmutableList(), pinnedEventIds = it.pinnedEventIds.map(::EventId).toImmutableList(), ) diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 8ff9d70bcc..076baf5f2b 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -531,7 +531,7 @@ fun aRoomInfo( userDefinedNotificationMode: RoomNotificationMode? = null, hasRoomCall: Boolean = false, userPowerLevels: ImmutableMap = persistentMapOf(), - activeRoomCallParticipants: List = emptyList(), + activeRoomCallParticipants: List = emptyList(), heroes: List = emptyList(), pinnedEventIds: List = emptyList(), roomCreator: UserId? = null, From a60198a7167cc859f44c99be2a948035226f8c74 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:10:01 +0200 Subject: [PATCH 091/122] Add unit test on MatrixRoomInfoMapper --- .../matrix/impl/fixtures/RustRoomInfo.kt | 4 +- .../impl/room/MatrixRoomInfoMapperTest.kt | 189 ++++++++++++++++++ .../matrix/impl/room/RoomInfoExtTest.kt | 2 +- 3 files changed, 192 insertions(+), 3 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt index e64dabf27a..b78780ee23 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt @@ -18,8 +18,8 @@ import org.matrix.rustcomponents.sdk.RoomNotificationMode fun aRustRoomInfo( id: String = A_ROOM_ID.value, - displayName: String = A_ROOM_NAME, - rawName: String = A_ROOM_NAME, + displayName: String? = A_ROOM_NAME, + rawName: String? = A_ROOM_NAME, topic: String? = null, avatarUrl: String? = null, isDirect: Boolean = false, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt new file mode 100644 index 0000000000..f0b02df6b7 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt @@ -0,0 +1,189 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.RoomAlias +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.room.CurrentUserMembership +import io.element.android.libraries.matrix.api.room.MatrixRoomInfo +import io.element.android.libraries.matrix.api.room.RoomNotificationMode +import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.impl.room.member.aRustRoomMember +import io.element.android.libraries.matrix.impl.roomlist.aRustRoomInfo +import io.element.android.libraries.matrix.test.AN_AVATAR_URL +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_ROOM_ALIAS +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_ID_3 +import io.element.android.libraries.matrix.test.A_USER_ID_6 +import io.element.android.libraries.matrix.test.room.aRoomMember +import kotlinx.collections.immutable.toImmutableList +import kotlinx.collections.immutable.toImmutableMap +import kotlinx.collections.immutable.toPersistentList +import org.junit.Test +import org.matrix.rustcomponents.sdk.Membership +import org.matrix.rustcomponents.sdk.RoomNotificationMode as RustRoomNotificationMode + +class MatrixRoomInfoMapperTest { + @Test + fun `mapping of RustRoomInfo should map all the fields`() { + assertThat( + MatrixRoomInfoMapper().map( + aRustRoomInfo( + id = A_ROOM_ID.value, + displayName = "displayName", + rawName = "rawName", + topic = "topic", + avatarUrl = AN_AVATAR_URL, + isDirect = true, + isPublic = false, + isSpace = false, + isTombstoned = false, + isFavourite = false, + canonicalAlias = A_ROOM_ALIAS.value, + alternativeAliases = listOf(A_ROOM_ALIAS.value), + membership = Membership.JOINED, + inviter = aRustRoomMember(A_USER_ID), + heroes = listOf(aRoomHero()), + activeMembersCount = 2uL, + invitedMembersCount = 3uL, + joinedMembersCount = 4uL, + userPowerLevels = mapOf(A_USER_ID_6.value to 50L), + highlightCount = 10uL, + notificationCount = 11uL, + userDefinedNotificationMode = RustRoomNotificationMode.MUTE, + hasRoomCall = true, + activeRoomCallParticipants = listOf(A_USER_ID_3.value), + isMarkedUnread = false, + numUnreadMessages = 12uL, + numUnreadNotifications = 13uL, + numUnreadMentions = 14uL, + pinnedEventIds = listOf(AN_EVENT_ID.value), + ) + ) + ).isEqualTo( + MatrixRoomInfo( + id = A_ROOM_ID, + name = "displayName", + rawName = "rawName", + topic = "topic", + avatarUrl = AN_AVATAR_URL, + isDirect = true, + isPublic = false, + isSpace = false, + isTombstoned = false, + isFavorite = false, + canonicalAlias = A_ROOM_ALIAS, + alternativeAliases = listOf(A_ROOM_ALIAS).toImmutableList(), + currentUserMembership = CurrentUserMembership.JOINED, + inviter = aRoomMember(A_USER_ID), + activeMembersCount = 2L, + invitedMembersCount = 3L, + joinedMembersCount = 4L, + userPowerLevels = mapOf(A_USER_ID_6 to 50L).toImmutableMap(), + highlightCount = 10L, + notificationCount = 11L, + userDefinedNotificationMode = RoomNotificationMode.MUTE, + hasRoomCall = true, + activeRoomCallParticipants = listOf(A_USER_ID_3).toImmutableList(), + heroes = listOf( + MatrixUser( + userId = A_USER_ID, + displayName = "displayName", + avatarUrl = "avatarUrl", + ) + ).toImmutableList(), + pinnedEventIds = listOf(AN_EVENT_ID).toPersistentList(), + ) + ) + } + + @Test + fun `mapping of RustRoomInfo with null members should map all the fields`() { + assertThat( + MatrixRoomInfoMapper().map( + aRustRoomInfo( + id = A_ROOM_ID.value, + displayName = null, + rawName = null, + topic = null, + avatarUrl = null, + isDirect = false, + isPublic = true, + isSpace = false, + isTombstoned = false, + isFavourite = true, + canonicalAlias = null, + alternativeAliases = emptyList(), + membership = Membership.INVITED, + inviter = null, + heroes = listOf(aRoomHero()), + activeMembersCount = 2uL, + invitedMembersCount = 3uL, + joinedMembersCount = 4uL, + userPowerLevels = emptyMap(), + highlightCount = 10uL, + notificationCount = 11uL, + userDefinedNotificationMode = null, + hasRoomCall = false, + activeRoomCallParticipants = emptyList(), + isMarkedUnread = true, + numUnreadMessages = 12uL, + numUnreadNotifications = 13uL, + numUnreadMentions = 14uL, + pinnedEventIds = emptyList(), + ) + ) + ).isEqualTo( + MatrixRoomInfo( + id = A_ROOM_ID, + name = null, + rawName = null, + topic = null, + avatarUrl = null, + isDirect = false, + isPublic = true, + isSpace = false, + isTombstoned = false, + isFavorite = true, + canonicalAlias = null, + alternativeAliases = emptyList().toPersistentList(), + currentUserMembership = CurrentUserMembership.INVITED, + inviter = null, + activeMembersCount = 2L, + invitedMembersCount = 3L, + joinedMembersCount = 4L, + userPowerLevels = emptyMap().toImmutableMap(), + highlightCount = 10L, + notificationCount = 11L, + userDefinedNotificationMode = null, + hasRoomCall = false, + activeRoomCallParticipants = emptyList().toImmutableList(), + heroes = emptyList().toImmutableList(), + pinnedEventIds = emptyList().toPersistentList(), + ) + ) + } + + @Test + fun `mapping Membership`() { + assertThat(Membership.INVITED.map()).isEqualTo(CurrentUserMembership.INVITED) + assertThat(Membership.JOINED.map()).isEqualTo(CurrentUserMembership.JOINED) + assertThat(Membership.LEFT.map()).isEqualTo(CurrentUserMembership.LEFT) + } + + @Test + fun `mapping RoomNotificationMode`() { + assertThat(RustRoomNotificationMode.ALL_MESSAGES.map()).isEqualTo(RoomNotificationMode.ALL_MESSAGES) + assertThat(RustRoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY.map()).isEqualTo(RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY) + assertThat(RustRoomNotificationMode.MUTE.map()).isEqualTo(RoomNotificationMode.MUTE) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt index 7c5c873155..7d671d0972 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt @@ -65,7 +65,7 @@ class RoomInfoExtTest { } } -private fun aRoomHero( +internal fun aRoomHero( userId: UserId = A_USER_ID, ): RoomHero { return RoomHero( From 8efdf6604b8f88aef9d7c4961db1be231a4a15d1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:11:41 +0200 Subject: [PATCH 092/122] Add unit test on ReceiptType.toRustReceiptType() --- .../impl/timeline/ReceiptTypeMapperKtTest.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/ReceiptTypeMapperKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/ReceiptTypeMapperKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/ReceiptTypeMapperKtTest.kt new file mode 100644 index 0000000000..5ba93d26ce --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/ReceiptTypeMapperKtTest.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ +package io.element.android.libraries.matrix.impl.timeline + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.timeline.ReceiptType +import org.junit.Test +import org.matrix.rustcomponents.sdk.ReceiptType as RustReceiptType + +class ReceiptTypeMapperKtTest { + @Test + fun toRustReceiptType() { + assertThat(ReceiptType.READ.toRustReceiptType()).isEqualTo(RustReceiptType.READ) + assertThat(ReceiptType.READ_PRIVATE.toRustReceiptType()).isEqualTo(RustReceiptType.READ_PRIVATE) + assertThat(ReceiptType.FULLY_READ.toRustReceiptType()).isEqualTo(RustReceiptType.FULLY_READ) + } +} From 2514a7f71063325c61e5cac775378f20b31c92cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:13:18 +0200 Subject: [PATCH 093/122] Add unit test on toRoomType --- .../matrix/impl/room/RoomTypeKtTest.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomTypeKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomTypeKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomTypeKtTest.kt new file mode 100644 index 0000000000..541598781e --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomTypeKtTest.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ +package io.element.android.libraries.matrix.impl.room + +import io.element.android.libraries.matrix.api.room.RoomType +import org.junit.Test + +class RoomTypeKtTest { + @Test + fun toRoomType() { + assert(null.toRoomType() == RoomType.Room) + assert("m.space".toRoomType() == RoomType.Space) + assert("m.other".toRoomType() == RoomType.Other("m.other")) + } +} From 88004db53177b702d12e6d2e052d22fb38add4c3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:14:59 +0200 Subject: [PATCH 094/122] Add unit test on UserProfileMapper --- .../impl/usersearch/UserProfileMapperTest.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt new file mode 100644 index 0000000000..0564186a78 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.usersearch + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.test.A_USER_ID +import org.junit.Test +import org.matrix.rustcomponents.sdk.UserProfile + +class UserProfileMapperTest { + @Test + fun map() { + assertThat(UserProfileMapper.map(UserProfile(A_USER_ID.value, "displayName", "avatarUrl"))) + .isEqualTo(MatrixUser(A_USER_ID, "displayName", "avatarUrl")) + } +} From e2a4fbbd61ef6ac46cbb4ea21936306e588fc4ce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:18:54 +0200 Subject: [PATCH 095/122] Add unit test on UserSearchResultMapper --- .../usersearch/UserSearchResultMapperTest.kt | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt new file mode 100644 index 0000000000..17ce3836ca --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt @@ -0,0 +1,55 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.usersearch + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.user.MatrixSearchUserResults +import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.test.A_USER_ID +import kotlinx.collections.immutable.toImmutableList +import org.junit.Test +import org.matrix.rustcomponents.sdk.SearchUsersResults +import org.matrix.rustcomponents.sdk.UserProfile + +class UserSearchResultMapperTest { + @Test + fun `map limited list`() { + assertThat( + UserSearchResultMapper.map( + SearchUsersResults( + results = listOf(UserProfile(A_USER_ID.value, "displayName", "avatarUrl")), + limited = true, + ) + ) + ) + .isEqualTo( + MatrixSearchUserResults( + results = listOf(MatrixUser(A_USER_ID, "displayName", "avatarUrl")).toImmutableList(), + limited = true, + ) + ) + } + + @Test + fun `map not limited list`() { + assertThat( + UserSearchResultMapper.map( + SearchUsersResults( + listOf(UserProfile(A_USER_ID.value, "displayName", "avatarUrl")), + false, + ) + ) + ) + .isEqualTo( + MatrixSearchUserResults( + results = listOf(MatrixUser(A_USER_ID, "displayName", "avatarUrl")).toImmutableList(), + limited = false, + ) + ) + } +} From 9ae7e998c00c04e4c3b8b36ebbc48363aaa9c615 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:22:11 +0200 Subject: [PATCH 096/122] Add unit test on SyncServiceState.toSyncState --- .../matrix/impl/sync/AppStateMapperKtTest.kt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/sync/AppStateMapperKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/sync/AppStateMapperKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/sync/AppStateMapperKtTest.kt new file mode 100644 index 0000000000..54fc06f8f1 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/sync/AppStateMapperKtTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.sync + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.sync.SyncState +import org.junit.Test +import org.matrix.rustcomponents.sdk.SyncServiceState + +class AppStateMapperKtTest { + @Test + fun toSyncState() { + assertThat(SyncServiceState.IDLE.toSyncState()).isEqualTo(SyncState.Idle) + assertThat(SyncServiceState.RUNNING.toSyncState()).isEqualTo(SyncState.Running) + assertThat(SyncServiceState.TERMINATED.toSyncState()).isEqualTo(SyncState.Terminated) + assertThat(SyncServiceState.ERROR.toSyncState()).isEqualTo(SyncState.Error) + } +} From 2d274a9b3486c242630bfa5bb227e37353ba2fdf Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:48:07 +0200 Subject: [PATCH 097/122] Add unit test on RoomDescriptionMapper --- .../roomdirectory/RoomDescriptionMapper.kt | 14 +++-- .../RoomDescriptionMapperTest.kt | 60 +++++++++++++++++++ 2 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapper.kt index e91242f165..267de74ba7 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapper.kt @@ -21,13 +21,17 @@ class RoomDescriptionMapper { topic = roomDescription.topic, avatarUrl = roomDescription.avatarUrl, alias = roomDescription.alias?.let(::RoomAlias), - joinRule = when (roomDescription.joinRule) { - PublicRoomJoinRule.PUBLIC -> RoomDescription.JoinRule.PUBLIC - PublicRoomJoinRule.KNOCK -> RoomDescription.JoinRule.KNOCK - null -> RoomDescription.JoinRule.UNKNOWN - }, + joinRule = roomDescription.joinRule.map(), isWorldReadable = roomDescription.isWorldReadable, numberOfMembers = roomDescription.joinedMembers.toLong(), ) } } + +internal fun PublicRoomJoinRule?.map(): RoomDescription.JoinRule { + return when (this) { + PublicRoomJoinRule.PUBLIC -> RoomDescription.JoinRule.PUBLIC + PublicRoomJoinRule.KNOCK -> RoomDescription.JoinRule.KNOCK + null -> RoomDescription.JoinRule.UNKNOWN + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt new file mode 100644 index 0000000000..307cc33b54 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt @@ -0,0 +1,60 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.roomdirectory + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.roomdirectory.RoomDescription +import io.element.android.libraries.matrix.test.A_ROOM_ALIAS +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.roomdirectory.aRoomDescription +import org.junit.Test +import org.matrix.rustcomponents.sdk.PublicRoomJoinRule +import org.matrix.rustcomponents.sdk.RoomDescription as RustRoomDescription + +class RoomDescriptionMapperTest { + @Test + fun map() { + assertThat(RoomDescriptionMapper().map(aRustRoomDescription())).isEqualTo( + aRoomDescription( + roomId = A_ROOM_ID, + name = "name", + topic = "topic", + alias = A_ROOM_ALIAS, + avatarUrl = "avatarUrl", + joinRule = RoomDescription.JoinRule.PUBLIC, + isWorldReadable = true, + joinedMembers = 2L + ) + ) + } + + @Test + fun mapWithNullAlias() { + assertThat(RoomDescriptionMapper().map(aRustRoomDescription().copy(alias = null)).alias).isNull() + } + + @Test + fun `map join rule`() { + assertThat(PublicRoomJoinRule.PUBLIC.map()).isEqualTo(RoomDescription.JoinRule.PUBLIC) + assertThat(PublicRoomJoinRule.KNOCK.map()).isEqualTo(RoomDescription.JoinRule.KNOCK) + assertThat(null.map()).isEqualTo(RoomDescription.JoinRule.UNKNOWN) + } +} + +internal fun aRustRoomDescription(): RustRoomDescription { + return RustRoomDescription( + roomId = A_ROOM_ID.value, + name = "name", + topic = "topic", + alias = A_ROOM_ALIAS.value, + avatarUrl = "avatarUrl", + joinRule = PublicRoomJoinRule.PUBLIC, + isWorldReadable = true, + joinedMembers = 2u + ) +} From 7b75affe2ddd06a3f66175d7049162e3a368e235 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:54:08 +0200 Subject: [PATCH 098/122] Add unit test on RoomPreviewMapper --- .../room/preview/RoomPreviewMapperTest.kt | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt new file mode 100644 index 0000000000..3e0fea4bdc --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt @@ -0,0 +1,96 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room.preview + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.room.RoomType +import io.element.android.libraries.matrix.api.room.preview.RoomPreview +import io.element.android.libraries.matrix.test.A_ROOM_ALIAS +import io.element.android.libraries.matrix.test.A_ROOM_ID +import org.junit.Test +import org.matrix.rustcomponents.sdk.RoomPreview as RustRoomPreview + +class RoomPreviewMapperTest { + @Test + fun `map should map values 1`() { + assertThat( + RoomPreviewMapper.map( + aRustRoomPreview( + isJoined = false, + isInvited = false, + ) + ) + ).isEqualTo( + RoomPreview( + roomId = A_ROOM_ID, + canonicalAlias = A_ROOM_ALIAS, + name = "name", + topic = "topic", + avatarUrl = "avatarUrl", + numberOfJoinedMembers = 1L, + roomType = RoomType.Room, + isHistoryWorldReadable = true, + isJoined = false, + isInvited = false, + isPublic = true, + canKnock = true, + ) + ) + } + + @Test + fun `map should map values 2`() { + assertThat( + RoomPreviewMapper.map( + aRustRoomPreview( + canonicalAlias = null, + isPublic = false, + canKnock = false, + ) + ) + ).isEqualTo( + RoomPreview( + roomId = A_ROOM_ID, + canonicalAlias = null, + name = "name", + topic = "topic", + avatarUrl = "avatarUrl", + numberOfJoinedMembers = 1L, + roomType = RoomType.Room, + isHistoryWorldReadable = true, + isJoined = true, + isInvited = true, + isPublic = false, + canKnock = false, + ) + ) + } +} + +internal fun aRustRoomPreview( + canonicalAlias: String? = A_ROOM_ALIAS.value, + isJoined: Boolean = true, + isInvited: Boolean = true, + isPublic: Boolean = true, + canKnock: Boolean = true, +): RustRoomPreview { + return RustRoomPreview( + roomId = A_ROOM_ID.value, + canonicalAlias = canonicalAlias, + name = "name", + topic = "topic", + avatarUrl = "avatarUrl", + numJoinedMembers = 1u, + roomType = null, + isHistoryWorldReadable = true, + isJoined = isJoined, + isInvited = isInvited, + isPublic = isPublic, + canKnock = canKnock, + ) +} From b237485a6c59ae9bbf4d5135493500fc3add6cea Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 14:55:55 +0200 Subject: [PATCH 099/122] Add unit test on AssetType.toInner() --- .../impl/room/location/AssetTypeKtTest.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/location/AssetTypeKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/location/AssetTypeKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/location/AssetTypeKtTest.kt new file mode 100644 index 0000000000..78807bc324 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/location/AssetTypeKtTest.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room.location + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.room.location.AssetType +import org.junit.Test + +class AssetTypeKtTest { + @Test + fun toInner() { + assertThat(AssetType.SENDER.toInner()).isEqualTo(org.matrix.rustcomponents.sdk.AssetType.SENDER) + assertThat(AssetType.PIN.toInner()).isEqualTo(org.matrix.rustcomponents.sdk.AssetType.PIN) + } +} From 98f6effd8d06d5711604c77cf825669273f25969 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 15:00:30 +0200 Subject: [PATCH 100/122] Add unit test on RoomMemberMapper --- .../impl/room/member/RoomMemberMapperTest.kt | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt new file mode 100644 index 0000000000..dcf3ed5ee1 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.room.member + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.room.RoomMember +import io.element.android.libraries.matrix.api.room.RoomMembershipState +import org.junit.Test +import uniffi.matrix_sdk.RoomMemberRole +import org.matrix.rustcomponents.sdk.MembershipState as RustMembershipState + +class RoomMemberMapperTest { + @Test + fun mapRole() { + assertThat(RoomMemberMapper.mapRole(RoomMemberRole.USER)).isEqualTo(RoomMember.Role.USER) + assertThat(RoomMemberMapper.mapRole(RoomMemberRole.MODERATOR)).isEqualTo(RoomMember.Role.MODERATOR) + assertThat(RoomMemberMapper.mapRole(RoomMemberRole.ADMINISTRATOR)).isEqualTo(RoomMember.Role.ADMIN) + } + + @Test + fun mapMembership() { + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.BAN)).isEqualTo(RoomMembershipState.BAN) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.INVITE)).isEqualTo(RoomMembershipState.INVITE) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.JOIN)).isEqualTo(RoomMembershipState.JOIN) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.KNOCK)).isEqualTo(RoomMembershipState.KNOCK) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.LEAVE)).isEqualTo(RoomMembershipState.LEAVE) + } +} From 26260aed9fd0fb7154a77aabf9ce02c80a5bea60 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 16:47:11 +0200 Subject: [PATCH 101/122] Fix compilation issue after rebase. --- .../libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt index f0b02df6b7..ce04469ff8 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt @@ -67,6 +67,7 @@ class MatrixRoomInfoMapperTest { numUnreadNotifications = 13uL, numUnreadMentions = 14uL, pinnedEventIds = listOf(AN_EVENT_ID.value), + roomCreator = A_USER_ID.value, ) ) ).isEqualTo( @@ -102,6 +103,7 @@ class MatrixRoomInfoMapperTest { ) ).toImmutableList(), pinnedEventIds = listOf(AN_EVENT_ID).toPersistentList(), + creator = A_USER_ID, ) ) } @@ -140,6 +142,7 @@ class MatrixRoomInfoMapperTest { numUnreadNotifications = 13uL, numUnreadMentions = 14uL, pinnedEventIds = emptyList(), + roomCreator = null, ) ) ).isEqualTo( @@ -169,6 +172,7 @@ class MatrixRoomInfoMapperTest { activeRoomCallParticipants = emptyList().toImmutableList(), heroes = emptyList().toImmutableList(), pinnedEventIds = emptyList().toPersistentList(), + creator = null, ) ) } From 2ee71b5dee22833b20bf688daf22f449ca525efc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:05:11 +0200 Subject: [PATCH 102/122] Add unit test on LastForwardIndicatorsPostProcessor --- .../impl/timeline/postprocessor/Fixtures.kt | 46 +++++++++ .../LastForwardIndicatorsPostProcessorTest.kt | 94 +++++++++++++++++++ .../RoomBeginningPostProcessorTest.kt | 25 ----- 3 files changed, 140 insertions(+), 25 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt new file mode 100644 index 0000000000..16acfd718f --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline.postprocessor + +import io.element.android.libraries.matrix.api.core.UniqueId +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.item.event.MembershipChange +import io.element.android.libraries.matrix.api.timeline.item.event.OtherState +import io.element.android.libraries.matrix.api.timeline.item.event.RoomMembershipContent +import io.element.android.libraries.matrix.api.timeline.item.event.StateContent +import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTimelineItem +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_ID_2 +import io.element.android.libraries.matrix.test.timeline.aMessageContent +import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem + +internal val roomCreateEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.create"), + event = anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate)) +) +internal val roomCreatorJoinEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.member"), + event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED)) +) +internal val otherMemberJoinEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.member_other"), + event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) +) +internal val messageEvent = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.message"), + event = anEventTimelineItem(content = aMessageContent("hi")) +) +internal val messageEvent2 = MatrixTimelineItem.Event( + uniqueId = UniqueId("m.room.message2"), + event = anEventTimelineItem(content = aMessageContent("hello")) +) +internal val dayEvent = MatrixTimelineItem.Virtual( + uniqueId = UniqueId("day"), + virtual = VirtualTimelineItem.DayDivider(0), +) + diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt new file mode 100644 index 0000000000..398b2f5883 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt @@ -0,0 +1,94 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline.postprocessor + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.core.UniqueId +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.Timeline +import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTimelineItem +import org.junit.Test + +class LastForwardIndicatorsPostProcessorTest { + @Test + fun `LastForwardIndicatorsPostProcessor does not alter the items with mode not FOCUSED_ON_EVENT`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.LIVE) + val result = sut.process(listOf(messageEvent), true) + assertThat(result).containsExactly(messageEvent) + } + + @Test + fun `LastForwardIndicatorsPostProcessor does not alter the items with mode FOCUSED_ON_EVENT but timeline not initialized`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT) + val result = sut.process(listOf(messageEvent), false) + assertThat(result).containsExactly(messageEvent) + } + + @Test + fun `LastForwardIndicatorsPostProcessor add virtual items`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT) + val result = sut.process(listOf(messageEvent), true) + assertThat(result).containsExactly( + messageEvent, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("last_forward_indicator_${messageEvent.uniqueId}"), + virtual = VirtualTimelineItem.LastForwardIndicator + ) + ) + } + + @Test + fun `LastForwardIndicatorsPostProcessor add virtual items on empty list`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT) + val result = sut.process(listOf(), true) + assertThat(result).containsExactly( + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("last_forward_indicator_fake_id"), + virtual = VirtualTimelineItem.LastForwardIndicator + ) + ) + } + + @Test + fun `LastForwardIndicatorsPostProcessor add virtual items but does not alter the list if called a second time`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT) + // Process a first time + sut.process(listOf(messageEvent), true) + // Process a second time with the same Event + val result = sut.process(listOf(messageEvent), true) + assertThat(result).containsExactly( + messageEvent, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("last_forward_indicator_${messageEvent.uniqueId}"), + virtual = VirtualTimelineItem.LastForwardIndicator + ) + ) + } + + @Test + fun `LastForwardIndicatorsPostProcessor add virtual items each time it is called with new Events`() { + val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT) + // Process a first time + sut.process(listOf(dayEvent, messageEvent), true) + // Process a second time with the same Event + val result = sut.process(listOf(dayEvent, messageEvent, messageEvent2), true) + assertThat(result).containsExactly( + dayEvent, + messageEvent, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("last_forward_indicator_${messageEvent.uniqueId}"), + virtual = VirtualTimelineItem.LastForwardIndicator + ), + messageEvent2, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("last_forward_indicator_${messageEvent2.uniqueId}"), + virtual = VirtualTimelineItem.LastForwardIndicator + ) + ) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt index fadc174cd1..41d175b348 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt @@ -8,36 +8,11 @@ package io.element.android.libraries.matrix.impl.timeline.postprocessor import com.google.common.truth.Truth.assertThat -import io.element.android.libraries.matrix.api.core.UniqueId -import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.Timeline -import io.element.android.libraries.matrix.api.timeline.item.event.MembershipChange -import io.element.android.libraries.matrix.api.timeline.item.event.OtherState -import io.element.android.libraries.matrix.api.timeline.item.event.RoomMembershipContent -import io.element.android.libraries.matrix.api.timeline.item.event.StateContent import io.element.android.libraries.matrix.test.A_USER_ID -import io.element.android.libraries.matrix.test.A_USER_ID_2 -import io.element.android.libraries.matrix.test.timeline.aMessageContent -import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem import org.junit.Test class RoomBeginningPostProcessorTest { - private val roomCreateEvent = MatrixTimelineItem.Event( - uniqueId = UniqueId("m.room.create"), - event = anEventTimelineItem(sender = A_USER_ID, content = StateContent("", OtherState.RoomCreate)) - ) - private val roomCreatorJoinEvent = MatrixTimelineItem.Event( - uniqueId = UniqueId("m.room.member"), - event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID, null, MembershipChange.JOINED)) - ) - private val otherMemberJoinEvent = MatrixTimelineItem.Event( - uniqueId = UniqueId("m.room.member_other"), - event = anEventTimelineItem(content = RoomMembershipContent(A_USER_ID_2, null, MembershipChange.JOINED)) - ) - private val messageEvent = MatrixTimelineItem.Event( - uniqueId = UniqueId("m.room.message"), - event = anEventTimelineItem(content = aMessageContent("hi")) - ) @Test fun `processor returns empty list when empty list is provided`() { From 32c210118422f81b973802150d96e828339fa3bd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:15:09 +0200 Subject: [PATCH 103/122] Add unit test on LoadingIndicatorsPostProcessor --- libraries/matrix/impl/build.gradle.kts | 1 + .../LoadingIndicatorsPostProcessorTest.kt | 127 ++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt diff --git a/libraries/matrix/impl/build.gradle.kts b/libraries/matrix/impl/build.gradle.kts index 76eb030615..5d386169ad 100644 --- a/libraries/matrix/impl/build.gradle.kts +++ b/libraries/matrix/impl/build.gradle.kts @@ -48,6 +48,7 @@ dependencies { testImplementation(libs.test.robolectric) testImplementation(projects.libraries.matrix.test) testImplementation(projects.services.analytics.test) + testImplementation(projects.services.toolbox.test) testImplementation(projects.tests.testutils) testImplementation(libs.coroutines.test) testImplementation(libs.test.turbine) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt new file mode 100644 index 0000000000..4859355917 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt @@ -0,0 +1,127 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline.postprocessor + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.core.UniqueId +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.Timeline +import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTimelineItem +import io.element.android.services.toolbox.test.systemclock.FakeSystemClock +import org.junit.Test + +class LoadingIndicatorsPostProcessorTest { + @Test + fun `LoadingIndicatorsPostProcessor does not alter the items is the timeline is not initialized`() { + val sut = LoadingIndicatorsPostProcessor(FakeSystemClock()) + val result = sut.process( + items = listOf(messageEvent, messageEvent2), + isTimelineInitialized = false, + hasMoreToLoadBackward = true, + hasMoreToLoadForward = true, + ) + assertThat(result).containsExactly(messageEvent, messageEvent2) + } + + @Test + fun `LoadingIndicatorsPostProcessor adds Loading indicator at the top of the list if hasMoreToLoadBackward is true`() { + val clock = FakeSystemClock() + val sut = LoadingIndicatorsPostProcessor(clock) + val result = sut.process( + items = listOf(messageEvent, messageEvent2), + isTimelineInitialized = true, + hasMoreToLoadBackward = true, + hasMoreToLoadForward = false, + ) + assertThat(result).containsExactly( + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("BackwardLoadingIndicator"), + virtual = VirtualTimelineItem.LoadingIndicator( + direction = Timeline.PaginationDirection.BACKWARDS, + timestamp = clock.epochMillis() + ) + ), + messageEvent, + messageEvent2, + ) + } + + @Test + fun `LoadingIndicatorsPostProcessor adds Loading indicator at the bottom of the list if hasMoreToLoadForward is true`() { + val clock = FakeSystemClock() + val sut = LoadingIndicatorsPostProcessor(clock) + val result = sut.process( + items = listOf(messageEvent, messageEvent2), + isTimelineInitialized = true, + hasMoreToLoadBackward = false, + hasMoreToLoadForward = true, + ) + assertThat(result).containsExactly( + messageEvent, + messageEvent2, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("ForwardLoadingIndicator"), + virtual = VirtualTimelineItem.LoadingIndicator( + direction = Timeline.PaginationDirection.FORWARDS, + timestamp = clock.epochMillis() + ) + ), + ) + } + + @Test + fun `LoadingIndicatorsPostProcessor adds Loading indicator at the bottom and at the top of the list`() { + val clock = FakeSystemClock() + val sut = LoadingIndicatorsPostProcessor(clock) + val result = sut.process( + items = listOf(messageEvent, messageEvent2), + isTimelineInitialized = true, + hasMoreToLoadBackward = true, + hasMoreToLoadForward = true, + ) + assertThat(result).containsExactly( + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("BackwardLoadingIndicator"), + virtual = VirtualTimelineItem.LoadingIndicator( + direction = Timeline.PaginationDirection.BACKWARDS, + timestamp = clock.epochMillis() + ) + ), + messageEvent, + messageEvent2, + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("ForwardLoadingIndicator"), + virtual = VirtualTimelineItem.LoadingIndicator( + direction = Timeline.PaginationDirection.FORWARDS, + timestamp = clock.epochMillis() + ) + ), + ) + } + + @Test + fun `LoadingIndicatorsPostProcessor only adds 1 Loading indicator if there is no items in the list`() { + val clock = FakeSystemClock() + val sut = LoadingIndicatorsPostProcessor(clock) + val result = sut.process( + items = listOf(), + isTimelineInitialized = true, + hasMoreToLoadBackward = true, + hasMoreToLoadForward = true, + ) + assertThat(result).containsExactly( + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("BackwardLoadingIndicator"), + virtual = VirtualTimelineItem.LoadingIndicator( + direction = Timeline.PaginationDirection.BACKWARDS, + timestamp = clock.epochMillis() + ) + ), + ) + } +} From 51e661013e149a6ba968ca96e7b93e232799ef45 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:17:17 +0200 Subject: [PATCH 104/122] Add unit test on PollKind mapper --- .../matrix/impl/poll/PollKindKtTest.kt | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt new file mode 100644 index 0000000000..97f049bcb7 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt @@ -0,0 +1,40 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.poll + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.poll.PollKind +import org.junit.Test +import org.matrix.rustcomponents.sdk.PollKind as RustPollKind + + +class PollKindKtTest { + @Test + fun `map should return Disclosed when RustPollKind is Disclosed`() { + val pollKind = RustPollKind.DISCLOSED.map() + assertThat(pollKind).isEqualTo(PollKind.Disclosed) + } + + @Test + fun `map should return Undisclosed when RustPollKind is Undisclosed`() { + val pollKind = RustPollKind.UNDISCLOSED.map() + assertThat(pollKind).isEqualTo(PollKind.Undisclosed) + } + + @Test + fun `toInner should return DISCLOSED when PollKind is Disclosed`() { + val rustPollKind = PollKind.Disclosed.toInner() + assertThat(rustPollKind).isEqualTo(RustPollKind.DISCLOSED) + } + + @Test + fun `toInner should return UNDISCLOSED when PollKind is Undisclosed`() { + val rustPollKind = PollKind.Undisclosed.toInner() + assertThat(rustPollKind).isEqualTo(RustPollKind.UNDISCLOSED) + } +} From e111d78a24c43a19de1ebc846de21c89ba70a636 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:35:22 +0200 Subject: [PATCH 105/122] Add missing test for RoomListEntriesUpdate.Reset --- .../impl/roomlist/RoomSummaryListProcessorTest.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt index 93096ee227..45a023d636 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt @@ -13,6 +13,7 @@ import io.element.android.libraries.matrix.api.roomlist.RoomSummary import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoomListItem import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_ID_2 +import io.element.android.libraries.matrix.test.A_ROOM_ID_3 import io.element.android.libraries.matrix.test.room.aRoomSummary import io.element.android.libraries.matrix.test.room.aRoomSummaryFilled import kotlinx.coroutines.flow.MutableStateFlow @@ -148,6 +149,18 @@ class RoomSummaryListProcessorTest { assertThat(summaries.value[index].roomId).isEqualTo(A_ROOM_ID) } + @Test + fun `Rest removes all entries and add the provided ones`() = runTest { + summaries.value = listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(A_ROOM_ID_2)) + val processor = createProcessor() + val index = 0 + + processor.postUpdate(listOf(RoomListEntriesUpdate.Reset(listOf(FakeRustRoomListItem(A_ROOM_ID_3))))) + + assertThat(summaries.value.count()).isEqualTo(1) + assertThat(summaries.value[index].roomId).isEqualTo(A_ROOM_ID_3) + } + private fun TestScope.createProcessor() = RoomSummaryListProcessor( summaries, fakeRoomListService, From 525186cb18e6afa4ed138bba81122eaed5aad732 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:41:29 +0200 Subject: [PATCH 106/122] Exclude RoomListEntriesUpdate.describe() from coverage, it's only used to debug the app. --- .../libraries/matrix/impl/roomlist/RoomListEntriesUpdateExt.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListEntriesUpdateExt.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListEntriesUpdateExt.kt index d0ed9bb777..e03c8529c7 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListEntriesUpdateExt.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListEntriesUpdateExt.kt @@ -7,8 +7,11 @@ package io.element.android.libraries.matrix.impl.roomlist +import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage import org.matrix.rustcomponents.sdk.RoomListEntriesUpdate +@Suppress("unused") +@ExcludeFromCoverage internal fun RoomListEntriesUpdate.describe(): String { return when (this) { is RoomListEntriesUpdate.Set -> { From db311c4cccba1ec1c03e2304a8ffa38210bce54b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:44:34 +0200 Subject: [PATCH 107/122] Add unit test on DefaultUserServerResolver --- .../server/DefaultUserServerResolverTest.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/server/DefaultUserServerResolverTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/server/DefaultUserServerResolverTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/server/DefaultUserServerResolverTest.kt new file mode 100644 index 0000000000..b9778190ef --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/server/DefaultUserServerResolverTest.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.server + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.FakeMatrixClient +import org.junit.Test + +class DefaultUserServerResolverTest { + @Test + fun resolve() { + // Given + val userServerResolver = DefaultUserServerResolver(FakeMatrixClient( + userIdServerNameLambda = { "dummy.org" } + )) + + // When + val result = userServerResolver.resolve() + + // Then + assertThat(result).isEqualTo("dummy.org") + } +} From c26e889d45c67f0e6a46d9fd78bf97aa863112a2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 17:56:00 +0200 Subject: [PATCH 108/122] Add unit test on DefaultPassphraseGenerator --- .../keys/DefaultPassphraseGeneratorTest.kt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/keys/DefaultPassphraseGeneratorTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/keys/DefaultPassphraseGeneratorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/keys/DefaultPassphraseGeneratorTest.kt new file mode 100644 index 0000000000..e4ac3b591e --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/keys/DefaultPassphraseGeneratorTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.keys + +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner + +@RunWith(RobolectricTestRunner::class) +class DefaultPassphraseGeneratorTest { + @Test + fun `check that generated passphrase has the expected length`() { + val passphraseGenerator = DefaultPassphraseGenerator() + val passphrase = passphraseGenerator.generatePassphrase() + assertThat(passphrase!!.length).isEqualTo(342) + } +} From eea976bb18008da16209a7f5e640f42f385c900d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 18:09:12 +0200 Subject: [PATCH 109/122] Add unit test on toSessionData --- .../matrix/impl/mapper/SessionKtTest.kt | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt new file mode 100644 index 0000000000..aac34dfdab --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt @@ -0,0 +1,98 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.mapper + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.impl.paths.SessionPaths +import io.element.android.libraries.matrix.test.A_DEVICE_ID +import io.element.android.libraries.matrix.test.A_HOMESERVER_URL +import io.element.android.libraries.matrix.test.A_HOMESERVER_URL_2 +import io.element.android.libraries.matrix.test.A_SECRET +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.sessionstorage.api.LoginType +import org.junit.Test +import org.matrix.rustcomponents.sdk.Session +import org.matrix.rustcomponents.sdk.SlidingSyncVersion +import java.io.File + +class SessionKtTest { + @Test + fun `toSessionData compute the expected result`() { + val result = aRustSession().toSessionData( + isTokenValid = true, + loginType = LoginType.PASSWORD, + passphrase = A_SECRET, + sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")), + ) + assertThat(result.userId).isEqualTo(A_USER_ID.value) + assertThat(result.deviceId).isEqualTo(A_DEVICE_ID.value) + assertThat(result.accessToken).isEqualTo("accessToken") + assertThat(result.refreshToken).isEqualTo("refreshToken") + assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL) + assertThat(result.isTokenValid).isTrue() + assertThat(result.oidcData).isNull() + assertThat(result.slidingSyncProxy).isNull() + assertThat(result.loginType).isEqualTo(LoginType.PASSWORD) + assertThat(result.loginTimestamp).isNotNull() + assertThat(result.passphrase).isEqualTo(A_SECRET) + assertThat(result.sessionPath).isEqualTo("/a/file") + assertThat(result.cachePath).isEqualTo("/a/cache") + } + + @Test + fun `toSessionData can change the validity of the token`() { + val result = aRustSession().toSessionData( + isTokenValid = false, + loginType = LoginType.PASSWORD, + passphrase = A_SECRET, + sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")), + homeserverUrl = null, + ) + assertThat(result.isTokenValid).isFalse() + } + + @Test + fun `toSessionData can override the value of the homeserver url`() { + val result = aRustSession().toSessionData( + isTokenValid = true, + loginType = LoginType.PASSWORD, + passphrase = A_SECRET, + sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")), + homeserverUrl = A_HOMESERVER_URL_2, + ) + assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL_2) + } + + @Test + fun `toSessionData copy the sliding sync url if present`() { + val result = aRustSession( + proxy = SlidingSyncVersion.Proxy("proxyUrl") + ).toSessionData( + isTokenValid = true, + loginType = LoginType.PASSWORD, + passphrase = A_SECRET, + sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")), + homeserverUrl = A_HOMESERVER_URL_2, + ) + assertThat(result.slidingSyncProxy).isEqualTo("proxyUrl") + } +} + +internal fun aRustSession( + proxy: SlidingSyncVersion = SlidingSyncVersion.None +): Session { + return Session( + accessToken = "accessToken", + refreshToken = "refreshToken", + userId = A_USER_ID.value, + deviceId = A_DEVICE_ID.value, + homeserverUrl = A_HOMESERVER_URL, + oidcData = null, + slidingSyncVersion = proxy, + ) +} From 6cb4d10375bcdcef9abe5b781fcc3a4b77b7f17b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 19:43:37 +0200 Subject: [PATCH 110/122] Fix typo --- .../matrix/impl/roomlist/RoomSummaryListProcessorTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt index 45a023d636..d4b347af44 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt @@ -150,7 +150,7 @@ class RoomSummaryListProcessorTest { } @Test - fun `Rest removes all entries and add the provided ones`() = runTest { + fun `Reset removes all entries and add the provided ones`() = runTest { summaries.value = listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(A_ROOM_ID_2)) val processor = createProcessor() val index = 0 From 619841fc8029b0d2c93e0b0375da3861c247f4c6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 19:48:21 +0200 Subject: [PATCH 111/122] Add unit test on MatrixTimelineDiffProcessor --- .../timeline/MatrixTimelineDiffProcessor.kt | 9 +- .../MatrixTimelineDiffProcessorTest.kt | 199 ++++++++++++++++++ 2 files changed, 204 insertions(+), 4 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt index 47be0fd07a..3523823d5e 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import org.matrix.rustcomponents.sdk.TimelineChange -import org.matrix.rustcomponents.sdk.TimelineDiff +import org.matrix.rustcomponents.sdk.TimelineDiffInterface import org.matrix.rustcomponents.sdk.TimelineItem import timber.log.Timber @@ -36,7 +36,7 @@ internal class MatrixTimelineDiffProcessor( } } - suspend fun postDiffs(diffs: List) { + suspend fun postDiffs(diffs: List) { updateTimelineItems { Timber.v("Update timeline items from postDiffs (with ${diffs.size} items) on ${Thread.currentThread()}") diffs.forEach { diff -> @@ -52,7 +52,7 @@ internal class MatrixTimelineDiffProcessor( timelineItems.value = mutableTimelineItems } - private fun MutableList.applyDiff(diff: TimelineDiff) { + private fun MutableList.applyDiff(diff: TimelineDiffInterface) { when (diff.change()) { TimelineChange.APPEND -> { val items = diff.append()?.map { it.asMatrixTimelineItem() } ?: return @@ -100,7 +100,8 @@ internal class MatrixTimelineDiffProcessor( clear() } TimelineChange.TRUNCATE -> { - // Not supported + val index = diff.truncate() ?: return + subList(index.toInt(), size).clear() } } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt new file mode 100644 index 0000000000..84ce6e61f9 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt @@ -0,0 +1,199 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.impl.timeline.item.event.EventTimelineItemMapper +import io.element.android.libraries.matrix.impl.timeline.item.event.TimelineEventContentMapper +import io.element.android.libraries.matrix.impl.timeline.item.virtual.VirtualTimelineItemMapper +import io.element.android.libraries.matrix.test.A_UNIQUE_ID +import io.element.android.libraries.matrix.test.A_UNIQUE_ID_2 +import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runTest +import org.junit.Test +import org.matrix.rustcomponents.sdk.EventTimelineItem +import org.matrix.rustcomponents.sdk.InsertData +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.SetData +import org.matrix.rustcomponents.sdk.TimelineChange +import org.matrix.rustcomponents.sdk.TimelineDiffInterface +import org.matrix.rustcomponents.sdk.TimelineItem +import org.matrix.rustcomponents.sdk.VirtualTimelineItem + +open class FakeTimelineDiff( + private val change: TimelineChange, + private val item: TimelineItem? = FakeTimelineItem() +) : TimelineDiffInterface { + override fun change() = change + override fun append(): List? = item?.let { listOf(it) } + override fun insert(): InsertData? = item?.let { InsertData(1u, it) } + override fun pushBack(): TimelineItem? = item + override fun pushFront(): TimelineItem? = item + override fun remove(): UInt? = 1u + override fun reset(): List? = item?.let { listOf(it) } + override fun set(): SetData? = item?.let { SetData(1u, it) } + override fun truncate(): UInt? = 1u +} + +class MatrixTimelineDiffProcessorTest { + private val timelineItems = MutableStateFlow>(emptyList()) + + private val anEvent = MatrixTimelineItem.Event(A_UNIQUE_ID, anEventTimelineItem()) + private val anEvent2 = MatrixTimelineItem.Event(A_UNIQUE_ID_2, anEventTimelineItem()) + + @Test + fun `Append adds new entries at the end of the list`() = runTest { + timelineItems.value = listOf(anEvent) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.APPEND))) + assertThat(timelineItems.value.count()).isEqualTo(2) + assertThat(timelineItems.value).containsExactly( + anEvent, + MatrixTimelineItem.Other, + ) + } + + @Test + fun `PushBack adds a new entry at the end of the list`() = runTest { + timelineItems.value = listOf(anEvent) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.PUSH_BACK))) + assertThat(timelineItems.value.count()).isEqualTo(2) + assertThat(timelineItems.value).containsExactly( + anEvent, + MatrixTimelineItem.Other, + ) + } + + @Test + fun `PushFront inserts a new entry at the start of the list`() = runTest { + timelineItems.value = listOf(anEvent) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.PUSH_FRONT))) + assertThat(timelineItems.value.count()).isEqualTo(2) + assertThat(timelineItems.value).containsExactly( + MatrixTimelineItem.Other, + anEvent, + ) + } + + @Test + fun `Set replaces an entry at some index`() = runTest { + timelineItems.value = listOf(anEvent, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.SET))) + assertThat(timelineItems.value.count()).isEqualTo(2) + assertThat(timelineItems.value).containsExactly( + anEvent, + MatrixTimelineItem.Other + ) + } + + @Test + fun `Insert inserts a new entry at the provided index`() = runTest { + timelineItems.value = listOf(anEvent, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.INSERT))) + assertThat(timelineItems.value.count()).isEqualTo(3) + assertThat(timelineItems.value).containsExactly( + anEvent, + MatrixTimelineItem.Other, + anEvent2, + ) + } + + @Test + fun `Remove removes an entry at some index`() = runTest { + timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.REMOVE))) + assertThat(timelineItems.value.count()).isEqualTo(2) + assertThat(timelineItems.value).containsExactly( + anEvent, + anEvent2, + ) + } + + @Test + fun `PopBack removes an entry at the end of the list`() = runTest { + timelineItems.value = listOf(anEvent, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.POP_BACK))) + assertThat(timelineItems.value.count()).isEqualTo(1) + assertThat(timelineItems.value).containsExactly( + anEvent, + ) + } + + @Test + fun `PopFront removes an entry at the start of the list`() = runTest { + timelineItems.value = listOf(anEvent, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.POP_FRONT))) + assertThat(timelineItems.value.count()).isEqualTo(1) + assertThat(timelineItems.value).containsExactly( + anEvent2, + ) + } + + @Test + fun `Clear removes all the entries`() = runTest { + timelineItems.value = listOf(anEvent, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.CLEAR))) + assertThat(timelineItems.value).isEmpty() + } + + @Test + fun `Truncate removes all entries after the provided length`() = runTest { + timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.TRUNCATE))) + assertThat(timelineItems.value.count()).isEqualTo(1) + assertThat(timelineItems.value).containsExactly( + anEvent, + ) + } + + @Test + fun `Reset removes all entries and add the provided ones`() = runTest { + timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) + val processor = createProcessor() + processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.RESET))) + assertThat(timelineItems.value.count()).isEqualTo(1) + assertThat(timelineItems.value).containsExactly( + MatrixTimelineItem.Other, + ) + } + + private fun TestScope.createProcessor(): MatrixTimelineDiffProcessor { + val timelineEventContentMapper = TimelineEventContentMapper() + val timelineItemMapper = MatrixTimelineItemMapper( + fetchDetailsForEvent = { _ -> Result.success(Unit) }, + coroutineScope = this, + virtualTimelineItemMapper = VirtualTimelineItemMapper(), + eventTimelineItemMapper = EventTimelineItemMapper( + contentMapper = timelineEventContentMapper + ) + ) + return MatrixTimelineDiffProcessor( + timelineItems, + timelineItemFactory = timelineItemMapper, + ) + } +} + +class FakeTimelineItem : TimelineItem(NoPointer) { + override fun asEvent(): EventTimelineItem? = null + override fun asVirtual(): VirtualTimelineItem? = null + override fun fmtDebug(): String = "fmtDebug" + override fun uniqueId(): String = "uniqueId" +} From 5de84f6ad8f7a8bdfc9f78ec0a299f82c28f80da Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 20:25:53 +0200 Subject: [PATCH 112/122] Use aSessionData() from the test module. And fix typo. --- features/rageshake/impl/build.gradle.kts | 1 + .../impl/reporter/DefaultBugReporterTest.kt | 24 ++++--------------- .../signedout/impl/SignedOutStateProvider.kt | 9 ++++--- .../sessionstorage/test/SessionData.kt | 8 +++---- 4 files changed, 13 insertions(+), 29 deletions(-) diff --git a/features/rageshake/impl/build.gradle.kts b/features/rageshake/impl/build.gradle.kts index 9d15043804..2ba2f1767d 100644 --- a/features/rageshake/impl/build.gradle.kts +++ b/features/rageshake/impl/build.gradle.kts @@ -55,6 +55,7 @@ dependencies { testImplementation(libs.test.mockk) testImplementation(projects.libraries.matrix.test) testImplementation(projects.libraries.sessionStorage.implMemory) + testImplementation(projects.libraries.sessionStorage.test) testImplementation(projects.features.rageshake.test) testImplementation(projects.tests.testutils) testImplementation(projects.services.toolbox.test) diff --git a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporterTest.kt b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporterTest.kt index 45aaf6eeda..a30112034e 100755 --- a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporterTest.kt +++ b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporterTest.kt @@ -17,9 +17,8 @@ import io.element.android.libraries.matrix.test.FakeSdkMetadata import io.element.android.libraries.matrix.test.core.aBuildMeta import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.network.useragent.DefaultUserAgentProvider -import io.element.android.libraries.sessionstorage.api.LoginType -import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore +import io.element.android.libraries.sessionstorage.test.aSessionData import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest @@ -94,7 +93,7 @@ class DefaultBugReporterTest { server.start() val mockSessionStore = InMemorySessionStore().apply { - storeData(mockSessionData("@foo:eample.com", "ABCDEFGH")) + storeData(aSessionData(sessionId = "@foo:example.com", deviceId = "ABCDEFGH")) } val buildMeta = aBuildMeta() @@ -143,7 +142,7 @@ class DefaultBugReporterTest { assertThat(foundValues["can_contact"]).isEqualTo("true") assertThat(foundValues["device_id"]).isEqualTo("ABCDEFGH") assertThat(foundValues["sdk_sha"]).isEqualTo("123456789") - assertThat(foundValues["user_id"]).isEqualTo("@foo:eample.com") + assertThat(foundValues["user_id"]).isEqualTo("@foo:example.com") assertThat(foundValues["text"]).isEqualTo("a bug occurred") assertThat(foundValues["device_keys"]).isEqualTo("curve25519:CURVECURVECURVE, ed25519:EDKEYEDKEYEDKY") @@ -163,7 +162,7 @@ class DefaultBugReporterTest { server.start() val mockSessionStore = InMemorySessionStore().apply { - storeData(mockSessionData("@foo:eample.com", "ABCDEFGH")) + storeData(aSessionData("@foo:example.com", "ABCDEFGH")) } val buildMeta = aBuildMeta() @@ -267,21 +266,6 @@ class DefaultBugReporterTest { return foundValues } - private fun mockSessionData(userId: String, deviceId: String) = SessionData( - userId = userId, - deviceId = deviceId, - homeserverUrl = "example.com", - accessToken = "AA", - isTokenValid = true, - loginType = LoginType.DIRECT, - loginTimestamp = null, - oidcData = null, - refreshToken = null, - slidingSyncProxy = null, - passphrase = null, - sessionPath = "session", - cachePath = "cache", - ) @Test fun `test sendBugReport error`() = runTest { val server = MockWebServer() diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt index 9221fb2e33..b6cdaaaa0e 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt @@ -8,7 +8,6 @@ package io.element.android.features.signedout.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.sessionstorage.api.LoginType import io.element.android.libraries.sessionstorage.api.SessionData @@ -20,18 +19,18 @@ open class SignedOutStateProvider : PreviewParameterProvider { ) } -fun aSignedOutState() = SignedOutState( +private fun aSignedOutState() = SignedOutState( appName = "AppName", signedOutSession = aSessionData(), eventSink = {}, ) -fun aSessionData( - sessionId: SessionId = SessionId("@alice:server.org"), +private fun aSessionData( + sessionId: String = "@alice:server.org", isTokenValid: Boolean = false, ): SessionData { return SessionData( - userId = sessionId.value, + userId = sessionId, deviceId = "aDeviceId", accessToken = "anAccessToken", refreshToken = "aRefreshToken", diff --git a/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/SessionData.kt b/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/SessionData.kt index 8b3a0e5b26..ad62337ae6 100644 --- a/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/SessionData.kt +++ b/libraries/session-storage/test/src/main/kotlin/io/element/android/libraries/sessionstorage/test/SessionData.kt @@ -7,19 +7,19 @@ package io.element.android.libraries.sessionstorage.test -import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.sessionstorage.api.LoginType import io.element.android.libraries.sessionstorage.api.SessionData fun aSessionData( - sessionId: SessionId = SessionId("@alice:server.org"), + sessionId: String = "@alice:server.org", + deviceId: String = "aDeviceId", isTokenValid: Boolean = false, sessionPath: String = "/a/path/to/a/session", cachePath: String = "/a/path/to/a/cache", ): SessionData { return SessionData( - userId = sessionId.value, - deviceId = "aDeviceId", + userId = sessionId, + deviceId = deviceId, accessToken = "anAccessToken", refreshToken = "aRefreshToken", homeserverUrl = "aHomeserverUrl", From 85ff062c73739bff8098683e6987848ed7d70f7f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Sep 2024 20:34:39 +0200 Subject: [PATCH 113/122] Add unit test on SessionPathsProvider --- libraries/matrix/impl/build.gradle.kts | 2 + .../impl/util/SessionPathsProviderTest.kt | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/util/SessionPathsProviderTest.kt diff --git a/libraries/matrix/impl/build.gradle.kts b/libraries/matrix/impl/build.gradle.kts index 5d386169ad..c13189b198 100644 --- a/libraries/matrix/impl/build.gradle.kts +++ b/libraries/matrix/impl/build.gradle.kts @@ -47,6 +47,8 @@ dependencies { testImplementation(libs.test.truth) testImplementation(libs.test.robolectric) testImplementation(projects.libraries.matrix.test) + testImplementation(projects.libraries.sessionStorage.implMemory) + testImplementation(projects.libraries.sessionStorage.test) testImplementation(projects.services.analytics.test) testImplementation(projects.services.toolbox.test) testImplementation(projects.tests.testutils) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/util/SessionPathsProviderTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/util/SessionPathsProviderTest.kt new file mode 100644 index 0000000000..f530fc04cc --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/util/SessionPathsProviderTest.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.util + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore +import io.element.android.libraries.sessionstorage.test.aSessionData +import kotlinx.coroutines.test.runTest +import org.junit.Test + +class SessionPathsProviderTest { + @Test + fun `if session is not found, provides returns null`() = runTest { + val sut = SessionPathsProvider(InMemorySessionStore()) + val result = sut.provides(A_SESSION_ID) + assertThat(result).isNull() + } + + @Test + fun `if session is found, provides returns the data`() = runTest { + val store = InMemorySessionStore() + val sut = SessionPathsProvider(store) + store.storeData( + aSessionData( + sessionPath = "/a/path/to/a/session", + cachePath = "/a/path/to/a/cache", + ) + ) + val result = sut.provides(A_SESSION_ID)!! + assertThat(result.fileDirectory.absolutePath).isEqualTo("/a/path/to/a/session") + assertThat(result.cacheDirectory.absolutePath).isEqualTo("/a/path/to/a/cache") + } +} From e9a898ff82ab0bd049625b013ecad54670ab384f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 18:07:57 +0200 Subject: [PATCH 114/122] Cleanup --- .../impl/migrations/AppMigration05Test.kt | 4 +- .../impl/migrations/AppMigration06Test.kt | 4 +- features/signedout/impl/build.gradle.kts | 1 + .../signedout/impl/SignedOutPresenterTest.kt | 1 + .../timeline/MatrixTimelineDiffProcessor.kt | 6 +-- .../QrLoginProgressExtensionsKtTest.kt | 2 - .../impl/encryption/BackupStateMapperTest.kt | 15 +++--- .../encryption/BackupUploadStateMapperTest.kt | 12 +++-- .../EnableRecoveryProgressMapperTest.kt | 13 ++--- .../encryption/RecoveryStateMapperTest.kt | 9 ++-- .../fixtures/factories/RoomDescription.kt | 26 ++++++++++ .../impl/fixtures/factories/RoomHero.kt | 22 ++++++++ .../RoomInfo.kt} | 2 +- .../RoomMember.kt} | 2 +- .../fixtures/factories/RoomPowerLevels.kt | 34 ++++++++++++ .../impl/fixtures/factories/RoomPreview.kt | 35 +++++++++++++ .../fixtures/factories/SearchUsersResults.kt | 20 +++++++ .../matrix/impl/fixtures/factories/Session.kt | 28 ++++++++++ .../impl/fixtures/factories/UserProfile.kt | 21 ++++++++ .../impl/fixtures/{ => fakes}/FakeRustRoom.kt | 2 +- .../{ => fakes}/FakeRustRoomListItem.kt | 3 +- .../FakeRustRoomMembersIterator.kt | 2 +- .../fixtures/fakes/FakeRustTimelineDiff.kt | 30 +++++++++++ .../fixtures/fakes/FakeRustTimelineItem.kt | 20 +++++++ .../matrix/impl/mapper/SessionKtTest.kt | 16 +----- .../matrix/impl/poll/PollKindKtTest.kt | 1 - .../impl/room/MatrixRoomInfoMapperTest.kt | 11 ++-- .../impl/room/MessageEventTypeKtTest.kt | 3 +- .../matrix/impl/room/RoomInfoExtTest.kt | 21 +++----- .../matrix/impl/room/StateEventTypeTest.kt | 3 +- .../room/member/RoomMemberListFetcherTest.kt | 6 +-- .../powerlevels/RoomPowerLevelsMapperTest.kt | 4 +- .../room/preview/RoomPreviewMapperTest.kt | 25 +-------- .../RoomDescriptionMapperTest.kt | 15 +----- .../roomlist/RoomSummaryListProcessorTest.kt | 2 +- .../MatrixTimelineDiffProcessorTest.kt | 52 +++++-------------- .../impl/timeline/postprocessor/Fixtures.kt | 1 - .../RoomBeginningPostProcessorTest.kt | 1 - .../impl/usersearch/UserProfileMapperTest.kt | 4 +- .../usersearch/UserSearchResultMapperTest.kt | 14 ++--- .../DefaultFirebaseNewTokenHandlerTest.kt | 10 ++-- 41 files changed, 327 insertions(+), 176 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomDescription.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomHero.kt rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/{RustRoomInfo.kt => factories/RoomInfo.kt} (97%) rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/{RustRoomMember.kt => factories/RoomMember.kt} (93%) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPowerLevels.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/Session.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/UserProfile.kt rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/{ => fakes}/FakeRustRoom.kt (94%) rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/{ => fakes}/FakeRustRoomListItem.kt (85%) rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/{ => fakes}/FakeRustRoomMembersIterator.kt (92%) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineDiff.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt diff --git a/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration05Test.kt b/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration05Test.kt index 394c4a34b3..850674cde7 100644 --- a/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration05Test.kt +++ b/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration05Test.kt @@ -21,7 +21,7 @@ class AppMigration05Test { val sessionStore = InMemorySessionStore().apply { updateData( aSessionData( - sessionId = A_SESSION_ID, + sessionId = A_SESSION_ID.value, sessionPath = "", ) ) @@ -37,7 +37,7 @@ class AppMigration05Test { val sessionStore = InMemorySessionStore().apply { updateData( aSessionData( - sessionId = A_SESSION_ID, + sessionId = A_SESSION_ID.value, sessionPath = "/a/path/existing", ) ) diff --git a/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration06Test.kt b/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration06Test.kt index 6e1b9a237d..f60a3af5ad 100644 --- a/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration06Test.kt +++ b/features/migration/impl/src/test/kotlin/io/element/android/features/migration/impl/migrations/AppMigration06Test.kt @@ -21,7 +21,7 @@ class AppMigration06Test { val sessionStore = InMemorySessionStore().apply { updateData( aSessionData( - sessionId = A_SESSION_ID, + sessionId = A_SESSION_ID.value, sessionPath = "/a/path/to/a/session/AN_ID", cachePath = "", ) @@ -38,7 +38,7 @@ class AppMigration06Test { val sessionStore = InMemorySessionStore().apply { updateData( aSessionData( - sessionId = A_SESSION_ID, + sessionId = A_SESSION_ID.value, cachePath = "/a/path/existing", ) ) diff --git a/features/signedout/impl/build.gradle.kts b/features/signedout/impl/build.gradle.kts index 35ad8ecb16..8d8b3f518c 100644 --- a/features/signedout/impl/build.gradle.kts +++ b/features/signedout/impl/build.gradle.kts @@ -37,5 +37,6 @@ dependencies { testImplementation(libs.test.turbine) testImplementation(projects.libraries.matrix.test) testImplementation(projects.libraries.sessionStorage.implMemory) + testImplementation(projects.libraries.sessionStorage.test) testImplementation(projects.tests.testutils) } diff --git a/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/SignedOutPresenterTest.kt b/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/SignedOutPresenterTest.kt index 8945020da3..a5390c153e 100644 --- a/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/SignedOutPresenterTest.kt +++ b/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/SignedOutPresenterTest.kt @@ -16,6 +16,7 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.libraries.matrix.test.core.aBuildMeta import io.element.android.libraries.sessionstorage.api.SessionStore import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore +import io.element.android.libraries.sessionstorage.test.aSessionData import io.element.android.tests.testutils.WarmUpRule import kotlinx.coroutines.test.runTest import org.junit.Rule diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt index 3523823d5e..a48817efa5 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import org.matrix.rustcomponents.sdk.TimelineChange -import org.matrix.rustcomponents.sdk.TimelineDiffInterface +import org.matrix.rustcomponents.sdk.TimelineDiff import org.matrix.rustcomponents.sdk.TimelineItem import timber.log.Timber @@ -36,7 +36,7 @@ internal class MatrixTimelineDiffProcessor( } } - suspend fun postDiffs(diffs: List) { + suspend fun postDiffs(diffs: List) { updateTimelineItems { Timber.v("Update timeline items from postDiffs (with ${diffs.size} items) on ${Thread.currentThread()}") diffs.forEach { diff -> @@ -52,7 +52,7 @@ internal class MatrixTimelineDiffProcessor( timelineItems.value = mutableTimelineItems } - private fun MutableList.applyDiff(diff: TimelineDiffInterface) { + private fun MutableList.applyDiff(diff: TimelineDiff) { when (diff.change()) { TimelineChange.APPEND -> { val items = diff.append()?.map { it.asMatrixTimelineItem() } ?: return diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt index 0de3d15e57..172b415e98 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/auth/qrlogin/QrLoginProgressExtensionsKtTest.kt @@ -25,5 +25,3 @@ class QrLoginProgressExtensionsKtTest { .isEqualTo(QrCodeLoginStep.Finished) } } - - diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt index fc804b0978..f529aacbcb 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupStateMapperTest.kt @@ -15,12 +15,13 @@ import org.matrix.rustcomponents.sdk.BackupState as RustBackupState class BackupStateMapperTest { @Test fun `Ensure that mapping is correct`() { - assertThat(BackupStateMapper().map(RustBackupState.UNKNOWN)).isEqualTo(BackupState.UNKNOWN) - assertThat(BackupStateMapper().map(RustBackupState.CREATING)).isEqualTo(BackupState.CREATING) - assertThat(BackupStateMapper().map(RustBackupState.ENABLING)).isEqualTo(BackupState.ENABLING) - assertThat(BackupStateMapper().map(RustBackupState.RESUMING)).isEqualTo(BackupState.RESUMING) - assertThat(BackupStateMapper().map(RustBackupState.ENABLED)).isEqualTo(BackupState.ENABLED) - assertThat(BackupStateMapper().map(RustBackupState.DOWNLOADING)).isEqualTo(BackupState.DOWNLOADING) - assertThat(BackupStateMapper().map(RustBackupState.DISABLING)).isEqualTo(BackupState.DISABLING) + val sut = BackupStateMapper() + assertThat(sut.map(RustBackupState.UNKNOWN)).isEqualTo(BackupState.UNKNOWN) + assertThat(sut.map(RustBackupState.CREATING)).isEqualTo(BackupState.CREATING) + assertThat(sut.map(RustBackupState.ENABLING)).isEqualTo(BackupState.ENABLING) + assertThat(sut.map(RustBackupState.RESUMING)).isEqualTo(BackupState.RESUMING) + assertThat(sut.map(RustBackupState.ENABLED)).isEqualTo(BackupState.ENABLED) + assertThat(sut.map(RustBackupState.DOWNLOADING)).isEqualTo(BackupState.DOWNLOADING) + assertThat(sut.map(RustBackupState.DISABLING)).isEqualTo(BackupState.DISABLING) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt index 7c1ad1d7c5..6148cd6971 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/BackupUploadStateMapperTest.kt @@ -15,19 +15,21 @@ import org.matrix.rustcomponents.sdk.BackupUploadState as RustBackupUploadState class BackupUploadStateMapperTest { @Test fun `Ensure that mapping is correct`() { - assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Waiting)) + val sut = BackupUploadStateMapper() + assertThat(sut.map(RustBackupUploadState.Waiting)) .isEqualTo(BackupUploadState.Waiting) - assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Error)) + assertThat(sut.map(RustBackupUploadState.Error)) .isEqualTo(BackupUploadState.Error) - assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Done)) + assertThat(sut.map(RustBackupUploadState.Done)) .isEqualTo(BackupUploadState.Done) - assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Uploading(1.toUInt(), 2.toUInt()))) + assertThat(sut.map(RustBackupUploadState.Uploading(1.toUInt(), 2.toUInt()))) .isEqualTo(BackupUploadState.Uploading(1, 2)) } @Test fun `Ensure that full uploading is mapper to Done`() { - assertThat(BackupUploadStateMapper().map(RustBackupUploadState.Uploading(2.toUInt(), 2.toUInt()))) + val sut = BackupUploadStateMapper() + assertThat(sut.map(RustBackupUploadState.Uploading(2.toUInt(), 2.toUInt()))) .isEqualTo(BackupUploadState.Done) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt index 191a7f3964..fb39ff2d38 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/EnableRecoveryProgressMapperTest.kt @@ -15,17 +15,18 @@ import org.matrix.rustcomponents.sdk.EnableRecoveryProgress as RustEnableRecover class EnableRecoveryProgressMapperTest { @Test fun `Ensure that mapping is correct`() { - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.CreatingRecoveryKey)) + val sut = EnableRecoveryProgressMapper() + assertThat(sut.map(RustEnableRecoveryProgress.CreatingRecoveryKey)) .isEqualTo(EnableRecoveryProgress.CreatingRecoveryKey) - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.CreatingBackup)) + assertThat(sut.map(RustEnableRecoveryProgress.CreatingBackup)) .isEqualTo(EnableRecoveryProgress.CreatingBackup) - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.Starting)) + assertThat(sut.map(RustEnableRecoveryProgress.Starting)) .isEqualTo(EnableRecoveryProgress.Starting) - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.BackingUp(1.toUInt(), 2.toUInt()))) + assertThat(sut.map(RustEnableRecoveryProgress.BackingUp(1.toUInt(), 2.toUInt()))) .isEqualTo(EnableRecoveryProgress.BackingUp(1, 2)) - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.RoomKeyUploadError)) + assertThat(sut.map(RustEnableRecoveryProgress.RoomKeyUploadError)) .isEqualTo(EnableRecoveryProgress.RoomKeyUploadError) - assertThat(EnableRecoveryProgressMapper().map(RustEnableRecoveryProgress.Done("recoveryKey"))) + assertThat(sut.map(RustEnableRecoveryProgress.Done("recoveryKey"))) .isEqualTo(EnableRecoveryProgress.Done("recoveryKey")) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt index 9d7c2d0c04..b3c93af7ef 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/encryption/RecoveryStateMapperTest.kt @@ -15,9 +15,10 @@ import org.matrix.rustcomponents.sdk.RecoveryState as RustRecoveryState class RecoveryStateMapperTest { @Test fun `Ensure that mapping is correct`() { - assertThat(RecoveryStateMapper().map(RustRecoveryState.UNKNOWN)).isEqualTo(RecoveryState.UNKNOWN) - assertThat(RecoveryStateMapper().map(RustRecoveryState.ENABLED)).isEqualTo(RecoveryState.ENABLED) - assertThat(RecoveryStateMapper().map(RustRecoveryState.DISABLED)).isEqualTo(RecoveryState.DISABLED) - assertThat(RecoveryStateMapper().map(RustRecoveryState.INCOMPLETE)).isEqualTo(RecoveryState.INCOMPLETE) + val sut = RecoveryStateMapper() + assertThat(sut.map(RustRecoveryState.UNKNOWN)).isEqualTo(RecoveryState.UNKNOWN) + assertThat(sut.map(RustRecoveryState.ENABLED)).isEqualTo(RecoveryState.ENABLED) + assertThat(sut.map(RustRecoveryState.DISABLED)).isEqualTo(RecoveryState.DISABLED) + assertThat(sut.map(RustRecoveryState.INCOMPLETE)).isEqualTo(RecoveryState.INCOMPLETE) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomDescription.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomDescription.kt new file mode 100644 index 0000000000..d80b3d3723 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomDescription.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.test.A_ROOM_ALIAS +import io.element.android.libraries.matrix.test.A_ROOM_ID +import org.matrix.rustcomponents.sdk.PublicRoomJoinRule +import org.matrix.rustcomponents.sdk.RoomDescription + +internal fun aRustRoomDescription(): RoomDescription { + return RoomDescription( + roomId = A_ROOM_ID.value, + name = "name", + topic = "topic", + alias = A_ROOM_ALIAS.value, + avatarUrl = "avatarUrl", + joinRule = PublicRoomJoinRule.PUBLIC, + isWorldReadable = true, + joinedMembers = 2u + ) +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomHero.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomHero.kt new file mode 100644 index 0000000000..0eac725c2e --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomHero.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.test.A_USER_ID +import org.matrix.rustcomponents.sdk.RoomHero + +internal fun aRustRoomHero( + userId: UserId = A_USER_ID, +): RoomHero { + return RoomHero( + userId = userId.value, + displayName = "displayName", + avatarUrl = "avatarUrl", + ) +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt similarity index 97% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt index b78780ee23..e7e3ff219f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomInfo.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.libraries.matrix.impl.fixtures +package io.element.android.libraries.matrix.impl.fixtures.factories import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.test.A_ROOM_ID diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt similarity index 93% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt index 918ae1fe12..7aebed99ea 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/RustRoomMember.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.libraries.matrix.impl.fixtures +package io.element.android.libraries.matrix.impl.fixtures.factories import io.element.android.libraries.matrix.api.core.UserId import org.matrix.rustcomponents.sdk.MembershipState diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPowerLevels.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPowerLevels.kt new file mode 100644 index 0000000000..adfb65c19a --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPowerLevels.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import org.matrix.rustcomponents.sdk.RoomPowerLevels + +internal fun aRustRoomPowerLevels( + ban: Long, + invite: Long, + kick: Long, + redact: Long, + eventsDefault: Long, + stateDefault: Long, + usersDefault: Long, + roomName: Long, + roomAvatar: Long, + roomTopic: Long, +) = RoomPowerLevels( + ban = ban, + invite = invite, + kick = kick, + redact = redact, + eventsDefault = eventsDefault, + stateDefault = stateDefault, + usersDefault = usersDefault, + roomName = roomName, + roomAvatar = roomAvatar, + roomTopic = roomTopic, +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt new file mode 100644 index 0000000000..54abeb90b8 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.test.A_ROOM_ALIAS +import io.element.android.libraries.matrix.test.A_ROOM_ID +import org.matrix.rustcomponents.sdk.RoomPreview + +internal fun aRustRoomPreview( + canonicalAlias: String? = A_ROOM_ALIAS.value, + isJoined: Boolean = true, + isInvited: Boolean = true, + isPublic: Boolean = true, + canKnock: Boolean = true, +): RoomPreview { + return RoomPreview( + roomId = A_ROOM_ID.value, + canonicalAlias = canonicalAlias, + name = "name", + topic = "topic", + avatarUrl = "avatarUrl", + numJoinedMembers = 1u, + roomType = null, + isHistoryWorldReadable = true, + isJoined = isJoined, + isInvited = isInvited, + isPublic = isPublic, + canKnock = canKnock, + ) +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt new file mode 100644 index 0000000000..d051a1fb2d --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import org.matrix.rustcomponents.sdk.SearchUsersResults +import org.matrix.rustcomponents.sdk.UserProfile + +internal fun aRustSearchUsersResults( + results: List, + limited: Boolean, +) = SearchUsersResults( + results = results, + limited = limited, +) + diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/Session.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/Session.kt new file mode 100644 index 0000000000..64d1667157 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/Session.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.test.A_DEVICE_ID +import io.element.android.libraries.matrix.test.A_HOMESERVER_URL +import io.element.android.libraries.matrix.test.A_USER_ID +import org.matrix.rustcomponents.sdk.Session +import org.matrix.rustcomponents.sdk.SlidingSyncVersion + +internal fun aRustSession( + proxy: SlidingSyncVersion = SlidingSyncVersion.None +): Session { + return Session( + accessToken = "accessToken", + refreshToken = "refreshToken", + userId = A_USER_ID.value, + deviceId = A_DEVICE_ID.value, + homeserverUrl = A_HOMESERVER_URL, + oidcData = null, + slidingSyncVersion = proxy, + ) +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/UserProfile.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/UserProfile.kt new file mode 100644 index 0000000000..f6444d1376 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/UserProfile.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.test.A_USER_ID +import org.matrix.rustcomponents.sdk.UserProfile + +fun aRustUserProfile( + userId: String = A_USER_ID.value, + displayName: String = "displayName", + avatarUrl: String = "avatarUrl", +) = UserProfile( + userId = userId, + displayName = displayName, + avatarUrl = avatarUrl, +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoom.kt similarity index 94% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoom.kt index a9321bf347..f066f37e9b 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoom.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoom.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.libraries.matrix.impl.fixtures +package io.element.android.libraries.matrix.impl.fixtures.fakes import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.test.A_ROOM_ID diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomListItem.kt similarity index 85% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomListItem.kt index 1b9adee435..6d20221d88 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomListItem.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomListItem.kt @@ -5,9 +5,10 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.libraries.matrix.impl.fixtures +package io.element.android.libraries.matrix.impl.fixtures.fakes import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomInfo import org.matrix.rustcomponents.sdk.EventTimelineItem import org.matrix.rustcomponents.sdk.NoPointer import org.matrix.rustcomponents.sdk.RoomInfo diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomMembersIterator.kt similarity index 92% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomMembersIterator.kt index e5a0646303..6d44ccbc75 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/FakeRustRoomMembersIterator.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomMembersIterator.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.libraries.matrix.impl.fixtures +package io.element.android.libraries.matrix.impl.fixtures.fakes import org.matrix.rustcomponents.sdk.NoPointer import org.matrix.rustcomponents.sdk.RoomMember diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineDiff.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineDiff.kt new file mode 100644 index 0000000000..f4fe5e15d9 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineDiff.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.InsertData +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.SetData +import org.matrix.rustcomponents.sdk.TimelineChange +import org.matrix.rustcomponents.sdk.TimelineDiff +import org.matrix.rustcomponents.sdk.TimelineItem + +class FakeRustTimelineDiff( + private val change: TimelineChange, + private val item: TimelineItem? = FakeRustTimelineItem() +) : TimelineDiff(NoPointer) { + override fun change() = change + override fun append(): List? = item?.let { listOf(it) } + override fun insert(): InsertData? = item?.let { InsertData(1u, it) } + override fun pushBack(): TimelineItem? = item + override fun pushFront(): TimelineItem? = item + override fun remove(): UInt? = 1u + override fun reset(): List? = item?.let { listOf(it) } + override fun set(): SetData? = item?.let { SetData(1u, it) } + override fun truncate(): UInt? = 1u +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt new file mode 100644 index 0000000000..c20698fe62 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.EventTimelineItem +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.TimelineItem +import org.matrix.rustcomponents.sdk.VirtualTimelineItem + +class FakeRustTimelineItem : TimelineItem(NoPointer) { + override fun asEvent(): EventTimelineItem? = null + override fun asVirtual(): VirtualTimelineItem? = null + override fun fmtDebug(): String = "fmtDebug" + override fun uniqueId(): String = "uniqueId" +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt index aac34dfdab..9e6d87957c 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/mapper/SessionKtTest.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.matrix.impl.mapper import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustSession import io.element.android.libraries.matrix.impl.paths.SessionPaths import io.element.android.libraries.matrix.test.A_DEVICE_ID import io.element.android.libraries.matrix.test.A_HOMESERVER_URL @@ -16,7 +17,6 @@ import io.element.android.libraries.matrix.test.A_SECRET import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.sessionstorage.api.LoginType import org.junit.Test -import org.matrix.rustcomponents.sdk.Session import org.matrix.rustcomponents.sdk.SlidingSyncVersion import java.io.File @@ -82,17 +82,3 @@ class SessionKtTest { assertThat(result.slidingSyncProxy).isEqualTo("proxyUrl") } } - -internal fun aRustSession( - proxy: SlidingSyncVersion = SlidingSyncVersion.None -): Session { - return Session( - accessToken = "accessToken", - refreshToken = "refreshToken", - userId = A_USER_ID.value, - deviceId = A_DEVICE_ID.value, - homeserverUrl = A_HOMESERVER_URL, - oidcData = null, - slidingSyncVersion = proxy, - ) -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt index 97f049bcb7..4be515530c 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/poll/PollKindKtTest.kt @@ -12,7 +12,6 @@ import io.element.android.libraries.matrix.api.poll.PollKind import org.junit.Test import org.matrix.rustcomponents.sdk.PollKind as RustPollKind - class PollKindKtTest { @Test fun `map should return Disclosed when RustPollKind is Disclosed`() { diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt index ce04469ff8..c9e80f493d 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapperTest.kt @@ -15,8 +15,9 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.MatrixRoomInfo import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.user.MatrixUser -import io.element.android.libraries.matrix.impl.room.member.aRustRoomMember -import io.element.android.libraries.matrix.impl.roomlist.aRustRoomInfo +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomHero +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomInfo +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomMember import io.element.android.libraries.matrix.test.AN_AVATAR_URL import io.element.android.libraries.matrix.test.AN_EVENT_ID import io.element.android.libraries.matrix.test.A_ROOM_ALIAS @@ -52,7 +53,7 @@ class MatrixRoomInfoMapperTest { alternativeAliases = listOf(A_ROOM_ALIAS.value), membership = Membership.JOINED, inviter = aRustRoomMember(A_USER_ID), - heroes = listOf(aRoomHero()), + heroes = listOf(aRustRoomHero()), activeMembersCount = 2uL, invitedMembersCount = 3uL, joinedMembersCount = 4uL, @@ -67,7 +68,7 @@ class MatrixRoomInfoMapperTest { numUnreadNotifications = 13uL, numUnreadMentions = 14uL, pinnedEventIds = listOf(AN_EVENT_ID.value), - roomCreator = A_USER_ID.value, + roomCreator = A_USER_ID, ) ) ).isEqualTo( @@ -127,7 +128,7 @@ class MatrixRoomInfoMapperTest { alternativeAliases = emptyList(), membership = Membership.INVITED, inviter = null, - heroes = listOf(aRoomHero()), + heroes = listOf(aRustRoomHero()), activeMembersCount = 2uL, invitedMembersCount = 3uL, joinedMembersCount = 4uL, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt index 847c41e89a..3c439d28b0 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventTypeKtTest.kt @@ -8,9 +8,8 @@ package io.element.android.libraries.matrix.impl.room import com.google.common.truth.Truth.assertThat -import org.junit.Test - import io.element.android.libraries.matrix.api.room.MessageEventType +import org.junit.Test import org.matrix.rustcomponents.sdk.MessageLikeEventType class MessageEventTypeKtTest { diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt index 7d671d0972..d65f042019 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt @@ -10,10 +10,10 @@ package io.element.android.libraries.matrix.impl.room import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.user.MatrixUser -import io.element.android.libraries.matrix.impl.fixtures.aRustRoomInfo +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomHero +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomInfo import io.element.android.libraries.matrix.test.A_USER_ID import org.junit.Test -import org.matrix.rustcomponents.sdk.RoomHero class RoomInfoExtTest { @Test @@ -21,7 +21,7 @@ class RoomInfoExtTest { val result = aRustRoomInfo( isDirect = true, activeMembersCount = 2uL, - heroes = listOf(aRoomHero()) + heroes = listOf(aRustRoomHero()) ).elementHeroes() assertThat(result).isEqualTo( listOf( @@ -39,7 +39,7 @@ class RoomInfoExtTest { val result = aRustRoomInfo( isDirect = true, activeMembersCount = 2uL, - heroes = listOf(aRoomHero(), aRoomHero()) + heroes = listOf(aRustRoomHero(), aRustRoomHero()) ).elementHeroes() assertThat(result).isEmpty() } @@ -49,7 +49,7 @@ class RoomInfoExtTest { val result = aRustRoomInfo( isDirect = false, activeMembersCount = 2uL, - heroes = listOf(aRoomHero()) + heroes = listOf(aRustRoomHero()) ).elementHeroes() assertThat(result).isEmpty() } @@ -59,18 +59,9 @@ class RoomInfoExtTest { val result = aRustRoomInfo( isDirect = true, activeMembersCount = 3uL, - heroes = listOf(aRoomHero()) + heroes = listOf(aRustRoomHero()) ).elementHeroes() assertThat(result).isEmpty() } } -internal fun aRoomHero( - userId: UserId = A_USER_ID, -): RoomHero { - return RoomHero( - userId = userId.value, - displayName = "displayName", - avatarUrl = "avatarUrl", - ) -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt index 3772ae780d..1900575bbf 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/StateEventTypeTest.kt @@ -8,9 +8,8 @@ package io.element.android.libraries.matrix.impl.room import com.google.common.truth.Truth.assertThat -import org.junit.Test - import io.element.android.libraries.matrix.api.room.StateEventType +import org.junit.Test import org.matrix.rustcomponents.sdk.StateEventType as RustStateEventType class StateEventTypeTest { diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt index dc8489e48f..549f7e5ac2 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt @@ -11,9 +11,9 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState import io.element.android.libraries.matrix.api.room.roomMembers -import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoom -import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoomMembersIterator -import io.element.android.libraries.matrix.impl.fixtures.aRustRoomMember +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoom +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomMembersIterator +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomMember import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE_AND_SERVER import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.SERVER diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt index 2a8a89004d..20cbdc5deb 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/powerlevels/RoomPowerLevelsMapperTest.kt @@ -9,15 +9,15 @@ package io.element.android.libraries.matrix.impl.room.powerlevels import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.room.powerlevels.MatrixRoomPowerLevels +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPowerLevels import org.junit.Test -import org.matrix.rustcomponents.sdk.RoomPowerLevels as RustRoomPowerLevels class RoomPowerLevelsMapperTest { @Test fun `test that mapping of RoomPowerLevels is correct`() { assertThat( RoomPowerLevelsMapper.map( - RustRoomPowerLevels( + aRustRoomPowerLevels( ban = 1, invite = 2, kick = 3, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt index 3e0fea4bdc..7d7890198e 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt @@ -10,10 +10,10 @@ package io.element.android.libraries.matrix.impl.room.preview import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.room.RoomType import io.element.android.libraries.matrix.api.room.preview.RoomPreview +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPreview import io.element.android.libraries.matrix.test.A_ROOM_ALIAS import io.element.android.libraries.matrix.test.A_ROOM_ID import org.junit.Test -import org.matrix.rustcomponents.sdk.RoomPreview as RustRoomPreview class RoomPreviewMapperTest { @Test @@ -71,26 +71,3 @@ class RoomPreviewMapperTest { ) } } - -internal fun aRustRoomPreview( - canonicalAlias: String? = A_ROOM_ALIAS.value, - isJoined: Boolean = true, - isInvited: Boolean = true, - isPublic: Boolean = true, - canKnock: Boolean = true, -): RustRoomPreview { - return RustRoomPreview( - roomId = A_ROOM_ID.value, - canonicalAlias = canonicalAlias, - name = "name", - topic = "topic", - avatarUrl = "avatarUrl", - numJoinedMembers = 1u, - roomType = null, - isHistoryWorldReadable = true, - isJoined = isJoined, - isInvited = isInvited, - isPublic = isPublic, - canKnock = canKnock, - ) -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt index 307cc33b54..808b15dd1f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RoomDescriptionMapperTest.kt @@ -9,12 +9,12 @@ package io.element.android.libraries.matrix.impl.roomdirectory import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.roomdirectory.RoomDescription +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomDescription import io.element.android.libraries.matrix.test.A_ROOM_ALIAS import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.roomdirectory.aRoomDescription import org.junit.Test import org.matrix.rustcomponents.sdk.PublicRoomJoinRule -import org.matrix.rustcomponents.sdk.RoomDescription as RustRoomDescription class RoomDescriptionMapperTest { @Test @@ -45,16 +45,3 @@ class RoomDescriptionMapperTest { assertThat(null.map()).isEqualTo(RoomDescription.JoinRule.UNKNOWN) } } - -internal fun aRustRoomDescription(): RustRoomDescription { - return RustRoomDescription( - roomId = A_ROOM_ID.value, - name = "name", - topic = "topic", - alias = A_ROOM_ALIAS.value, - avatarUrl = "avatarUrl", - joinRule = PublicRoomJoinRule.PUBLIC, - isWorldReadable = true, - joinedMembers = 2u - ) -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt index d4b347af44..d6ed69706c 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryListProcessorTest.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.matrix.impl.roomlist import com.google.common.truth.Truth.assertThat import com.sun.jna.Pointer import io.element.android.libraries.matrix.api.roomlist.RoomSummary -import io.element.android.libraries.matrix.impl.fixtures.FakeRustRoomListItem +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomListItem import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_ID_2 import io.element.android.libraries.matrix.test.A_ROOM_ID_3 diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt index 84ce6e61f9..d442d004d6 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt @@ -9,6 +9,7 @@ package io.element.android.libraries.matrix.impl.timeline import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineDiff import io.element.android.libraries.matrix.impl.timeline.item.event.EventTimelineItemMapper import io.element.android.libraries.matrix.impl.timeline.item.event.TimelineEventContentMapper import io.element.android.libraries.matrix.impl.timeline.item.virtual.VirtualTimelineItemMapper @@ -19,29 +20,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Test -import org.matrix.rustcomponents.sdk.EventTimelineItem -import org.matrix.rustcomponents.sdk.InsertData -import org.matrix.rustcomponents.sdk.NoPointer -import org.matrix.rustcomponents.sdk.SetData import org.matrix.rustcomponents.sdk.TimelineChange -import org.matrix.rustcomponents.sdk.TimelineDiffInterface -import org.matrix.rustcomponents.sdk.TimelineItem -import org.matrix.rustcomponents.sdk.VirtualTimelineItem - -open class FakeTimelineDiff( - private val change: TimelineChange, - private val item: TimelineItem? = FakeTimelineItem() -) : TimelineDiffInterface { - override fun change() = change - override fun append(): List? = item?.let { listOf(it) } - override fun insert(): InsertData? = item?.let { InsertData(1u, it) } - override fun pushBack(): TimelineItem? = item - override fun pushFront(): TimelineItem? = item - override fun remove(): UInt? = 1u - override fun reset(): List? = item?.let { listOf(it) } - override fun set(): SetData? = item?.let { SetData(1u, it) } - override fun truncate(): UInt? = 1u -} class MatrixTimelineDiffProcessorTest { private val timelineItems = MutableStateFlow>(emptyList()) @@ -53,7 +32,7 @@ class MatrixTimelineDiffProcessorTest { fun `Append adds new entries at the end of the list`() = runTest { timelineItems.value = listOf(anEvent) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.APPEND))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.APPEND))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( anEvent, @@ -65,7 +44,7 @@ class MatrixTimelineDiffProcessorTest { fun `PushBack adds a new entry at the end of the list`() = runTest { timelineItems.value = listOf(anEvent) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.PUSH_BACK))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_BACK))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( anEvent, @@ -77,7 +56,7 @@ class MatrixTimelineDiffProcessorTest { fun `PushFront inserts a new entry at the start of the list`() = runTest { timelineItems.value = listOf(anEvent) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.PUSH_FRONT))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_FRONT))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( MatrixTimelineItem.Other, @@ -89,7 +68,7 @@ class MatrixTimelineDiffProcessorTest { fun `Set replaces an entry at some index`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.SET))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.SET))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( anEvent, @@ -101,7 +80,7 @@ class MatrixTimelineDiffProcessorTest { fun `Insert inserts a new entry at the provided index`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.INSERT))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.INSERT))) assertThat(timelineItems.value.count()).isEqualTo(3) assertThat(timelineItems.value).containsExactly( anEvent, @@ -114,7 +93,7 @@ class MatrixTimelineDiffProcessorTest { fun `Remove removes an entry at some index`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.REMOVE))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.REMOVE))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( anEvent, @@ -126,7 +105,7 @@ class MatrixTimelineDiffProcessorTest { fun `PopBack removes an entry at the end of the list`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.POP_BACK))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_BACK))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( anEvent, @@ -137,7 +116,7 @@ class MatrixTimelineDiffProcessorTest { fun `PopFront removes an entry at the start of the list`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.POP_FRONT))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_FRONT))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( anEvent2, @@ -148,7 +127,7 @@ class MatrixTimelineDiffProcessorTest { fun `Clear removes all the entries`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.CLEAR))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.CLEAR))) assertThat(timelineItems.value).isEmpty() } @@ -156,7 +135,7 @@ class MatrixTimelineDiffProcessorTest { fun `Truncate removes all entries after the provided length`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.TRUNCATE))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.TRUNCATE))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( anEvent, @@ -167,7 +146,7 @@ class MatrixTimelineDiffProcessorTest { fun `Reset removes all entries and add the provided ones`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) val processor = createProcessor() - processor.postDiffs(listOf(FakeTimelineDiff(change = TimelineChange.RESET))) + processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.RESET))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( MatrixTimelineItem.Other, @@ -190,10 +169,3 @@ class MatrixTimelineDiffProcessorTest { ) } } - -class FakeTimelineItem : TimelineItem(NoPointer) { - override fun asEvent(): EventTimelineItem? = null - override fun asVirtual(): VirtualTimelineItem? = null - override fun fmtDebug(): String = "fmtDebug" - override fun uniqueId(): String = "uniqueId" -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt index 16acfd718f..cc295d2517 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/Fixtures.kt @@ -43,4 +43,3 @@ internal val dayEvent = MatrixTimelineItem.Virtual( uniqueId = UniqueId("day"), virtual = VirtualTimelineItem.DayDivider(0), ) - diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt index 41d175b348..f7eadd0d47 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/RoomBeginningPostProcessorTest.kt @@ -13,7 +13,6 @@ import io.element.android.libraries.matrix.test.A_USER_ID import org.junit.Test class RoomBeginningPostProcessorTest { - @Test fun `processor returns empty list when empty list is provided`() { val processor = RoomBeginningPostProcessor(Timeline.Mode.LIVE) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt index 0564186a78..f8bb7a0e0e 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserProfileMapperTest.kt @@ -9,14 +9,14 @@ package io.element.android.libraries.matrix.impl.usersearch import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustUserProfile import io.element.android.libraries.matrix.test.A_USER_ID import org.junit.Test -import org.matrix.rustcomponents.sdk.UserProfile class UserProfileMapperTest { @Test fun map() { - assertThat(UserProfileMapper.map(UserProfile(A_USER_ID.value, "displayName", "avatarUrl"))) + assertThat(UserProfileMapper.map(aRustUserProfile(A_USER_ID.value, "displayName", "avatarUrl"))) .isEqualTo(MatrixUser(A_USER_ID, "displayName", "avatarUrl")) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt index 17ce3836ca..068515e255 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/usersearch/UserSearchResultMapperTest.kt @@ -10,19 +10,19 @@ package io.element.android.libraries.matrix.impl.usersearch import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.user.MatrixSearchUserResults import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustSearchUsersResults +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustUserProfile import io.element.android.libraries.matrix.test.A_USER_ID import kotlinx.collections.immutable.toImmutableList import org.junit.Test -import org.matrix.rustcomponents.sdk.SearchUsersResults -import org.matrix.rustcomponents.sdk.UserProfile class UserSearchResultMapperTest { @Test fun `map limited list`() { assertThat( UserSearchResultMapper.map( - SearchUsersResults( - results = listOf(UserProfile(A_USER_ID.value, "displayName", "avatarUrl")), + aRustSearchUsersResults( + results = listOf(aRustUserProfile(A_USER_ID.value, "displayName", "avatarUrl")), limited = true, ) ) @@ -39,9 +39,9 @@ class UserSearchResultMapperTest { fun `map not limited list`() { assertThat( UserSearchResultMapper.map( - SearchUsersResults( - listOf(UserProfile(A_USER_ID.value, "displayName", "avatarUrl")), - false, + aRustSearchUsersResults( + results = listOf(aRustUserProfile(A_USER_ID.value, "displayName", "avatarUrl")), + limited = false, ) ) ) diff --git a/libraries/pushproviders/firebase/src/test/kotlin/io/element/android/libraries/pushproviders/firebase/DefaultFirebaseNewTokenHandlerTest.kt b/libraries/pushproviders/firebase/src/test/kotlin/io/element/android/libraries/pushproviders/firebase/DefaultFirebaseNewTokenHandlerTest.kt index 2da1e8554d..668eeebf98 100644 --- a/libraries/pushproviders/firebase/src/test/kotlin/io/element/android/libraries/pushproviders/firebase/DefaultFirebaseNewTokenHandlerTest.kt +++ b/libraries/pushproviders/firebase/src/test/kotlin/io/element/android/libraries/pushproviders/firebase/DefaultFirebaseNewTokenHandlerTest.kt @@ -51,9 +51,9 @@ class DefaultFirebaseNewTokenHandlerTest { val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult) val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler( sessionStore = InMemoryMultiSessionsStore().apply { - storeData(aSessionData(A_USER_ID)) - storeData(aSessionData(A_USER_ID_2)) - storeData(aSessionData(A_USER_ID_3)) + storeData(aSessionData(A_USER_ID.value)) + storeData(aSessionData(A_USER_ID_2.value)) + storeData(aSessionData(A_USER_ID_3.value)) }, matrixClientProvider = FakeMatrixClientProvider { sessionId -> when (sessionId) { @@ -90,7 +90,7 @@ class DefaultFirebaseNewTokenHandlerTest { val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult) val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler( sessionStore = InMemoryMultiSessionsStore().apply { - storeData(aSessionData(A_USER_ID)) + storeData(aSessionData(A_USER_ID.value)) }, matrixClientProvider = FakeMatrixClientProvider { Result.failure(IllegalStateException()) @@ -114,7 +114,7 @@ class DefaultFirebaseNewTokenHandlerTest { val pusherSubscriber = FakePusherSubscriber(registerPusherResult = registerPusherResult) val firebaseNewTokenHandler = createDefaultFirebaseNewTokenHandler( sessionStore = InMemoryMultiSessionsStore().apply { - storeData(aSessionData(A_USER_ID)) + storeData(aSessionData(A_USER_ID.value)) }, matrixClientProvider = FakeMatrixClientProvider { Result.success(aMatrixClient1) From 4a4a8073fa33a00e923467f0c72382b02a9955e6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 18:41:28 +0200 Subject: [PATCH 115/122] Cleanup --- .../matrix/impl/fixtures/factories/SearchUsersResults.kt | 1 - .../android/libraries/matrix/impl/room/RoomInfoExtTest.kt | 1 - .../matrix/impl/room/member/RoomMemberListFetcherTest.kt | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt index d051a1fb2d..f8397d066d 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/SearchUsersResults.kt @@ -17,4 +17,3 @@ internal fun aRustSearchUsersResults( results = results, limited = limited, ) - diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt index d65f042019..8cf3134825 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoExtTest.kt @@ -64,4 +64,3 @@ class RoomInfoExtTest { assertThat(result).isEmpty() } } - diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt index 549f7e5ac2..a65995fc86 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberListFetcherTest.kt @@ -11,9 +11,9 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState import io.element.android.libraries.matrix.api.room.roomMembers +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomMember import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoom import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomMembersIterator -import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomMember import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.CACHE_AND_SERVER import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher.Source.SERVER From 2d9b0bbe19eb12094279d28addbfa6e235a35c74 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 18 Sep 2024 18:50:54 +0200 Subject: [PATCH 116/122] Adapt Konsist test for Fake Rust classes. --- .../element/android/tests/konsist/KonsistClassNameTest.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt index 7ec2784c70..797f13dbe8 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt @@ -68,11 +68,12 @@ class KonsistClassNameTest { .withoutName( "FakeFileSystem", "FakeImageLoader", - "FakeRustRoom", ) .assertTrue { - val interfaceName = it.name.replace("Fake", "") - it.name.startsWith("Fake") && + val interfaceName = it.name + .replace("FakeRust", "") + .replace("Fake", "") + (it.name.startsWith("Fake") || it.name.startsWith("FakeRust")) && it.parents().any { parent -> parent.name.replace(".", "") == interfaceName } } } From 730aa95da6992eaaa2530845e9572ccbebd7a548 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 18 Sep 2024 20:35:57 +0200 Subject: [PATCH 117/122] Rust sdk : update to 0.2.47 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 14d38d3a2c..f33fa0275a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.46" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.47" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From b364cee500de37a416d4027e61d5d0102dbd9326 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 18 Sep 2024 21:07:39 +0200 Subject: [PATCH 118/122] Room list : debounce subscribe to visible rooms. --- .../android/features/roomlist/impl/RoomListPresenter.kt | 8 ++++++-- .../libraries/matrix/impl/roomlist/RustRoomListService.kt | 6 +----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index 2983b6b695..bd65b2634d 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -61,7 +61,7 @@ import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.Job -import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.first @@ -73,6 +73,7 @@ import kotlinx.coroutines.launch import javax.inject.Inject private const val EXTENDED_RANGE_SIZE = 40 +private const val SUBSCRIBE_TO_VISIBLE_ROOMS_DEBOUNCE_IN_MILLIS = 300L class RoomListPresenter @Inject constructor( private val client: MatrixClient, @@ -301,7 +302,10 @@ class RoomListPresenter @Inject constructor( private var currentUpdateVisibleRangeJob: Job? = null private fun CoroutineScope.updateVisibleRange(range: IntRange) { currentUpdateVisibleRangeJob?.cancel() - currentUpdateVisibleRangeJob = launch(SupervisorJob()) { + currentUpdateVisibleRangeJob = launch { + // Debounce the subscription to avoid subscribing to too many rooms + delay(SUBSCRIBE_TO_VISIBLE_ROOMS_DEBOUNCE_IN_MILLIS) + if (range.isEmpty()) return@launch val currentRoomList = roomListDataSource.allRooms.first() // Use extended range to 'prefetch' the next rooms info diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListService.kt index b203ec958f..ee0be05e4b 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListService.kt @@ -53,11 +53,7 @@ internal class RustRoomListService( } override suspend fun subscribeToVisibleRooms(roomIds: List) { - val toSubscribe = roomIds.filterNot { roomSyncSubscriber.isSubscribedTo(it) } - if (toSubscribe.isNotEmpty()) { - Timber.d("Subscribe to ${toSubscribe.size} rooms: $toSubscribe") - roomSyncSubscriber.batchSubscribe(toSubscribe) - } + roomSyncSubscriber.batchSubscribe(roomIds) } override val allRooms: DynamicRoomList = roomListFactory.createRoomList( From 4b2ea110371974fcd62f0768ac6502370bd8137b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Thu, 19 Sep 2024 08:15:12 +0200 Subject: [PATCH 119/122] Fix and add test --- .../roomlist/impl/RoomListPresenterTest.kt | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 8b7294b165..c77f59a0a8 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -85,13 +85,16 @@ import io.element.android.tests.testutils.lambda.value import io.element.android.tests.testutils.test import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.cancel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.advanceTimeBy import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test +import kotlin.time.Duration.Companion.seconds class RoomListPresenterTest { @get:Rule @@ -599,6 +602,38 @@ class RoomListPresenterTest { } } + @OptIn(ExperimentalCoroutinesApi::class) + @Test + fun `present - UpdateVisibleRange will cancel the previous subscription if called too soon`() = runTest { + val subscribeToVisibleRoomsLambda = lambdaRecorder { _: List -> } + val roomListService = FakeRoomListService(subscribeToVisibleRoomsLambda = subscribeToVisibleRoomsLambda) + val scope = CoroutineScope(coroutineContext + SupervisorJob()) + val matrixClient = FakeMatrixClient( + roomListService = roomListService, + ) + val roomSummary = aRoomSummary( + currentUserMembership = CurrentUserMembership.INVITED + ) + roomListService.postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) + roomListService.postAllRooms(listOf(roomSummary)) + val presenter = createRoomListPresenter( + coroutineScope = scope, + client = matrixClient, + ) + presenter.test { + val state = consumeItemsUntilPredicate { + it.contentState is RoomListContentState.Rooms + }.last() + + state.eventSink(RoomListEvents.UpdateVisibleRange(IntRange(0, 10))) + // If called again, it will cancel the current one, which should not result in a test failure + state.eventSink(RoomListEvents.UpdateVisibleRange(IntRange(0, 11))) + advanceTimeBy(1.seconds) + subscribeToVisibleRoomsLambda.assertions().isCalledOnce() + } + } + + @OptIn(ExperimentalCoroutinesApi::class) @Test fun `present - UpdateVisibleRange subscribes to rooms in visible range`() = runTest { val subscribeToVisibleRoomsLambda = lambdaRecorder { _: List -> } @@ -622,10 +657,12 @@ class RoomListPresenterTest { }.last() state.eventSink(RoomListEvents.UpdateVisibleRange(IntRange(0, 10))) + advanceTimeBy(1.seconds) subscribeToVisibleRoomsLambda.assertions().isCalledOnce() - // If called again, it will cancel the current one, which should not result in a test failure + // If called again, it will subscribe to the next items state.eventSink(RoomListEvents.UpdateVisibleRange(IntRange(0, 11))) + advanceTimeBy(1.seconds) subscribeToVisibleRoomsLambda.assertions().isCalledExactly(2) } } From 7eac45e4d26329147e6ea1b129eb6c19b3296b21 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 19 Sep 2024 10:36:33 +0200 Subject: [PATCH 120/122] Adding fastlane file for version 0.6.3 --- fastlane/metadata/android/en-US/changelogs/40006030.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006030.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006030.txt b/fastlane/metadata/android/en-US/changelogs/40006030.txt new file mode 100644 index 0000000000..0574894881 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006030.txt @@ -0,0 +1,2 @@ +Element X is the new generation of Element for professional and personal use on mobile. It’s the fastest Matrix client with a seamless & intuitive user interface. +Full changelog: https://github.com/element-hq/element-x-android/releases From 1dbd7df2fb935b96c45c2f4e055f6c35569dc461 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 19 Sep 2024 10:37:15 +0200 Subject: [PATCH 121/122] version++ --- plugins/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index 54afab0525..0137a81d71 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 3 +private const val versionPatch = 4 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From 929cefa21f2394503b8ad43d9dad2e0d2f1c81a2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 19 Sep 2024 11:02:15 +0200 Subject: [PATCH 122/122] Changelog for version 0.6.3 --- CHANGES.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index a3b77c6ec6..3d59d72f67 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,22 @@ -Changes in Element X v0.6.2 (2024-09-17) +Changes in Element X v0.6.3 (2024-09-19) ======================================== +## What's Changed +### 🙌 Improvements +* Iterate send failure verification by @ganfra in https://github.com/element-hq/element-x-android/pull/3485 +### 🐛 Bugfixes +* Make sure the logout action doesn't cause a crash by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3480 +* Distinguish between roomId and roomAlias. by @bmarty in https://github.com/element-hq/element-x-android/pull/3486 +* Fix sliding sync proxy login not working after native SS failure by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3489 +### Dependency upgrades +* SDK 0.2.47 by @ganfra in https://github.com/element-hq/element-x-android/pull/3490 +### Others +* Add tests on AccountDeactivationView by @bmarty in https://github.com/element-hq/element-x-android/pull/3481 +* Cleanup and fixtures for SDK classes. by @bmarty in https://github.com/element-hq/element-x-android/pull/3488 +* Timeline related improvements by @ganfra in https://github.com/element-hq/element-x-android/pull/3487 +* Room list : debounce subscribe to visible rooms. by @ganfra in https://github.com/element-hq/element-x-android/pull/3491 +* Improve code coverage metrics by @bmarty in https://github.com/element-hq/element-x-android/pull/3450 + ### ✨ Features * Account deactivation. by @bmarty in https://github.com/element-hq/element-x-android/pull/3479

WgsNq|}` zN|fDJHdi}+L7N-$2{@$A>XI)EAb!|(>2c6$_e3d7YflxK*(}EDYAFR`g;A z*U7|{WYYsT$*8K54EQ?A8+lp{Ixc5FEDjc-%Myp&A@OQweLA~@%N);N9>AvkHtNaj zy1zKc4tdr5J?Wu}t~FlHVc7#qYd-6%%fqNu^V|>DL)_A)fcw*9(Z{6@>E)g818 zKNM8~B&?F5n9;&`K>jv(yq&8aSZO-a)ph2*Y-CbxcxXEtB(TFEZ4slWfi3S|eK zR<&M_=cIl&Yu%ZO-LH99Egp9bwij52pHSZ)&x)0{V1N9c|P{ShyE&iX1l( z1hapT+^>3t%8N^Ixt-?4s@(TP`!7DW@X>GIrf)<)v<&5Gzs34&V~8_v-;aQLSX#-QzI_$ z7hn~iVL45UYRZo=AMqlT&3$Qp5#|!;a_n@;F;2)c<}dS@c}Zge0%1yr@I_dBsh;NX zAg!vi^)rnf=s)vqZOP4RP_OV}JhC)Lo`bE=ELgw)p^GhR$FbM4It22?y|{1eiW87a z^Z(N65CNin@AIjc|Ld1F|F3=Yp-nOgz8u6;*__eOM8t*AZx^{`h%abdY9F2JSyYz~Qb+?w#On3A3J}BxjbJO-z9fmsR z{%Vu;OiR5UC(9R${(Ixr7H?9!6LmN~N#z+f#Wjs#dD;9r!DnV}O4R8-q%gcAo;P6n2w zP^RH*kP5#~CF&L}WL=NJEO)1~T4X-Xr#2wpDg-^iO4SGQlk1u4tqw^5t(Rm?2oMNs zRSxiVqEVjaFY`;G)zFU@pTsdA#lhAzS}=RwE~{;boG|4BbO_0_MNXe6^lhTZvxNhL z6wmBn6>DhNEQVpRe5y-7442x^D%m_aBR1>m^Ux3RhZ`b27xvUL^*oK znq-q+1+r?lZL(0Fzwp!6EesIbVVVxh5=hftXYoVSaLA!bN1XgnKm*gzKu12|;6a54 znr^pnb8uQVW-Sev4=D;oZVM^VMr&B#okS#q*#4N z>?X^ftu9R5G!Wg=2Fqt0I66;W^F$$Z*)0M^aE(@3T0^V8a^+!EqHx<} zWBPE6U>%DTm|P>phX$XwCkMLcljf&Z8@F;sEU-XOwq~V`dWCvsJ1fNNd21UFnDhhO z+_%3!$ntpCfcK+XKbPJiSXnGQ3X@~EQR_1=`osX62a(A7n*N>_3p1Et|FWEy^qoBd zdC=_I4GX@-c6sn#jSa&HNvskQYSy=jr%Q$%7kV%HD){SLU`6_XJX&!nPvXG-t1{hB zqy6Gu+&6M(wLpE8-v^)bIOmf4eQoFWUHeTO!$+S*C`gOi#U-N%Y-w4WWi$9Y{2-VF zu!ROPVJJSY4;|!~g4VQz&OERV*3CRb5Fi>F(D)9J6JbDF1AhMP-~O%2ZxCD~TtamC zk85xbq&;|m9{Vw-h2ImFA|F2b=%bL3Kv+CLF@t3Ii8$dN0$*H12+g$OTIL_#32F&u zv)o3u8qOegy;FsbWs;>(vP23kuP^B{1MDMT3C}M{VB|iT3kFPQ_KyIXFq=@CY032~ zr+01r{REO-Xd9On51+gC>-}+~(-;2y;{HGvJR=56`cE;&(I>k$rO32_LomPBNkJi_ z@PD{T+Q&f#sXgc#a7<(kB7@g(oL6%6`%J^(Cki25!Ay=!i1R|i=P0)!vw9)}@JNgw zCoeBoT#X&}kIsILgZ82~adR!lvX@hP z!E*Dgkh&_A1<+gK8Nl{xa2D_xpEi(50M(ePZV4}{zF<%{2J6+VDxfU~*0q^UdtO{# z0J;aNU0?kERI(FghT+F*fL;0%&Q@3b5H!daSl>GJ{@gD$tyg+rZIR$OPhvIO97-?j za8}o_EW>iTbgLLnZfsKNmXG*->Seo@;240l`=M8;OX0o_@Yt!d^nus!`*{I zCcrzjoN5pgc`@yGGF@NE`@4I&esir>&?@b~xVU@*!0*IEA-$bj_IsMc;<%c$2JSld zepZ2*##gjXR2~8+v)C?>jnyMv-VlYxu&hPVX+6S$b941Y)9UrWWJBgcd4!_%*dzzc z!WNPh1>2fM(Pe;emBW}|c?8*v)>bg#t#*i@xc)e-a5qzp=c934vlLa!X;|VyLIf2N zHL2peR7&b9wq9jG^AfW9qM%?hC#jM%{v zdiF)4qJUg&xV<4RZW)iopm{P&^5Wke&(;Uv?=8~VvgiyjJx80dd;3@UR$A%`Ys_;E>H}_Jc?pc|QX#G!T8fZ*~9p*uFce zr9JwavYF$-SJQYWEQyoWY=#jTCiAJRiv+&7M2*mVZ|<|PJ0lKOEo|!&{Q&z7y*5h& z`Tf>5C+&}Iu-wN>VThpPlYY?E$;*OqVH)!|5q&oLve_z%qzWJLimi{!BJ1%(?nhtT zi~F_?@R@*a{Tz)ke;F5X=!PL>x_3CJ_=3xzFn_lW_fj~7hcpCW-vH1Epi3QOLStIO z5=5@GiYZl*L3ReH=VWoZhLpG$U=+|9*3JOI1e*vGG8@!R#({!A|M|}~48{rY8TS&H z!h#y07~$qPQz`>~=kEwZ5nsSr!eW4I9;yh(MS56QBOD$=h-+Xqjq9j`4F9slFwfD* z7SHQ?LP)z@*g=x5x0&v>pY%8P;Vf5Ln^Q&u@uFpNKA%ap0jxVI+xqlbH9HR2LpxU=_IS>@#0?GH*~=xdWGwR&Udsr|8Ou7RV}!4 zX+wK8XQuH$2RG(jxBkojW@6z0gRs*^Iwj_X_AmY8DVBk_g#26)bvNL5IrLbcLivyV}MqB{;LIG%Dh}bB5%rAt(Xrzr18CHOHGB* zBiP$cUu8-jj|t4RTx95jI?(U^o#e{xf9Qicc^Y6g1tk{-!l}QE1{NCKUSYey{+M^H zkW8@k8-&>QMQk-F$~*L$zTJQ;cHK0X*2~e*d4IiZ#jGo4Q(09w3ICXH8kbb(YOf6D zS1~Iq^RnT_sc`p58FMPL>E7Gx8z&AnXe7u^1?b;}r~I>se8Yj%pN<;`h5;~384rV6 zZSS^$a@QC&Xi=4Iob`aOgV^DnRvy^)UMI6$opxJ;XggZG?&Q2}&}k3r#~V4e&xf*; z$Fgbo$0QfD1x#iMYp_qOtP!`$Qm}&pr^yc5s%A9XV9{if91@R$s4MeQ)aqIFVv8NN zr{LMcMEp-J{#&2u*o5q4QVA~mbH1=8Q2XR*9-#4AHHmv%#joK6#rjW4)`K#X3lBL2 zgjpQ;Sbx#`1761oSN=Z3Y>h)H^4y_0lG0VeS`qo`k_9eZVtUqqf{R+=5=x#Oa3edv zeE&`!jt9BEx{(hLcXHPzeXp;#4fb8j26Bx!kg|bDUC@BQ?`%1wJxY~01XBN-{IRKT zR!;q34)2^6zmbPYqMQ~_V=3OBnI$=p^Kx!=_hfZ--b@DeCwrEiaV?}$3Lej1uT(qP zz&I8T05?H5O9QBonNSIlVzMtPBY`~9K54Rp_B3v=WSD4Uuv@i0yWchz zS^Sx=vN8l-;)lMvf7(AWFU;iKt@6z}{k(*o`ipyUe~^28d@!k)ZwS;b{eG$K@IC)_ z>HDv9gnb!)5|qLbFcZpVDF+@vN1#l&2zW_9d0)0R=AnXwmjtE+&$Lhmc*YC<5k>=+ zLS_SC7cYbXzzi#60B8VUSXkpXLTjW8;lWRQhF_0*ZiF2sNS$fMnQ3RdG89JK0kHwL z5hg955ij~f*$F~#%3%P)17g#{d%ftF`@!{h*)ljU;L&=UFXl1faW3a5wWi%Yp z#Ja?E@I@_aJ~t@Ak`JOL#HVBn!_LngmT{JLVY;$R$2Wz>-=&);K6_qt|6kmu zYW}0xA%lgo89sWknPCYK(dwSh|1$#WpM$0JL680Ji|YP_&}(8*lTf9SK?zYq8n+ck zG_}W{%xDeOBzafKXUenBDY7n+aSlie-+^I0$x~U~)43Ag5}nUkY2(gPp0G11*>j1w zmy|btyT{qybM|F_E^N^%w;+l2%{O?Ryu14s!42BM+@tk;%*$b zC!PxeHKm(T_oSyI&=Q{||BHEn2rb`pT=hP$3mfBVWyrkZv+z>n2_Wd8Z-`rDOs&kE z>JchElK##_MEcU=ji)_K)N^A9@>gid%vcPuOL5EL+Ru~6wN{?)UcK>mpCUXV=wu;w zNYBjAt4Rw1W6i+4H+@M(Ouwb3DpLtptzvfEm?l)~sBtAFx+{(o}6)$#9m?z(IJCuWmne(0b$ryEu^wepk zPgZ_DQ5KuD_r{eQb?*ZrzWM+$Yr|rTlotxitNN-zGxW+{%?}^UZCt-Dkt**aD&>xz z7WntT^%b?JFxqrfZF~EA5sXDjhzXbsAW&5UwM}YHM_IO3+6ueot(>oKML`}w3Qjf$ zpxc=BBcRY@*(!WKG`MpRlPR!vXx5&1H~4BY0RT_f%0E@;s^S2<=GD%umro~e7bw9l z%j@sOyRV`Z0sd_80&r`ulMZsNPXQbOQ(5ZrBo6>Fv*k;MK}%Q*yLF@c!RvSpb^k(p z-3R*I5*mY)TBDxgT{Wbo!~}C~*#ws@8M9TCmvF$MY%L8(KRKB~+-I-eXITB7?0`Qz z{J+e@2!HRqR{#M{rd)>Z)JaVt@0i4qmfnF++Z8;joe)A6*k%-bBmS* z&CU%vPwC-b{Q$#RvS~U&U|--fi(ox{`gBx4suBv*tOwa4EQP*idaTbOKwUfG8h~+u zNwDXozp7cqZYHxlLO-+FZB&yS>8a581#oT9c*aD(!B~Oi(&51i&eAoj0WBt=4Q%hP z^q%wb;0CIbT3)NP2PS;2jo=_o$Zi1EJ)l z-)t}sc>v4pGb~kW6|Vao+oF+KOT$v@s2bFj&*I6Rxn;Hk5IMkFtVh((*H^G5KFOyI zEC3O_xt-+gZChA6oaAPU1Ew}|wKv%h-GbfntK4iIDztu}0f_zWYuN!{1GJ-$XmLJ1 znv{jy-zm)Bsb=^t${Gs-+P{b$B&Al<;&Da2ZoloC-@Ds4Z9;uz?dEW7eNTfckjrS< zFtr5;R0>FL!-{|7vLJxjD0AIqfbZL)+0FId4uEuB?Xbp1yM>HQd*6DVsTTL40s3;b z_Mr{vWCJ^wqgcFMV=?2>LJ`|#wy4a&+1hcpyn7CEt^dx?Tl!CbdY`^|5_Wbxo0ki1 z!*8X;xWX0=7k#%ce38=!{P}>dJ}L5k%*RH><%euB)E6<3_Vei*!Mqpu;?@rJ=J0rU zww-+4ciFAm+Sj$iZ|gW7AUq}%%rX)giV|Ap=QjZ^Ev4ZP#|!j>G8OonkP_E%d_v%v zEwGU;SX~3|Li&Po7CZ>>CqMa#T0#HQKmC(h8q;q;V#;9vB;#+$cK{sY8ZNX^lNn$+ zOA1jMgWtjNa6-fj{t)O=Is|deQX7Qq1iZA!=J<)0zZtr+E?g?>yim9X&sme23kdj( zzq3>b%Z}-w-Zmvma18)H%ZufKa^iuDjANEe$z#O4(}sO+wsL0L5jQR_@Y+ij*Z+^Y z;&Njz{Q1TGL5{S~w4gbS=Qt`jQ6)K;Y`1fOpgy}$=Yuet|CiF)S@>v^HTDsubl&D@ zTbz4^0YStxv%U^6S9BUQJ`K!BT}_Tu#WIJ>kl(?I-=_}1%FMs_DHVaHF6KuVze^uS>>6Se9x6J3P%#O z%oSC}cP5eFg#}ybm4K&O5;~MsRFlna0M6dvQQij(}DPtkEju%m@jN#8$lCByc<`t{^We(x2&Yf;*rxlHJ9j$2(7 zaO6Vj7<#r@tqSm+B9rSh`;36|MV?HyOx_TRnL@)z(n9e(r|;FfNz_B<|An>5|* z8ra$D{YwLMXILX*VBf&YX|t6Rw4Pfx2>5)gEv&Lt&u~bY9#$A42;%)22Flo$SJc9K zw=HTdS^S{Q(-D@LMfe4!?{ZnBt6w&id-YuSA`+{^FYeJMZq_=mE`Bx%zofAAl0*EM?0 zIH1c7m|n8PLz&M-h0LY*r(77*_KBY$^MVPSRx(&%&ko7W0=DWQdg5{yUe+q)YX=01 z>T~-cO^ZR?MKu}^3cX-mk3$w=ge;YZ&{3*o((rlEtAaA*NlRx@84H*3!1tJ-x6ix% z4(Aif<^-MLjn-3+nRJ%`q)K4nJa7E)yRA^;Uctj;;V#7_C=_mQZ`5jcQn?Kc&=yf- z3Eg7t@6Qfzi?u3~52>;(ke`?}pBL9@hb1o|22zK@S;gww#M17c_p*EYvE01Q5~&SYl(h z#s=}8kcS&xFxZ?L;CS39Ah*5|7V~#4?+qxZb+wqC4M7szdiO%!X_B9ZygtL@3`p`J zh2fvKCH`Jh`_GVteF~ui<1zWcpK!XRzjSzA9C8fO0#nyc=ftS^4hl&SL{?!-;p5wP z;J7w9$DC#%covRtU)+oPwhjwzklcG&ClI$0;O}j00Svc zfxZ~uQA!~eyZxOK6o8ckmK05-n^fTXSF`v&Np+En#99os0FYzJ-{o?)r7pUUm{J+RB7}C#+STpDR zKQS@AZu0s6!cz&0@C>b({VL3mpfIKH>|cD|EeTALcXfW$nFIaEY>zN1KU>JnIwKb~VX9@JQzqW$T&K7M0_Wxf7mD%{(i~?{ zl9-X_r}Lu$5J}G1_(4V#)$f^ddgbywS&~=P!=+MTV5G<^mYaW9`#84dy1{7FRg{b5 z3gN=AMPy`ARstM*_`mDnN=;>*lfDr~vh+%3D*_$(O8h>h7^X@Y6|zVUnV_T>dMbyA zZ32vZUmYYT4q*mh=ZR)KHLi7?p*{C{C25z8>+0pWAqzqKsr{Ynv<2%7(k4E zdgEULcCK`gOTzKB$14D7^kwc}=>^|cZ*ul^fLwE%%9Ag7>Ihs?MHqiyPcT!Oqd~;I z31qJtNUi`~e>_*{q^Vtced&!Tt*WhRQymJ0`Bx(^11R~ujN2kLKRLWHGT(DO?41!4 zSe!80vmtsG7Ql`>@b_Q3uPstOi4wA&I zW9wy$o*{lyiA5gmCUhcm@|(s>YGc)6t`Zs z{+s=_S@wcXmsSVQ$Ag?&T|TzS-l7NVweZ?g`WiaLe%PT}P>buBVS%QcO^+EB5Z0RK zIt-TdIa5uRW;s5nF)X0$W{<^}hN2(ZzlTMo5dfaIo4xH^*&2+V8{j;l%nA=$wF5J? zUgID>{H=}PD5h>QnX>idk|~p)30+}9wpYt=XfvOfhrY7_dfdmw7b3(4sFM@eA|@?? zH0r@~Er0JH4r;Y54X&QfN4fpzP0OdxlxaCR92P|eh-o1+h1!4ILhus#4pY~i>RDg9^1IOp92E1Q? zEW3|BlaJnhCU38<)o)1Z9Ci%=V@o#jp~d%gOXD@H)pbZPYnoACcP$@aZH}-ZNuu|k ztxtiKI%HRHNGf)BsE9V=iTH_Glxw|f?RBeLD9-xugoK1y?Vh#Y(?d8tAKCsm>1SKz z_qng>?eoImSY+q}GBBx<`?AUV>tzT(-*d_0ja#7AS|mZ6CGEISkOKdu%YSgULiB0b z@+X2w{m+t@I^AlTKxZ*Y99fOAUfhfOrVeoLd>$8u*I@XYfMVXizGn@k^Fs0ZnalTV zEen_Rc>xQleM~?Im%%0OrQ8IqX9K&D{__* zug`}M=5Zh6kX=65n)zM+C(L(jF}HlI1XEUaVoFT3CL(zTI1ei1*yigaX2x;AS=0TxVd5yyBNn!eGhqCM( zQm(Q(umOkmPL5XPH8s`i)x$KUC6}XE5{7!%0c?V}*`Mrxk)-L9t&~fub9LAzVS&{? z&nv|%vJ7RegD21E(jzzc8~WUypO(zx4Kvk!Ry#IY=^et78d$DpxuE;Phd)#zkESw2 z%v(DaF)Phas|@WZ%4kwR5X*Z#Pa`ADMDBa%-14zJ)ePom;Wga^Q^8-3XW7WmlH^(j@5Kb<>??i zPbB=2;QmhifhSMjvn5ThioLGc#8mphbSXT1SR5#+KJU^GXIvi?X@&(PGR^Pt(;Skex7pCtJzT1rt~}FW82yAhXrk zQv=Tp4j&%wXoP2^8K>~IdTjdQ5Gr2O zeAeV)<_)xnA6tA*Y7GixSmhzytJ46!YDMhh0HjMTo@ckDmu~%!d<49_ zZ~3=WTcol{??!Ik-l}FY(zlsT@_4>e5Pe>(A3sAH1!Xz;!APwy*u&ym%NG;l1~K+~ z?e&kCEJGK2V~2}QD#y^`f=TvaYaqQv_UiVPNp}DmHvs+mlTYPS0O;%XH}bs2@ud2~ zGt^b&(9&@Yjdwr>Sg3pduUpt#$TtoA?{(2?5#Z!wTTr=g_2Ga%KupdBz#nT}n^*+d zL|ugT{C2nK!JAV{&%8a!rUCEMa?pbnt6HHO{G~2)b*p6SlS&%T+4zLd@xFlTO_9(h zcSg0!6R^fd7QgcWVE_fTb6*J3=XwGscE&;xwy@||>$nJxI(x1?<{5C51Tne|c9lLX zGXK@`Xffcg_bxU#(0Y2d9Tex&`SRHB#l5)S;|>q^PpqBS?h@>J4t}i{e=pthbTQ{C z^yW3RIL*7IV6{r{oc&rK7Dx#SN^AgBLLvhIlh(krt|gp?BP692Eyslf&xk8^f?;`^ z0XDA7R@s1{xE^t4I;g|U0|@aqVK{*;KNIl6KjslFgDFFjfqw3T*3uUQ#rVuP=fegw zgr(dG;=R^EW}I@_T$0YOOb)SaWtay z|7v*1cM6+sbHBv7MyD2>WQzFEZ7C~y6G3K-!75@p&eCB8dYDnVAfboLHuR$LpnI8p+Q}k<17^GlLoV?NKIW{hfOpBj1%4 zMnGq=G3~|WIYjH7`GPRdQ48{+k7QW8f?436m>F3LL<2z7Wk28s1nybrqh%u*4dB zV=TkP)#XL<d{3}u}4^%HbY|B_a89wKR zQhK1#7J$LIP4Yg3Wio2v2} z#`oRQQHlaJD}m1b*|F-DBUWs$H&ySQ{FLKf$qPHGB6|4Sra`B})^vSgVH$9nsjR+& zT?~TKa+eb~_BA}Xv3UIz??W=+&D$F-b(BhysLV@(xzM}Ldat;SaAsUoN?NiBBzG`f zyzG|2+HyUC&hK2fQ#W}5xh^&|l@I=GP+j2AWvyx^{Hx#nPQHW=^y^#AZ&(S#GV}<& zXqADe-p}@a0tXUK8_HbxHvjX|p8?R&#r0m#v>sHOENPzjLj`3Bu(*T;(roe`T2Enh z+|VLGCMIhwE{_dL02tnX_@FQr^TN#xi>_I&_I}t8dO6i-ZcunJDU|7i$)|y7)l56K zJlGzrdq8`Da}4 z_zjlx*2g!%q2+jP+4vy0#oB&B->@_YadKG|N%HT9xt&h37_FN{pUT|+MMv27Rk(G#)aw5k{yT>rBjf%h$pPf;Sesu zM?SJln5GQnv#dz2w;4?5I51uLyLCPOf6AHUlkIYRaWC#$yQs8IqjZYYX&osF$4dC4 zCRi1J)1WN|QUNMtRmK2@x zly^z@I)9Eiri`44aU8kPD$7$2aBMrqG_%RXBsrgFJ`DLN5uX%EAxG;hsz;*hMw6q; ziX(LkaNXS*9+Qdm>`RddqcFRMRIql`v;i0Ywj2MMX#`{^yZ97eN1nGedSB0 z@YH1*qAwrfAB{@-U@fO%xIW2$6rV^xfn&MDU|c0Cvq!%~qBMnNSk|$2Q7h#$A|iQ0 zQ1N?TbxGZ1NqJjxE%;tJ4oLGvW(^GnZ9E4U)FAFwvIa{57HymP5^VtOdsb^_)BA;_ zz&shCnf>%`u%-8?(rK3?Ft$84ec%}P zL19 zA^+E}|4H6{{8si2cmf=q8^OD2ld1iF=axinT?|XzGbT=FwJyb>durJXzslJyx{L8W zfYY-}Tg)5l5eV?=*$;_q6T*5_za{`sQ+gn&}&$>7<>0y5xm5f2H&@NDAV5(X$v)quz`Mfdf3DC+jWm+uHxNtGMl_?}k zaJZdHV;s(^9eseV=Jvf@HCVcVjyhyGkoRX)gjp@C)xvt)pZ}DkfFAmSyvD(asDECk z>Hu^=i@#z!6acXG`=!@kqzxA8n=K~D#|B(YhNOz+@eG{1o?8ayO!&l zD~-z|wus|!Nw-ANdZe9kk?ZEi>oz&Zfq}c0XQfh8)L`t!t?I5?9o|mXH?%b_weCl~ z-L)`xD(7;vcHFMm9!;TsX>mJGC;8&;XwoCi&#UdCI?y|9_h;3lSD6sV3!P?Nq^-U) z0Eb~NvDIA6;(79sUTSaFPkDP!lZy-sY$wLzZHN70Z?EkAw7%6EkeF81(Z*B1qzB1* z|0(GiAR>dcU+y2`8BqLr7~{Ta=od3k;(PAT&46O@VJycv8{@e1fjEnhfVDrXI6e5OnTt)KBX zB^dJcgxOi@fsU{k?{FL=GF(Dd08sq)(MKPJ9x-Jf2y-E`fx`z0asi_WP~o!NM~0j^ zzhV*1Kd%Alx?f^E72#lTRF`BF)zy@sS_WP(Po4Nz6wKN-K5v45{mV6FGhIiZC`TcYqQFG`7-;#t!3p=N(1V@r<9W#vjgoSQe0 zWyw>=asLoZaI$WUQdu8|@EJf^8-7czy+rJkOb@H{^!IwUxCV3%Ag(Aq92r+2hJ-|| z^j|yu3kcM|?gg562{1Z@F4V7-^0WXr@ve0YmX$|;XZQ;zC#5%vXu+vEGH#Kn)v=NE zxJkF9_Wvbik5FK}2pf)EEcl27Cr;HYx(Kj3bY(FVFIWyXdUB=o&-PninW?O(&y-vL zuB`qYS8s;Ss-z0!5$)+OeKN?hTrAH_q`kxZ-et-vTS}y%)-k`C6_Pq0v)->yGP;y8 zpP8rK(rT6VlISrzo0Lz(z{lfY4-~(O$DoeALfSS^Rq#n4Dka*&rRveUQ1$=}%qszJ zZ9t~>0H3XCfATJa26pNhTJjpTE(UOrZq?DZf1)DTfnYlDHqR7V&2GtPTj(ZRl$!eK z+h#0H07bW6Yvs(H$rK1ZIXPm?Pc2__IcW> z{<9evTfYbJ3!QSb42ZTM-hh6MW-Cy}wWo)J){D)wsC6(TDdw#$mL891wd&loiQjHx z+kOu%{r6wKQ{Ct5Gj?+k=3>}f zE!B1MEe5lJn(kV@?DvZT|1Dtd{#8rXPUT7#*XG9L7n9A~tF1!ieOm-LweU`R z=sYiKL5}Y>n%@Rj=T>&mbiQ)Sy(0ze(QY@cm)+vnvPkBZ*6S8$SUXR%4aTl^vo3%f z9u4T5b^Kyrd9kHnXh}cdx5tz0KWgFVVnopelXFe&7k%7h`six$znB$zZ;!5XJ`BF4 zKi5;+miTG$@tlJL(dY>erLO)(4J(_{p>Q4h?e!M+S*1}fyGsC>F8ZF@`$@K$^$v@* zcB|e$c^>Fu2I5v@Jg5B(4(e=e86>&H(B`F2UmG+@*T| zP44-9{^y05{0z>z!SLgYFTPM24T4c>{o!NDBD~KxepYnf9748DecnIA}S`lszZ#=l|FIEGm| zz%6OK9O+uoqyci*)w^`Cm;JP9!ju%2SAASf+#oTmfkBnD2t5WB5+4~8)tvrd4ASd? z&x1HM=s-Hbx3x=Bi@Kn~b69G1snMDkgUx3)7Maeu%!0XtOiO>Zx@2YSe2iJCiHd-t z{(45H0l(xqPX-}k&?47V89Vz9ldBAtz_lm7`WJnLqQ>e^&DWJ)VZzc^Bnn-IXq3q1 znyOh@kmdvn!D4U+o#|9)l`=(31(XKd!RzD) z;;%f~*4jhpwf^eDiIRo-PHZ(`HDg<=OJ=V150aT2QhKU7xsLD=`_7 zTA%3s<%!(1>UZD^ES~{{SQ>!!&?g48MD;kHs~y&+hp*Wa>fPOg0!_#TOlskCmJbhi zzLnP+`(mY}5)W4QtlYSOCcY@3rMsNe`dKp+4fJd_>HyDX?dgxBRu9!`_~Zu@0&HRO z+#nX}>C#>YSU;ceIw}l3Vp6wjljH^>cUOBc&Ebx|fIFeQ5AJfxS}nKF`qF+t zo7*hDjHC6gFGln>21V$H24L?RJVx4)pL$53?_dD*MqQX2;04$$u)01h@@31WU*0wN zU)#hRbrV)$_aF2iLo77x_E&O*{7Ng6Ee;%Q_W=^$Ty1qBOAm?!Fn~4se$$}$PA!h* zY?{Dx%hNq3*pna92n)1o&oY$Z-SJVrXfWXJ{!u>OG=SX}6*k&V&dtv@vDf>o-aRU0 zKB%k+ENxqqWy zi4C>4YmT8xN&S#NpsbyA9rbhS%e5_6i2;`_^mI!@y3l$>f1kEyGn@>_a$l1H5Ymc; z32n}4+jkC!&}H3UaTvj4eDJqwv}(P=;hc}QXw&i>_3ci#w?FD4$g;dx!@am~=N=#J z5WO|T%8T%q+&BGxJxs$#~pOEyoRG(1VJv~YPRe}*o*_m8Sn$wQ5qzt zHy?_)UP#aRm;0KmpN(*EAHi$3f`%g$M|{^394x=QBP~mU zG>3k1FYX&SvI3j`SLZvD=Kq14NWeslffP>t$w-8ZCrFF6~j!U?YDp7FBG6ZNxSQ?f*erM|Z|XJrA;=!Yh==SfXB zjB{rRew4m-2DNndm>C-*>fwh`t8^pDDm{If3FMJx^*92*J|WLYP;tl~m*|A<7I06Nv| zd1dLTIjqVul}K-%{O8m=gHg-3MOIOkzRJc0iD8HWf)7my8WE7OYZ_ zmIpN*LUWMVTVC}Z-|{+l6D;0{ZHR|HxIjb(y*ZM~ObQH|o+? znIuSeDt_nOQ^{cT`{pu4UQfQbT1KZ}V_}C{L#sPIa}^i><{b5~Ez{$zuE`rUxAX^$ zTDXcsM(;K85Q3$u>YG**z>wNkJD)7Vn78pTg6kF|6O;-Rj&f&})_b?MH~9oVoNh9G z-gyJLke$VCnGNK^YIW&(1ke{yw$=gEvJ!D}^3?LUN=@SFxP_o9>#fqo)>7{&a(L`O z*OS}aPS$Z`KT92LhVgWPs|<%zM(k_#ZT-=T?HST0FS@n2iY`1<<^k#$?!&|x+n!Zp zTl4@s+^>^49{z}DSE+sB!C|syeswt3fFWSxa$Kx`(rj$-5Z_l(2?&VAs$Qa7WsB>7 zFR<3dOJ!otdhMZ2upSybeNd||+vZh@Y#V*4V{QVMqKIvtmXLsKmaQI?v_bG%vV(XI~>Zx&bnFigOd$m)^kh{l4-u?PcmdAH;cva>4 zssUO|5VuFw6RvvT;K_8PF~L8Z&u7;N_)A3n6|byN-cuihQx!@CA~8h{qn zENyYzweo%3%ehsMQ?Y|0kqMAxQHhfi@*ayG2bDId4wlZY-5n5jb`Aa72gB6DPr3J6?dT*c?_}iRtZCvu0xc3_>aZ$$Y?$PD?0DbXxI(uJNe5@fH zkH$_FiRW$}AMjcW+u8sYC15>|MXP?87c4j(K0By69_+x|7x&`6jXOMkJN@V9z#HBA zyKe%r*U$OeUuXx7pRrJ zt}BQ)exuemEtcW9cyMWPB!|Ot5lwddOBwOmv?%u^Q4c}7x&`6vC9TZ z91 z>(YoRSP^*6B3Ad!4fzY&%Cb=CD`+m)x>^gpC|+W z<-xM-%aERa-!R-5m>&)yWM$8p>JyBTzmF&lynhDtH145su&}Ez3ws4AY2H>NE&bNYIMyDfNXc!b-%xu6h{#4+c;BQZwuDEFN0pkx zO_jYzq`&n+N3YbZz%}=m!b&KTcHT<1PA{o^nK$bOB_e4+k*@bR_?$Lh?RiHl#dLLs zR?-_oj!!MAL#bm~mek{pFk7NASLyA=>Q`Q7Vq{WfXI=A%O!iEv(d~Ho`!w{)@Ad}5{L#4jcF)uo+2pFE{x8XQ@FBT+cx64r zJV}J>k}39iVP`4UCs1pf;bySS6>J^2Og0Qru&-^g=plB<*P<5OXO*&myL-SSw@u=% z+Y4ZSf<;z?#4Vq%ul6Q+(r$+|!qO&CyRBJOo!uI|Dyv)6!cJgF}8>9N(x)1%6FK*|9C>mHN$$2+;#$+^{2Kt!9s&T74?YY?;7p~cFH z*6wD#UQHvqn0yPuKgPsWv@W%XYu@7i^VzJu6|li-Tf~2>X2m^Ssn#@JSjd5u_5-$6 zH+Xvkc?npmZyJ24?RPEIqqbRuuNLOjU^BI~b+Rkw|FNFEzD*{TQSE@vGHtc)LMPjr z%cO@Cs$VD<;h~eZ_U5Bc)oBK}zj<@55*^4hwZ72wIIPf#YXc|E-(TFfyl-LMZYMqb zLV+v}JA`@hxy8RN`V?5IpEnKML&FlXAFwz!{q9Zkf7j}S?xO%5ooz8i7nzD#6eC<5 z9Qe?_`|`d40KiP2)I+-&F!%~>eBa^;o#|OmI#&>XullH_F})m3M;j6)k1cNRbbIr? zT6Y%!XvlfoHJ}BHd6ei3tGSH=b3H&03vq{gt#4QetJ)q=w@r>nEzl+D&w0yKYijAc z6Y{vIMBg!P3y*Fy`b#e-Kf#avAf?94YR>k1K*}Tx5xhs9%jDyx$qrQ&YezBImYN=g z={+9yw(zu_x^;Fx-l0!nia(ww?~9h@=+GHE66~-zfMz)X z-HUs1-^8IVLVn|$x(uH$eSQu|=lAEX%g^`>O9?gkH-FDs#<~#a;|U(%N7;uAtqF7S zPH;`jV^~qsG8g^! znql{_JI~z|i(q9agPfo2`v|C+Cd7qu7fejb{*hWyNvVcz^N z>@=Q;$IHUwi~BaN4?KhuI^7QjSAxV0pwhvp&HqC*I7VZJk!Y>a(M}Os3-wMS;!yo_ zp3!F3Q&Sv{kj{+5pi`!Q97FwpJ$h~FWCw>mq88vW;NzCoFOIU zUhds$E`?fyjRsH`J7m7B?i_rf|EqCTF?oyo zS888<=+7lW6eefXe2G@QsxabUaA^9{E4D~km0tqfAxBcYQTM0>TuJeY!k1jRYx1{7 zLzG@DJ*`qweEKydO)`^`fu!a>Oww|m^n@ipqb%7$SP3wtgsF?)5*-t*uv7e)*c=xr zBlL}ODg2aTIHX?&KjJ%9n0})-li6I^u>TsUr0;9ddUw>^K?BhR%_K#de@Bq7p_fs7~ZcIF{@ix z7eY%G+P~*wha^r8n=RPIWjvUBmRZZ$-qkv`5YDl3PA-LERR!C{`$O9>)8Y~%Js-<3 z!6;0B83)|!iB`TRJ-PaX&C}i|y=?Y1{F~f*x9dOlYTnzZ#5TyPR;PF-Abzk!J=u|T z#lR~8=!g3Tj~-55f;dF3fxUJeCa95v3MzwTN1XjDMCwsO7l-|QasR7Enkd)Zii`N9s;bUfTE^jC{Qfa#WoyTeHr6*dUl zb*krik*!*j-%H)%@KUon$D#?)aydbV`(&p~&sdy;EKmo>A-z*14%PsvHs zX#K3+GpFZyR&guRCp+AA$3?ZW^zIaO8@m#8>w3%kyZeV$_JC#&a(KYv!J}C~Hz;y< z2aslqIxp_UeRBs(;L8@!YhavR291}#&oKFtzxn%1e&uV{zwIB#l!n9u`UQSRU1&m3Y6=r<^3XdxGvU@2vv7dVuV23oh)Zb*f=gQK@&H0!vrZSS ziJ2Z;V~YmI7&|fCd>`G~Dx1JJkEaOW89&Ny{NL>T3A1I%aUKYIoV&dH*37KT%0d+u zf&|%;dNgLU+4Mi38SD84GL!Y#n9ZmmkrW9KK&`pH?XD*}eEHlx&bwJvpeO;^dQtWA zZs)|};j#D^em>70(46Ec3-c((!9S-dH#GVP^<)_{JqmcA!S&3E`MCiQgO?kL^XL2E zdCuTJyxP%c(}TyXKk!_ig6~s3g`Q-20(`~+0d!W8uLd9&vo@TuL!^2VVi^KR&Yq5_aWjU#+hCoqUUfgL!PWNBGwg;G7c z@`>?M6{ z4w&FX6F8-&y1IRhCg<Fy$^XdNF z@jo<@ddyAhTf#Q?j;g8s6iN)e_3NW+^>Z8=Wb}(_>aS`X(1nm$>BR0Q8zvY(LGX&C z%JXXmGfEf~H3?#zRuTfrLdD{ggji8)qMowAzDM*)$6vB8r>-8oyZ{%=q-*`ug+f6b z2!R~SSCFC+i7w-Rg*XOKnYya>$B$} z6cNDabQ;P7%KOSL87St+@?c;lwN9Ob`J&hvO6XZu=zhp~U5dH?*B*f_M+oJ;{2Hf? z_+I-J8yQ>=NqPpZC9W6go;-QGNCtkLY6kgaOcGAuzA*fxQ{427}{(Xw@D?XRhRf091OQ zg*j0ROOq(_vfnaLtsbtikyFn&K^^ABDo%rSD&sNn(Zv3g%9DtQ~xKS~oq4>s!XV97GVW&_to zpg|%$9)SR|@>Qaz!5pPPy0T{v9xM_(W-~(2z_Ids12zxJ@7z$j_R4+E0R#_n&wbO0 zH*eq3&pv(8fZZx|8BC|ZUeGpET7KO8W|(oiih9j*d_0+JM-4Hf0nCe*z>)6^}^nA#JUCl zHCZk!m?q0`cQ6VA1IRg8odmjLxpG~!-}wI8fHVdxl_wc8Y#_m6FuvQp&}6I|P(NF; z)VAg=eUN~J%hQ$cRLiyP{ zT)%0fYj%D{S4}sTbN(BeF0{6twZ3F8;st}~Ja60!#fj+jpoak`rz;tkdk%tVhZag5 za**;C^MwRDm176#?*=4`=j>WIgqx&jF6UwTm^Xu^yB&L*HCfG-mz)n1Htinfb>0ha z^G*&cMmsQAGN>XHG5ZFft6b*8K?6K8&`bw;ieea=F0$@(+ghCtJcJl&9|zUlnd!X6 zreP(S38=2(=A36GI88I(Dh^{D4De~Y_=b|K+i;x#Fl|zt53x@fLH*KzbA4I>fDP;{ zm4-_A~njsbp;=`npMfx_YYQU=tJz7HHb2FBs@Lkh0`o@3V? z1HzFvu7gK#4ltL&$0=Bfc7y672g%F4!5K)$-T{DZ_Cn6T@!zv&&xA4pz;X^|$M^B~ zndTw`n%IA$ewpec1Ic+Wn&pzY=`%Pw<*VidZt4uIbDbCz&w&V02LQy`i#l^a=Q2^x zDGxW=n0c^so@fK;RlpOCyg`2fxlQ-wC^u7k1@DFY0H6buN16GM z|2d@UxSqBePNIS7)Px5mQ=BSI zAz-gS+Rmx1NGTur-Q9=nZ%i0X38?_XDUo$AIs3jms6hZU5M|nulH+Ffe0$B;pzhUy zIJ@-w<|?9a?z9}t9xu68jyHzvbY0a00%vY03CK355jd83eHGyJ8s~P61P^%>3oHuu zLtv}b+h=WX!9vCrK?p->0R06J2Pe$}jKUj?tA|d}qI2WYp|JpQOxL>Oe` zgO{j-;)~X4NFGY4rOjg@ryBLEF0+2Ybr~c8E}uK0UAZqQP%E!gH+fLV$or8@=G_EV zJ8|X{ABt9aJt@RXxp$(0c2_Axlj$leNpbmBpOfU5Oc7E_H;DwO**CwFueXEru?*Ll z8r@w=5Wm=B!U1XvY;he!C5@@#Q>E3-2Qg2#)4nK@=wnMUhd2ueaE2 zP9Jj&gU3A08F)GDG|1aQd2q#3*5)pP_^Lgffc(ikjsa{`)i$AFut{3xxuN&+i-4*a zW3^itgf2wBKe$ef2DHdrM@7LNSTuO?9mspb-m1O*p1I{^MS2z5r_X5iO2QajoCr$Q4>ia65n#vmtBMtI{>Pvt` zqbCp#*O>xnnA>L}oS8Po44JwdwcnWo*nnvUbN}J1ujp65{DnR$IvV9k0}WZOnCsvL z?Vix?mah~V;Opjg!r0bBL@SfXd6b1q`Y;M#AkQNM3>ynwRw6f)lC{tN`zRJb0c=!*R>O z;5HiEk*POM7;s>icPti^L-lE2mD*&_^;(?LX_MEYeO?R;;dthtfy)yPT&23Ut)o5m ztN~4V{IniwZ5~C2wcWoV+tBftV^8Fk$9^%__VP7+YQf+G8{;jH#i)G8MYy8}p@!je zf(FYpu(KUN?DPPMDOngq-)`3$RI?Ztt5H=jm|WW-MH#do8KhpGuy@-`s7T6i5b$|6 zDEGLG3;zDB)p^Zx=3e@(%vKF#P%m}$1lG9_^M+7ekRHkm7T{FqRfd@N5VTMN{*AiU z5Bj9fgSnYK!$nt%?GAdNi~fN2Ip z!86SXpf$!SxSc`2!9Z^Q4&KF}i2yCfJUuOgdV-c>>J6O_1EzEmXwMWlpL+df8V>|O zM8H9Q507lrjsHM{fj!vt4|U3~kP&-&!@HSfh+u@7!X)pZAv1u$0DGAtg|7u@&iO*F zSw5L&WvWAv0~{HqUesCF06?Rj=#xxYGSyGK|8Hpnc^rht^qBsb%So=WqSQ`K5(U(@wQ)w-SL~YRHx~6IbY+!h3 z?E5{@9+yv2w=4q+=_REYQzw(_#hfBDZ}JiY0l-w2d!^73T9o`l~eLWO_3tM z>Zgb4#$w~C6q^8If}&JbNrRXurZ8`qSJC7e?&|T~$CYZ*CErM@PAfo)h(zo{WG z7f-q>Kn6b=4*;4y5M^U+pow_WsYAKVRVw%y7UTi66r=##ymsSH?itEa!wrvLGN8;9 z0_qJtD%Y*9-3qiAofl3e*&~qwK7Lew)c}{nAZ*l9&t(HiPv%wT6XB`_dPAV8Fkb9I z!l`*3xNP?P9NbfBZ-7$BQ$j3C@UZ}#VDMzG9_^dxt88c>m>8KX1B_bJPU1J%J(H|RKYfef9&S?u6*Qy72;^L!sAu-xz7y`jJR{U7MBfBG|} zXDUV$A^g0f&}s;vZeF155iIhngL+;HMUV!+lfZurVvkCjp+WX`!VjzqzK!E{KL;4( zq0dwr%q4q!b4%~8UpD~yJE(7xx#|L+es zblS>UESbCdObux{1ZYP2w*866=U#&)3b^0e$6#tRKF2kK*$RLQINBPz-fe^efpu^v zv^O*HD&DZ+*W`G8w{G=spk)J>TcP5aeQ4mpO#|Zun?E^~{vk1#xB7lINPtKd;#g+p zfoilkI(S-HqxM}TktP2=n0`xJ#)AaR8<_vR=zJjHFb91j-4pPW3_AA==KJAhSX6iAzkH{0do-ZXODV49~Afj znDOSzd`w2&Vm#v#kP@DSHh1@Hpn=duz3GQEkD>k&*pvHxwBTstLGsZxgCApG)BEe2 z_IE1)^gVl~vp2f+Q9hu4OpocuCSC(LWpM68DTA6B%>9>08DO3Qc=_`bq|WaFLT0bn z3`+9&oO&;Ff;VpVXvSxN%{bs?8VRO@$omn1r|_=kGQjB!UT5Sr1)x#aDTq7eX-0c8 zC_R-6z|{O*&Lac9r~^En8O+U~H~`)Z?&kU0@b$d74EKK=AldH?FwD+v^t_k_46>n7xspNNA)K-R0NyrzlU3y?e0p&(df*w+31 z|IGntBByeCOpocuq+)1cKZlUx6Jh_eZKBAMgMPB1s)m0iWYGbH3M{B9ZdTg1W;E;) zd%9E?gAhi%R|taOh~Tzf+Qd1SOBwzJenNzci|3yJ4Fa~4@G$}gRw#Iq4QFwh-N2p# z|C@N}cEAZl5_Kc$t<5}7^e~dy(#0H0fv*+n09(hEQocyX=AjOcD$xc5J5p^853nL| z9Zn8P>Wi8_2PR6gSC(~&N@51ki)-z5prUfogQ<_S?H)6Z`Ww+7(1q#Dn}KcMdrN}y7 zen6F|Y;~}+k`IU^uo(0y4bl08W>$wB>ESKW4pWa9XEhI=m{{C%)jQW!%QKI`PeBnd zRhv?x9Tfa9kb@5vqRC*i9IUTp0j1!4iF>p^!bLYGDW42#_B*%sxe`bJLT(EFr%5-p zr?}U5KiK=LYHEHeKSb)upK3tg0Ju^malkH5P@qDoX>tKAK^#cL=@%yBuK$YD6x1P| za@Lw_;fmf3uu{@ulV=*j&!ztcjOeE5g%Qk;EfwWb8>@m4Xg5F+TvSv4O+6#-F|nley9j6zB}alMth=6atD+ zS}&_USW^I0k#b+JSofCAKwyxpfk>-WkvMYVM>@dJm=t7qm1V4<`=aW*F z2JYDJ<{8c4s_u)-q%t(Ge~KRc&y-oBQ6 z*^BfbkK`-(Ta)e;0LmD>7N}3U6UJ3l&`jwV_9o+|!w02d5HC*#RvT!@0fDY>t{bp> z+uFFG)!7vzjijABli-8Jf?wX;ZE0III1zjGZdlwq_5$A0LX2}ZBA2btcLIho&|J*h zzHX`nWRxdanA7%tBizI7qJ}|lh1Yny--t&ix0k&^#cP-Y!?iq^a)XihcMSyJF#QG_ z`V02XYKFe(3kSp72oNWU`6b1pd@i~z-n+?jYc%hFs_F%Wh4eWeQfY{QQP=8GB@54A1#0AMKpoC$ zZoJi_@Xo^%ra0$wF+H^X2Ijb#O@V_22qf)~F7kG4iX5cD;p@zFKz1G_4zy1w3=B-M zBiW(TppOgIm}=9j%3@}da(FD-XTn?^`?89S%)&Z`!DI%@(vE4@#_D#zl|vu)fZnmL zv$u4uP8sx=9@8J2SO+-(;jzQ(oZ^7BzZbv#(6xU|eU1UEQ_yfq^#EXyy=&oF%l81> z%z@j4jF0L{n;fNth}2E_%uji;Q@oN`dUOjm*Wf}SJG zKOdG)<%9hw@}Nl7KJIV6`9|(#4|9IyKLF)f7qSO*=4zg%lGc-{zGYyX6YCb|%V7GH zx+5Qq2jZw$t={$3we&tHKU!2ZkV4$`;KJ<8)Ceaf*RXbj9*ZGH{6U3@E_; zloX_UlLt|BN+*I!QHLb2e7b^Yn{sVQn?$#q(ALl}?epsL#zB{G2-lFUUu*4yBD=z5 z`T9`IaX`M@bne-W3-jWn*=80IKvenb#=> zzt2+9L&2;cv9^VBvNp4tPAn1BqFEc&{Sj2kW2>)fJ*93H~^ScofFWgfTMKq zIYa0{2)bW|yY+-0qd!^5x6DzyIxFhI=nGaJBV*d=R|Cy(P4$IgtmK=BxllyRt=&V& z)B=Q-AwTwM0U5~_AC_w|09x`)!2<2SYR|5S_bY)n+sd%I4oQUtFqGG-n=veo-2W9G z-PZO2ffXs{P@QDcSY;_31X!wUkTno?Y+&Q{{XPAE|I@GO>d903r*FQcXBQ_zS+QZS zU|I<9N7h%EC!}WV9XY6HQr#=y#lSKHtsJ~g0AvnjH|{Jbq|z@OHq9vGvL(3On%>^L z69ewh0Kli8yc9t6FepGcn>RyLyv5ifbtxYF@893io9lH0e>G0GTXoWQfK zc;PPD3wpye4G|g#hZ`evD>H4zsDR`_g4ykqYN8b7fD@0jx#}>}UF^mNzU}DCH_hN= z-s^UlvupP)S{>&N$UVJauh(n3X#h1hmjUZ$R@0f(-8kIM^Aud#@LFY=iAQ)P0i%oQ zhH!jW4c-Vk4tM|`gnM}ufOyM~a5vfBxBA?zH$sQN^1EB_>3ZA7%CK*BnOol}U*o!! zw_aV)tQr630xr)4phqA&uA2bfZQPwK=So0PlA&BR=pfHc)eQe3?GRZV8B`YZS;mhA z^&0^`&uCu_RF-o}M5`zQ8pDx=!Emnce5UR8y~U`$!&SV)d1$q{;h?k=3PdRHx9DoI zacSd$f168yQkH9zH!ao6+zt!8} z>!{7YHtNkJGSGSO|m?L+*8U&x9mQqKV_;O)Q!{BFw5J*3@lGUyDmq& zCIfQ$w<*{+1@5K*_7sRdmIs2v;SazrKu>tB@^1j7Il<#uDUL<~GBJMP;SKrlA3$z^ zrMV0SYyr%&hjiw4&fL%00~)|M>LKwBtPS9z24w|kKv1{rfu6zODcCxdDL{DsV-T0Y zR8WOX|CUDSlex5!_mDgja~Ze}05s%@0FV3~m&>p4f@TU7ct>*r^~NWkd_tdp{<+kV zy`}+(^PUBA;=Y4-J7fs1=BaK^^?53nOldOpBuC$KzMwCG?oAH?vix&-$G-c%bZi_R zOJXvxlf=Iq8_r|;?;`0gq+sJvVFjibJHQdJpTYho4!(OA>SDCg1f&`hH;k#OYCZTa z$Z7&Ciu%u9)q?yd_)gSMs}Rlsjz0m%a9CoB|6w22uPX>vl-INeW3frWPQ(H;n*P!vU>K9(y-{KQJd?MkU&WzJ%ROHJ4F3ya{OxNWu5a z9r#$Rz6sYXi9)2BJPO*M8%KeD`R={+K@GFRU9c9^2ux^u_9Vt6l$rqa>aFmD6YRsg z`C98eccGyI_9MVr04X&zz$*@k<&Nu=8x>OIN50BlyLw%(WFkc z@o(crm4eJWalupwvo?`)pt+)6iw%dSvlSkhk9uGnRa@8vKSz$v>7@X(REYu4 z2B^-4;4KG#t0V)$0L~FclN${RI>{o1@rMT6e898;LHb8PvU|_qX@-$+PnYT;9{_^o&j= z5S)5oa}rK*s~;BqO2%!;Mri|<x+;UEFQ-asFoby}!Mdvd3XTXXlqx zPMUEyZ-(e{rhuaaTdM{p4&sr`M-$(@ZFOx1BhzV|EN1lb#WT9PIHQvT2cjD|tX>16 z7pAn;`c&5znS9t-l*5>vPzW&KzHc&Gw_k7BV`)&H=5eEjB-Hl$?!FnGn+A+8gkEFY z3_*FEdahvPsu{IB-fkKQ%wRSLM=T8}UmnzxzNqj#o`Z5KAC#4%s7@eYoMNC=Jx|$F z+fM&xSW*NOWya(}_pOe1?V9yoy{xHjg-T<*cuL>3LzUB(=RJEe7xjFm2AXfqFKGMh zlUBb5P*eb=Gv$Dt}=FA;Dn_B{p!j0?Niu9mZ`;(MlpMIuLV z+#-h-qv+4*(Xdq(N;Tm_M+Bkk?4VBt)Vbz?^^?dqq*xbpt)GR*u5glT*>eG~_c~rM zA5uD)rGc`Igt?A}F3y2-=<5MPHOd?tym`L%InY29ifmMEv4a|HKIr-4iO2zk>AYuE z>FPDwzHMI7L$-d5fY1ve96BFt@Dl*p!;Z)Irp+1r#|I`r8e*@ey#2G`f!X$$9@7UC zc;%6>r^$e3PRD@fDF<}@7ufqv!8*Lpv=o^$8Q!uIPay@$!*u|GvuAV;cE_I?1Z4mk z`x*QWz!%^$z*xwLJ$3;s^Y!de%wE3mCAFfIVm~&_u|sUy#h^0K0tvSvaFBk^bdi_ z|J?LnE8oZTzt5D>qlDE|-?%_m&7gGD!?$EZZ~s%mup^sL_$g6&G7E7juoEu}F9CIQ zm{;e#nb!;K%FL)P6CBF#v#sDrY2Q>UMNmB7Vd-5pS1Z7C>;u7TT&MN0I#;we*@_8A zNppk?l>oZ{%MWMM0IQ=$Bng;aSO1b62vHHen7m=BeN?H(kdRZ_+oHen^{z;jl1xkB zT=8Ydr5gPTbO7a5W2|s{9&#XWmsc7T!xS3h-vh`MwBMeShBK~+mx~+6IkM{<^rM@cNWop$`dNB8g6=p)IU5D1L7)0^Rnwy7K z-zMZ+lD_mF0nw(Ks)N&sZjfWKGzItjYW0ahfo#oGlTD zQg1zwiT9zG6FTJ8m5Yn_oliEE(#9xNyClYUtyioT{j4e9SEK6)C9-KJ>3^ysCe4@+ zKVZQ8Sto2Hd44!3FpGl-@d~UU&nMq(PK^M~2HqiASAcZE*kk1Ti|Raa^;AO#p=gJDphT)ZolW&>l@jRdZ; z88J$e0f1k<6xASwCrZo*$~$FqRt2?y8r=+<$@L~rvflu3mo$NDeNB}1Z=7Q5_aoJ` zk;)V-);|Z#t4geuFJ#T%z zrQ3Emu#qPknmjqU?^N<#Msf+Ou^L3;2RDa|s?MUZI z@Wh?@L8bDAW6UTht9y=Wv>CA(*15@PiHxgWRt0Zf1G(9MmS=RvSyo8m>8mzLZHdDl2ti+nBGV@Kb&cnW;)d6k$ zs?zP5$k%aOQ}TjtbEA|!Slf#|;Kkq!)39uc@^@F&L#A)yV32sE`~Xmi?C_%Kf!!=0 z+C8Sn^aF|4!W^{k$D|*+?vKgq$EGQun!!JSvEb?D#9$!+;S50YcMM!+8V&xQufJ}G zz$goU;5v=~zePYucv%Bn=HK`l_RwWMV)oc&@H7L>8QjHp08IhBX76VJy;A@h6dbuP zrc`kGJ+8rh094_54XO=zJm=tq`9Q)Q8S6t(J0A+5tZ7|9KQiUD23-m22S6FGZ{NQ4 zKIQf^V4mfK{>R+NbwaR1$dSv)b-~|MPcyhaJ%~XW+zxnRL;t>yM>@;xzh)BF!yP@Q z$MmC8Y{`Zm9ML^z2Nn8{+5WHoJ)E1%1boh=Xr?6llmwf=LQV%WB|CAF?>9ZWns5;S zv3gm0*j@Lyap0qO@Y9t;Z1%c6b$~kY^jqu`18<6|DOLcCk-X^%Z>-*QqFk<{UsWj~ zsQCMd#N95J_9g7nL1@&{x0uy&i)tI+=#97s-q(SRQrbUH?y1%5jCOn|At}6E&0RwPxGEJ&EG}vnP|c{8mxo>c0C|u)A`;Dn<_xl`Opv{9Y&Csb*L>$1f#C_4121%oP}1&LyQ18Uwk+CPeFCbt)w{m3qj#1fW~VvE>Qx4~2420=3Bv zNz_pXX>hyLPIr5?>t$TsP~Q5TeXH{42v#` zYG%&pnB!`l1UC#XI?8=B(b+%$6bqIF9F(U4u~{DcRgC>O{SC^E$;MhX`NUq(`bawm zW2^0txnkM#Q)M*T7*=o*;Dweqy7zL9{>w=L7JxS~bstSWD0M{e7@jR=I-emIrroGB z2cx+A7qcP(4;c^V0M(?i*B*GimVM9R8D$;b)nUHE_~M{#0=aavxYox4>ugqQu?zVgJ zoMlhs19K!FMssF0kd#{r8VL#hsI$k8dB!<-p_0rB#evXUGys%2lD~QVmj3bUuj$Rr zeKVrY=tTo}>->b66=TcB)#ko+S2IN0e{=5dlR-dJwr!Yumc4$5`HJSJmoz&tO~6V# zw*TqNSF~xy-cMdUqstTZLSqnox7+(X$zU{7zRU^-VcbyRrva!+x$7pA>t;0m?ce`~ z?ryij?aXS;R3Enu@ZKFZP2Wz1FI&z}n!Fke(E7jWBl}#pQxOCMT%KPv5Pwgv-@a?0 z-AJdaEnT#BE*A_!u>Oo9f9cy%IiTV3D+e6a9yyl7BAr(?Ae`!@9PS)O#r*jYrS%uL zoyYlRy_H~u%LXo=J$+6K4(LeA8qU-nO@V1|!SPsO=cJn-4!Sq`dSRP#Q(tVXdn2~^ znmgDbh-}VAJ76(RWIem8O7UU3t~#zBv&yR;Yw}3rWb>(GVXOxqPlIv33-~z<-C8F1 z3^QB)jbA<)0lq0F?3)H}4c5I>aLgB!)-}v#X_Jfkiy@E#0M>4Iqx2pgRee;jdGIID zbaaaxu(!xEFQeB#dr?HRgW~Iedn1mRGwgcX!zdjL4m_}WL#Ch`Qf|cEJ^&U_Zj7aR z{=d-8t!z&h}l9@8XA0MVKqCp6VszZX!;X?op%Euanis{B5KstgPQaO78bCgXZ| z9&=)ET3o|mA^^)wl>zV?_W+b+Du{RQ-U&Sf{{|owz$63E43Z*H9qtFM#Vo}lfUJ1E zfrl+TptCnLJfEjt##4|vd(us1mG9>|ppNj$J_bZ*Z*Sz6={WEm`XD=GU|)>=H0LYv zBNAwx`LFYynqRs7`OpCXJSX;U=KjJx;HZX&I^>uSE3!%omX7NbuIpsnl@Lttw&(M(%1%4sz>y~FHsz*I z_ur29q;{3ColyzX58bEZ9&?B>r=KiOFSEp+J_3*D&w4?oK-QKkP7<<@+B)cuUya5O zl^UQ>rKD^1t9iJYhw(qAHWGfT)m^l^7S#}BA#f2AO?%J-cM&DN5l0RlEF5D7K)osC zK?zY`BGbd%ku{W}c1A+!UWlg3QDV3PY{~gK_lsWZr%67hLhW+7*@&VV_jUs>UE@k# z0IrtkBZ`S8H(Rf>dYiGWKnyvMC*Dj%KH=mpLKUQ+N?OdjSs{#5eC?+^6iV0uyfir- z6X2|RpHmi%G_~|SR^mP*Px7BB1^**BbdmB~3@94d%V; zvtJs}=y+K2Xi1)-aDxRB@DozczjSg4nMbJHZa{xDsoG{&gMW?Y#V_EW0qg>RQqTK_ zG~H-A$j^C-2Ws2Q?$q;{=c5C|jl%VMaC(dI95>G9LH+YM0A6w31fO%vm>=5QD!8k< z#nd@7rX-jR0ghCq2oVEdrl9obc~=2fm?DIM!@&ZFi5Jge5bs&#D6R_ZiE0c6gjg^b z28f4V#oSv*37;_$wCfh;0j>GKF`vO_;f+(MYoa%WTOF_5*)x;&>sZDg{Q57-pm8dp3d{-iQX?9 z%^R{fdvw3q(^K}W-7`<~T?0!s09`d6Xc2K?u=zj%5Ng}T!RA(*BiYM&y;;-E{Vo0e zyVvy9+iQAvzoGN1XLPo@Xq|c50N~2f9k_^=V>`J3-uFqKL>#2B~h)_{!!^}B64^4;tA^oMW1 zYxQr2@zq7syJpx|4!p(&V5?@674uM6rfF&NV6WqK1H^~TPI#+Z1!%^e;-<$Jmsi50 z{q?Kw#Jg&?bWdq6=4MgXYbfI5hFp>Ll29M?NeDFO7PoBatZlfAY z_{5mSI_D!{7@S#$Z=TJwN8Z-ahUmfGX)+rAv>l zF@w#G;z2Du?Qx&ZT|=z5mRIcORF5^k>YL4&=L%LA-}|_6v?+>hXZ0GgR1gTH4G6W{Z-;0|Vhkzad?v%x`J2Cu*U_FH=P?3w4u zzw>AIeCAg!1AsT~1sFXATr<##IxyhLw)~>g`CUg1W;Xc$~=)XIF0smzCNEOKpY1MSzegO(f`>K9ESk#(grmK z4k5U20bqlNdJ4!-^{U&q*8sh_{oAbu>g4{&p6ihNR9C0{@u9MEKYkxbeeB+8`WWNB zKc+ujs&3E_rHPwj(+2y$B$TseaL0ZEc|zF#l6-$=U`!xwX7dH6f?Z+QS8;90nq<(Qnhy0ezgl;B z(7S}HQMx5S=-%NHd+|=LL>bk(eVL`;{?oZo`Fbg+#h%W)!G4r=vWv< z03T}&MR8JbyIwdhDL_j=X*U(*A}L|N%; zTt;D62A?51v0JOkWDKS%dRr^SP%1GXRMv4Hb$w$>k$`Ya3ewj@_DHf;43+Xw4r4n{ zL}?MHq*$g5xEuPBPnZgV7S-JR1pJyl;eFpv#pl|PLG1vGko(TWA-{_kNU_<&#J05G*_QG`HE4iG#sqpLzpbZ=wWyw$fNzcwjp2a#p{`amocbz%CjvW zYGPl3w!uX^`=|B^a${O(Tj8;_zEt&85B2bpp=9t7 zfd_2xBWvh?cs3p=PErpeMi}QmM-O3Tqpv%HE}o4wi!C(ISCzZ z`+nVwpVPBbTFy^e{`&yeNIA9%a$(SK&+VBBz{#N1cC!^~h*$65(bsR^(l_tl6Rl3^ z#b?i3K?+$q-{L}jP?>-Bq=CKr1M~7~pYh}W+xt7=m}Y8>Z@zg=-!bJx1IM0RT}hq! zkM;GY8G=ml@mD|nLO7wtr&bQ{2k{CPnh&P6*m7{h9o;t&_v_cM>FwJFw4bb+tVaRa zZW=(%0Q@j-;O_aQOhNbT0ly^iBt9H=(j8~5t{Z-QxfzH{>pvVSFHai?&ioXR z@sp=d>G|c82D}gA`G;}s^O_7v1gYH10TJ_H*FE{;YTG8))7gpW=HjH#+jnmzZ@&4Y z0r70qU++fIQ9f5-e|&=XaayB5Au%MwQ!c6f<`h&evFEF4`c0l~rQdRnroUK&>IfEj zBIQRW1EG0NJLq?#f}2(P+~_8-YRvS|hR2K0zYKF(!^d(^;CVp6(?P~V8O)oP$j7j5 z?qJL0^;GK&K4!AI4{44N`lDj>L%y=4LtgBmq`ea_i&`H55CEsO{RzAlPw(NO!vZ$W z>3~YtNTX5mJwgE10Af&w+E>ctqOk!6yGD81cTJ~vau~FeV4-_?f`KV?w zI)_vJFo5xx9@DWTPhuTO$Mon!pfr9v_Wp-{`%pRth65Dj1TWj76jr>tB{tXl!FJ8Qm@_4K>_{_lv5rB}tM_#Bi zfL4Ipc(MUr)R~F{p2pcb8s9+{nWH!Z(*T?^tq1?kb$b5%IlX-OQtAu97aq#|JGiS+ zcIKwev=mxD8c-Xw##Tt0yF?3oO}nEQr7W5{aiERsQA z)HnAL^Z<3kK>+_T=*@D=eVFT(4`99zOg?t7^Ftu?_uc=P9@8J23=gRw*OV`9UnKS+ zXgF)wJz>OYGSnirbb%sNZ1&(km%zS4*kAeO#h>s5%7x?)ni{Y%)&DZVV>0xC`ugRt z-|Rklj@Ymi-Gi6DiO%s`3^S@$r|NbhC4dtcO~&T@O@Yi)U9G7Ws-^3l?r;kDP7TK> z2Zd8cXh*&mWrwW1cuMY*J%$NT2=aQcY`cXLjrILCQRi_zWRRoyULE)8^?}ZX9iP-P zDn-C4r|kfii*KWU`mKCmjm5DRP;&tPo7W__(0w1V~L;-Q`*z$P{kUnD4R_}HjPo@HC(3!60eu?QP^^@11x_*z- zI3jTW;+L45N*ZpJC{J#Ym8-gNG?{Yp!lIa3EveF)m(8jL1FpE_tW$g;l1dheRiPM& zX*)jps8Z3%GJAZYUjQm}mzTr?O-eBnoAMa1Ed0ZM>&B8iCePFa?A5$*vAb@@_$lJ8 zJ7X|NJOM{r461=h>GY9o{^*)htPL?A&h7Dd2Ag>MtdDyS#w%?>{&*@M+xOzJIoF_M z%!FD=;Y}~n8)?(q;NwGrE@rUA#yICaGtONNGN_)D*j!+vQHJ7kBD^4>^L`NEMum;4 zF~A>{f9##qJCo9Zl$A#%oX*ptrDYBd0FGs(JXsh+jkdu?dNv^X)8j&vuB#0UhgUcM z&b-15qO$JI7wRPhqjx6WJNM+n zGyK2&<~spv+0&kNgFT$(cxAZ~xv`h=?ta^V@de#BApGgoC9M`qJ;!K9Ak$v#SpEV? z97L{5;on@+v!~BnTW9p@?Hjs(^_tdArk~Pbkb( zd2?!L!qYVlN>xuQf(90w2S#`@%N%dK+r42e{I5GT+!=5m#q)NryyBPx4RntE5Q2ry z^ofXhli^Z5yJw?*FTBv^b$0N>9X(=K-gmMwme(>9fQ|WV$R7@AuhOslA(t^d9pU>O zvh}%i`FT#0`2>5I2WzP1PqhaaXz0s-aJ|(xuOUiFq^~$AcKu=QYlu-z-@v)=IE zrs=qXN$jzTy}YbH*drZzBIhwZrXNb{`?Y)U9`hvTl)*tx9|DoT4_xln#v|8FZMJ+* zz8-)s{|0asvfLm{%%3wI2kQWrgTRM;$ejBW*XJi+&=*;cr+S_H z^Is&D^1<=-m>$!ER1>s-Z58wf&S$+Y)eh7$kfx|dh1vg(!Ii!sEC5tSfIDNCDFLW) z$N@HGm17Hzg@ z4X2VUK^2qP=E)0Joev-4e;wi}wnJh{PFv8tZ+$qolumjzBpxzL_s3JrE>J3g`M7+# zJ^-abs(BVr2RU1wA;OR~WCM(?+cyYsQN2$~C#Bwoppt`!M{q$$vG5@(to1a=Yfjbm zkpN5t|A&gu=`&yy5I6v%ku?JYsfs0IYm{;Pz|GvFxAdw|OW%R+b(9#bFeLx20la2ZNuZ<$*3z11G`qH zF@Q(u@!epY7(Vt*UOg~OF-}Va?x{5b)G%;Jz$W=DK&^uM8uc}TmECRG^Z6}(%^te# z^X*Q-)M3kp*j)6H^^WO1n4)8`U&=kJX55`M5Pa1PysOI#@lqb!;R$=g3uwj^EURW% zw>+=!ZiFIWwKx$SIpJ}_!+w53uWy_2{@Xv$r%x{FY{`7#E#I=2z?M7)ZtriK(f^vh zX`t}Ungd47r2n5>UeSDY+5qRZj2&+O{o5P5y0~oR-M98_g%0Mt8P8`DAaSmN+FILo zA|nPyt8j~Rnhgu#sa~C3(wm!i^#1E_8o0Nmmrol=(8@evKtOb)+BgsT2?3wSW`wsg zo7vlBweUGrs1SJk@Y4Z@(Z?U?6Berz0b;Qx7xU21dgZ}1`Fne|5Bq|igIEKgX4RE# z74|Ohyf4+u7>(=PcKpISKN`rvK_L$Udh8{zqZsZ7dj!0i*PR&O)x2|UoQ!0LYzjWh z6BP^gI-JYFiGl(P1>Pwh%hq;sO=f;bRJ{G<`wF5SpsL-9O}>`r4fI%h;MZ=96)lkm zX7IQN0m%9f`<(EGk+I(|&w34!d6koR{$u{&uk?wK1L0s`1n;vHr$Iz(HC}vlc+~>| z0X_Eo82(nhpW9)`Z3BMp+berP3;1&g?s`}t-5%{DTz4PSpC&O-_vXzT4-l6*iUIWI zKTgv%c?zx_OFsm(xxronMB{p3-<9ix0CjkJ2cRy1-6v0;2x!Q8Flfqcgx4|x1%f_< z|3II?2|zN-0)Q*HggJqpg6r`6-~V3f#2_@ld(c{de;P8Bm?Ftz8EZujc$W_c@dpqZ zAULkiaze^98JP%XSE~G2izRP4Pc3$9WRW-i0Y!9D514jN&)sV-`VRnYmsy zp33XMaQW>BhUzk|o!mn~`o8q!{gS^biDAKR2$A$#+A_U2{;e*H(XR=XiwPE5DUk#e zXU*XD%=6^zosU+O9x!x~8o&U1CIl0&4*KN`NP+9I8xEm3Il+Up%RgUQx)fw55-A^K89OT2Gs;Vq?+Jb^Or2q3FN}I!GUf{-bL0INx}7ZG9%18wI(g6q*$qm zLwXO{sC_iJviYOMm8@U2BWfpKEX-t&J9P7y1B10r7x2=HD(MO;P&!pjV?Gav5;_&a zNh6^vpB|=CoZ|*uJfro6jd8*V>IY#AT-0CRtBi7>+UcexPa+}flIc83x|A>@*N{_@ z>!W|H8|?mGg%oVIFKVuL*M;Q+0{SyfX1mukiNwJRbw+;vgU7Tw$srQAKE{3!9%Ow~ zooNx+J9QK=XcRyQlRAS6Rq;#LXG|^l<2lNM5tiZ}!~*j8f*v4Lwegif-J%(_4Z$GH z0E2+Idc8-OEgHO%r|<)NsWeb&&4Kjzp2FUeHiud{5&(}s%an1jxdWO}3>4Re9aI!V z({otzv5Q4OWspWliTN;tz~k7jPO*sz0ZME*fBZw|*s{85@COWHG<&xR=rV z?CJ?^mn*tx0P1dB({6p=z~=_Co}NokzFGT?%h|AJ8PgRQA2P$M%nd!Z>$k1$Y@ofp zt@ICn_+0~mM|%F`fON z24cT&fW&(HDSh_joGzCO0o&(u4!Sv0Z+romxjqLOQ_P#r2R4Ph#P=GQkmpvWM`7-B z?iUVBcy_v?H}7xhyaD&mU%r%lr2qAakPg5ReKB5dU#77?sP%!7tb3Tj*6+!ZX&; z3tG-+=26$=Kdxl_0L=0k%=krM6kxvv1Ht!Z)?NrE&%f{lAxeO=?8Rlnr}Yr2WSb8*-Qh$*8xBUbps~`lzHBL_3D*)Ld&6=0jZo1gT_pi!5+)p zMtIWlwE#WgMGG(&Jjr^fHj4K&%Z^|9dj@vFFP-a>f%Qx&fxY82_+6&l$Zef^@y6a$ z^UD0u8N|jlOc(N3fAv@H{f+v-qZsowUyCvsvz~+eg0+yM_$4FH>A9O`f9Me|)W`9^lnPPb_qF!*^Gr&==XYJIeK{p6;=I_-wO_WbBRM)f8Mn}7#$P|gDolYGQI!J@^LLXvqBJb*fy6id=MGX2L@^T%k;gReoQz~HnTx+gn*LK%Y z(>=7er1qDI-bLBHZfl=aYh!VJo=!IUdp?}0rXL23Q94Me`f!6*3B%q>9b6&waT{oZ zDVf6AkM-n)S?OuStV zstqnzxI~5O@|&|+l-94dE^%LZ_JNy%YTec z&opq_u7Q^OVbS!V833)`%;US4;6-z72c=Ow!h18TgoYUPu}J}%m!WpG8*6yYloI0; ze`=6sZ$->MSxs@jazRh`>HvTTiw;~Xh8prnoVzqy>uOrrW8OvG9niwnHRwn3JR|>! zF=Tv&Y&0F1JNY0S$M>79P&TiXyM=fP7v?)I)yF>r&`elyc795CxA(%^D;%0nKA~qXp0f+E@8e`%9)q9lV7i=^ zBRzqic!TxED>eXFyYtf+_PdW2o1xg7jKR!}0vh*1=fIDZZ-p|1L3{SV=YtRdFq#au z=0(ps#RnTg`#^dy!?IzT6!Dm2Px&UN(*{7FwZ1-UWw3F+l185h#R+S&aJkoo)K55* z3xYzIsAnbRTF2&1-VfcHEg%qNSJKucpH&WPtTTJ)5h{B@TvT4M>G4tuIOuhp$EF<|@Sy=8Saxe_?GMk$ z=9x5kJ*LO>!NlYJwt=g}fT2NyEkY*5=J!JV>28r3r8+n887(BSi%7k?q1#SDs~&Ut?VnPDFY5HoukXRlkK;4umj@EM~noRCirPzb;r`2sBGvVQr? zU((Ni{&Q(7xR?P#Lzes*)Fa$3mI;FJWuECNkPNwIAUW^dGGzt&E`QE@}QYcOpU^SpjXLlI|gb)=d(vN+L}``tLQ_Z@*e|E z|1sA-rvJWE8GN_X+v_nf1K1$7>9Oww$Yi=*aU&&fg0`Q@QK$^=sl9@_y<5|^rKErL zo&T2Xa^NgPl+c;j!u427;6!qbZ83?+ZT$!MUkRJph_W49(yAloT5*80(qs!6TlNk{ z0S=!lTuQd>OSkuR91#0W0(Uj}c6r)zIDKUs#CwXS0KQqSH5@vDCl#l6AjhA=sOkHI zT#^tnO?rY-{a`JpzAGhtE)VwO+Eo*|pixHAOC_P6hH+3$T3bIDu;hmHl+)c_Zlj1cgsUoi6j;@7qL7>YmNkG{!q>%5lqYKJp1Kxqd=zy#pFmST6 zN0qC$PpevDP-W$y@PtG#t*i?gS1zRJ2AnB=74%ojGcMl%@QEnoXTQ{m@&)%Z zQEn)j6mqOFtW0hg2pP~X-MtAI@1)VUGbRM;`Yu-j{pN~WN-}1X{Jc+7`Dt>6%yJoC zr<#kO98y^Mp{v962Av>?Twn3H!H9ar01$tz;@Ou1>ZYhz|E~6(q^}w=$-6qdNKyEzfuR;eP-h&15^+uG<>~2FV2{yH*6`dx1 zvU9|$?_~1|!w-j3-6P%UFpQ>4%5%We`R}Mhf>c$+@*YB@sITzo1I&BE{o9lP2oHOyn z=00IwWd_{1YZuG8&_&!fuza+`0G9m;dp;Ef0QR>e;2ay^XU+ItG@w9eO4mh#NBd=Gl*W|y;)uWcdV^hEj z4r#BH5>o^|_Jm5o+71OG$mUPi% z@}vRzyY?!3lR>XzPH&E^SvbID1MkZ?OZ$rl=bCBU+BmeeS}D(ZzI$A6$7j^-PJ9lZ zjCs;I9sKQD?BHI?-5QrRKyHIU<|PgUvSAbJxz)R-&y+Z%EqHDGZs7Ge`T>O0R|2~p z?6vvjml!$Scb+1HN+T)#Su7V|noX@W##n@suyTl+x+Qv3^JUvtHmp13-KBpw4CSef)dQ zbLt(BKj>%%oAZ2}>zVZ&GJu|;F96K5&cN$B>n!?ss?W#z{zEePklFNozdfeM^v_QP zxC+3p^ozeM{sR0%ff?KKz<@KGD7pC-2S9Yw>Ok&9p{M#CZvzCi3w`eu`(oTvI$S9D zMu`aXiEZ&}fK*!T61ZLh<0xZQni=-qfpz6oE4GQLkdmccI?9K*tlztpbbZNXRO)ar z0OuW6l?rqglmU(&>9>jP>(!mC#el-_>ZJgZ!a7cUyv7V_)CUrs?Dak0I%z@dcX3&i z7j}@Blk{k$B(Ky<5t)S|0KDZ9-Cr1hPF-skb~luCgBdCGpz)>ia@I~yN|ZWa8fmj6 z$(8JxL(wZW352qs(<0Of%I-sl(lKB%r*5$24w!)RrSB-ox{#Y}m11!CDNP}o0{k)Z zBd1WBsEd2p=0!1`l0XY<>1D`|FF1ujGNQXdHj&>k`J(S3J3p1F)n$_~SG})iEsuKE zz8!wjG-(#4?*lNXt{0igq$b(aNqyB8t*H#vNuNBabZvLgVJZhJ$PLmGeVpgM+TT}v z;v>(uOynz-(BM^+Wf20X$V^T|tJTwNbJemqDf@U5#xpjJIwz=?B7=v*^~xT@mBee5 zK~MHV1<=G^gPM&{a$TJG4AJs0Mdg#s(%~ekU)cm8bvS*JwO=6Q+X$U zHw_?u*TBHH%>Z6+UJBTEdv{OE2HLJ0xXGTj%Vtci1(Yq#fIOp_t)yavR_3hYeriVr z{3tDZU~zD{Rt zzm?LCbaahs$367+{vCby{!IghPaF8Wr&sUa(QIr-@u0&ScuCwz?nr-J&{;N0d)I)r$U^IK1&l_Mt#|+cSoIV9# z9soF$*XrV4#MII3>s1Hac`2=qQaT9j##;ZFj^yp#E#17oqw9AJFsv20XziU1N|{xV z8+*eW?ZaL?rFR}R{8r>obhcd4+Xg&eH$DCAlS}asAFb|u$RPAE2c1J^Gl778zb0Jp z)PpiKnal87$z05(-#g$yP7dpQY=hb&Z)*E3z32P*uj&S0bP8?yag{%1|u1S12_loXaLZ>uE6^@gVLPxTA4q82zbUd05!o0 zoWaW+jBW}_PPvvrx53m;Os&EE&3rG{mw{!b?D)kmej)8+Z)t$Le18r+$n`+G_+BoX zfocY@Ik+F_H{h9@LF4QZon-^?lk;X^9G=)Y_#tGK!R72R4G=n0O7I^5Xs#>Q6CBA| zPWb?W6F85#9xMx%7rzGp4W4MEyuRUnfX10C8T~))!<4Dk!&cc(?;E4zbcHY%S-s$!VoT_$tVjt`#ewWITj!Q+?gfI17lj=k%kKCK~oyn+cb5~02 zd!zS~jA$aK57nXAAw&UoS}A(ouC+b%P`Xyizc`*Hs+IBpp$TA#w)zB46NRmSV<@Bs zBga3MiNZwQ0Ifq66lm}Uc8$i3S;0ee;gv%%uqVCP37Kq=xp_nCoj6RILgWJi@_~R+ z&fvf28U+~blqS><{9)3zDM;#dF8!-tTl&E>#a^|Z`oZ04(U;~@UrN`j-C|s9;y_#T z!($e8=m}8$2@>?XXR7B*sP?9fhGw9 zU4vgu9&WC&c#u7f;>deCNyq}}CcCaKCFF?K*M8plSW-3b2cy&&&Cpkn`C$H+2fMiG z@{YYeHF(ra1gM|_16Km6jxlKmcM}P)BSN=;QgsY2x?(_sFVWT;zK%?Exz}He*&*>8 z4fxT=3a-tDK?dG+qig{S1=!TXBld`7(0sdB3J!T9d;tTaMjdO7lSboGwv}JJST$&y zmSIiPCo&N5b0`#RRY`SJIpR>Ir0LU*3cDX#tK=W#9WgbQjs?njpcb7v`|Rof*VGUa zgNOUp>QfDX=343F_TK;PbN=;rpG?rt~q^|x>6?Th#H^x}f{7VJ$uaM{C_ zDKQ$zxzk7SnSYoMHrSJXU?X|ajQ&Fd1X`PxO*fYf9OS@xcen4wqg4&D1Fdh&yO=@d zO%YJ+L;@(C3t%~4vN6{VQwF91+0gmLIqkRX9j*MqJj$6?V=H+c8c57E8FL9n$9&Ew z?epE;4ZXQui=4zeyE1*lLTLnwdUwzHuz?SBW=lF*kkEmgE>C5ndfE&kTpUL+OE;FdgAh;g3G|;;B!?Pz>^!|>$>*ngHPt2NP(D~3WXD!V^8O&-L%@r1bZU;0bVT}jz$5#E z=r)fx%xig`!9GCuRfRs%*uRhIPmlo0ApzJ#0+5+`m*HUwun)i>r%Z$WNSGHv|A6lRZf1_^?0xNHsHhh+fO7_+8At^v%hxkt%-8el%a<>u-oO6!uj$>p zcMfJESRsE0?^=HSyTAK8uk+`he@>r%`l)kD=epuOh zz~{Vo%;58}{lJF+=V|(}*FC1k1hWkGzwJRvhfx_e6M$1qUlmGbm+$G2rQ#2wze>w# zyDkY>Si`-oM+-7em2|lpI+VY!^kDA=;4&Po0$;-QC2l8pWtXn4$A!f|4<>_T1s*|2 zyi(~s!30i}z;TzfsRrB}PN^AWkEwDF%sQ272 zEXnY%@!}itWLyl1Y62X@M8!df{OBj4PN-x*3Mj^3eBUn+sWWotrK*}J)BWTCW!JXa zHP7ylBUehsCK0-U64+AV+FRo)C@iJ6V9N0xO}SDQ zZxXYAW%`^B$h^H}m`;LG?Ml7O@=VYxGo|)L4aMCF>Wj%((`37x&+;% zGAJw@s@w_8-77%|6~H5q3lwSK^ z8uLtnaJM-KsLUd~z269EIG?Hhlm_52kNC`tn>sJ_z8TSH&0uCwYM7mpQlDs`LFOGE zn4h@;wO3b9>FLuu`ug29ZSIxBkU>PDM@Wyo&Sv^(F?$s+XX>@e0rgH6OKB(@UWdJM z`C^J^ugv9KX+)RWemop7&I3CP%ROQ0J_(r&}iQe4Yw>I3;PcNUe z_G)lF_TuL;z*Hu;tqy$P#NdA|TRLzXu0GKKgjiGR!!_lYp5<}a>uYh|bLgJ03nhE& zi$;=q+afUP=#OHv2Q<@gylwjMx`FCsEniw0&N5co+pg?kHfqad`58>*A_v0DiHy$m+o zM7~4O^|9K4JT_5d0%Pk$jxjzVS6w3w+@gNn8bMoB$)Dzkol!sUNFM2M0DYiyLU2E0 zK8s+rdP+Ike1W|AK$FKJ2X|!sK4IXb9dzvWgFZFW?L7wHL~D@3BYT*~^q3x`>VP5E zF@Sf+_=U3}hybM- zG{kseK$_c#fPxGxBkw0qp4ihtw+`5%E?f?Sw>fWq<-E8a>_N@+76?8#oqIAUiMm3j zEGsUPU*Y)-z<28LJPkUSf#}>fd3~A5!R%VRzL6*YWeODl%lyjab6XjN=Jqjw58xf# z*x741w{?2(H{D0&_c`T*3?%el=AF*6%L06sqza7-RQ288~Q93RtT`msrLN1v){+q~+Y%(@kJj02D5rW=XU zXQg@;SfQk+yJN4)S(X5$_+a1Assd1q5|Cs2yy`fPem8WxvzoA>!1D&*2fC?9G0tk= zfV7t@feNQ)JEjACiV{v__JZ1XW6Jm8n9SgE>|fJZCbJE_EeUn3^#RtI?Op=rS4-dr z-u8l~hFhWGN5H{yRb4(|To5_|cvZ+BNK)MEb+$e&laYjVX9X=>dSBd}1DIcq?T&b6!KhFd<;nq zc!hmy0;l!|0IjxG6@a4T*J2FMhPiEei_jU&jH^=wEZ)!6H^}n%I2pK13VO_{=37i> zWuto-Lr*D!9STTU0A$!^m|{+eZa01VK)*~kw8%#`>T?B~M*cfkl=88tY~0lu8*$^9 zmN`@BYX(zBlaZEHA_zn^0Le!9km{@V+eZps=wkFFSPN9N`61{Bto+dOf^S`VAOK_sq@9G#i_}a6rGgzLR!~ z_tIPqUk0IN-k2%P$#<_`(bFeS{SjaeoX0>cJjl5yzL!DdCk;4#_T)ymkFOaSZqk@H zU>TnG99)kB=nYMjOdG*~<2iF(Hh^(<-VC*}7rx--tN{qEtlL)3!aQYp-+6O$ErBUl zv=HN7`mB}xnHcj8gxsv@$;B0Y`urtboL|yX-x z%f$)3zj@mL=o30L;CS7Dqto1p>ItQWh(y#U)J z9-~FPqWA6dp@IAhrr)Tfhd&lTLxAd;Zr~QoSu9fC(d}kS-@UnReZ)^RwEk$Icx?bT zgWBu~&Oj~)Vcc;r$tK6!bpv^6Ndxmgn-2T2OzDBqY=A}`yK?2Frl+4M_E~8XQ0``{P+nyN95JAT=Yp{w zor5)|fL_PgKL`IjY5jiIbng80q>beU-tm~*9{PHw^s%nFkLgd7lp}t0Fb*E1*^3px zT?RO(VDNN(1ULv!UQifhY7Wp}fYKlXp#UQ@$cnN!@pXJJz}{nA#Q8mYH*-FG4-VrP zRAi54UbEn_4LT0y`Q_gL3d2hpf%^bHf^(VgXZ~k+Kj(b`5&+UHF9ghEuWSZRxjf_v z4`|3R??p0DdJKp~8JVw}^J0%}E{_xE2>_LWcm9Jsxt|$y=4;_S4!LLU>fFZ6Wt~Ce z%(I;9nrTw<-YxfCE^GQ5bP{>;d+sZM*r4Ew+Eb48 z04z~O*PuRu*LCwHz~k}&&~$qdwsgXFfL9?us=hmcCb>&nG(*Ghqz~F7+NAxE{+`r_T+UX$fqV22D4>|T#iTp^lONcGT37m#s1hn zJ5Feg^7gs@C}v2u@Ai4GLPn);BP9&35@o!WyqNe7c0F2C?Y>T^L*RXsuOsx4_MPm# zQ|A<1P^rrw9XE$ZnhGL}4G6YSG@x%_I+F;7%4J%RceBxq*$}8=MKh~p) z%UQuS%E0HWbQwUeM5%+w+mf^-?sKI9+CNzKc`+4Y0u#5?r5%^ycI zI;!%lgNK#U;#?{8hwS%bk49?yih9f#9MdUUhmf%q1Rwzk2#iangR9x{WZO~x}d9O(C+OqPc;|^@e00c zhU)qG87=BUJa`9jzAU7?v+DV}SgL`4b$LNg8-V+cc^qeIOx8Kk+3HNE$=3GGT`T|n zy_9_~fer`y?DkZABubJi53S05x&^#`hk;XI{ zS0^jFY-L~G-qEx6dVYRIpFI0iq`~cf${y8hL=RQGp`Sm!qD9N&qSZ+rx885Xllh{7 z1E(iTp?jE@6FO}MGK+Q3hZ-~0$xEgO;V%~rsNE}-2KW88eaGJ9oBKPV+1N6_^NjOa z%F_Z&Js}|fpnsxYtk*Uk`CbN;-?ldESSINs1_lqzea&9htqiUcd$Hd#kkI;Z_35Wn z*%+^S0Fu`$=m{R(&HC8uUW_Dg1xJbp_;4LIZpwu`hKFypjaN0`ljYA|bV8rA7fyQi zwkI*P2jSs3j0@o#_d^)U0LSQcA8l_TYty*bdKKM_vrcfOWz@=JBuq!c0SNiK8Nt)J zBrShV(*>`7SC!5?ai<;vIR8f&1Hl^5V@f~>yDud%r$daza>Ghng-1nLdF5>-hHj~ApoONzZ-l^kLiaJ>mWcr z2H8NjFa^~z*f<5zI88l10U81*#JmUo;bVX_1HAmlfN$p7#q}r$9@OyI?GB&Q*aT3E zd*H>&R2j-kTkbF_ZQ|?etq@om6XGEgr_=xW_kS0-~0{z z{O3Ox5S`l%Pi+3<1W#+!A8P{WMsmNS4w-X#I%gr}HlZKOWWRPy#~@qW$7O*oBzul? zg6#0hZ31-*Kx)A z--5{36E6V$swgHz6aX#T|0A-~C#j1fj}EN5Sy)N}O(^4IuJ?w46bEC|I7#si(E{0e zSw1-o*>wDQ2efjeA4r)O`S6Rjh})`JxhKz?Zr?3-{EhVk*b=!tC;H?lVlz(Wpu; zV*|!0zz=gyv%S9VoAv&_gVD!H)HUl-(ReGCpZB{dIJm@t@A>>}b)J`W@kj|=D^ukv zAp&%q)u<9BCF;6Eg+$qqK;f!DzKEos{$JepYoP#rwdWZ9e_Gu%$2yrZ6KW9 z45Wc^C@3*f>xn`U(T{^GS3mYC4Zy5LKB+{emS36}2y`Z4<$1f4VgU3ilz$-WODz_I zCjpsZXr?N_K0?C6lJ)gq7AMt#iqVEm5BZzpD^)T@%qK! z5cMyZp>RQJ&&QSyhXyW<>Y03KAeey04K$HpSvE5oOd!_}Hb)EwQsqgU?_JF160A@3 zaYjN*aNx($+s`wm;uwwpSo*3es3%~vc{2`C4!nrLTPlTEv`8sa23YZvVonMI=^+L5 z{MZJW6Mz#00~;(KZniA1>@nLw)5C&ifSJmMaVKuqkn~IDRRyCw=rL8FZuIorCyNGp zHE^{oWc;ZCKtf^AsZdplB`bt%Fg<7k4i?2zcB~IJ_oHn%s8G!9McY0reNYRzEU9zN z^L0&gS^}l5s;NGsPc$5CkpaN%ej^^GcjEnw2=fOC?09{1O@C;H;^!})(I@Rb2B$ed zoX~Bs=kVcPJc|c0y0#Joa5gMOo^v^{7&M?@)7|CCLIS~EtWFw;ymDG9rn&g}7eA%a z>a%Vju>{WBHbb`^C~P)+p{zJGW9!z|LgsTmJ3XhJfD_GtV=m^!fi4=DTbq6}FSsn& z5~Qw(94}X=^y2x2aiXgn2Y&3jq2E{aX{)nxSF;Yyjo+3jIM%Iwi*_v=d-8N(11;~j z>(;h8ZPy4i*uY>8ign-K-#75QeJ4Q!TVV|1Z<>s+8}Q7BMogEnYIP~C&NF^w`(&Xy z*<^jjJkv$NXZ9Fp-rdb!4N~@getXwI=mu0@oh?Plxi7}1>+C_imw-gA{o*k^mmqxa zTKzu#=ukG@vlof+L6D0I*{jt>I3t@}EfN3Gdc1~$tbV@>lfVW&kgktcwU^of%b`D5x0rW#=Sf|E8@HmxtPM>v?Hx2+3$^J98U zKRV&CI8!QQ@GgU5$My`zKr?{LoU(UrrlA1X2k&TrehlzUL1=!@p32}f&b-e@+f;h6 z4}8&F9_Pn^D}%4__U5$)G#vn%*$WzVL!B95#vTb&C7dtk_w?!0E}&knM+TtbA&o<2 zfX_mYWjx#L5zQ1B@K(^0sSCH)Nv{=1UiHVH~Qn-Z@=|miY#*+M95)v0*KMJ z?17!RtaJTxfXiH`e9$-rU9%44Jg4AMmI=I;;Y|*}e##l1fpd76qrcEES;pD39{SAv z54j_KXx;h{m^|HA{@D8-(_{LVPHF#TaFF3Tj}S<5L3H~x ziyqCXURH6ZQJCNI6THGgq-uARR2Dv`;(&)qy+B!sws@6*fY#3Q8F8&LMmu`dWRZSu9j8NDtJEKvTvmd+crQ!#Wr^#DRB_hfSw1BnpD z%`FkH2SARJ2O*?4$uHebp@dNA0LU?tlkyb%zV;cxvpWVt5_T#tN=;7~bgj0NDEks} zEi|b#VKAj1uz{rn@*}v96`=J)yR66a04!-R6J#GU3`tDBw>gqb(L*+=??R=_YqWF| z25?)*q?7>gxFMG)tDBr4-kM}iF_=APocs*F zcueO{TRq4dEpE~kgG}dwY^lfQw?MBk;yhb)U#02T|FcgOJkLIna_eRSmSt}We?*ih z85y=wUCe!xI@qHh3?8sF*e6mrYB>NM2cp|+l=E4om;j4WYuKDM0-!K}L%VGhFo~)1 zePdpV9}LBYc=W}nCgT2L*Xm>6u?S)=I|xu!5qs5z1K?$pM|YXVfajSR0aO}bkW?)j zz>C~ob&-&E&StJpQ!u>bd8%f;DxObwA*xqntg?5f0CU_2sf-aomo+PUt57Kq3|DCd zj19iu_-_GX*W@iT+GF_Ya9tAxM=_c;;}qQP#RK}50n3|v;TUFW4EBg-S@CaQfA@xN z?i<+K`eC!%irg6>j&eoYH^94O=M&9ufJ4)o;ei2$Wf&Ms+pcTackZp9n>-TI!MTzo>;x9{lbvzK)B@^gCm*>jpT z;O+_2c5Lq3-(K~v)#-e;r0v;;XxWV1)ApXd+gkfbxGmQWNL~n4!$NdoPh)FSYe>su zE3_iZs&X5d_qy(A-Ne2#z>Ynm_ic_nEZYH2`)1RCa`s}r<3M`t{@;A_n!bCl9MIh4 zMN!Z5<#ItMrz_!Ze{yx%>i;RdyXAn0@8v|DsXe&#7_1NKQ2i@mIWwgPiK`M`jwS!68PxP=EC zz!aGa8KibkX$m08p4`A(N)?ARqtjUlC}D@J*{DC}<%R;1Q53JGpC=+9V-L;AS@;R(~lFm;VmCy>vnzWyg2drXh%hZ4Xx=yc}vMVf+~NK??U8yBTGKXe|`*>g9K zV~h>(A_IKo-`GnTe8rhRI+u&TTql$TP#gKP7c_&uUw!qJfUlo@_L+c-3`+BT@N{Kb z4gQYHy|}pWz=Zty%P+rlS`WSs05r;-$`SJdXe_|}oIQ>C8vY*CA7}^WT!6`0mH^B% zu$zM*;vRelZ*X{gvur^J_xkl~X(!e?0OFYjBbRmTsg(@2=YBl~(&qd!-Nsa(rhN<` zIo}VD?#zn~SxoE7bpb^O0uln0&omu%zW>3pIg3XE-#Ps z{A2nrNU$u`yUD<0M*}JcB~-9D?~gbYn1+T<Y^6%7Mc|6LN_nW~JR{?N?@5j| z^z%Zo`Ue09;U)afYtq**Y+mi7*eAztE~n^HgUI^a0{qr}D|I*+h2t#wWiEGI6o(5n zTJE^lwD##zlx4s~3Drq@W4Kzxw4?y>^L{^MrkG?DikLBkJlnl6Jkio9Zw9I3nCSDcTq({1#= z557vk0R5+lvid@2M-KIYm`akD4@n>BkVS!P>ZG!!@ebH0g(9y>NrSey(O1Gc3k9w< z`Ur-by`N59zIgXTg>tIYD{OxvL_TQa)|zBgI|}aN?Zao|Do?GY2Q|opIDX8!SgZ#} z->9c9@$q8)I_(3?r&e!?j~Y9*v_gDl@?6#LvEnTWvSqH@Q3mHR4-}dWUhP8{+4O_vY1G+O*%CX#<{_4|&gCB?c&cCid=^e*_rp4f$RsZl_olWbNt}bRxSV`f=Yd_dfHRFBTjyjX~(S9B>Ysy&P=$T&2R2`8drUr0FsXHjo(M6;JO*NFkzH*em!2Q2~+GQgd|)2Vy_KBErccg}p<07XH2 z0ib;fh-Oc60IeBthy11>DC!H(a@2``gGV@fUUQqlL7lycbN}W8)LdTvE|;C(XZ@K1 z(Am=(X$o}bc^M#e_Snw#MLEaPwEj~sb;uJG94t5f9$wb5Up!7B^?hX?1MdGAK=~1T zeoX(R$w#5s|Dx+Kb2{(0h7qZ)Z^n=9YvB0|gQ#j&wE`#{HLziT01in34=G(u@V2Bq zYXGD8y*T#Lp**Mx1=!)>De73#zK~*n?mru~B}~a$dT(mqjFZ;Ut6U~~v6MgT%&Zd-T3f_l8%smP1*|sL;dhS9Kz7 zuPuzSnr))$F7R2E)ky4h747W5NE@P(>k$g<@K6Gn^?oQxJffZrxEzm9WecT?!Bsj# zF+QuZ^n1ipRkuf_?_dLP*8nK?jOP1>1{~J808>1+h4)nqq~NB;gsuxnyTTr0AIxCj z$NvX_rKB_hgUzwUyr|)stpJ{lr_8ZOTg zoi~H>Noxu7L4Wu9jd;&9ZN#zxS{&ey`I_H-`I_eZIC87w?Zp%NPhbCzzWVBG`o*t) zMazqJ&67(yxw@d)o+(4t^!!)9q(cMIU;XAQx@bV|C%^b99hw37?Zw~I?fZB1*|aitxa5qMXTqyYcgmcz{RsG`r`laKhm-R*I)kK z-_vyip?~qO|23U`(tz#T8>&kN%P;9|%WrshOXt7+hQ`19$9Dgr0m;wlFP?wiz+?`D zc-jE+B|ZQ26FP6ez&GsqTwY24ot>UFApX1o^%wM$=TGQm1LRK`5a7N!G=Oi0n`J%ZQ%Cn2H-#c;yJCBr>Ym$ z|E%4ab^~6$)42jVicM8-w8vuGZ)9N%*ch%o^y_1gVmTGynKxJr$gr+7(0yh<@~e2^ zk9!F=DzkwAL3^R{n8_TdPgu#g8*FT2?X07DOxv+qHScK(>ZwZ99}H2=o2P!$T4Qr1 z;}UWz$@B6E1xJ=A0Q!djM!$<1J%}uI`;iPXpv>{1S5Nea%@xJw?U4e2wk@jZ1NzhE zat`j8D2CV*pZn;vjnVT4J~IHlS}k>sC87xQC7)!)<^EhUB~JOMmfgqnCrYBBMo+;y z2rt|pysz~06F@+KcA0)-8ZeL3_mwdP1UY5SXMnOF0{o8Ujd?Zm{4$XI^5skMWd7!x zZ|JZ7>aXM)@If;T2H(fPvpo6I+QeMX>@m!sHGoRalk)Np{U^&{t_i($X{fGQAclC$rl=+vZU~&eir##D3kK;_? zk@alaPJTr|NzjYrvZwoAe9nK!Yf2ZBzD#J6#@;Q%!bBG1@%`inT+%{T|~l zinI6nSRXJjO8rnwrX}@lmIGv#T4vvo<7gRxmr_#wYU+1?&d9l405G@!%=Q=xn9r%u z^h`yIaigZ7bG%-mOfJCq92z(HwVljsUBiqWI)_dmt1wzHs6th&J7i}rc@Pb<;$SQ| zdklSKiJPy%$xg%@av0`B#^uUjAEzNNP(u$cZK%E>sL0w!?LjCgTxkUConbEXKFRfEdF_R-nZ0y4 z@ZdEEAG%-D{oPtPo+V5rU)Sz?f4`+~-@K>aefbsr%`bmJmkl^xp6u!FmID@U1Q=yc z{rPgByN!BK^Y<$Try5W-9~Q(%8a&KrGw!FI0=^B5zHA0H8&m9EDbDBZ@AT<84Gd^E zAbin4?s|SjU(Q$b_rLyIdh+ZE{p2Sa&;h)stuR?eBg^KmWJ?hE`9X3D-H>tk!n_1@-T>i68?Qfo z@{(ShUWy0!$?1ZwKDnaLe)3rZyH9D~#_^k*_w>!HZ|SrF(|m~X*|SgSv!_=QEb*ju z9P2c5N3WJMIUrz=oBN0P^UqrwxPMv3r|n>hxw~cP4>P*o>OsQ0Tc+$F`t-BUX}LP- zHZsSwErZV)KdMamGOxC2*_kA9N=+V$4*f?HOivkY7V8Wh}l9cL%Mu{$&0eoV@T zGShiy$|pVD5B(5ehu<(SG7!t&%HSu?fd{1x2}I1})Z3WGKLBRblL2Kehr!F={N^_T zE(28Nd-z&-26JLCnz^BwvV-X=I8Y#8Cr`#$y|Nsp;4)+baG2!-ujdS$0(9p3W&j@` zIzZn{^^pNt{^NXe(7-|Hsg@nMJO#)(G5tsOC`W!M2leHAK}*5;GEX<>gSOrK?b8e>0~kkONbquV%9J7be*PW@85(C|c%XlIP3GUZjk0H&c-rT>WRU$a zJ*JN#sqHj4<`lq8{&(OYgRwg+z$i=X#fAc4%IyCdpb#^80Kv@+zveaSSdIfV)$t{_ zxE}1`D1e-jaFR+Lj@Px5qP(ycGXzx9{*N5jp^ABkCi76>CPM%*UCBc!M=VX;U(}h) z1giP#10{2UM>@J zTqE?2=k9hmWb1fqHEEa!FZzJc->O^$$6rc)9z{6Pmw%?Py8;6!ss5>{MA?%avMmNc z=S7GdWXPRJp}>?B3L_0RgZcXwV)54k;S?_Qv9SORhY`D;h zwLfYZK=asbB)z_=J`Wf60DZgUhGX%jbb${2vXU=x&wQFpY8dn>`v>n;CS%t8q~J#s zk0z66R|0wa^Dp_4f*7P;VSnu=QJP$WtP7P%CTs|&8LT|0jeMDA(yr}jRyEkf$0J4C zKcd84$xlcRvT5hXofo7C{2-r4^Wv3jb>Z!zVuL@DpJxYxt^CzD-F!e?QN;yy-zuq>Z_O=1f?8&^}ZsnpnMmr8o4qv~1Prv=cH}pjV zZ%ILRZ zUcP9c!RmAKnWB=x}pU|t{{zv-v|Nh_8U;gT^>FKlQG!E>Uc|nVFHPCAVyw4jz zEr#P@2M7(IW>4hB>P&(o9_o(HpMFBm|MC}9E>`XJmkrEbicXJpPZvxf(t!Ajr%z~c zdM=*em(N}_KzQ9`-o{cp^tijZwt#yLN^hT;`}*$onl8>(^z?K_pPgUQCnu*3lb+FK z1Jlo+UC{Z(f;PpMGc^Y53g7c-E9>Pa&l*^Mr(=`>69xkgtS^HcLb2?as^skK zoNk+e+uqTQbh3J=-Q3>M-Tg+WRNl6Ofnm|W?6V7*E0k}2IJ#jy22cb@qY5APZ@j1xIDGJw;jWn&huGP$uVX6-u;@+fmkdq3wnrc^(y)qtipcUc~@5(}n2-=b@< z0?NFOy8HHy;G`W;8Dnc3t_~QGj_03NwD;V2$r5(08SF8*G%Pb3k<(BK@wW1rqxb)hC@p%wQPQ*jfEA$Ba&xqN5xS&i0rdQ%*c?mnX{xvJOXiZKtU_e5v)p z_nK#L@^U(QaPxt3rr=!$|FTCg#^Mw_#Qyh~=Ph2dvj9L(1|$FQhd)T2najBp^+4uv z&)_EZcw86ucIJSE%=^ss;@^+aZ%o^q>kB~l7>&-1nq>ibfm#G!^!Upl^RzE=(7`Of*vAbWr#MaY z2|+BmzT6M|9(p(J1IQ0FB#7H@ot&=uk*zDM&s&#sEQM{uH)dm&p4}CjT2ICzVjP?_EkW*6@$6o@=2zabS zeek7i6TOy|JTPC)bt8)Jd`lSae;Lea%A`!Ym#bsPBw%eF zJ-^ZkMP2eKgjp~sOBzfe$^dplDa^mB6F5#jaF(T@W{JUDqXW7&tH*4#w^CYUOINNB zBD?$HprzE(w1Gwa)8bvzq!61R$TKMegyNO1$=f^n(kGc3WqP@(X0_|vDAWz&RCV@) zH2(g64wu_XOq4a1RP-}E)ccvC21r&D;MQFM!__80(`V>+=mz;DpX8F9v#qa!2jO9t z6wEdX*_9GAS?z=xt?&BgBTHO!@zg7W&=brSOhvEs57@jazo$K7SmF_r>EnAkxg!9b zK9+qrFetof0N1^E#4_l`;H*5VZhDFZYbfE7M}yLS?90KX1A{C0I>Z(n^j`G}7DI)N1_sMZHNcy_>h>~u)V7J=G_ZNwK++pAI5;Bv`vwZ$HK6Gr zp5Yv`O+jLv$%;LnfyGC58;n66icsTd#$?);bVRVaLAot=w6)95rHMJ}2~n za@r8UVyTZUnpSe3($gB*7%1lLZq@Sf#d#hq@Lqsj`hKv1qw)W2R<9*3eF}6jck{l1 z_v`Jh0nl4|-@xbfdLtgf@Q(C(zTNif`iB1D4`0#Ge)jucaI(tK0z z{oOrN!c_Xz;uCti{*3_LP3o0O$r0(AComdiL@ut)87r zpY7VcH@ENU&D%GkJBz08FB@?1?CF(wY;EuE#q*xVIqmjJX>z@8!19`dFO783+990U z`zqe72sFuu4(!Fwp3<*5kYwwJzxp@-W9yp>(`;Qu#xXr1WP1Q#{gMIN9a?p>(XnKE z73giz0C@U@P0bqzUrV8~;*nd`(|%}rFrS6Di1^+PO3hJB_ff~O%{zOV=@T1r{XrLK z2@Sx9Ob6cpGROJe4!U#?nGU(D9nO@Ahg~eFHV)I8PqF?MpV`o^(E;A6?2Z9s;E>Px z+uCOPy|fLseGXw?l%Mdz8ZHMHqs!doYyltzyeI6v2+KdFE(!Lkb6mAQJG3x8W4et6 z0($=iA)q>`a9?*~JN2F3TrUj=AKu-a*9|ER1 zVZREHcnWe(^ZO8RmH|ed7uidhJ)n;T9?WI`F)7nV@Oxeh*rWOPzyG}ene6GzASDBv z00I%Pj_bqVGlQLcKL;^naB^CI+y@X7loiLo+1!pP_y{>7SRp3>-kB1D?*nHu0MuN5 z_CSWWJ3e>8UMX}T1J}qG*Jgm4uLu1F%FXRTJEpW4-^cr$bus_td~ra)yw$uHVj1Oj zWttBJ8AK39c&(#v;g!y>xF+ieyry#>Py2k@kGVg;Pv?)Ne=flM$Bu=^^xtoiebkV= zEF&fRpKRa8z8M8x5}iJ~`HxMGWv3rYhRF0*1)jVX9mY~?k3&hma3s{vC1V}cTSAo9 zD&SqP=g#$HaP*Wn}_jKy&(Z|kt=w3DHpWbvdN!Qhu8)Lp&z+0Ts7aw98}EdQuw*s0 zG1}@KB8o;~9NTrJ*XtkxC-wGKOmd*4HtF9`=x*JtQI6l|6APsWGajl39Z_K6gf(we znKXuMu$oLVC`-|IWs)OWF@~5Qd=E~=0K+GJeXQD+0|q>$_V*k7&}RV^E$C8rd{8>A zb+r!f&N3B{Rl&7dkUBj*>jY9F%2N$zwS2N;l`MX=8K9iYgtGn~6~;%AcL)S zN?}loZBW6zY5mU|XWMY+&2IMKD29-*XQ!T&w!98%05Fgx0ESU=RGV1^gK(-1xaHbH zVVhd^iD_ns1Ywi!1@WmwY2)i$fUP{GZrI5Z%O1J1>7OYL!@)opeI#@%*WNcEj)TeF zHz4%>?tKGI-wSv3qJdT%2y3~RDTPCUr(P`Dym(4$nLlA1W3sWwbmRbT91WtKDG$?7 zlDe7t4eAY=jgOLs1*Q`{g(vdIbx46>k%3&3^pngJ2`9t_@=`jA>Y$b_*yiay+MvrD z76HHU*mByK31yRkay*^|xDy(OJ>A`H=(YizcMZVY+&6=1-y8n&ejJ1&`%MF>|Ms_k z5V?M~e@15wtQ~|>L&r6%;mzGGy=X@9X0xN~*}4JHr?lcnhdFwE>!*A6^4)NR_*==F zd5{@+y}o`&@0l}sIivmdgv#=S&Of=LpHq!z_F$}yrP>{=Go_;)0_7CpZ?wdA{@=**(v?zo3Dj_&WD~Yy&giB-Hw~ZFf$DDceO$g@+Aot6`Tiyh1ze~9j2VcjqtDTp$Atgc z)_Lp&*fYHemG;c(Z2fY|p8U%doire1J8aF9oPTQvQ|-5_20mZ4gPxCf1%6EbEt3Fk z%K+8#QyEjh@5kiD2_S0*wDbKr-)WkHmF#K!d0PY6(-xEz8N9?j86@w)g@@pI_PRx$ z2r$P$B!ihuyTRA-E82u>IC0QH2B&#$L;%8RyK+5qy|ZlcyakV2tPN8jn#3`&H;?_eegmC5S;m@bD2|T2~c@V=h4i|jQa3(0B;!p=Q@BJI(uNFAE#*w&}VS_ z7){6YdbEMd<3j*GIABh02B6`|on@EnJ_We(dCJY5Ws~*p*f{9c-0#ur+^5rfr}>wU z*oJycA5*Gie679x&l|P$B$#4PDNJ2~vlImg;zPp$FD<~a;Q%XYhb{-M;W!at&l}ak zb-Jah4r^rKYKpN@O}nu&t#^ROnw>fT=xqU!WQe)L|2*ePQ$)!3s1$P-xhRW+Mm5Q@ zn_0$6J@o{dsI(dx<^+CJqj%ep!zDpkU6ORdLA7>$ z)yY8SI|G^V8B$DL*`?H9kdot1S#2kMH97N07Fc`-JGyig(5DvX`rQQWCv=3r^B2%z zi10+9(V}VwmjbCtktooNv^0g`XZPa1tmMc8%3k9O&q&v>XvAhYn*yg%-)$Z-(c$}Iy2$?}hhbOw=?0_fX_0!zVj}7FqxvKi zZ3*vmh@kkmgJJ6Z!as~@CPEJ?k*{Arnc6G^mq{fs7|eMkj`T#Dre` z#1M*>=D?38v7EurIn+@!$r)_C#Q3%LllGH;aG z8`w!gYHbUi8L0Swtwy@1yXV_y|{tO)vLukbcUv+UUxo%aU2T{*W| z2iChLW9AKR0Q7YOcz5l!j=iB?t>IiE1J(cZ^*8kN>a59optH|TY283m@tm*9(amjR zs+j8rG)tg7_TFlhzgw^A>f(~-4PdywzLT>6_VB&ktkrX<9V~3wd%795tCq*6wejro zjLtuON{d~qGkaXNer8_f7ti0&x&hP;y`_Kp|NXD@+iH}vUW z{G4{oY25(c)xZ5$G&Upk&~!=qwCOv0)pLCh^Bv>sBwqadgh12Dci+CIbpvv*nlax{ z0Q$}U^8cZK`2YV0x@>^%O_S524VNL?n4f2C>-59b`_bmV10#ltqos%&ivF@0 zEw;XPQ>-eUum3gA9hAJUDYjxYD02j+?S0Pq9^!BuD=~I= z16~I`#0w5>to#dr@wtyWqd?zWdHSei?{n&s*g6ee%iRDc)xgHV0kga<~j!2X9>lTp5JsI(+fP z7s5%+>stnHxewrRodXhzXIJ|^b2LLvx%@06&|}~_FyM_nKXh@bd(*w#G0+)p zpMvUBj_H36AYJJ(J*FR*s_p?x2hPM(bbxx~$>$mXfN#SnK*T^{D^QE#_(3($z}2`E z2X6ZDF~O1WTOqTLaeGO4h_+*TxTF|P={_4|0nCE(u=3_%pH@Rgg%aK|)>O+hHof@b z`DVz+F_SbveGLN+M1eWsa~ZO;XUZS=5#}5FXDE~JtO5zn(R@n+zAgK1Io2NRWZGj_ z_6GJf0k;BnR{cFCdnL0^psf)^vCwn|t6u+J){c`wxVb~Ct8U6SvIan(+my?b^#Fpy z*HN{SIy4I`gTy4#3-6WU*K|O!WC|6|ClWO^EGdoOn*~irH$qxOdbFs7k!4u~zjA7! z4=x$`L@^Ig`aNy3tbLGA*L@~nE54UmlC9ofr#DkJl8~3bHx12zFM0X#8Nd2A!zKHZ5K#sktIZ6#+#qX51!{}~4DO^WrI;+?$`-S?C>}pfljm&en-ha(C|%!opg-;! zN@%r@jV@O0$CYX<7ThupNT}ZoLMZ?c8k^gxA(h9d&>qNJ^@??%qE-vq1@C9`e8KZG zI#NgidhzCTRDA@`>&zBI_CPIlCSZ;{TG>EO_NrYAki2Pt=RIv2h|I>!dbg2$#cP>2 z>BQcrbLnE)m~R^B%s^8E5qEp#Cm#0934EZlLPAS&dAg)ae$<=2@i-vPVisewDDW~G z5aaXMgN-z|SpogQ<_`t$?0`oOR{B6ga#sxyPRIS=GoyRD5V;34Cy3LHUTZ&`N#SAb zv#=d7flF842e1V2*~cixD*=Equ$>f0l!J%;D3loM)-Tr$0DgCS*TB4cxvoC&ekJA2 z=FA&Xd;RX7zH0#O9_ykKQ^6Qh)&+$-q5Up+f8$6esMw1pS=)n_RknaZ$SI9>GUT< z1BlCkmY1srJYUhXpFE+}`3Y@hj4?1w?k)E8@~YKsE0iaT2IOzHdjX-JoUg>NWLt8} zR5;Csy=%YSZML*v!20A=PWzWl)(oPv$25-*{@Wd@91sl6K>drq{7dNzcoyV&z}Is* ziyoD4IvM+&*M?nKYe}DLw=t}>pI^E>NDqJ2<6Z;c2?Y-UoR)1DXu|DKP5S|lC7+*N zGyqybXu)Cm@#@`H4m9qTcLKKX6B0}zw3or*EYoT2F248CF;>-Ug6hNi+BlLYHPv%K zbHkpgL@*U9`Cbaj8_Dxn%!|_X#W>ana>INQdrO;tB>&02pvGJS06{j-)#~DV5S=6J z+#vQ0c^^nPY&Zmmd;hc@Isol>x5I*+N0@^^X9cTC4n7WW5(@C?X9-?9t=!t?zAr#S)G z&vlv7qX2l$K^D=zX|TlnI&H%-y`O^7)9a62`@p6>l2^|2F+HXql@twxSx*T_DUPTV z2VoM1R17w={fx0Y`=4&qihroJB2Xa*BrMnz56Hj7o{v8zRs(~LsKXMhPN)Z}0{nrd zz(xr;n_sjR^JO-T49DR`~aRi^hhtn96A`B+eZZBgp^13fD z$nr!3P^l!(v$!iJV@x)wBhvs0ISxL-Qm+JslAO|glo}7om5?cwhsJDf6{hE@j-(FB z1(2L@l2@X}#3dg~SM!o4h;&j&xWB|?b42ie{%KHvQa0Dg^8SQj!`~btk<{P0_U@yagY;&OFR2x-Yzgfw|=$R}S)%cvDsv?0j z=ji)tb7A!bElb}G7uyAt8uR=x7+*8y34*ui0F*#$znJ=L?8dJjph+L#$rii6QnxTh z`Fh=6g4-R0i+RHl+ZoK`Xzk_&-*L-&kHHE2F`x^>?u8ca;e7J$&w1| zLIbj9S7$Ud0C*k3%;dxjH?i)2HWj_VO7mPFD`Pa(`^LyY!g#rhVQD z;Cgbh5CDJO>hkpRROoP+(&O%4`6KU{N3)UxvTU$lU*8MAHK+Ba$+%s!Y4^Nofcjtk ztH0Jqu(8R@`;ly*noiVlqz{20&~MQ46XC#Czt7i@muJv&zkwlm=oZgkFOv1h%AXm{ z(7XZv9E^-T={T^~`RSPiZp5S2Ja4ckJ>Q0)rJL4YzPV%+7 zXwBvQ=%m;++DDkbbUrzZ8XQ!faAE2bISgdLUulszfN5#@u-7vO9OQ$ZCr$6=>4-Mg z&fCGkv$GSW?|4j)=?4<8*Yo+pId3x;edhelpfsmrMm#{j{B#(u0f3p;)SU1c9<@9V zy?F6LC^%+LhcSO*BL-(t|QBaujhKbdGkh}bZd2Eo@`KZ@O`L1=t20mX@6$GJ0BM0 zc{b0x_{$#L$L_CeX;R|Ru|SZ)uaWkG#FTlETrE9coPFI z`pbos^FW6UC4rAbeJzFomL&mr)iK^HOuTkSEm3*DGfW$FUV(J-B8fZg_L}nuf%eJe z5D+j5!62eENCNaO6q*zR4)rSFJ@na!x{1e&PjVcoI-evIk#e1C$V0L$HF#Z3)?>{R zfOa6NF;;+MRlMnJ8VDIBnHDOY%=5%2{Yue8F*z3smiOp`@?db((9IfR?CTMk_@>b> ztCN|j`e{H-5wdD;QIwcwFsxK5YKO*>PZZvqfsTx_k1P$vDSYJd@}iGz8$z$a0GTpF zD3oXN8-SV|fQ1uyjz^!=4FEFj7Ef1rNOO1CT)=akK}X_&$ROmtfe+gTMC=++43FGh zyJlw85ezbIw5o@9u7CeS6bDjRqvO`mY*LF*X3XHZbn6(33yr z=G`+#w0Pz2XxYAAHDKeE!HouXoHgM2yj_3N0Lqj0el7s^;H+8fjV!o~EqpS@Z1IFw zxBB&BFJr1kWHKR}2UT_$D!8twu695c)bZdPszn!6S$Lt!Hg+IetFKUmP^i7n3*&*X z@fed~C_Jqg(+4d>0QYgPv>pBkr3G2z35JcgQ9a$a4Xon>0R}KP8>XbFCNJ_anvD`E zpJ^W2A;7B!Jpbm)Z|UOloPPGj7qs8)r9G?@tb=#!d)l;qKRr34Z(qNbLj?v9x9dG! zoSl<|E?O+*TIPp--wbLt;BM}2=;~}m=c^N1o-RoFubWP-nr<{8Yq2?}IqNioUJV$2 z-md+w-FN%@-x1w3;QPFRm7l$!*^?_eyuYQ}Z(h-oJ=Pj1ecP@Z-?hVwI?(p|R)SYP zTb)Z_%YBnU88o2M?P1%-PpjM2k{FU-{p3@+{Ngiqx2J#j`+uaXmUn&iidL_`Yx%vR z(?a60ygFOb<{&W1v~GF5yT=oz{|pc2*pL;QZfi37k0t28t}Q_ev|l@CRo>&yTN5<5f~_g2gg!>NQ8NT9DLRTCFGkA6tP*>8SEH9!5}#| zy7*Qt?FmQplXaZXW*odO#pgboLp*q`=>wUmuph-MpDB`>3{0Z#D39yUKqiBY zEF1pg`+xC^U-;bp+u#0H=pWFoOaXDMja*g+s}cC_7+?-AXHKXSe@4(j92BxAHh&MU zYOW`Pq20JK5F0U2cO=qreUrVrr*nD+bRoOx zb=arzf#_H5Ae;es=o$_`;PsvB$FGnffc$CRI3&TLbq1ax522@Of7A7Q3cP3V9=eD8 zbIR8rlijg2Eu;UQ!rpsKkLib!f;7GTZ(y03Sph8Yn=x&kfK_x*&=B^OymYyw3x@(T zt|nlt)9tRB34DE^_muXFr2`;Js$;FG4ynwXPo2y&y5URMinhsYQO(%rLJCZ#D+W$_ zM}}oha}VrWl#lzfGm;s^>9bu^fHx7jd8|CRju|DhncSKfG?rSWY=4&2o=Lamx~E@i zrEVUD?Sr~SU2DSI?Cx3;2wns4qQ1}IEgjeNedT*_O0X1ktOAqlF*|>a>UrDd-Wg^o z075o6B8f(SucmxcFWHhn4@w3Hd4+4w>zg|`arK3`i{A(NxQCq&D%*HbC}uu{C@x%6 z-V%ZsQ~Nv?p;x-l166=!)PI@vGZZ9g6FOH7)3N)#das1ihuu}8{)IZjG6rMq#E9zU zDpW5h<&g$-+#iY^O*?W3;R6p0lE|mH{7Wip@M_ntPPnEf4owW`taZ6=-jA+rM#C}f zbGfMRKj>x2()ICJ)1+iFKwlbgpYug^RFAD)zUfJ|7m*AuuNocTy&5x>zUM`%lvEj; zm9s9?Gze;-CLd2K#=BXS8e=d8P@dx=V6$#gl`i5i2?~}sp_*MG59Tl`FSzUPLA{stk&o8j@kfzCJY-qYs& z+jj4511;CQ>Rf8`|?bQ>Q1HHlfIpj(d!OINp7L2#};vz73 zi8*3Sz*P?rp9z-_V=ie=Ua< zJPonlmIids*g?MO*}Uo3>1s)*&z`h0E;Jw{du*{sH+yK$=CuBYe-ID;%QgmPOMWV$ z)vsN1+3uO2H>3J&C7j`h))q|a?3vF8C47Li+wVM}CmZGaJ=4DIY4!A+uG?qsk2MD* zWKf^WYv8y9OKktWx^6)IEk6~orK<*Z^FhwddP{HK-%#sC`nUh5|08|&#peyk-*kqg zdgac@SASb4$NDhf;4vdq4uPr#`=Ii`*z~!@Mhcz-sut)IYs`@K3L8ROQ`j3`4p_LJ zY>+d@=wj6lDo&`j1B7wjUS}Fyw4Jy#(DTsb-+-8Qur(9ood0^zfZMI|wkdDypWeZE zo(-{o^k5pt=XKM_2zZ4lXL&Y%<56`tk*iL)_ODS6JN{PG%{ z`$YS7^0<8^4?vB1qNI6>3+E>p_D%oR8-6sr&FwqZ$9uY8Z<;JO?Xcvo0nlsl^t)|i zY~1c7@Z(}$+5usq%aehgwlQ_NS_lvH*(pC&@Nq4>kLgdBc&-GU1gIY1ah$=o9JCK! zv^aFnlo8qcd7ARRs6N>HD~QOzGjlPs2k$WuvU8+KV-25ky>pz73;<5S)M-#YfW9mf z278&}f+<0m?t($yU;gr!;uX!;F}TYK)E4;59^{Y{J_8iZ^~rSrV9I$T;2*$M{^K|g zTrZXpKOw<@EdPNngzu4kWBU#D%oH6{PxWd1623QcH6vx-Z#Xca2ODT6oE5bzSN;oi0yeOtUjX<*6gkPHGr# z?$j^*@CGj-bkLI2)TNa3r8vo(PGEk0H_ubjO90%pzbuubxHQlb6R$-%n83(`FuNxq= zw|-YJ<%WTZ+Z$RlCt(B5{x|mi^huf|IrGHSJg$s9-@DGPs;+LJfdOU!&VaMBJ4;y( zxyxM&g?}+WQ23D|T#5_{%wPd527Od@9q*B6-0ntw^e|KN%(u}EP-MD9(yQW)$Ou2o z)YQz)ey0A|ir*1!I&5z_Av^J3Q6?T35Y6xz|8e>l4kiXkb3EQTPYeWAYU6Z171@nB zgJ|ePqwSc=zEimgm$C-$LRRdlbP9tib=)`^m6|F(Si{?SqhJFuS)2}1D3f}_s#U^U z8Lda9tcvGaTSl?2)|;J_o0nPYnkG6vejLx?v*Dr1Gu>Cep6f!FYElMxhe4wo*YX%W z0F!|z|0lKAd2n$X{_k$JrtcZ(;{2a{_>t(o9`hh{vr|cmectK7l8=XG>|w7F#(>|D zPrzb+`(8DqUp#v*3-Cdg`rGfnrSs)NqqQXsy-Z0a_JhgkLLy*yoIk*=fv+|1_%oz2 zc<_720D1rRtxRYj0{QgCIW5jE*dKThzvF>9v}!;8Kqf2T%X=OWcQ$b$12X<^$KZQ$ zd@PeZhs~OXOc(L5|55_R-1doK6^UV{y9y@zM-QXD5(`(0T)q zis;{mBOrk-7Ik;W@Ol1JpfhAp_FN{6R=Mun$YPl4RUKV1WQIftwmHK+ zw2U_^NZM?~mQO!^MW+lUPR}nWO}7$7J;-9EUjKCxB;RY}??Y&!cz<)v_}X#IIgR!W zQNp=;NwRtv>zCFiRL;KKFSFGXm1u#_Ab%6>2xFnuH05{wUOPhv%ownFRl-G%fv+8U ziLmYpDAsh#q*_17ga_I{+>a(D?b^m_`_ZYK5rvh#y_S~ye2i?abu`tRcNoA+uBqxq z*S6aiAawZb-^)3hj(8o6lr{tJT|3eL5C|9-wO4X&#gLZXK(^k{kqpt7cnCC)^evp>0l(z5$3<0FB7#AJ}d8ar-a0LDFd~ zCE(D|w+N&oly;3>uL}U29xWW@Jg|*{S#0+lS^}&>dIQoC*Z@MK7V-PG`1=?#k6&Xj zI0ovTH{S<&asZ8ekUvBfJ0d0Jz7{1wyUaCfYi908<9=ZYRb-(y`0%E75aWY`GT zN0c+R%galVq`;zx0MQ<;i*w;`KM%gcdGYS{ifM@DJ+`mgZwzid?f$pJ^0@fnL**YO zU821n+T3=?FXTs%Uq6TY&sch6FWULTdlwjtc^Ky_Mu7Xi<4Fr_W1kt9X)OPE{xMLF z-;FLk6nm1E&jxFRi5!ajsgj|{hCEGfD;XmMCgVHQs+Zb) zB&uV`6u@{2_0^MSV`Oc6te;reS=StwM%VHv;R4esmj$)s7&;oY^mVD2p!}*M7&mFK zOrpA0W$~dD3?7OpAgJycGsNwd-*44erMVtrcdv*vz{^*AkY?LZDsGIl8$yjlw z%A9#<*$m9A@Cq{aM%qc6J5TVE;y~5!YQrrCOhJOe3>}=aS}Qk>9bqaZeT+Me9Nr^t zYa!H`f>h4a*n;XRdQ>YGrO{0)TLqwS14^ZWHJUA@veZH84x;zpoV$^u`axcaN9L&KE#(u+u6T2B8ar9_ z$8fTyb&NI4^4K_jx(5h?8>x#Yw`Ir!QSi%w8n_-V?faI7Bx}U&5Oy-(_5)4ZUw6*h z;_21uh(B8;FJXLkOtFk+ES2WN8_*x(hCJv3UfS864O5yyW<#RoCQ=V_fE6BXG46!R zx$xa&Fg;m)wa21fpv_O%f3bXp#CI%@z!oJLm}Gkxqt(h(v|d z27kX~;09%mnE=hHMkOm*6FUrpJ)I%n16*|i{!}ZKsOoE}S5%;DQ80G%N?ol03MRYa zzg5B~d-E@H7XsgMC)ccx?dPTpbx`HE4UInZ5de zSbPpz!19u(kyZVpZBS+HgF)}h)K$MN_bI;@3`27cKv+qS)SYA% zP3tcv4Gz2;Bt~X3L6ypax^P##p!1D=Fp)kaPrLO!a`k1uuTCIDZi{>9Q)byF^89{p z19Pf3uoUjA<9>iUDG;@>S27B zo`@l?!-qM_4YhkB?F>q4&h>7NHhbh_kK5z+zHP~qhc3y0&HXnILRJ?w97;I z=P23Xa5n-;Y!Lzjjy`$vMEX>ahr&Kc7qpE5dm{vV2=a{qW^7l-fYG6%%XRq6^X>Z0 zkk~+)0H1w50GDULf`v$z%XN6#JPO>;%(dQ$KA#as2*J ze#gEU@B8sM-*^05dY}&>*P$Qi!0U1QFSzNTCHqQnO;l$VsFYnx?jIZf=L$3Z)UuW3 zK^%~h#}Ji$Q(;c^#PJjr4%2A79f=81ZVrrW%RolqG&P-Z4Y0QVreRKz2SxVeOoqze z4{f#Im-7RABsY8IPu{1dVwe2hI$zUiHW*#P`~IcxdM~Xte|0R}@+A4y2IkJ@Qea!L z%v1M1{!>fI^I6I!%zJbxjLTCf-@sks=f)Ld!lR9HYS>gg!rZz^kM1*dL->wP=}N=x zh9YVXjPTd}uKd=Oq!yD{jsu_!DWn>*ovAGlKfal{F$3h(?&O6Qw=(cbF)`E*aHvM- z)QVxL%+)@z1{MRGBbNc6<;@GO!91vMEVzr_aLE~R??knxb=+%zgB#nCHMS6ZJ6 z&4U5RVCiV_#Ow*CI>?O`s8l2?!(yY*z=#iZt)5(p#_(^f5vVFGA=)yefT9`7(V^22 z@}F`l_A7g%Q$iKQJDe+7qmYkMPMIh)0OeXaq-)e*k$YyU8BD1(2B{q5+R#L`2WWMK zDAeLoLaEeyYsB0+gVBFTn}Y?_SC((AgKDzAvT4V=J@TG5oOHtN(R+g}`0ro~O$i`^ zhA<*i87f2D7xvuSqwH%QEL^WNviXj|8KgC2k-+^<;A^sTVR5$&!-{@;$E0#sgIrB*Otp>A z*67qh0n$-jc0BO%beERK2hY9`q10E8c2!O9!=O>t&27r5%GZq*#DUTsH zgOKrHBU^rCpv3QQ-`x^4e4m^S^ycjqee~)Tf8WV(&?*LaPSb@fb~x!ZuUPaCz9ftA z+29NE98XS;H8LoX$b(?A1JTlWpjZ|z1gzw@`Nc6Ev#<4cd!9U*($SN1g2G78*P>z1 zb!0-j+qG)nLb`${N)UaW85AEQ;*?=;Vu(9o(A%-!N~ALK#J??gzuDHb$2kp*E$9MJ zZGI#&8M0_1qCD9@F?n;vpuA)MJvu+3*~yZjDZ^1b5g?A9*mnNYRI$QAuO>Lhg`dIv2A?su`zz_STcA{i- z7q5frtTz>bu>QMDPO^_$-9wq}0A|>g*;8nNr#IwL?Wr_+u;XDEOfqOF(Zf=2q`nPu z+QI9X{VS7IB?2ScI0mndhEe-jJIme3b~PJbKgKpI_s4J#91rYsCUPzJ+>TW4)%lPr za#&wG-=hfws%=|S&fZxb^%@m?WNGgu0-Aje(avufyj^lT52$p_lR9Yow+yC-?Vvi; z>=RoyO_wKh!gb?jG0-Vj*yBFQ{65lVr$H?TduCxChq4yY)`#$*1^}yX;(dT@>_P$T0?0t*T^|8M< zKIVOWgNHzL^|ANe!ydQC?V-(?OG-`mv@!zwR94vwpe>=_mvZC~$;SW5&f@G%k$`eu z9cQH`Xvn!oB8qarwNLi|2P*0J07+`baA9{!4ZCWGrj>`~_F70!SJ{+vwM+$n7^(_S z#z}OycLT#tx%5a!X|*&2o#~P;17mucL;M|z0CJH(X#hnkSxkvaP+|&4G=Gnp zkwn!+{7Jy3|J;n@?YkTztH}a&J>6(?%Xob3e%0l2v;omQu6Tbl9}FBYnSK17?t4$Q zSKt=YnD}~xe^)_VO^kbQa4IkS_q5BkQ0#_Sv)}xyE4HTs3Zucjz$>*6Fd;Z$)v~7h zl_8~u!jqphRGtF(%%~nw)LB$*nT_bG5!;SKHS~D%!YPBOk_NMOs`hYjZh=kYO-YG? zHG7t_@bjcv6I(Zkl`-buukDA~5tcqLhr&AzLb$qp_7;OiGtDWSt60V=nfXw0bgKYb zfyjKov*L}*{myVIlNxoRpzTn2Nd{jHc1R^u+8dJK*Vc%QOE6BtxId}O7$D5v&gG;x zgG?4ar|o`h!JFfYKe%D-JNMoCUJ@gVu>J5fpryQAz?5={=vBztS!OH}u9MKq+JUAv zvs$it<8YQr$tHyogM|G?AvPjo7(Q?BZV)fYpmLxa2Fh#x4zde3SC_Owcsh|aY$2&r^`I>zM(QHHNr5!}HD;AeS86geO6Ne=Cng^s$&d=%T^Jlc*LTh%- z@av9k{an($7f`LoBP|p5jm6oLCn2~TS35fJJ~M{k)5HLHKb1628Dq-zPUa$m(f80| zJmm?IUZevKocEs7F50xvzl6{4ds%!9HWLYma-Z!~lNjxA+N)Oe3X28qMKq>60teE$h4E_^*cHD4MYBa`J)T^^3@p)oY&p7lgQw^)qxi0M|94Rr02SMdwXq7 z$ROZ6rF!oi!u^y&-6`!x$WNE_5yiote32%_b<@T7hH^hHcQL7O#MpaHlS&otqC0l zqIU9}%C$YO*0Mx%P<{ZS)<~B2yQbcxdb@JD4WC?cu%X}Qrcdbk8J)dM-iNL)dG8^6 z)*7EB_x``eMpyUEypo}YYpQa;MPHTT)59c zu|rJ&UuZ?4fr>ry6=)4+Fl$2DDc!zCnqKZnB(upN#gZJrjF>Oh*XP$8bG z0CdK=9eVpBh9pb{aZV$XiJC6M$MoY)C9Pfj_VNcI*jGm6~*v}^{d~=&2{m2Vs zMm+i%FxYjmec?u26W59p4c_*6}f1&`=sD|{6$N%;n<+8wBc8Z{X8ki|7n8}wmly+{HC3=KH zzpEmnf+0$uj)-#MOSxfZ`njINzpK5?hc;&&mAS~1b5wz)yya%s+TTlK2<<^@asR+C z%|5CA(R{8W$_P!##;^6Hp%hC0+gX$DiN16Zl5MZw*d>>1c}n9Xf_LEKx@p<$k-bmb zRq$TXvh}l53cA*wC(ogsCyZHY-#+la!H@QG)xvGKaA{X{r<78#V9kTtJJ~s@Sin!7 zLs|PZrp0`zCRA;c>o_ZVSt3foN!@|mK{Exgn1aI^P;d}f2M}HW6>_@{aCMw;`2cBk z<{>xVk)0!Z#UgsJqf!!*MEC98m_{L#*aCU!I2s9*6Xmf@mril^Raf!9}a!A#LPIiuouvVDCs)LxtOZy+W~hZC1Ua`ENPZ ze3c3wj4dF5T=F9~`SG%-4N=Ws1mD$XQ(GX7|57-<<|S6rlxo3MYlXZOeCZ?1pf+1H#v=VPqHgCZIgtmG;V3c@ zS+WSgdJw3SYTfahR8pN)EY{WA0)77I{6Q9{+llI>RP)Ij5&ywf9=@vyDb>uHi?f9pNNfTxM@PS*Qy=h;v0t4bJ6Ucs7wR{t;1d+ z!MERiFOn-*yi6js@pviw*i`0KCU$S(^uw2@kib|_2ikSBrh&n7k3k;q1K+~}l*rd4 zak(5FOH(ji9?^nL1Wns~w-NhcaYO)a`1+P%?f{)?089-2l16x9f+b^dME3a|Ptstb zC9(fb_2xk|9g8($0tb%Yu7^^)P6}XU>faSW)R(R`6E(Yo^X()p7NHB+o8z|L5f!~{x*Xew3&>pH?=);AtMzGn!{ZT@y2`aqA{)(x| zxBc2Uj{|rBMtsK0A+Q5Yml5eL@W6GUzxwJcN&A;yekqG6#_Kt7jZxOoW}aUMq{x@c znK%@U(9{9GfA&QOJr6jCM>gYFMC&4w8&6gEf`oWEwDkoH9mL{T2i-Ua(&hj>Mhkn{ zzRyP--1;PfFLD{>Ng}}ZW7@H)o*(yO$e{qJqx`XtPYO6x_XQ8}JFeyTQ!nQTs{OOu zHp+Ln&$z!jn0FZ%FaP`Zl=eM>=7$z0j1bz>8tc|Wp!t2j`Su8)AGhCSGZv9bd~)bd z4K|iHU_=z-94N34JyGe%3e9ooLXKpzua{#DhyIg|F6V$`3dhM2G{1I7lf+Y8|A^exy)< zmLZA`*9=r*eW8;2dVE&~L<&&K7?E0p=?2$FpiA*sVndz^xJ)5G4l`nBFNHRsxK%l~ zTf1f{kDNMgiP{QF)Xd40qna57zoe%>HUc@ExO`6WAajbOPvfTh_8$Znq~^G2%i^Hn z^wrTCPaEY!OQlQRK-2+kY_jx!U!aIY`*M8VdO3G`YJ4ddOXgXTk*EH!j488_hOb!fQ5qZ-I%n{fCL00@W zQLMA6$ZJ4~W3iapzygvRb6H#vQK)$2UL)qs9>YMTu_Ceo5j8hk%`)ea>cmQ*BGkS!=R}P_DUT)gvz*WaV-Y1wCCV^}828NK~O&h_(cTW(X%xbbFxfZZA>o zhojxtx!mJ)tju`iFG&{ad+_q{yU&oAEh z^_#c!3=v}tU9kWn2JzSsnZ2|~CqxNjVas_&f(&`cU+0%s=j02B7bzMD(Gpqngsw7->OrxG>Ic7a|q z`#&UQ4u>84<3tuW%vfOU;+Qg|I9#JS+ki{-ws*AZVdFs}=CRP?hW`eDzu`1uAy4Qy zLlYYVNJRec`PveVPU?fuJBME(Es!!nncxWo>7K*y@{0cDPhQfCGp;XE9$6O;g*pPe z_bu&2WBufW2lx!(1z-<)kC0@B0cxhu^!j~fs1K-9x?CrDqyS<0TQ# zxDV!fugTWlxUb26eFZV{8`6o$WdXz4&IJh;&7(H%w&1bI ziX}yK1j#v{(`a!rt3*SWd$?W)^#pA{+5^bqAoBU{jv+L+^*7fH*`!YGDHSo3q4aA!ZQ|qn z%gu@>qcE|^ZQ;p!M@z19$5>Qzc$DFI+wqh-fhzStsUeyEON8_Oj;wEshaHXdQ> zzq?dJ)GhXXV>C3hjU56)mLp0b_<16P9_J&b(;=?!>wwuKgZFl?-rIt{9yRPQESQMs zV(1b(B>l-xenMk7A7S@6+86ose0v14%X>IzjeX2`F3+Fm!}XngAxOY%2iG_^05m2V zHntcr`hd6=(tvaM1cFZpz}^nTeZQ!W+>8gpXSZhr=MIG<)18C$8ujp59Ti?$CyO%-Kg^vE}=f|-whZ3XwV>-uhxgC4^{b#r*EixWc zJOrG7+ikc%z#Q(aYLL4dZ<0e^mFm$IB=N{!wK{Hb!yS z>FLz5U26EBM=_S*aZgqRr{Q`;qx&?aW}I7c;%!H+`=vx9cw2deWtQr|nVK|tu7lS! z`q??2xD;Xym>E3pjXDAq+qe~+y=mY^wVNK4DHeeHhK{*ISy1J1P4UQGzW8|_8>=QReiw@_I+6_TY*3+@&cX4+j-4AO>_>H%Tz$GEA{LOZxHuGN zFk`2Bog5Pv&sCD(GZwm&+D9Y%JfpFy61AY$9VLz1hOuqRO|UD+6_X?#kHr-|Q*oYP zXZhYDmTa&W!B5QU{o7{%s;QZPv+vE`@th$Yapt4uJ6n584`0z%4Go1>&Kc7iD^9E< z#b8jbdX^$|1$9Q=Fx1d@NDp_e8ZE%K4IBPot4T>dMVQ5|By-E(RW3SdAOX zZ8Qx}rJ>dPP^w1zfo(Flw+IcFxF|EdW(w&*TK41MM{gE`z~8dUFHDrP0gfchQNT4i zvHr*+qG5Rt==4H1;O^ZeZ5S*b?id#GKmwwy)1yS^OGG*MSbvH{oC;CYgFV&?tzJaJ z;e#wHrWJH9u(=b-jRkk07ju09vdz#T?*N@UU8D|?HPBclZ>Pwl5U9YLX=&=Bz+Z{_P1>6N7E z#iD+q6)-6>F=?VvLfw)Fq3|6nW{3gPW+DruZ8v<)>l@A^?8oV5;JZ9Mr!paf2)Ug; zqU-lE|!##pyzP99rIpt_Jjn9q(4XEc^)F>LX73-TH?5^}*W3`_XsR&r*?dkO=VX zUgqsfZtqgov<_vmWFVh(EpistlzX&U9VlzmnC$I741c!!iTf)ihTzMXH$rf8nQR06 zHw~&}6IH0M$;))mryEci)b`9u#sK3#eiv0bpf19jnP2_nzXtUqhZ;v9thWBBB=WQGUUrrD3;U{_>Y48W)h%HG<>0R$033(3B5g>619Th@(2Nb~LjC}90d+m9+#{kL20N6+ z@i-SgyS}tTa^F8jsXqiv{d~TU+hSZsl85^|YR7{6(MP{*~YoU;Ju(BJm#6n>cetZ}bg)9q%l|8ii1x@!}^93(5L^xGpp zD?F2^;26D5N9}mkZ8+k8DK&rlm1=;Z9$d~=%G)#|WCiuE;w2u@PHQu7RpGY1;3fRv=q1 z+?+l))^m~%;q+9=#(w3xs1N59d$59qifcIl3kgaDxF4c z990P046~EjwfQPhYvbBDcs@#nOKrpAN7PfKrtJMXU2FjCd`0THu~EHNg#7gp0n$b} zhXbiLC{0#FBTMy6R3{0jY50m=gIm`|C50cgoKur&{Wh3V+e_S4Ak7idMHE`+*oZl@ zP9ohwsuLWW5gHfP4`|B*o*_w~!1N%|o3H~kQF~il&O6)sNM2u^$Zld?=QkqVqyye# zak@i+x%j-}2qom>7-0#0{Z$_(HT^_=m5|8&R4VlYN@#sKWeA~R?>NW?NKUvEx; zeGrs_Mtw4!E12%^nBl@Y+%o}bkgg~ZLdhbtCx}#?B9RgS>79}?Sm@L)IXo;d^aj1M zijyL$4-uSLkd6k6B05NqNJ@H@9m#J-VZJml_2PooMJ8Po@@a)#;l6fTQdXO}kqIsNHBDI~~-?HG7SUhxANm(l+P;b&%OOV*gnz#h$YTbfFp6 zK^}ttUO~Quq1|k%n%BuDf?!ufmSdmSoc`JJlFgb!eCs>Mzp$7 zHtdJT%Oh*%G|CBS-fek8Xtkx&$)5hZKmSAeYd$lSJ659hp6N~QSQk>^>p|*cmnw+%dvUf7YxLXl*|f?#`>eXm z_1>g%I=!`3Q`twr>;#h@);?H0NtTvrXXoXP#DID_?4|DdeO2MJL0jvH%A$qIH1Kn0 zwxIIVKn2HDv8ja^^%mr7M<6z?6-6Kfc>Q{gs*P4QWvr4;PvedUGnSpZcSHQceeap&pz5&XDtuZq}OfZ za!A|#K({So+U~LTE zq9ld)ryTV8xuSFez#*;!0Eu^xhK4pYKqNMg;Em}Y*ZCN=?Ta1aH$(^n&U#cb&h;Pu z!+)S({Nfk#84=fz-EfJJ*RNlTEClw)c>qZPbpb8kw?#0DbK+R^7r zBl7ACLPia6_nGn2Yhyq6yvOL~u>{9>!Y0<4-?TM#HaEk{$L(?ZN4GMP$%P(J1A-bB zWf-6f<9{+>N7P8elEZ7$Cw8LN1}kJsvuHL5C`_Cd`+E{TtewP_*S zwZ=CLcb8ap#fYsj%B)KGw??C?#KbtW^1V5UU!bW_w*03Tw$H{yn4B$rrE=!Bq88`R z#hT%uZ0n)b+UX8gZkApcDU_BwRw(_VEpOK+iZ|QnCUIV)p0qf63NscZ9iy|PdVo8M zW}(eI0Ut?5)@PMlZj| zo7`}Qs`Kj|RL{RgH>>Od0BNy-`=~7zR&PjFme5Mgoq#;RKLIe(IoHJlhmOk%kZ9QQ zK6^S@*gy)$bqp641DzcuddjQ|atn(^(#T895lBSv)LeMVz=r{3Kjq)15{(HU38@W< za!wv~V)}bsDu3%@fn9L|z-b#AYTfj~kilmK%o@=Lt?V8P>sjLsC@5eV5zqYl8uASL z-XIJhv_eq8%DpX)w?ANE#+}#tt3rzxEVX*e{`BS;pWWu&P zS~3{p0qe;ika))fx;gq7n0YXOjIu%*NjYxzoOX+(2Q=VGflR9FO)`V55x04-3onX< zgXlGPGLeu(v%8l`9YEV|)=Bvy3R=K0BFW_u=)L&(Vb}|hMOtK0wxom64SWSr^?aT+ z1LL>1ui4LM;_DY@XLQXF9QH>^9U&@vxsV9&(PmL9r1VXRijK34GrPLjUbK5$bkC0iSoP~6-M-)>V6I=+ObkS*4e*TX`?0=ACEmw&bj@dn=Po-E z{nX3M!LyeO_QiGZ9wkr4?Gv8jQdK^2!-%a<5CS%syK$)9%%)`PIMx$ZMlzst_Y=$N8ytaZ<@^y1_g(#^EFy=JI@^)%|WGa8yAiZ*X=1M&1XqFj#DJn>9KMx9=&JIYB0z5GB7QT`{AVH2?8f=&30>W;#K)hUOz00keNIQ6mZdlNkY5)`j}6z?BWPSR3|w!a*ei>A zK~wtq)8|}X7j$`jBVYrI&WY}HHb@*g+2T`0n~dxRM(PIzK-PPOpkRl|e($%oILrBc z^2F{TgZh`WO@sO}w4x!GkvqS4b-IwHfM;*|2a9w_p@Ww!d3F!aItg=deRn)XLblkU z&ghYP#-!dAv-V%I-Fm97ekNbwHEK3%-_9gP#9n<_fKkq<)rQJ#vDl*8IEPML?GNMz zEcm`DdGuil=j&@*C^psTNtuB1`@dDz=^eCV*-ziR zyP?as*8;C3!cK+Pt=~uwfIJ^unKusl1iua-2O2D zhAlq5Gk%IA)~$H1=+pi?0G~(IMu~|ix8PDA4xwFc!oj2K702|a2L_kp?;SwnV=5|OX~u2^dU`vAfsO`m@HDSiF**K$0r?cn&K1^42jf}UrOxb=k%Bg~ADd2BP- z!XtliZI2B0^LxZ@%wtT0Lt}@t*c|A)*0oDuxF)topJVbGk>c1Fklq&obg2r5y$+UR z1a~Zh2;`%j2Y$n~0G=@^5T!^w>e&}e^z`8V>hdIh4TteA)qxj$1mF1v;Gl8RjVlyys`PgkyDUwHqvgu$g$o@7g7{ug*j?Nw6A zN6Cuyxw}TvtsamAsPk(|Uo6*vK{IVRFNJJ3!3^Pt0*LMJVh7=ix~un@DKLl1r2=mn zvBScMatr)RF(wL$C6l2Ys*OE;I$W*k^5Kvi7i2*^{mIL#W;NBzTAp&SN7&!}0>bLYrV^bMDmU->ObP#-1C!R=hb;ZVIPT|ByF|=gc*g zUP-9Jc$eWA-?vhLnw2l7XoAuRL_e=-&2HdoxS$8)gZO;^!sKAbP1JUP&92_y#1@ID zYG(%fWEy#XQ?^v{87*IuToYUlua(3snd-MXn?_Ake#}g57{>4_ReO17g4!skij9M> zrBK4bPC18M=X)7)-}k9M+f|>hPB!Wd9jZD#SkkIL#GF%Tlr@<-d0qM;ZOFo4a3+sI zvQ3;o+5yqMo;$y}`8$PoFH2b<#iSbGry`9YknO-ohC%8y)6)~c$$`GR?&&)Q9S8nA zg%;?P2ST$%%ju4enJ_FDiRMcMG=MP2M-%Q?>*MZ7)fUmu8-As^$Z#YIT6?8!v|>cAtlZ5>s40F;S59&cK_9wF9=Hn0u;VE4}3 zizE^SivBX`x&yYrkN6w!&&PcH(=X`%{6GCq^!aB$VS5tYu6urA@XdMV0n#6T`5FDq zU;ih%<3ZT$?1WBFmOLQah`sY{DrthG#x4K8;Bs3qRKB~rkwN4KPoL0>rx%o=mCSJY z_1o97Q03A5Nb3Wa-Hd&%6G;;v6i>vLFyXM5DEGa{3&1Y$!@Je3UTeOPsAC1uNwlQV z$e_$2Hvqs3+c>aOxr4oEDW5Km=#-%`CMMu_(Edi*A$l5iU+-3QeYawt?`WSPzrm1q zkFuT#aE9#5WUhlxfMM0LoJ!>Bkqj~q;#Y{MNBVB>HZmbHXIKtjzG7(nVHip~R{hzdfU~tt6Pciq&O6oU z0;zKjK$7;q^tNGbK)J{3IpsD0NS~5{XRk|C+f&rR4MI-M--#<_%jjzQ}E#q<&U=sqbq-T>_)rMlF;6UmEmjkK~chXsfoW zCwt4VJm~lYiSSlTvW=t^fywvm$q1@T+8W(+rJ}jW8U$#4#OjX ze%yZh4U>x}C#Q6KdsDuP<0))WPQl@xN0|B+fvKOvft-IH_xl~R0{#K+MlE8Go(1T{ zJ`SNB?zyaj>nNjsIb3znn%e$slPBN&J`ITtm!-hF!)(B3NN)ht<2yVlgWs_TA&$l5 zk;6-0u+V{}UoS?`Iy{aG+c~UtSnO%`1rHs{dj7@{%N_;ok>M^U;kI;u?6B3NhaIrG z-Zo$^UM`p6?;aHmDC-jdfX^;x;daEnxK@mUb|~&Izjg%k?muoL*c1`w=%cvgO4P}A zXbx!(L_gzq_Xocpdj60`yd&)n{G(4t5bsbM@5tXcntYtj=<5$HKp4mH4{h-{|J&2n ztT99P>tyur{!#exv<|$CL5$xk`R~- z<-nILcY3lEdev0&M^qVGY7DGnUy<9+sku(Q2Y2N6sOW3Zrh~n!+Z-Gj2%2uJKGr|h|E3`3H&btLQB*2Vb@&u2Z*|mEOj2f_&Cs6DI@oJ( zYS_9_Ar-f_la^l`kkaU8*`<4FD?l%e0DGzMHVE|;<}e!9Cb3l70{Tmu+6jZE5_%fU z@TD%4=TEFWbI41~TcWCSR1-vP4bTyHGnlq>)F&KLO?ygBrA)!+Dr}Eiy;iQHQ>x`t z?OJBY3OLBIg-A^cY%NbN^@sEpQ^`k}DUsE1hk`yfy=m%GLfY4ZV-M)A5I z_|pmirxX_Aqg103y>p+cy|o^a!rQ4V@TVPmnW&P;z@C=fo}L~J^yzs|7mG}voDKAM zlY!p6LlmP%jAn*j^XWkbiU8pAiAB@$OCq2l4AwBtPLRjCY9==Db}8PL=V8>mSHpWOfPTNoYpn181n6VXgco&662{x=n%`m#|JVJ zjf?12g^FYC<>rRq?q_x!4Eihl-qTvNl@9`Lb`pinIFP~X@p8`BpVI-0hzynVxNF*!3C-Ef23NjX?(3jJ8!+&2hV8uHi_7Rr@CR}Ed znHUR`7T7Rxu-$DWS{>c z4}<~h?`|1F!bW&(nC&6*J4N@+uHrXZZ>~elB$gKMI`j&@?cS3@8ns^KQupfZ zP1|BwAk*8VrXS*qgK7sYm3ljrTeI3OQCz$^4&q}vMop1MWIOPVb)M=ZCCMU^w$DNJ z>^B=-5Nx~SHgbcyamN6QCr>W#==Pc?G43|fwv|R^)DA{~_7H#|u}KyU@@t0AH#vZnLqaW}uty`JKN<7(CuT0yUi!YNKHN7~jt$R2@t@_;Zk}>laYj zSJT~FTN=0 zA79U*tHbuVFrR;xg^TSq2G(P{dE_@BtpjI&#VGb@M_j{oo?Q;Ze|I44P~X3cPlO<}5{1dV8viQCMt z?F%PjQX@iZ_bCUz@!Z(g%L4g@KScQKKtA^I$1pnj)VNMO1eJZi`UKF>jvC+kO+AiQK;F8R77w#b{EJ1{Hq z(drm>YJc1Nc!l%%@1EYS3lOsHzZHg_?gwmp|E+X11CJS}20wKvEST-*^*(3{@YlQU z*-hA$K6M>`7c*GjU+q(qkxCjpz>%8Nv|OudY^P?ts@J^V?!+^>IcoZApaq3~zm5&` zs=n4_VV&+OX5Sh>7Wf}g;D2M)&U-cPNGYX&IIprJxoyJpEp{GyDfs`ru;%ElK{b>!l!o}f6wq3Q^!6k2dd zYW%zTvMI1cROWlyEY!4>>vU}<%mY$m^%3xmNuXFMg9*kRAgd%4I-=PIP0bCJsMW+N zHg282fJ>^sIo^{6l2S5=S8e5ufIDhDKBgd#8WM_SmF$6mOm%jQa!FzdU@imXkdJtk zTufFpe7yX;kZKjEjY07VJ7mllsHG&QWO@+!4$uVLi%F z*`vq#ePPtuN+nUvOl2wnJl`wu-}fzRgrP?8W$VmmZ^0#xeOBoUS&Xo^PNN+jJCI$F zxlkF4K_V@uh{B!V5q`vO9z$&%soY)dbXd-~*jPv^5e{oNc9#aW_3_lJ&Ty}xcK z(4$jnUj7~R!~g{%1N(X>LiA{trWVOKu^R=I8*zCc-pWln4rT|k8)RE*zPhDv->&KP+dGM#63GpQkg8{Gi|+L%NmFjz)`ob~7CQGt^dMmI4!TFK_}|+# z1MeLMrwpVQ8)WwDQz&IU0_9e9{2$M&2^CpHLm7m)T+T!%wM?SGq|2H| zDaT+cXVo}%837sCdELw^KYf~!SMSIdd5AXfk`_XVuOh-{>Gpft}pBLie6qE)1Uq1 zQ~Ka+A?Y4ec-j`CgAH%#?KRQ)%TMY2>_RlzCzG8>(%jr^=!8M`>3OoK?130fhz(AT z7)H;R^z_MvEcSTI*SfMOE&znVBF=mPL4^V{s*%fN9ogDk$HBYTtz=Qjde0n8r(7f2 zQ@E$1o?;(+2(l2T|prqw7 zT0_Ansmj_DA%Z|tI9NnAsnmzv+OSY!gbdbdY8$6FY>Hqvwl_3t&&w@POl#sfgUYqY zex8~^K{6)ApkFTSl7J$Oetvs>L$7(Fdit=R146W;kZ*8Fj@Tdb*LZ&8Q{IOb;@;XH=c(ay1Mj3<2_ zI?j%!M*#h}{mz?r_N+T*UlKKOZ?&^nz-jq8jmH1RKyudjrK~hW4>i_pdZ~#V6}AvM zT(|VmQp3}zvW^g-U7~R9*s}g1QN@qBAsTkxuw(emFO$OeHHx~cEJt>*$D@rCnZ}w^W+l4*F%v`1OyW}t5f-&lGn1)NsPS@*L*917(c z%rK1!(wPA>wHuPUk~DfCF`9(r3pEx;FBPHMAyh1?gPZVs$Pxv+hQdw735ty=49HSo zep-%H3&)G6O}Re4(3DNB5UC7_!v6Ip<~%w&sUMh&HOerrsjRgSQwT1$B2R7pwP0&G zXx?*kOjM{&!NkqvK$CN`S{g0H=m(m8i{0d8!BOq+bgx2&Ml#p3Ea24AGEf^470X%D zA0APt7Oe0(k1Bf8xDbs7+`&h}U%|xX`ZYbeM;Cl5N8h75pdQ4pyKH}_03K2)jjVbZ zHnETds0~IRDUfB`NA4}jW<9AkekJqCa+uTo!u>tp1ZSW#Yzyc~b9|RO#u6l{O#`x}T za}XE}4~6sr_MCEKEWTJoLW6wTv$(+LJ78_b_Q zO1U?%BKvW=wwoQ@-fbB|Z|U`$EBgN3E!{F)Aw(zU5V=eaoNGjj&?9)wJ$WL(A7pHEi-6=&}To zPhY*H51yUTzxcx+)Bp4T{g(`fcXV-jMhhNX`D4kb*N9SvZnG?|bD|3nL8b!0c>3lo z{q&13c#h*B5t=AV*i9uWh&HP`KJP{%P`f;l1qcDq5kbA@v_SIW>gJO3c3{wU1!-}W z2w9$p_A;W+aa}wz3x8ZLj|yM}fM&;|G-E)`a6B)#Ol1Or2aP>Ww4qL-l$H`@f5!lP z&6NVO8+QlDk!)!?>*(2&bIIe?I&UKde>E;*hoI6Kh=i2%hjmj|M) z_m@|6I?ME<=O^?G3tNh4x5y{U(+4iF3poGw-M94N-6cJJ{*vvu;E4sc=|0i+kVGbB zwH-L04E}qPx;yL#^9P3fGadLIGbFhdH>V3`o7$VivSvx>_&zHRRS?cfJ9^ZF}BX9)z z)&LL|edq&;I+4_-Ap#%;2x><;pWPO1vbEeU2Tbzpwz7cbipvzzKzH0G!SCN*-_rLC zpugw(w&oXPZ$!&F>r*ljmV4fP;_V>-(EtmXU>WEJb@cIZ?8ohQ+@3snD(~-uWAVMT zLnBZ+-efC_a7|-uu1AdDvA;*ON*^J}JotXtqU=K4JS{GBF@(Mx z;4bbTSa>i>SpaByopjh47ZXG}TvB6v9fy}=J7SBHCZ3M5EgT%jh5e$uNz^DFM^eY~ zc}P+sLe+TP_i~ERf&I8Bg@G~yc>dL|ekJ*F`0o+t4)_rvjY-=G zd)-g4ACB_{2VGa(VQ{oBe#1n?haY|@pK)!6<(@`d57z?Z$G%acycsJ7J3IuY$A15i zFG}!2kdGPv7LTjf80fLZf82i8&Am!ujHN%-DLxr;<$NBFs$ot#{tql6l`&+6Mdr0~ zTHmqo5%L4AKb3sf2PRScsnpz#5q%tvGk6p(IR{EkLG+qk3g|XPkXdx_g zcBQ7QyHv;PIpj?xIILiOfYWroX+-lW+Q~AO>Pg8!NY3^|XrOyB)VtnLJmdA;(Lu`= zI}^DxS#@(PKbKqA3ndhD0b1eA(GYo*vy!PaN=_zd@2Jrs^zR_4-Jk$YHv7loBzfhB{QL7NRsTkV4GOs-R_d&6b$F~ zqFm~cJO-a@lvo;-bMgMNh?!1?l$54+Dj}Yvx`F!kSmUO&_?F&kuiW?!QT6|(PIzN3 zZ&n(epDgjmCqZyX%8up@rdo=Iq z$?{+emUXldD2hu!YuCIETDZ9r-@~|I0CXK(0ch2lyN_-XD>t(wb&04}sH2OCF;Lp6?8Tk|3l`SeFce+iZ0WG(!B5`V0%m$WXC zIx2ugBD7Poj)B$xp)RC0j{NWryFAoykf=Nw)M;-h>JU`-Af2I}*m|zIm}Iuucb^2qHT&KN+SV$U`v}#+fa&APB5sgL z;ruTcJ|96kg`wwUJ|UGt;k+Vx2%47{r}X0Em-Hup@<;UF|JVPP{@Z``XY`{d&mj>` z-@Lu0Jp$_XICj1@x$%lO}02YCk$j5TYAYho&(`V0U%jrUkzTpXzbB5sS?V5oqrvXt_48x&? z?6yI~@_L);j0by@*+TT7kCqcz1n~Iyj3-fcQlF-0C#nyfVE;}unpf<9JLrMmtweA7 z<*R2B`3;#7$iUpJS0ev``mkIuTxIZ_x0ujTIKc>-77W2H6|}I(_nrj-R{`opG8D0^#Q?PQ%TfmOR-pn=)`; zXs1gSP2@Z*lGej6X~g+*aU_w{FP^=SNN)g3y!MD}>ksArp0aiKyCgt)Xn?cUr~_<9 z8tp7kY7EvPA8N-q`6EDRve3>U0i3h9`f+d1i2ZiGZVc%l(aFnY6BzCYFb%=3Ie1~`J2dN5t#&zO3 z{X7nCUB&{i5dhSore8BYh2?4Sb}B|#$B5vV{)eJkAChE<$BjWPAZT1%FoN?4fgfr! z#!%n;EO8;gn1;AGAhtM}=lP8=H^OH>m&4{LyAdP6BYehZK!4aC_dbu>_A&3wF?`16QP|iY(a+Gn#<^T7#P@^E@f-HVc^`^^j-O*W)If%z zsV~u2$1plBNEx^B69tifIJ;LFY=~NS>@=J4hs^C)d z(=~)9Rr}=ncf+#$dNql%DK5wbo;Re$7(@NOj-%~PTl%l%8eMFs#vncBn@0RE;I5cz zOLR$3q(RBapS6*#Zf)6QEbsRf8`Eo<=6g1(V}nrM#$$47ZAqc;UYHG8UnIo>h`tt> zosI9N4UCH^ASzB2jTH-Mh`P`eJ5JG!LL~?um)y(Y+=o$IApWYEoi~LzNEB zT`Gw+Lb=vrO;^{JO-x@d`N>V=<)_FL8u4K7d%iW=bhlh;ai(~o;G`wbev8tuZx4*F z6Cq1h97)4G7dDPtWPKgXgC}2T0CF;xyz#|T&Q5|Z- zFUJ7{GZ-8gpbdvC*O*Lth9iJEJBjG+44(rS&&Hgf@_Yqs~v@e#xRBRV-n?f_p?(SM%ObiuyFps_#Wa_8?ZUOlJJKL3RN?2rD4 z{^F1SnEuUAenKBSf6D#+gjo2zTO`Sxpi_w_F+@862k zVxr?I1K2$s;s~r<0itsOBw5OBFp ze4sc}y>Tr52aWCH@qRvm~NBsBo^-5s%)y);{NSg=f z;VQw^`I^Oi$xwbuuU@>QQ!b-9Ukg#<$B0gs2<(lN6W||gf`u_-$7wz0f#ZSg zzvJJbr;G&(0RYilVNkj4uSMPh(a=}~5^yr@wOo*Hl(9-6bP{d7xnYp~;(|VVc|p%l z7ZSOiy%D#Lq~2RQX(O)Krr*E*md-x>2~GA{Cw%yOE-Jd)K=+p+30KMm!}#SK6HD+j z)jr-He4)xDiz8<7mCU|5rDF!;7!V`k{7wM-tt=Y3->Md>0ORbDR?;$;UYbvs?EA3r zm(^dtZ}f-W76Kh~5lFxh(`A=O-z+j%Caw@oh-2}{w&>TZ^iX|-+uAwOzD*P12fs2o z4jqPA+=I1`I$<+3Pdb%*y?qwb_qq1V2A=@qTU`g!W-=qq-Fqsp-aDGpFz3L zI3FjoBZd(SHPTG|oP7_W?f6gHcL}NX&an-u%2K7ZA3-Jkb}z@*y+V9Q5JBoiqn=kH zxpB?DiOBX__Alsv51cN{j11Nv)5)z0mCC&+*k!B@>OenRXISiv@B8kDc-wv4{tIuI z1Va?`_4QTrRK*xvMtJIx#@NQdYz(a9yZ`3$3V?bZ;XKx9_U|H?_UpRb2F~Zv&=Kl- zJprh8aEog>M2?I7IS9ph0XT7gL{xVCeGG=jFgXHfoF^`Z7{TK>U-55G!#KZDBf3tu zTYG1+Br!kOBHWFO0*=cw<|RID(Y7@;I@{rW1mCfI9k}~7{ag;A?@gfDF#!LFK*r*O zE|1|6<_?5WHm`Y-JA!!Z=MmC~e0KQ^kC=Ab`~F^zQCAw$8@PU4;1I|8_xSA5*s(05 z54>*zCvI_aX8goUv|+S+JSO^0`JEoO$L)9DVsl*wIgLZw_+Nh=2Je%#;MmR(IZ1Lt z!akl;XVFMGoIYEhv0O5TD@OETeonQW%?+HfgU0NI0$)nTY&vS6qILck;78l=DX}CxI~bG;?J=7IT=ZKD6gK+D4dRXuE{35CvaoOhz$;K8GJ;ari;_vkT|J zHjKv;=gwFhn1~|b&$(7U z&7ThLI$N+SHH8-{4AlWlDJt^|b+%d=E(Z0P~x zHx1;x$A=WOa9lGd79NHD zgM%bH&yX$tzN?<**VD#>OoAgAfGEd0mMz>pS?iw5MN0yL!IEVor*S%e|2Ml&;xY3< zqkd(9s7Y-{ydA(c$Rq7`WO9=v)gl#b)k)*U?oR+s(+NNj(dErRm*KA>Lm56m4gqPHGnm_AKq3nQ@?ZfWk?>)_)@j8; zGDrvxT|tmP;zXnx^SwM$KbTaG?4&Pmk&1;)4G0lTYc-zx*-%%P+s6FFyR3 zUY$RcNa-x_3yU2w$l3w&4|KbRwzW!)TrG*(6+?tS z`RPyT|Mi#uU%Fv<3F!w+4nU$}HeE2()J4&z)1^c)-|aRElR2>fxR4E*F_?z#G13p{ zEAl6thqIG&x_o;nGA*Ykr;=|#KGYS!;w7K|!xyh8@$X10G`S(~FyWIU@_KqU72RW8 z|BU}W<8$D8Pk3O5$$=xz|2cm@7r6=s!>3D$;NI~IkTmZ*T1gc6TFSGV0ibVXpm_^G zE3h$3zI(aS#1Y!hgGfd6eC;WHbTOy1CFeh3pKN*W zbXE#yP1WO&k2i1L(kBdxHvrjK4b(bV_#2BP9#AI_Nups}7hxkg-|8lpgfNv3YHU{=;L^BlwDzF0^CSns!w~MP z`Wi~)v-XB{KyOb#V3ATx-fS>ArV-@O-p@x|X2YHh4SAO%_3>2WRtAr1wgsl8@p3Kg z6x$)UsU}DC?(tN>LE9U^XOtB*(cdyKdB?A-cUQDsZ6%_;KJk$n2s3UM-}jy0XX@Z8 zJ`#Wb*vIX0`^PrGxaT|(xZ7>-LD`3(SzLVXA%BbA!|1mWqB(%}#oru;I;4yMe5~Od z^@Bai*)^kme@{EE0Vyg(*P>qlKp7#UgIte>#y$=+9e{eD!_)VWl!n_R+9d+lF>Ln8 z*a(Hki&;nc5qt&!b@(2y6#=VG=+_8k-zVD7(-T2+EIa=$9v{mv`bA8u`%)|i&u?7( zFXj<18S@Yy4kJ+c~Qg)+tdm|(ywYF^`B8R4@p!sum- zzpHrHl$@-7se2JY|k-B_U~djJyeI{HR3s9S?GTBxIJ$Fv@PpX z&DymZ?uW_BNM3(e>ht=z@O*@d4F(Qk5b zi;oMuCWZ01A8&yIDHZ-x`jn}%zS1wJR2T|nCwOp>6U=G%*J~DY4z(=_R0~SQT@#? zqVTyBy6%f~rUE%rW2_uf*>)tXAX0Q)3S6}wKc2Y|8wfwDD_#;&7<}2^cEaF_;Yy9E z!oT4$SX- z=C#es$xIOi^S#`fHlKohD3$Y3C;|6?AzZWO$AG0>x%Jb!+^2KC?3BE7A(T<;5GsHq zKi8$AQY;%Q%+xr}4`|C8-6vo6JUjjp@WcCrpPA3mAJpsj( z?s!Qro?g&L&tK5TpZ%DD^QZLVC(q~^50sYkg-i;_T~|&5om~dI>>C@lCv;u6kes;P z(6`@w#lZ75-M;=cU0r@Jk{Zx?mcb|CG1NIddorgF?$&g{z!g!@i1-9VeR6(Iw+zL$ zG63g+^?XLx3^R`yJ}-`zqKSRX02s?5E|~>V0jn zr$My7_r{}bp_G)$BCUH_1QpYmS|89Ek-is|lPWT@MY$B>68XYmjOcDuPPJbxa=i_M=rK|Vb%%>X;Mk|;4Uef%En>es^N>5ltH*c>Bw z{W!mFl-Y>KjDdap9)ANmLwWvb3v~hCEcv6gTBaHGj^{x(L3SG}Zl@BJ+JhiV9LHr|Kw{cm?+u zxB3%PevC=&`IYk6j`d2Bk$8FL940IL$W)Ig#|58Bjjao2FPBOb?tdxOU~&qqp)d#$ zB1{cTBR6bn0b&Y9rWAmWUpyE0lcUCMbqda0G^fq_sV&1&c%^XK>Q_K_1+l3Nj!H!% z9cv~pkl=WYbA-V~j`>V=Hoz&MSKbut`{{zDsixMx>s;ku0C+R*Pu{2${!gh3BF&YshZBy9Lt)j zkA+S{iSyK1m03uqfE1as>X! zbbfnUaR2xO@*MoWoI3!qMZX5ENwRPmB54r`1I;_gKS*Pp zB-$4`&>gd~8LoNYj`nUt{SF$ohy>Ay>jZ7+d6vj}K=lrBj%i}jBB}VFN_`LICOF}8 z?)imB*);<8h@LSZ-7?i)~x~d24w;}4K87E!zqK*XHSmkXPJ;(I==mmwwG@hmR_oyL{g|%B5JdO$CINu{qawJO#ky={Vx)s z41H+Gk=)#_r_-54 z@XA7eH#anAi2U@~6X|du%KXXfi1Um=9U_&t^zOUY^pppO@JIN?sYEE9ayoA41s{j9 zIOc)kg42s)m~q;AMDWklzk$>GUZbZE@j}JJmvLD zo({l*f-45`qUp|Q%Y2Q~lZ8ZHBkch6$nz~j3CLU=^Tg1XFD~c;QYoEkbW_l7_vrVb zx9DD71CO@rJ6hjfi6l*D9W~*}NIlm@u9l)hy$Af=pkd{gAoqen^TiyI(HHdm`Bom8M^yaP^*dP*61v&AH$d74Pb`Rzy+`g_{qF1* zHH5o>EH>IlO;QSg(?G98+S|L{o(*bOAgXmU8(hxPdv<9Loy<%2gjdqvQV#tF>#Gde zZbbUrns+p{+Pmgx+u^TmFNqWe;5jB+puv23vyyZ7=X+@fWD!WV^MWVll9A@3iEW(@ ze`3xfttC3T(+KI_BA6vkTI_q^GG_R^TeB~&+3)V;x^EdkU$c*HZ#MEIN^YK(didTr zhIC^&1gG}3Z|*nr5a~{j+vE1TZ)X=50_f16i7?nBP2Felw`(k8b0`_%okyJdZ|>J) z01c?;z;diZ?8iq~8$o7_NXE;fn4@%s{|+z-Na<0|0GR-c4weC@9Z>smt_h9FtSfF~ zJ@OWjuzp?#)E|BH5q-kC z_&MX>QR7)BAbW~%blf+KW$NW0VRVG)<8pK$jD29&ufF<`xYaPv7du*oHK&@hwKnPN8R*T)-m4? zo$DbG{l3qg1uZD``1lF^8r+w?Pndly zOJ!UZ&ES3A%GX9Vu)Jh)5Zf9f!e)Bl92NYwfw$EFM4bN_iTglJFA-;X$#1$8GDX%<+aSjWH53Xcey-yXYLb>xQ^>K{_3sK>-FP0s z8uHd8Dwq7!{51t3rD>1h2Rl@7J+euP`5omU7|!_NJ?D3lsBMT?E96ap4>kAiDkLWmJK5buN#- z^m8^dN-2#JS{pfs(7Ak_N@0{L?`2MHnMJW@Z`^7cs8(?=#0k?>qopK%13;<}6`FF##7725yKFoi70A7@lC@fhcM~ zU|FHCmr5(q&(;b_lyjd2Ty=o3(CstnjERU8@IaHc2zjA|0VSe~dEefkl?)z`UWTav zZUY0z#k|UJ3<%FWbacemIF`unp59?0E{5M(qG3!f!=RG7L>-upH4wcWR6C`nLm|*N z4>l>-71WwC#Zu)@vMtV&L=;bp1exBvO)JaAiEM^RtbcenKB-CL3TI9(poo6C0$$RKsG7Qi}Z(0j`M@a)w~(I>vX zy`*yY`3J#bFgvu97~j^Xc)2YDA~7`XE_ zkLDtSk=UuQP@;6T0Cf4-!;T>WR6}^7@jtA_QwBa%b zw1*ygZ*3XUG#uK;>ZLsraXg(&^Y$**KW+D{zhnK6tgEx?eU@y|O}`iB0LDN$zY3G3 zPGeu#aZ+kt=?vOQv~{&K`tcO+|MI;?YsU_Cd@rDj6nbNlY0Hxnx2ugzslSCjQR!BAy7H)l^te54zuR^sPr}Rv#QHXdxef=hIRpcsi{RNI zZ`3S~fZCxa`bG}+B9x4q{}y4mN0s{D*Z>oej=1O@HixKykATj|8{`%s^?=VVuK~b` zzdaHb=L7J>F@79gxTZ(f;vL67d-hCTaq+qckkbSG;qlnU_lx?<4y5DxqO?ey9Ej1f zzTn{)jK;LY*S&Gpy)n%F_js;Y7JlqQQNiQ#bodMK{P%zV_hn&0C24<3 zdoihYS=#nQ&R$bhal`}drRBnskqcK!Asrzv-qkEWIJ(fhJL9Q9TSx0u&Q+rKTBA_t zNtZsEb%o#0K~iNlZQ!Pk_w6Hj*|@EwzMI5lX@X+^nJCzd8pbC3RPpGVR<~2G^s)rU z5oWGtoHEZkp4*VRr|J+yYi@eDGCgNY{r37h1`0c+!$|MxPEPa)SxU(=mkO+?UQq{Rhe~hLs0Qg z{WE|e3;$7CTw&d)BZJVrhOVCngsx;WZl z&rq<_MRU|=l0Z_0CMsdz)pf@EEhck1<+QA(3|ttD9~Ox&PG$^TAkDCsb`^H)#6AGH zaYlF`Uyx9)C$_XG&_N?s`XTBBS`@V?RcPd}Lc}D18Ig%N4S?g+K=e!oA{Kqb-_037 zAI%qZyjX~=!<20bITNv$J;pEPG~|+w3`h@Y0!j)r)4a-%B&+}Y+99-@uRY;&pEGd% zlEL#&zW9=!KmUNgUXW_anv{ptia{b}lT=AW^sW)*yjshIp6f5e)pl!!&pZIWyS-wV zwi1{q(N{>*pfFYlwng3^44%*Uw=X|@#e+86z$CbhPGy*@1I)ex#4A_B>$# zpTi<|Qm4TI*cQ-Q=AkV;d-9ao>YgqyuOxaIAo`49?vCN!<=Z!O@%%Y0PR^t}ZWww? z`SE#9&z2$y0~mdFdQ2z$_v`Pzmk9dXn;U`K7=S{$0CfOh{o?F|ZV_#LaV8TPdj`l@ zL~+X?_1!fevp5o{{N0;(BDryNgh;5R$Y2O~MFcS0l(QnA7wp@RtAXSP%62-_0qVDJ zz86^*s4x8J!!!E)_z`q7TT$t{EExAfJwU(4Wq^L8&j4Ji}Ac}#i;*p~5zKK&s6 z*eL+=i5%p3q7S@KkKOxvuN(%ybs!xROWR%+^;AbxSS$;5O4Pw1_br`>lGM~&Q$JW= z%lZM{MWL#DU;7`m16(KidMUF`p6bvS{>B3kKner<5f&l6_zv`HQn-3@xJK>)u-T5oq7fh4QDEnThIS8us)^6RiYX!~K4XVPm; z*>2UD;w0M`20a8h>Tm6RKbuZo8tUZvIH%tSyMqp`;@+OOq6(;+zW0B{V5ESm6KH^2S%TakDGdhjgv$u|48K ze`EXkx!woD$51oE|1k)S(AMrX$~jU(9o8u3`SGyLcK@4u(N{L8--ZD)Mv`FHJQ z*X@q*8Mbzyx~|J7bBms$)eqzYK{Xi`@SyQ5+_lx5B|mr(e55GA7xm^WjQX_ zX!EhXeBvgSN0f4T2yj0H_I3PC^w``#ZvT|cIUZ52*Z}exBC`?DLV;8P))_x2Os9Y@ zVH0&}uT(h@6(Aw!EOfW_eag_2+^HRyMmSy2kEJM&d6{q75mC7im8jd40xk)CF8?Q0 zmRPG|Hm>D##Q2|p&AMN<^QV{w3U&`%u9(B2bE<%}^n-^So}jM$OwThkyr}$6m8qrs z-N=&0TK1LiXwFiT?#2d%xMgzCTQlU>4a_gX!EkMC;Xp>c|dr3<b#NH>srjzwFZX3{M6CRDaY1|RmqMk8=OA5yehAL&$CmV`HvPc}Wq?{8F_lMw zOJz%%H)rNvep(mq4+ynUsF^M{NWO3Ny^x9GaKL#6(x$?rSr@A(E-=`7d&c(p{M zWQDq9kH!zB!O}-ih#v48`|Op_=Z+DbJD+3*xJjZg^C1b)Iw0bef!P$`c{|9$cvv{D zo3qbAc4LZY*SP>QFKdD1CZBM?ISzQtpT9eF0*es+JU!?Q4E2imy#0=0@)WWToSume zwziP-SU?APFYuFOATia?qW9XX@A5hHI=ui{=`a&X-b7Nwps(h=`hV{A@pI9F9#ZIR z)QO8ebgW&kRy*n{<1t|Xzg$iQFw4L~9>Y|yji^*a)WSx9)obGK38k{YnN|~g-wRxXjxQiy1^|a##PWomJbOW(eDo=O{NYFR z;^}i;bg!EmEVRf{yEo~=YNV06gTD5?4i=$%tV!ww2(K~tWuSQb?ozaV5!pRhyL#B~ zcy6J$#WD{f`+>Z|xKp;*i}Mrun1MJT^?H90--e&v^5A=pf!Ja$(aeaBzc@LjnGMcX z*S7)%an8O!Wzt{f`$9A&>|xL&v-KDiw~dC3D>ciL_pPu zuJ-=m(h~|~5xER~Ye?U$7B#c;)`vV*PYhwY|;>z^svQ1;j1FcGpK}?N@du6%i6U@UdZY@ z+6zsiIC*JPUB<{efpQFP`7aByp131Ry z8?=R8D;XNYczyHDHzo4b^Wk}Q`4QKVc75O|@8Ri*QV>s`JSlncbmEwQEDAcl#!=!C zWO`a7Fpf5k=ZyCAG2TOvbbQQ1>GRDav&R5CUT6G7Tl{T&PS^%z^~+!WQX-)J+&)nO z*$vn;0$-O>ahVOg$AuqD|IxIleIZ0IU!2eP_sI~X8Rx<^P|oh3NSkX*yRI}ghtTh{ zlV3mDEy8|>%rR;_ejnTOSXTbM?^DL^=?68$dfa}mHiKTxFyH=2Bidsu@8R*k4fNeN zN&Ge!kU^0`1ujsSN(~BihEq^a_I_tFzSpE(kEa-@*XB;%J$>)vf58-P13zERR3G$C zh31SfNwr4`=F}j?T=cBHzgihtqS#eSWz0FsK$pt-C@{m?XHE?_jI1w37A2YJEZDT# zA_Y7YFY9)#j58EzNN@3!P@a{0>7IIQ*V-Voah=%8&glh~Qt2~$x{A*cHDk1zmlVOC zjXxrkPK9!{`P5#%yZtm4OEFB-(7Oj%!Mi32g&U-0qI~pBj@s<%5Jcnx*qLf3b3rMT z+LV{<#B)^9@I;Mogbo2w3(6ad6c4MOnB(GinVJgV=kt0I1>AEyjUSlfclJvfC#LwcLUiHN=(UC*CsKVvg2-iHdXY?z0N>YjqaiXSyi@ujA z{9b#X61j~3Q>s_46*^IAY&}Z4G_|3DOEp73u+EWyB`mH-TK)ogHPla_STA>@t}GxX zok-GbR$y8?oC0G#%-PJ2$J`NB3br;!1IZw3+b4cyS!^x??&bp>Ehcoj?C5x!ir-BI zT6gl2$RdVM0DarTl&)9&nPKE%&DYv9$OKTrf`nj%3@hf6wn5|ouHpO)n|p?x9R_je ztaInwK`kPQrE^S@F#$SdWqQEqLocu!I=g^~Xz#F4BD8mVYj6rE!oXo_?TdWw#0CP2 zx(cJEQ!nx-Szl&LwONu#*Rzv_NojC?5V0tOTeS-$O#sc17Xawa?1k&4iOQY;;Lic^ z0cz213E=ZcuW&QRyH9C5XybGBsYl!6KN`4lET7pB=8xN3DEe)zF6E33+?ULrhv!S3~sM^Km>V>B?iU)E$w$3 zhO8@^9nbYC764}0(;t)OJU=}@rhoafpV0B?3H>ks`4^miL^W^NhPskFK<4VOp>u|} z(5yXS$h*bB9D`>J$dE3+CZH`Q9k4jz@zDvb0oL|g>i4}|^YZeRA+Ro0iQ{4aCl?o@ zwTyS<6J;*g6q?Ke%Mmr(%i@RFAMz*wsiMoxAFl7Nw4LYIErY#|)3)RR;pOW$bcYD1 ztaS?Zgbc^=(UQ}DN{oW}@3lrzZPsj?1x*;P<2nKuaDBF`XmxJx=%*jOpwAf6&nI4| zdwr@WDd?5;C@ER`2l1IcYeY2CJmsF#n$L3wnG&|sFzr<;Lo}85s^NXmrx*}z3~;^V zw0?idgWZk?&}lD^)FF_4&bB;RvX9SY`a`ZS?Z}|f*0~Jwbpq-Dk?@pkorNS?(pvjS z>hjqsqJ7Wk<5wTk&wl(9`s(#J^tZqGIsM(we?kBGAHJf?H#a@dU$UF}S1pH0&sgLP1S z%5{wm?_tXXFHi14?~`ZV@P5h@9p`M*+nbd{qhH^wdD3A^rwawrSU7TmsQB5`(w(%u z9%5%(r;f7t2HA{wmI(bV!{BKqMNKx2#b7u!P`#MokVCte<9 z8g-h-&@Dzf$7^F>hl$u1a2cQ&!1*8k;UDBPHea~Tr9c2W5e4nvdHN#6!?_(!mI)+- zpMD;Xng*-{qy&7%dyFC;!@}PLcYTX+Jx=n)=wd%-lsFmZWqeHs)baROJ`sA3|9+?} z$LW7)@?gBbAL9}5h$zNn001<~E9Tqb@xuBko)(ljfH3S0AnbbEo(7ME$NnzI;dzN= z7tC-@t18Vgc-TCllh^cd=o?KuX~5i-ZLL|aAP@DN;XBA_XZ z(;m0S?RVX@lV%+_?uqnRTyRL`=_=!41%ws2nRWahx+MyA1L*4f5`|PG;~uGMD^%`L zX~(Et4147OS;w$Br5J_lU^LaVg+~P*#u70?wuA#x2~ee~v`|u+YM)v7N&%hLFH4cs z_%#Ag95JZD>|55J^TX_e2T$fgfoQ~Z$jC)5$KAWj}0`0 z1?g22KXC8pn!JoGAJhp9A0_7=BfyD~h8`b^$wCYT=njySlD1(I}qTJM$C`P#w)3vj9F%4^c_WxbqYJ%!7$CcoQa13i-fTXdObUR- zHrONl?&32g<#Wh1}JdVC$P`YCjzE7%?jL2Gm7>OE| z1@ai+k^(a<4%a0I#$pI@sNHriz!?B_%YYIxB3RfiJG4s5t8m-;)ktL6K|1AZ zBf#r{bWk@OG#VVfHM7B{EV{^piDP?w{zM{mrvkC3qK9j6p5gM;^lU|Axby2PgcdLz zqLB~TwJ8+@lb3ZO1A01BjHuS0q4VtcoX(#-qZcneq)$Hnlm{j+=#)Y9(fn8Rx7a>{y=XE+PGy40iTRTKZ$X#0EAa(rT5tC&(HfpC7-~bRq_;)m__gNa7YtgFuIsC7 zS-5bJf%`$Cdl6ARn_(sTg@9Il1Uic^qP_q!@5QJ1o$E=uyQ3+WJ3u&G>+Dnq{D^Gb zY!T5s$b<+Yq_OxLWDz7%f6#lMfNj3kHRpA+*$Hs|*_R*EPdf0`(MSzvqJAaJeq~iA6_h} zZdY6J>28PpCNi;dNC%lzTF%tBNfr{+2mwTF!{=2dhy7+YF?*T+lDE^@o+6sa1QVV@ zes+YY=u`Ui!;k3C{^*bC>u+DvFTVMXzW)9VefRcVSuk(FLQe;c_MT+ZZnyK+j;-3G zJP9(?h+t_O9ZU~Z%aj6O?K-U#rB79WNGffnG^K-HMWSGAF+)90eZUud(SFFF0|2Z0 zkl8urNxYLKL+H&BogOb}eRU8`<{JhcC$Pto+obJ8G{(`Mcmv&KUl3AyjdDG;u7YVY z00nJl_?f_G2HRKHEB3Dy-7$d1(*Px6&|%b2`$M&J?Sqlr+=t@d?VzPjWRLgt`xLdO zdfXnj-+DVeIi<7nCqAx8K5ez7h`$QflN9H;{N0U*Xj`o`Ca=XLPx@)#bG z3y=xWj7Vq5YW(fr{;m9teO<%ZL8M1B$MnU;>SAQ7-dolMc6+^x5PB!~m;*h3{#>G< zqtu4ORJTdYpTo(qWX2c_`+J1XZcAJj*Z1h`2r|dz;x>)8j9@#Kjql_3i0ANaY(LLW z)S-@(YQC@A4rPKUbiikn8S(;uz&60jz}COOI;X~f^y0HLGyd9=BoJHq9-7-qDK?;q3jkY0AI6Jzi{_NT|~ar>ui z#u$?Sk!*Fn0+*$$qJULRlhseBFesxp`;YPFDfKM<%*8goK4;D z--qm0!&b2c5Bds_otiu(hfn2m_CyEY^Gm54gurCybeY0a?9^^{nrY{cXL~0-QG?53 zVGhBW{E^K9apSp58Y?lhQ-_RsId~*&d#)6ID-K};7s~OP)$vNj@=|QhRnJL5tHvE# zuTvvi)t=e%9r99(!W$Dau2odCd@7a9^B$ZxDRj{!SpIVgc^#EisVKpK%>-8}_AN;b zl|dnX8fT&8>0ZaD*fcrfq*|gWRLwBK(3-u8Y_Ha-=N?~=+&(EDOHJh}6{%?k?Ca3z zHMXO0B5E6jQYPW|n5G(a9&QY&-7DI^WIJ0EQ8Vw&O(pbv@*Er|l_{d871z@CmFjYQ z3c-`)t5W@NHh~wWfvop5m79RZvP(bI4x!%gyex9k#j%nUnSaK93ab@vS;Vx-0qa6n z3S4hD16^)Z8e`J+bTS(lY@&mW7a4fujx(nN507pc)V{mR^v&CzzI%P3yA_`s#~xIp zbaBLkpy5Cl46@Gg=wjlIKOg^Y#~|<~(YwB*n<3Fg+KQ<}J$Ha!76~}TqK6Dsj}~*0 z8jy(Lq`I_{Z?qLM5b7mL7YiY752{Bk3-pOBhdvSyh<$W4mFP|^Iw!ik0)i(3a3+(3 z*c%}7fB_aFGCLngO$9CkTm#@O5e378g5?n+WE8-`rlJXL5yZ*9!`2y0$N4+c(dtdh zR`8ZfiVQ=IyykQ4P(A>L4C;^1p3=(?KBCWm^ke$?gHL%7^nyXHuA(mW72?zaoF{Ta zmQseE@1P)1+X}7OGAK$Kajl@Azn%J{zzU!t>wpE+);uF|!vpKP^-A&w7!2nDOx-e2 zK4P03vmFL|%-^M`dKsju)-N&8T(Z4C;6d``?OI^-k_ULZ!@dk+VIP%~IPf6vT+(pZ zZRzCngyxGQaq1OA-n-2$+gziLG9L@b4Cw}F9cPAc2@7C$s&BoyzNOxxo%RfqVF&0) z11Ot?+*fd z0j_a83LO3*6D!s{?&L9Qy=yKQK7MdA)o+Qd7k}>L$p-Jl9E_XFJyJ5RT6z32LkNBySk#U-oBwV#ZQJ$dg}7dF-MBC3M}eOe<) z8?&7ORxyA+<~HMG!IO1c_MbJ^r#psIGrBwK1X81Y+S_87cnU%LV!d^)Rm-~M2kks0 zbFknb*Ac+y8%TSsRNmtn(a$_dv)yj&2^j-1021D(%~9Uqe&q8wnyzlvAF&Qs0ZrCT zFkzNaU*K_j+T;iIE?hjVZc0(SdDTL@tX1c zuHWm6%;CNToo7TdBeEG%Pk_+B_{A?oPuO8CqE#K%`4b5avOU5%YA$=UtVhW@K#Z`^ zyTCXfHUMY`qVY8;fd~~|Bc8}+elMB)Q4?*WK$j25ZFx)ooi}uBXLRt5)qLs2=WOlw)236MdD%Z2`ovl<*r0Ev;UdQ>PUCMQ%d`PU%HQ|vzb=5A( znU!9@P%b|Ybq$}QCg}m_*UOBq=y`0v&na3c*K1Nl@ODfJkUCsI^GOfp+4+{|DMfT8 zCrgcN3E8=n$F%v#<&15bghw^LVYbX64YBQ|c0xnOj(L1k1KVPTsL7zM3sw>mB_cF| zG&17-AG`v@Y&L_fk`mh|JI9MwQXopfz&SnOEa3{ddA!Dc%hh0^St#(>lb&;cmLW-D zucECiZ*~C}_tu37z2dt~6H#hi&nvM&wPF)0d3O8cww_muxgmXrQ4u@X^-38HRv&4j zl5cOAa;^1LBb;lC_P$u$Qu&+myFVE8R>7wN>aw4q5sd|!s=s(*L#j&Sn^P>qTn4EQ zlS-p!$NBF9qDd!TI%|yLY?~R(ZYrr7KU9|5IEV;ny%5EOtMl=`*&dBZW|!DIQXABs zmTOYH$LhbIo900mi|S2N8I9o}I;)G);7QpIR&%7B?NRtH%1T(2%OsIUN&|+?h^4ggeJqBW;yy&o97AyPKe z^=+oj?SVQbScqC=Zp8qVKQlXg&S2$aq6>im1f6X6G`nF?cgHZA&vy%bTGVAkOCq|G zp$#B3G;&32k6$y3LYB5bU>pgwo7jYdKxaV6q58E%8h2Tuc9#sF&yN>$#;^?#TB5&= z!tZtrp|?AY#DQGFek}l1q)q@G@mT#-S9+f@3|=rmn=>q5F0ktTOe35T`9d1CDt?T| zXtkFh4Vyq|Z|_hp9b^%9@>?(Z*`@=Da)X2hL(S>&lFpw!ryvpi!>4d7+%Qo1MI_7y`cj z?mL-ym@@3#-rX|fU-1BxouJ>-)3Xy=PIUn|kuT`=#*3Tx)CQS=!DlBtm}2<*$pjlky%E-QfRY>ROss`r-RHDo$a&`W3ypFd%k ztr0^2cYx-1SeObhzSl)CR}AFfC(tH7y_nPMH{Wv_-tc)&7!oce&AZ)RG;}fegM7yA z?TtuCAiBKgdNAd|J)*#&0S@iz3<-~3BkfKH+y#AT*>Qu+m|-G_y>*cRPfT=$sE z@yW%3Vf0J-lP^9K4ef8QuIcUN75%Tj{5Ad0fBm=gt6%(@hU*ngu}G@jxNzTrP4+oi zq_DT2-t-^HCwOd?R;ee0w|!|6T3x?obedL+boN_|fMz&Tr)446v&RaO^#z6@+$WK~ z42Z#P&s_DNPZ+8_VP9CWufM(8%S6b{>W;3LhzrY5E&OZ^bNlu^7+M! z7t%lRv_?C)y|6hv_v`xR=Z#P^rq4gig1rGgkHNX;E4Cw^rwE7T^@=|F=p*qPmu|uNaDG5+w~a?J zyRFCm=XP-E7aW7vSOUg<+!w3#-vPkkTX7QMAsapf^J5)(2#}BA^tdkhu{k@TdIZpq z+dpG7mP9R>(cc^d31H}wMdwI|tR4Rc-?s0pZ&UWj4vYdj5V9S3Si@QZgL1CZ1WMBA zo z{FO?Nno@ayiVGN2S>t|a#<^%p{*$~g@Ql#|$Sx ztY*Kun1Qk4Jhj+mFinojlfsG|=crPXx6~vq)qIq+q=+YLUh6opwpmmQwd*{6Z3S|N zjn&yJdu$`U0(pZY6@DlXH9&Z|S~14BEZm@_42!YGB~%O?%1={R8X>R5Da^3BuciT zW|RdqtPhaO=JfL5@pMUN=g;UF1LseF^f`U>>O*?|>=^@09`MYM3ouvtjwxw0EUu@E zxItQ@hkQs@-|1{sy*jAQ_l&Swc4;BtR(_DOCA95C$dl=BH|Gt zesz0AcMO(Kk58n`5Gj6ocE)x-qX8P%>y1cwsALUEU6TL{JpRluw3i8tnM9f*Pj|O# zvC}&S=*a1w%klbGzm$n0EbIrN8;Ks~a{<6F7gKtE&H$Q0_|Af7&yVNy#mh7L;=?Br zL9S)UzQo7PCO+WS&Shs&4k$}Vhr}@-$`6ZRLRtor6$hR;*{p8pm|^&Ic`oNX^jpqT zU)o}sDol9noF@-XXEG`CmZ9bI^Amxjm}nWe>{o1?&0#A*{hT2=s_NNXrFRyv6=y~w z<$H~IMmGG6{mkG6j~xA&dM4iB7r8iX_O=aDAQkh)RT1#VLLH!H4uG zKmL;bw}1Ml^j8dY{=?t=C;IB|eonXF@#Mty9bb>znKW3RqSFOCF(6Mq`QM2=MZC`r z!%+XuwF68HGaoCOWoTEPSTX&j8R^ICFKk zQSI>51{B11A85EO#=4+m5aJ%^oqnSGph=^xGd*sP+dp^10=mZxR8T9COoCgac z0-F1I0ij)%#m^HVy&o6b^l0bkTVs1YWW!khe3L%j4{&_-xcwe&HXey+PB&d~OgvAJ zlT!m_RXIS723R@CaG{8kD#uor0M54w5U8u$9BF5U*v1PRW4L>QGPRS zSlA0yt`wP7?UGizNFO=tSk8%0>D6XOM%ItbE}20Mf2-+B#b$bV8&mARcbx;9RBe+g zFN+e|X=H&M0AS^R%B!52rC^i7i0owJpjl5@<$r5Up;a5{qudu>!7)-MN{NGqWyDh70ezby&*p-{HEvg#8D~p z)HqBoW$EXuGio)*CBMNT{aOlE0i1?X0ZP&4P$DUsrEL-#{|)IafSTI+>nXE~5am#o zp|AxynJ-Zeei+l@eS&RJ)ceDx=IYmMWYq+PRY`VDFeqhcQ<`FYr>LUDdu4xt1@V>FHXWyQmKanL#jnLNHpb) zbP>ck1{qnSF3I2sBBkL6=$;G6oaka?Glt{~hL$G`Yp}oP2ZiL{2b0f>}M68TvpW&5nr@-h!Vsm#4-n-is5YP&RuPf^vt zhGYjKX@?{c>CmdhVt;_K(B;Geb&Dk){p3OD&0BhYJfjOP=X18HFLD-rQ9+lst%z1d zB>IbsQ~K%WAJLPGC-n8}xAg1pUdy6^X*!io%GK31P1znFBC41nGNe9^8AzWnynFr4 zw{m{$Ihme{->ndN^zC;tApyA#EKUiJoH58;t?uai@4wMVrWO2{&$T?3bba^z_jI~E z5eW+(`ZN4vU&5eouY>C~ze7d^Y1`!}{aGCN%#%i;s)o$k%PkdpE2zE@^Kzf7I zw`4zrw8zQuQljM%&Hs+!eP-Kz@!?bYgO6S?l-5XFOnM+Pc`DlHQ+XH9$+-l5cs+OR zcYUr-7X*bg%noVat!WEgZjVZ1KRFBvQV*EmkhFr&g%H{Rh%V+do{oxn%x4-pEm1?-0F!FIBEsrKhwN<->B zPu%PQvbG9?FmZFWUeWd4itbixfzt|@Qv-pYh!6S?@nT|+xKxk|Z;@!Vu**kdl2zf+2yY6@d^u9lSgHL(nwEsS~DfaWU z;ancIK29&%b;!HmT$n7uxsd*N&5Mf*@k@u?4xz{O;C;4vDDpqr{-L_$$H}<5o6zI- zxc##>ylugY&;!7SRrA&LKmIs*I}T%d2I|O(seEW&%w}10?f^X{3^l6w={>Jf4OT4Wdl> zUS4(ow%g{+vDhLUStEF_wKekpnZg;k)aKuhuhQkYrbAjQIrPEn8d zish@2m~$|9$fJLoH9yT_f#n3@So`N*LzLs*)Y!D%EPX&3e{3DBG-kn*J>34@ zm?_1O_}0;KxNdPwqS9E^MkW+b_Pmb@-qIC;cHG7dMq}SnWa)wQ*L1tUP^k!{kK=l6 z&9M=RwYo8QE@JKFXY>8eDtd+DRuAxd>h3kh-kjKeDSR1M^Q7$F;Hx`jeZVAz>skIi z6g!oh#1C{3tZ>7?6TnSxHcP3@7}kzqr<%VaQP3Ga$;CGP;ENDCJkiJ1x6onkdWNI= zC^xQw$i=fI34q*f4g!q&+$o3#-1J%4PC-Z-Y8k`gh*F*~nY!Rk@w4Tep3Dz)#;+y7 z6bLe3egjz!%5q%*-(!ZcYedaLdLvIwTematnq-kUL_PzwVG%$?F&{IiIpx8@$!x)$ z{-wwa9B}P4l|=||Fwp7Rn}tXPU=cq=t6;&escB9#&ddO=duUD{7_tr;G0pH$7Fk3@ z3cuFOw{O=P*#g)r(3kT8fQiKqr~JD_tWK&VfOORPwSi_Ubo&^1VgbQ(9$240eMT>y zJf{mDI4)1l82kfNBFbu^(U5)}q3@mOReOC=c?~UdlsAAYWE1ec=s*MJi_So&Ff*B- zl(sh8B!xB$h<-VwULLa;uq+R&#`_~Hc5Pc2U&2|FN{rWow#0*DYA>xQ3B;eYH z!5VxFn#U7cL~^s&2&9i+ywGS*l=DQ(2?IDC^zX%10_maCydN0;AM?QOm@*%K%kYl2 zU5%*X^dir=z%2s@M3mzp-|yeOmGmJR8hM=yG*4nj*bmy!cbra*y4Qs@0kAJu8}@e$ z4hQ=Dqvs4%&v_yx7r)ejx<~Md0ZY3&9z@#RN?Cwz^|}Y-eRgz z?Wo7_J)Hl*kosT?f-s}zdL|2L*n=Ar^*#gY0I={5OlD1NvCbq~(%Sw^Y|;i7J;ub* zY)LQApU}@f{}KJ`KmB9+Pk;aS^mqLF&wu}OTJfX>WIb#eP5vG1p5=8xG~EYZq)N-$ z`yvu&BadTggPU^f$>?|TKtrk#(quKsJIyj#=%o`n9PmXrNN_-ChSBGn9o?>0 zGWm6Rhs7N6REIvHfdyhGd-%Yd?EvW%wL7XZCKn)wgBN5xHqfEv^IREx-U=`p|6<#+Y z7>>|6>MJ(^14IRK#z^A`%KZiK{Q2jf3m|>JEmH&NJxbTpjm;O&^ZZA+?0LujevIeW z;ds1O1pRS=N8jEDkYkxO6Iua+#)#|~2_E&KqitPw1Cs(+9pM)I0!d~|-`{3$Z0aLV#Aj4yHkaw)ax%kjKsoJ>@p z>OIv{-zQTm>l#wv)F>J1A)--0WNy=MiHtqK^s1!kSldO(6&H}m7%8o?w zCqE`;S`6Xg`hHp0k!~y=93^==s0FePqe>CCj{;CUUFZnl@0icP2+Kk4bUqK@`Y2sj zBQ6JX-~vhGNvuTuvL5}K{5&bx)}7oe9B0Sfzq+tEV!cj`wr%ZB6dfj2hYhyOB~A97 z*{&(lP#IIG82+8YdoP1r9X{2%;nz*0bfwf*<_aNlDf^g)>a(ri>I`FO)DlrUUz5YX ztz|r215p`Zr;xvK#qzSxIW*)x>s4El;t`r$^;SF@lT)qaa6t1-TbLl(3c0x$!%MAc zNbM#?Bm4ajHkXbmQ6>hGljX@ZJ*5+vG<|8e zh~(2nCz23&@E(#H+XLheCI;|0Et70F6s;E%letK926xaTWQf8{lHsgMW#D&>Ak5{l zb<`s)3b^b$2GlA7jrF|&5b>D5JjMusGgS!=oZ|?OMlz^5Ww?FHo&B@r5q~$A=)&zz zf$b$EIc#Ax08WV#M%3V-U>+sS-DJ9!RU45`EL?bWb|O*cx7Ro9 z59|xmGrC&e(dmGQwy8v0L-+W0yOwlpFhRis!PBHZv4=DR78u0f86n_Y#<#0GTCG<) z@iFUcLQ*FhGUw-Zbt{p+1N1wwz$T}2$%E0G+ZD~`bBPweWzYA)rniAkrN^3CKO?Nsy^&G6PT!$QPIK zY<471O$?>%)qen_haU1PJ=f91V3!kjyAxj-%&&R=MWc2xu*U=xpZ>1P5*a_`f0k2{ zNNDkKMC!6hH&_gGFAWp_u6KpmWGMGVm!px1tb;+@LC+7u51Vx2!@bC;$T0x0CgZZ? zV?UZ7(aVdc^oKl&@%117jQ-cJzNVjl{cHM$Co_aBqg18?(Wq651P+Wz^ID!L$}x3whoK>c7Ml0RrWPfoH- znw;(SvS{UQf6MI(PpI6WPR!-$3|VXz#|fNQ|G;QMU>QiKw|PyAf_M{R%5w;Ve8kK5z+|Bnq%k(^&Vp*OF;FQ6_0 zzK5bSeR~K*`)5Ezm)~%(HU^|B?WIw{kUxN|2HpVxq5F&%B54s34agXyPaTX#nCF1m zBcL6QJ_J}jt*&hx>#ax3dXz2}!~6K-k0rhD+v5H>zspSc-<~FixDIfm!>9iL4J%X2ebuzhI|F2Qczy_9{O-}wt|cAw7WJZ`VeL`*_zphc zn$U<)_c9!V|L9}Qm_F1WkJQH&0l6Pjbjhc4dfXnjfA&_uUN)7B&WM6D9HW`OFd;C8 zjsNqIBg<9VV~Bwa9#Z!6q)HOYrIS5*XM7|F22!ADZUPMbxN@yjnN(=nEC;m@nJS8D z!JB{KK**q9>U_e=cMS(tU|0H}L=}ePb4Rt`=4sSKr-u79ZE&uDIeB^#HD)uUR_x?y zOlEG3HM+upY<)0GD>>7l7QpHFu-Y(%yhLf?Y<+dNt;HG^^LY@d6((_I328}kJ`$vI@)hQgDI)J3E zu27jvL3_qhF{E2CGBc}?X4G(FcgH7cfg@GCOsQ4`*{=&a#8iF177Eo83l?|7Qf@=z zQ-G3`+W|}|e0vN*ukSXihhZB++KY2~rJ@j;?)EI#>&#y5yijrO6lW?jxim+d-N+>! z@i%G)Y!z_V3zU5m-7Bv|aiB)#A2m;@3niBz*rBo-G#b+d`l@YOgjLt1EYqu3}0w{$A2q8_;Ghvm7?`*}tP5?2($)kzLZ!FQ_?$Guf z#76;m)3B%RVC^3sO=m(q+j7UB0rM#Xzllh0D0BhHL8P+8Gfq;8Xod6ujX-k02BMd- z2pvGp2}7L)_5+CHyWCwr5fHA@6*}vf4W=TZcg=%~=}IG%*N}ENsH^}qefz;5)5qdz zgG5y;T%Slj1wii^TrpuAM0z06jv?xdf!9=Ysue&_=X@*{EIe7#)8{Yf(=UEZfBe%w zq)$Kmn4X?LXXtpOk1mSOcUEP>!Um}`xAvQt0yF?e0nO4bYvB*p=w*9#Qav=Xv+ERW z_d@rq&2nj$tiMkn-5}BLI<+L))L9qg1ANv;L^)4bi1KPn3qEFxYcZ(4I6W5oLpnef z<+BMBfK*uwu;?>pn`qOhepyTnV2y45$;+qolm|~2Cuj8k`Rl*4MHoAget`ZmB8~wf z0dkLd(qYTL&qNlYr*{mgQMO3ann4_`AS1F935#xrh^I@5a39$35NV1?ddQy~ACW-z zx0l~A6kgH=UmtqoSRnCcvyzC?iznxtrA(>;iBaZedvTq4ied&#K&gnm5Xf_#4QW^&Ok4pE$P{lXY{krzF=S7(f8Na^z-k( zrGH>B^vzelro)<{P|5;%X9wtvv!CPXgrTzuz6!>@ldWapGF^WAiG2dH?^M3R+u1Tz zFz9`(^l43hP#*8*FOQD0)ZraN;`MeflPSCXmhRY}=ypw)^E;6pnVEbES3RkFvf!vD zLfR!vplq>dCckbGEyryV;PZ~p34Wmk+!Zw>@Qzj&!c($`?!eVLv4ZE6Z^R>qn*d;9G6%8TmvX7w2u+FaY00f z`}mCX0t92S0A+{I$P3Pg{P<)9`~gwKNGHlP>U2Y28~dQV9T5A3gXhQ7;^}fP%K2TR{2~7uPY%Qg^0A+|y`#pu zmy^hZ%^m^tkcbgxSSPu=wKq3!BT))sR01mc?(ZclkWz2AWyp~(9Q)^ zm1C*E!IY?tm#ya!zM&DCWi0O3uQ;V%Ubv4f4p^9xGn`z56H8l|N9}6NO8Bh=raGq? zFPseNo;5IE8%7qPz9i5fsmN!yJe)0^(@}rvm zX*5Q;P&vTQFzS$dWpIdDDwh2mJNj*<@lzG>mqLP58h!Tj#r@nVOW{)s&kbnQOXqq_ z8ch&|_gu~zY?MPDnj2jOwJ|O68+_JiY5iMgYv`U`QklKFcTvlWMOphHLunN#7JC88 z&G8gwL1byjyZo9wQc?iry7`NWZ$p5fog zck+eXJ4HCds%BMJN>*i}GJym#5D|Ah=eXP0r>dWsy5EcHksf4LV&pn-;-1A9Thz?W zey09u0ou@YUg_kjz&#DJnB`g}GHwfKEN3d`xGhi$K?$#K54s;Nv-iMz2lZz3t^|W~ zvoC{l84i{M+;9cD(D(^(zAq3D=UHzcL9&$X(u;`N0R@mq$luUS7Sl zg`hBD%oHf_cHg-=tLx?tdfid4HD>k^$?iXZ%mrj2$es16b{@bjg_=n;?U*}30zx&y z^%wVm9(WHcK(dqz7AM}6N%!loFXZa&Re{V~)nC3|yp~)hPG7(Jjf@4~_{TI&)f4i2?e*J}f_Qh{hw&75A zxx^&@;;oz(*o}SXo4P8GUny8bNS@GXYv&KHhEOgsuC;kY)Yo{ZSBZBoCgK< z$%AN^9ct?|Js#ETzQId9xl?Har5)XNDus~&o%)&10-0mFww7kgs+kn2E75JS4%rq11);HfSUu_|F+cW{-yx?8vxc~bjQmAp_48U zq5tYiN7mbc+Qtv?npO#ztTv%?L!F%;{W*e_*2jH28?dXp_0XyP^!=tRPGos<{!Bi4 z_kH;nKm1gF`Ngm0=fC>3eDV2jG{~fu0OU#36C7o15XXtnn=9{e%oq>CtlVD91SY#gF3poSr7-TbWGGDJDr2E+P-x!}h;)d;ZP~`Pt9@;{;&dvAqDy=JFR2!Z83JU?aUp;|u%I zTNUpC^5FRl4_H8FKxlx!H)XL4fD(W)dWjP1F)jC{i@!77bDijK+Uip=4mo+uyYIfM z0qMBUe48&U5jf%;^rDSk+=RyTeCFQ>p7D2H2fS7U=X0Is2s`6`(UW?v6Fryfh}Ysi z5kM0hBi*PU)E@#vB9BZru0c;{KwH=YyohNNs9)>{c#IdcmLvS0YdS}G%NHa*a85vP z+6l`Y?*WnN^~^;Tq%STM&?chH2d{;6u{?1ec)`=N|3BqnA3e>#X|ZO$C^-o}xajY- zwTJCt`_I~D^MBo3RJj37v7uL`ougx(Bmsa0s3SyCjYQS;^Hj-28tX{UxmA)#I6{w8 z|FndO+y%UxPX%VfQ_L|*H)lnGy@YJoImoqU{4Y1J=X#;Qbt<9td1cDebhPU<;A?rS zC-XFZ6aTaKRnj@+n@P&ELwFcvDPpoS%T(G^^zB%G9<;h3=THq(ujZIMk>>R4yeKd- z2`Mm#n_8z5%0PU&O@_kq;8;4c!gy>*Pqc*;_U$BibBD58GziOcrTei~Z4`N8ow=SW zMfd7j(NhySkWL`WJTFqYlUD|b}4IpZs z^EA(9;H>Wy@}DL}<&Iu=inVIM(6Cc%(775>qE<)O(#;hW&7~V$l4)5*kArBjHKm@& zSQqm_7eOoGeryc2Bx--?9@!q%KJ;Hc(Vvw=Zk-ZK)*ZKOaWAEbebjnk8C0=%33bH% z8~B#gR{W-*ITY5UCzbgJKdyP(vs`uJoD^WR(E<=I?xI~qe z6}}9kd0DPJUw}#QoIT51d9>Zg+v`F5{1t$?%3c`Q?K=ZHy@Oi(H85>yU8y&8uMiYH z+OhztqwQL@m)CNxBqUOlY(M@bE_1 zxvn#$Kzj8CUMLjmI|qgkGAO^Tj!S;tc_u&j@u%|BKl&H)An$|Z! zCIn@3*pCY3aNd2fvzr3JZf-DfyVZ%)YPFHG^Wy@-lv- zK%1vMHfGwv-n-=Kz|QvS6u{#43QuM%jy!pEDu48&Pvq(2vodkp%4eT{F0bBPXuklD zq|eLl@4k3pp6Unaimw&E?yld+*~y6p3j~DQmU=(zZxtAKy1;OwU>o(ezqr)&0Td%W zkW{$5g}3m|WkEy(d@j;jy{@4Z4T%Hj>JE&VP>x3cLdZFE1suOAlgKY#{T4GadGzS9 z4CUGY7zpqQjdj@O_g+4e@4f$6&QI6sIgHwa^v1$9(K+E?ujuV`Fpu70l=tQhx6gYWK&gkZ6*l%zxshDb3;B#gSxCBpU1?Cyg|>6ZW$X`0b%o&- zuZvO8WABSyFEGJf7<^5=-?vJ8D*4;>0QFdO619aD7NE-EPmY#yS^AbY1^!~c;}rr` zE>!LVi&-k!1Be1IYv@R$eg@O%R&8UK{wVla)2vby9{kYyNaShs{?7()n6DgZP|{5S z{ZHg4rTzW(;!Ro5__ciX)t7P&k9hzTv8PDTfc2S+vGu!phw>Y2^cK9cq29uykJitQ zlL2HMOqZ&u6^oO&Z%c;WIwtz60q7fM<9>1NZ@A z;=YI%U?Cx91cp2x0VOsr>hS%2;P1Y_G2Iag;&+0}ciwqtBJc1&rwsU)(i4D|0HW~n z<@M?H%zP3;N6+W`fH1$0k`2+5cD`^B%Pwvc0OR{bk87Tv;5G(Dq!%#i3-yM4&Gohk zyWu$uPz)_)E<6xc171VA1N#ydr6r!4As(hyczAjMTETo1L*qAFo$u<;n_~koRu2s`Q)-o9*aop*rN@?O5D*$vI}*ag%9&qcFFXqH@E{H#v*G;Zuyg17YdG?F}Av?yh^6`pnBd~?rFyI za^rkD?$7mFHf(knEsY22F?E3Lhc;kad0Jd}uyXb1oa-D;CNbigiKkW$$vvP0A)Ib0 z0^YkfOkT*})q-u6KL>cz0&J5Ysf~%r5lJ&+xAUbmy;=meQzGAf_XLYf&MU0}=2j`z zFhwL7a%=1oj5Vf#Nv~({9drHOl9cPQ6EjZrLSp!$J+5B!9|ofhkk1-(j@6wcnz4A6 zCZDBEyrcr6Nq5i;sLtNPIoP>*BaDjyj!Q%S-Ag*(={M??nxWU)o|Gtyv_a`SJ4ZYx zJB(nbp4hm0<%V5Pe)s#DI!S3>Z!MqZ1(sufoXlz2n6njIwvtRKfLA%>|ox48T!cuJ}q_%t*zUzpk&Z{&hU5~MT4TDodP65 zxTDCkW>P4pvunIWt9@@ztg;#lw z@)rQ-^mrw=1EAuOyeUxZ>UyVTa=imwE|aNUIreH_U~*@V-8&rOI0b<5;FFYv1Gu%y zO+Yu$pd3JSUnUN@4ET>9KawB)=tuIe{`gPiAAkBId3^F%;a;bnzwTYw*~%@_I?^ds zuZuz)^z(s({j$?7Ao#%+3q_%BS3#RD*ywo&YdJ|&1_EVJ1BtmFv%x!*S+Aa_0EzIt z1Qeh`$64S%WxYW_OgN|X6-(Hr<+}l@j2957^uU?u9Ex+u+us&gapbS zk{>1Gmj%ATX3kGe^?O}xDBu~o%mBHlqkg&2Y`%H(Rz201@SHB!`||5o+BdBZ`v@@-2z&=Q>ye_}JDic6>V;>h#4~=OAtQ-Kr%RVQYwfx|{XY&1b zAD40}3oO}fw7}}*8ole4P2>RNQDx>?W%|TzU^uEwg=zrTV0b0}<#%|*>*P~|O`3-D z?iM^)nyVDZQE5E=a%%xPHE_~Wfw{Ih$?6%7G^i%C zKB_&K-Ic^annt~!5mdC~5y3(qZHtYRGW%_5d#?(Fes!~#Z8;u6E6=vQoM_Nd*utTd zNvEJyJ^UA)dif42>9Uu>%fSMNN_`Rm_P;1;?zAjN_vS8(LwTk8*9iLgZpqJ!v!}BA z{;hh#zk2(1fzhuDkhs+P!jl8$)$1c9pWO5*H8>(|45Nr3+{Uz-g-N_hCS}utrUQW0 zq1B@(^ho;j#qoAoY-b~HuGYHvaB-P*0SF5(o6@;0OZ!@^4NkA&xhYHYh68MY1V>pY zg5(Ck^X;|0H?8~8`xz^@`#cqGOWs~}-KF+ZythPPk@I}iV_OXTB{Cb)rtjE|_hI{k z+;Bg8|HJRemtX#-dj8%g4-@}R=V5I>Y?R;New0rD1Vmp-@CdJ2cs|49885sCcqZti zY{eX?5_HBi-YaKw59qt^?|grH@Ztq8+mAo~xJqgK&)MR6>5+>v0d&O+kTZG~(`z{D zKHt};M0t(q?aS-L>(BE)hokdyh~>$BqfYfa5F&pAK*!i&?y*ffA*`k6FyJookBy5A z*cbai>I9IQ0U4>$9KkJK0LQQ+lqumhKL7P!|FxDc(n07Sb)4@jlL-2mPvj{sj>0av zp}b$dd|4$==HBY8i~H^ebE%E^iuC{o6-b*sY!BPFxTS`-QXONNQy$T1fFW`IPavg^ z8rd9tBLE<@APsECU`r7akUelNs8b_44NZB&1cA`$kDSRa865m3_+o}68dMRv!~dl6 ztQ?5Xgt_IwyCkHs=0_?Ei`T3y%FD&xHWI_*$9m;S*$K( z)3MG|*tMQBMXW12*QxBz|A}O8@@~TYX60Uwvjk=5do7zSL3B2WBixj7w9(0VtJ#Kf z$(8kqOdxvXth_(@KMQ)0;)@zYE1V=&YCyLE0=5KLs+w0AZMtS67E(&n^Q1Nq;XY|{ z=9zg+($=nB&DbGk1>BQ-$TaO;R~r=}Xf%*%`)Q94NoMdQX~vQR#7!a*0pnebQ5PCc z$dvvaz4h3~V6`kqlV_~QrREY?za&U+WtS&q8Ou?^O;~aS@w1*Nc0S>1HMm$be;%9C zbdoEvP-U_|JGGi{k>DZDj;U*%qIXiU`PFQUp;BTSZBE3kGs+>&u~7v>nOItCYfLoo zI)P1hcV{rD?8ZnF@B+);yxAt1k<6+!mHW=R1Fk^CviuHi1jYbpI(QTg+Rf9hOaAD1 z7KL8)3a=g$3av&5(P2<2Z33X50ip_3yV>v1yD3Zr2A+TBj*6RX87l>L0FL6L#fRs`Wh#d!S%#(7y{n6TCuX$=iVguU0(BvJ4TlE@V z?0Sba)^9O*YSvI}y?RK)vlIHm$HyC=IBXRT_4w}5V|n+359N>l=%@0NPktirJbtI7 zZ)4{Zlh07NMVW$XqT;d(D34KtvOzxO;B6U@7(wE&C$*HZ7|?qk4t-xhYn9v(F}-Xx zfdZCyw>l9)xx&*^J<%5yps`d>0jd^=66LECLwMZ+%$MJ;4|ueHQ0WZFNT8q42~4&L z%67AqqXNf{7NdG{qHH?#XccXxoFwXBdi0p)Mjc3SKb`zTN@i$5-vDBtou9}jAG|Ba zM_c*gtFPrZzxh(Vk#Rh{k5MyN*nk8_r@GErb(-b!s(`(fwH4?>-~+L zDW988J%=GLvc{wnZS1huwuI|kLbtJ`1)9^h2trjRj>`hR4}*FB-T+KP(xs&N@#$Hy zi;YSktO`tr?83W`Pvrd9YTP^Gi8ru4#KpwP>?I871@`xuC-dP-#{-uEEtDSsxxs%to zgFN1?KYF9H4yKx5JFW(QDyT^3$erLC=0ZyXx=H;cWtSDbfW zAoWgVWCmSWyS%(9pATA29ON2U_A$*pK+DE6)QV5__XsE=ct{-R^HH_gxw%EpM7alY zJZul!f6jJ({zzZAw?(;z`8ILj5t%?Vd=JRU_KmgBYdNarLabM~t6X+xV)CMPH z#(O~Cr%#`1KtlYE{Q#O{Ith$fK3v$q-{;StYdWAq4S*cW8^_^V{Eqez16i^xnfECB zg3nkiVfyhMu7`Ba7eOM#kM$Pk2(kZ%Q z!9*)%QU|SySO=_{EN)s6CiIg-6*vI|p71FNY znUBU*wLNdM<*%TqhtEpv1)a!7Sh` z)AZM%o^4L8k9;$&bw3ivFjuR_&9drJXp~u|EpS?SG0*eCTdoaSs=@d-_2Mkg2=*mj zPJ(w6S4w6BU)l+imvcx@Zl%suH@muDF@Wj$W}TepCx??ugw(AtlB96`n2*HX>W)q5 zq+2_VB-4XqDe=7RdJ}u~6d7NcdSPqP~Zmtv9|`iQ>{ z=10?q#cd`#Xcq(Ou!jXa992gcevyaP!3cnON!Mte*uzo5(<8L@FmQ%`Dkf5$N=^Wh zLrnmX6;R8{C5M|f{*LN}yDUUoy%mo(a#R5Hs{B1Ydn{*bg@9hV`=0&kKE{>AHXhKdH@rl?W-%Xm`FiuI^nN*zsRBhsiobV0kL>4 z)Ze}U*riUQI$6R^RI+OOB6nA%j&FBK-WCY^`r01bKPmw7y~pR}FM_>|8mJA621o~_ z9iZu~P_Fzpl^-5iM@H)?PZh)@#gW+ZUqQU0D!KnUKs92y} z0l4oyFJ*jcx{LtPU%mRez~@`lrhao_!GPXgUg!jJ;l0Ss<{;Ywf+1A^i@v$NLE#iQ zx~z*h(73)V$E_D@d31KJUetMaP)}Rr0MMGF3e+1koQI@C9`zW99LK9SZ`Iozp486@ z6oHJwHFTs)U7i-8{rq$zKm6cD0nCK5(I(y{0ea5HHe#R3EZgf2X=3hc5jeE0}cHNne?PS&EfgIv5R z;Ph9oZ*?IA0U1vbv~k^;Jc-t&dF}IVg0h2L2+{)0WAy+Zq{ffPi=?{M;ObT*N% zTKw$4ealjxQb~4itM@|KIRZSYS2yG~;0agy8=UI8fciJ9vY3J=F3|Us1)nX}34Or| zwg*`uwBxJty1cs4prPZK{izwZmOADXnFBio9-!=!D+@Bt=0Cj|pgwVLh0yF|VfA!T@ z3iSY=@fjY`@Q4LGr2N7>4fOVna4!PNIY^u@49(Mi-)BNW{6!u<_}~MDqW`&VZXN)S zUf_hUOg~}o9Jms?Mz|b<1J3goVf!3@#*NpUFD69Df1d|BJ$?a)QCEPz_)87t2w(|^ zqXfp>+ZX3Ty<-6aV-eU6^q_fMT#O(Lrq?n94RT+2CgU?~3daHJ)9!G+=!qYLEAnsj zDvxPInsF`IEM-FQ9e_E`#WLRMQ%zG1=xC=gcw$^!nA-{#MIW|@?c3b4;{YEaiTF4q zGpbWEsz$z)64^m^$JI(f)iteR3tyB^7H}|26%Wo+W)v8S1R|CLXR2cz-zAe?1iqCU zbPM-_0DL`7mVw4+YB^+?GM~%@2B)#`Bekp}z~i`d!i7C;1f$IXady2ag%X>G`*m}g zfYt_rB124pKQ%Ak$~-XxN_0$Z+=!&CbH^>7&!joLKk7I&3+zo~lK((M>z|rTPti1| z5*@McY|N_6@@-Y0C;6^kl3})xqixA_PE7ktApoADFSjSu(PEOAkdwrgOUfj{1BG((kp3EmJJm=;a zE}o<=O&=k+?;^2M)5LJ9m2wW{*Oa*x*?|^A%a081@P6Xj;3nnLGQ?s|v6aTgG@DR{ zzM!5@Ccjlr-br!;A9gQ#pXf=Rroj_6DdUh1+qy|(jU7arWZs<|=2<=5yK)uFUQ$@F zinf*m)b$P~#ojNp5!$t+IIz>8gUtp~Oc%SZHrw^oTc^V+_JqY5KW|ZPm-ZZV`fksK zvwJ*4GNC|1ywvH}y+M&>g%0p`!=y+xlGQKR2I-R3vk@OLk6Jxsvj-J4 zxQbwe@UT|!HrgsFfVqP7eP@kriz`CNYR z!N>B+hu@bUeDni(=jn?wAV2Xw#N-KTA2N$`h0xE9ZfH!mYynQ~@wR@^t}xU%k1~fP1JT2D&*ZlawbX+X7)1 znvUyYJJ+Qg6hI%`^Sc1d@h~c22B5xt{idX6RTdV?<;(s@N03?Q)oXL9AbKVAx^x*g z^N8(I_3}l3GK}U;uYnH-*M}?%3CPPq^}YcVA;q$kGo6sF)k(`tnMy z3JixfGXVWn0dXo}Qp#kxd~1)qmi@7Sf;NGP^wH_D>~D89|Jt{ed|j8a2GGXiq|ksy zphegOyqGaLM0vn#9vadImudirhfD-)7}6oIQ|ybnf+zG3zV}id7pVHITvIj72Lr&# z;^(Qi?;@GzF}pF|KNAO~*%o><5M_2xTJ7q5;Y4kBR5_V3ao64!jUY>NbY8w#nb-fg z*C3J5v_^lhAKN`VdD~QN_fkH8{rMZ|wvXiec&m25Ein3cvy^pLY_C&yV=eRKH{ELu zqSq-%T>}DZP{Cxu3^f}=9h?mcv`2Y%R?fRy%5REYe))DUzr8%DHuRIDwH&RAEiVm_ z;|Yh%N8GY`>cTbv?yW_2bzuGJ1#1wP|xjujRT02a!B(0qnO%-dp%SX9Eo%&i7R z6=?yF350yC;DE?Ho<(Ja7JaZo?}IJEyyzmt=%YV-qQFj-RF_`-UJ=HBnZZTH`#YA} z!}hR!JKM8o@07)vOPPDgM!-Aw#*JfO4X*6c2NCu~&1b+t==B0bL;o2s+(Q5{sr{?% z$j4Cxh}iB6kjMdO3`{up>W%p!#OC?FNfrU$pPZb?#~**JQ1qJyx^oZOZvwvYJ3?rB zJu~02tfLll^gf=SYcfX)dHwtJpjk$B4mwVQZ4*v2J+a&wJP|K|V|cUUJ@<`v!D}&3 z1nf8l3y}o1_#NNDdl_ZTdWrHM`h=S6F!OgVZs=I9{Kc`5@W5xB3-*TN=?M)x#OIXK zB*^6aoDojb7L$)d;JF{m6%ZQN<9E>$Jk}G>5ha!Gt4{=YX4)RMhwWS0D&#Twj5-j} z0hL7@@qVVRZdWdmeLP!{iT6jNPEM;oTjeNzH1s<2MBi5e*QiLb@i}KD4Tn?*x%z~= zjeA<4Kx|`RdZ`QdBjIUND}pRFW>*BjDYa`(uKoA%zdE-kGwf#C#o@XV%fQF6(wsHv z7(>jWALtqGjFIWD{O{iJUv6V!mTXE9-_*3^nl4@=UQpX>P(xPWn&I=42J_f2*D{HNAHD ztQBP*)Bc2jNS;?pitW!Yms&y8({vT6&R5K(m0dILkh(5SCnFLJS!8N}DHKZfg0@5b z{Uqf81!JpP!oMuFfyK&=S_-uhNi@3Zw<;2VDm{W(d29?4yrnDT%*_aD{>CYwRUj`C zI)T>N#5%3-Dj3M&2g^)tYwgFnR8_0A43rPg6eZXHKG zPihMiBGbCn&pCqm*5GSV?AGm z(y>Bo|IZ@Q1f^8(8R_y@kF3IqUO53c=u(1G_}gUo@cKd_=9Y>sFup3VK=jH$y zhN$A@(zkAt1A+=B(@b6hcHCNf@f#t%0RagS{OlIm!~0R{0$XP~uoet$(0#4uEl(N# zxE<_cv?asNdI!XkTMlIaU*Ib|f!D(tKHMk(*TWW-7{F^^aPGn2xK_Ar*daH z!(EvetRJ1pyWjsne)5lgC_nl1hw{nG_vPJZFXZI-+`LTtrFnL0-%PI`_9H&HPn;lS zP0PW-GlJ-;25*uodw~6*HI2YzCMzIn1C(UxRO{D*M5=c*9*ZrIaY(i=w2oh0-RkS6 z06GLSdwzbd8oMY*z-U0it%E0c_1=`qMp}?sK*X~Gr{7+d5-y+%*IuiK>OwBdr2OXM zO@WTPa^4fun|8?vPK08Aq}>zmUEXZ7OT(ylZ;JN!8WoL7!TsYs{hI@!3{hK6@-r z&yP!4pUMXEFb?~W$3^G5-ChO@m9pryJ&vRG)p>N7EIxn|TZ2QJfv2ht!_}J~z;#f$ zjDvT~H|Lzy^S%C!C7nj;6YTq^Zuz74_ zDcWwk&pRYRzuR>+fU4b_?Pi20KVXmg=>KB$fU1ic7;TsK8YuJY0_hi}K8{OycZaM} z9H>9E**8}=<%OVyH^n~p-dDDMwazu#oXy%6ffSF~KiJhVLtXqW z?P>J;gJ_V=9U;_cw`el0)CMf_usv+w*0u$}QyGq3jdKvSi6fAX(hSjal={zv&wzh; z4_FBgQg}N94#MM=ATkEHV|${vXq2LeusDKWj{jqN2$CZVjM4`jm(Aw{+>ctnpMLsj z4M50i-3Oz;3B1m|vzbQ1Q+j+yIf(fFzU#2OV}QPSu)cWBn7;Xwek_w%cF_Zyz#iYh zF6b4FzYH3ApKdjeLH)wJ9UHZk0dWb3DUrdlfL%bs1@M0k_pyKUc&48Ui znVLaM9FM0GLFL6#<7PEkp03J*B47?YQDn-AD(*=#9T)or z8ibd|(vrXfr*mSIZyKOwp7!oRU}fKJllBI zD8U3B+V?q}SMn6KIsc229?8G2vFIvKYvW})gHG;~KF7j4GM446id<(E!g2%H$@L*Vz0%GCUg!!4gP|OnDfGsoJ(<-Im z!)ojuVUZbej_%Mo#}aJ~POQx*hf$#-!>W=4k@fNH~jRIgol2rFnPu&^J^D;h8Y-!JHuaPa!g zwwea7!LILJcQgst!O$TCLerb!pwNUjyiRuI{l(sb$Ssu=ce01BE<9x|391DR=ne3E zbyMKqwWx_`PbeCWDM=91Lua=54$7i4e*W;ODx4Qh;dHcT) z-Hk#{ctE2P(dWU78Ugrp;)#i=nBFctMw7#FK-mo*A@%+bWepjGt8yG<7a-A67i&8U z@`o~p>eDxBbQCN`AX6p9^5$swW%zlR++u-Cw-Dmg~zKy+3et{7qoUz{aR;L}hLO-?VO8 znpG3p9%<15I_z-SIp7e}yB>1^UcXFMjb01&x4%1eetN zB@CQHSi-)jmrGDM_j=|Q0XAVHHkDFxkJz{ov@_2ie)yrjV)@*+{e7@_?sd#E<8=s5 ztE}5N4L&&6K8_%L{+?db^YqR=*yDNPfCEX1$f2+0_(pnkcaEyJM4$Q z0JqT-o-mqr2H6ehDq|lkR?wE_Af2E#dfNj)Q&t1#d-m*EeH!cMKmWPfS=1wsFnjJ* z9m_nHAM?W?g|K6skFXmM8tItVMTF6Fxs6y4W(zA_^nKVKwr_V!Qi-10q3J&38wYiS zX*0m$^MA>caCXFQ6TdUZU5(VG%GmtOQXPo$bP>PNh47vXF9mO2PXduu;<4m*V>?tl zyA=jXU{Lk=riL)VWS;IupHdiCHt*@0+={MJ!#7hHWb=anY2!e(mQjeSHc1SN$>+ah zjfS1_Y!v9<>u{On815&zc?ZWb%JpNaX-r^u+S0%NjW@2vZyf!ci4BRRDFDV3aD>qFC<%b{0Pyfk}eu}=>g>~HXX$?DS{-!sR(Q_;?`OLQ1 zfc*iU)qIf=EEH-Wz(IX@?UDIW1LEz~i@E^8Hy85xZ!gt@_UXx5-hXmhU}z~r99z&#h4f3`x5*~&3mv_G)vh}ATwNwx%v9j-_Z_5XF<6H@6nLqNDyXvp$so0WJJm|< zuz=E+&*aJD^I~ro^6K>)d0oK!1*AC&l;7=E1>D_eRRi>*K-UFY-xgr4puBvKeIYSo z`pPaJGhFNY-k%ca{Bb$hcdvo>dVTs}Q!;;kvXRG+j^*@dBkw*rmnUc20tZd1q~|?i zOq$5mMMJyW16;z> zSLHmC)S$>UNSM}x-K%vuYczY@l(PHiy^o5WJ(FL4{+ayU-~Cc93aC2V+JZ;+MFn^| zqwWa#b9UJezn80~ec$BJdJNAV=7?J;mUf-+ia@ zPJO9U^dCp?zJ{i#M$NRRMsOuvKr7e0*)KF8=XI&G%UvpURu;xeRp*0vzaS6W!}hIi zCnu0F*vgk*elf9cw&(bw&NIO!yicLyOOI4)J_FVPK7aPvX9}W!^{ZbgWCV1cwLL@=Vm|=S`(Q1B9?uigOwfpQLC=|x9Qy+%A|1F6-a`%q8}|G0kAEyro;+#u2NC)E zoG#|DIeL#%YJ-0xyk#1B?A%*9I_$*jbAR@GF%9#5_;(Ig=icX0137|cmMy*mREB;x zKr-tidJ^**Tv(vD^c=uOsSCV^oCR!%@Rs$)`iTn)OuGgucJPdSSr)86?EABy{Y>o* z`$Ug!mTS}&kL6TlmAY=?<&77hHsoYrNBI7ePd-uk4|+ngZn?#>pMz&?Dj`zr@&S8BLl{8{-#AQgAh{yd}*zS@4olc|tN%En_k(&J$B8{dW5Zj83GUZ_4rH4&9-Xd%YjU zV^TOFQxbyH)oWG$H!BLCmk~;`{;G*OeyR%_eoV`KtLsUvr%Kb>_59}r(->DxWkTJ( zSRBNqkooBuSqN!TXr@_WJBGY8osddW1C$O8V*(ACa3e7?h1)fW^;)rjQz!(2oVj#G zSL-X^)4-SxrX^%X!djHonzX}ObCP(jdhUDLLu&B48jZw91*AdQ(7{AQ;FmRpStefR z6{dRGPT{LCqfH-1Vkgu(2W4fG)K`m%3qL~l``R(p;%Wo8NruC5-mTUnQuoc};wQUf zFV*&v?;j;!{MbCnMQmh~LT;U3$j7MeW67IGTj6ASs(pJJ3@nd+HdVHifxZKR<&B+cK<_k>n1Df_SXZnIj3{7lmrW+1 z0Od72Knv^`I@2S@3-Ds0c5dl7D!*?Fgj(*B?tpy&Zo5UP>ydhh79b1oM1vd_aH7%) z$r_eIU_dqGc?mD-QMIa7U;0q42Tj>*y0kDbn+V#9D!_9|zU(o9JUy55cV5URAAc(U z=+jT-;}`GAi{~$7v)Y!+EEM#a&3DtAtqRdM6_mqh`rOcDJy81?UY7;*tkmn2y6qll zjs2<^T-I_r*lM&v#a@kC0}YnnE(+m!t@^J+fq?}!>dI)Zn!oFQEYNSQo~0O&p-upK zRm)htyGso$yuU!*qh8=?ql*#hORgTV@D_*nEaV*41*{%+Hi^0|*S)za0J^udnkTTq zY-_V!^|m(-2AT0A2KQQW83`;@VBH3Ost6FuzTOt7vdT>?6dW#nVIWn{SKd4A z9?u8i778R$52{&RGICtXU|%@%28#{lN=NWAEc@&=2p&AuGuDlyOi4>wY}IaW%C%n= z`~20{R|U5Ba(=Xsr^hRKx-IpzUTE7-e&56*i}q#ZBkXm3gkXe_rs?JDo1NC(EnKe4 zZ~NYYrFO+GkIHpa-UDr|(-IJkZK#VV*@F8mEhr}H4%a)l=Y6N%WTW4I?cVH5M^+Zz zCX&r;tQ?NcPY23Tg9tV~2v8af7HlCP! z{pn&*@BLA4Ue~rTX?aG~Sa8H#>c3O%>629{19)ho|3rXUJRPHY@z9MwsPxiBNz2>P zK;GQIwh#V9MV9Z{efMGe!{0C_c<03n`SPpZOu*$gExhnEB>Yq&FbP0DwuT8Nn*v6EqS!Mo@=i=D;+jXAa0s(qN-d6L1hP8G()Q9>-FH8jzf_ z3OGNm_o9@+_rCW%J)UWc*W>3o?2Yf4KL+iK0sH_cSq}8VjR2%TTffkA?g1XJ$GpX~ zL_Oh{hI#qM^HI+^2I=E(EDL%n6WSups8`e@7Z502!G!`Y2E-tSbJ-8>$8<9tQ7VHA z4lFZlv8=E^e#gdgB!I^8sJnOHeOF;IY!LfKZ)lbWJ@z9Up6fqHPjl8O06c737t+h| z-~ayib#a55(9Bb`QNsH89{aA*c1qqKwukN8-`HUzSTfCbsHM!|x6uEPOe)Q|tRHVY)yqnn(;o|xK^|GZIi|a7WoX%K zW8PNt}$Mm6`NKu4ki{Z)%N1kM0^cteKmdY0R|OM=g|=rW_LC8YP*H zQoL|e&~t8vt&mEj>P)t_7+|QdLb4Y;4c^a9qf2v0+lE zByC=r+lp73HafjTZ1`zfcWkB-zHi3NHz~B$sex79^3)nqOFT0hT8~U^IAm0R??Mno z9zxHrhJxclg{>7aK$+AJ$@nt*w;CPR^GzLRPf#A)9mXyf*6Zv(l4{l^m{^kU+y(%r z-pf!u9nI_aFqnQW$S-6v5CjY|4tpI$YI(_0RU2#&3~k$`>U{R*_3GXlY{ROKnsaUc z77z{_Y|tOkD?kzf&lFVe0lt!6d#m1zgTjVhSD!JU7ljjjuZp7n_`AWw9b^NND9D2& zF@g{RYCsi3wRI0!gAuZ~f!DHW?H1Uik2G3~LU1w!7u;+M6hUx44IsBFc{9&scoKuu z?z5$1vstOPrFxVCSQQ8e`H7))X4}3%+w;eA{Pdap@Y5g5Cm((+?>&7kC);C{9Z21> z1{JLRZEF1u`ZayDUy^z_R#QcgFF>%-77%QbFnU{I)N$m;z^m$~=Cdho;%?x$U9Pu*Rx`k{*y16iFc36u$OihB1;pZ|fylCX5dajz zGgkG2OFFK0Ceg4t+S;N80CfSdfX|oL7jkj&MqX|g>aDqSnG0u%!Z-S-YyJKHus0B@ zffVUwbI=762HCSTTH)%W|NbZ{>JFQF_h2H`S$jY|m~6>f?fkq<;-5S|(}01u1z`UA z^Dj!;cLuHfJdg~*!oa5F_o%>R*w4k=O9jm+=T6JMS1^a3WxKVBnv6?%bbhACyz}I- zJUT9rf7Pp3^TGqmspo%ZfgxchP}D}=)W$mljXDAD>~H6*gq$E}_kK6)>RQ*G*+y*< zNA=)KxgCZZwL5&j@I@8W_o6RpJ3iA$^%|rSzMDe2-FY+d!3SEWx~mPL)V z_HQ>gowmtgzmuy{j`^_E_NM8EH{|VJZPvW_$2wNz7CkOS;!w-(pnccXv?@@k23PEO zwNM@NlLDSk@!BL^Kv*Svk_1n7D15#xApCYH^@~M=(ykVVa^73br!B6@!}hR!>)Yce zPvz|NtU$(BGS^$C&2wx{&rV8i0OkSCLGKx!&yYZX$1_1MJW&afc@D}Y(Ce9ikAdeX zn-Jl1gx68OmzuzUkMPER=bd-tgAYE?_ke?tdccNs;5)!*q#5ZYoW$`TfBdn+YJ$?a z=kb5)72$pK)@1-czNZIqgtyU4d0yu8a>qsw;s{J5ERWvRbFJxkZJv)_+XSeDz3>ia zJ>osSr;JI2{t?#Br9Zw2=0_P2g7BTko8aOAJ(Vea0nm#V-cuKP?qLj1Xn+qpo?BQUQ#|#-{;bYlP6Oo4IE`wk|wDi;n#4>~WQ@de|PeZ*?O` zm9a7-9nW;san3%(sVGR2*1Y%ba zOCwnEoODF2hfCu~5lsh>;pmLnYR6VaCyf;fA+a<_Tv=9~Lr5L#wd=@)OGf528McKC zWePn=aDa`-D8=`w{vMf{p|lio981gj75m;itHY3{x(`dt3awo~$Gk`9P`_r93IC%f zb7YE)SJhG%oKs`c6E8Qn2PL*4G40R1jC06KRC8XmMHC{$1{GP(b=9_>uz54LViHMH zm)CYolIig*h$NvjB2*(ZP4yaGFltVKu#H(}0NhrYaww*n#S}`zL5TPSO&?ayQpLj~ zSgl#872SYygwG-&EtK2It%0`p%@ElcNo;i1^|TJ4?#qVQ%F~iFdPAN)Dv?@aVFP9( zky!jmgbM)8cqPDMFK3B$DD`@+GooEg_u@6AHmYErjU3ms$2{`*`dzi;)EdmB6N}dl zmkIUMR=;90S>IWL`A<4Q@oT9TKs_d`Z>6vnintc%L>8NYa5ary?HSLm~FNz(@0f04tkgt2wlF1&NG1G z(jhy*p{3V6MK|S|kd(MC5OUvlrYT%t)d&C$*mL?s-hKc3^695PkryxCmGjd_3V{GD zI|YEfw>hm5O(*i5gLk<8K8ge6WRev6wR<{uxgM`U_r&yRRj(KlB1z>|Reu{n0QZ;( zYFUeF4?}wy<+RfLjjD@{&wE{*$Z`x1<<+_XqLq3jqsA;YVdr4V;J&s%_kLIIiAfFb zOpqyn{0IWM6&Xg zSv274eWH3dD}A>1iePe`=F_~A^;|A3dDCE!PNv{jBfTx{FdI0RMR_Ahdd?c4w zHyS8!e=zU}TfextEVgNn+deuy()6M2s3b;b$IEu9dBvgyq&7}Z)>>wOX^#+Ga0T7m zmEJ)aC{QH}0BD0(6ue9!S)yzjahs4sk!8?@ zh^$X0=+jf3L1gPS3*b0Dm+i@OONS&4VwVY_I|I5J2opN&rERWsPH9gXAkAGj3diec zM+XHj9yqf6ut6}U1>`uAE=;8x1j>NChj}ss;&&^+%VmL-sVr#hb%6j+1N{8AZ%Z4y zl}Fo+JU-s2G)XZlg~)2HrOhFKC^zjx23wd}YyB_PCeV+;{;!L@UO<+nl>fH$OD6@~ z+TEqog|U74U0ZT8Os{>1%aM%Q@L-2NI7}Rl)ghpk{Xom^dOh~+d?}xlGCJOz%FjRh zg?#a4S>z~yU0noFAF6$B|BW1{&R~b#J6j-Rp4;FD8 zK%;#?HfBGV$NOwJ>-P|A-xV%s-!Gm{>nHJ4M1o3|uM@zO4;?>5G@|%Gl;08?`v;!&^p&!Cd}mv&=S|D4s-;sgrK}$ zo%iM`c#iOPo{ovrkM9%9Hr6Aycs&Lh#4GB2qx=Eq0qq$$68jUfGVOCv9?NE~6J6(` zp4M-INbC{Rr|S(54&*0W~(12Nqc< zM+4n(*cP7z;37jT_gGKsvSeaq<(9@wt;E%PBWU+jgaJzIZQ^IEr@+?2;f;knJq3R-$vV#2IY3#*B3` z^E%E?jZsD}78#y?H}W3MohLE{4)XIPZ`c-Xl_S*?x7C6i!P?B6Qj_lR8C@jXGC5-U zRdWCNX<1D(R8`kg$Rtyg+6qPII=*AgLh!U>iP4z6U~(`Tz428e%oPvDGH3~J1)oEK z8qli6P|LFdRj<6e1E{vR720TR`Lz!7bQP$6$AD(;HQwr~HMTsdv?Q@*PCJ9xVTjdF zD9cXTYSttNsdZ*!v*5`!YHhJDs~vD3TS;k3`>7pWlas<{+GeijiKf)0xPXx*0_s-0 z(}vEx5dcq`8rwonlTM@U(kTSVlT78w^RJg*Oh=XUeTd$gN01zG^|; zt&>0W4Ovk5p`f!2K8K{bpE?m3RtjehqroZs-TR}Huy@E_AjfzNoxqOu?YzHEnCvnC z+&X*T>L3&Y+d6Tv0EkKDGY0k2JKc72q#mmFDE#B&z5vQw?Q8)zZpxXj%g_2cj0IqT z`(y{S>hi8$*eg7OUdYFx-^eZG10c<@fv3Sbp&RAIPJVM`d8XF^}ZVps9&b_)Ui% zsM);I4O&@8uGfU89{`*NlpA#bU>aD~7Kf4Lo3xY;4%KijcolT3w^oJFoC-YQ=ha&m}fYLQ#Pi8-xRlnN;uh{|vvZbEt_&wRZ34Z~d-(K9v)%A^P zVh^KT8NvN__Ce)%FwMHw$4Q3*y^}&i^KwLa6u4?5IKSVtJ_N~%x`Emc3Io6m3c|zz zuHI+DvVGT^hOfnv>$I#Ot)VDC*`%-YAa7_38dS5`4F;(Q*fu!8-DA@F_@w0VT7x$t zQJ45Dn=%PosyDWJp{`d71AFzlPilV@C{R6eOlmzZ0MA@8Q(a{-`HbX$;e8DBzgjHY ztveA;8W4@1YZfF>!bCGGXtbvjvgvhalf=Oy59&reeL39fEZAs&bSi0cqyaLagPwcy zbnSiN$-Fr_t@}f^U~`LXU8PEPltqT!XaON@f<5SK54{b|d#V2gBqJ6DzV6kIuS@yD z`+kcFIPS?RtuZRh2T(sM`@eI#k*{x-^0!~Tk>6Yla{6X3=f?|qcCwL2s!t7#^})2L zp%oABcpJgW=mAVo7Jc~*ea=xy%dMt!a838D8uDg?oh~TQyB>A2=m@4t(n`9<*;vc^ zHkuyq*vW59$%mU|QS9hg-hclCIf9n#-)`kMpZ}^rkJp&km^ZXT=FtZ|0J*k!Ki0vv zfoEIbQaOyybeNONzrZuUUvz%o_Q(FUMIB5YX|P4GF^^#!CU<~PgekVK!HmL=%RRv1 zia%+CeXx*+{tR&-*Vxzd-D_L70Fc`SY$>bG_xY*-=#|LD?dU;lL<7Ix?8~w0Z7&bo z!}dGbp1<=#zWAa5xBpU$gq9nn*T}7}Q zgBbGuMo(u3r~^=hhbv!z&w$48dd9x=;N^RI9n+JQKoQrW7cHPBWE)<-d|9tgsf7EW zaD2@nIzfB%dItQYtOPx}xj(@sxBnFMj{Q%p6K*jr(aV>hof|h)^lGLZP-cTN9`VKcqz!R{olx2X*NG51YC=aX z=s0%ZLI=x~cFH_pqZ|hpWMD(ME+O%-<5g0bpvXifgd8kM zwWTymTn_nS-X}W*Ge{PErY1jyi#YI-Rta8qeu_m3^*gVe>?f}C%NYQ(0vef$YIN23 zQt(U-3C~_QsRlJ{M!>(#!+3gq5gJ>7O37L^+oRPxfuKw(+JG$^nL!F3R~x1@Ca8gr ze9|>3e{WGa)CK2rY^I>swcLc}-7du?q!cdFAUG{MwS=<3Vk4cUFLr!&u<8cL z4we(F>RG%Efb+!T0v*@C)34|N4ESxk^}r{C{u02#d8y8|FVWdtmc8#3QH+=$*O*feNd z`J14f>;d6u8*@(xg=@MTSK#v+9*0Rz3xqZ=+(mgW>ixL8Enw)%AT?H;0VH+5IHE;L#2%3>&{ zNvzTc=yMAQfjZy5T;tixkK~6x`Xl-Hqfh10`BPgFN1jK6skp-E(0|OGFkm1jiJi(R zcmTO<3ql=@Gl?y-KeLCYTbQAjAgLY*!x^>=vcVjl!g zQ>dqs17%-vJzK~{xED00S-pCFy2OV{RAdjDo797H7!V!4Q#qC1Wl{9T*;$Y@*iny1 zMwja{A-^hse=Qjryoa5&^>Q4f409Bjvm2L%H zKDj!K=8LVKybcoaMVs(gr=yQMccxLyj<@#!fd|#BE|bMlCj;JZ-78JKhs!Z5-2Ko`-qX5`d*_Lc+RITiCT>$E2!B5ot8a2IC?|NT;%q|O| zHfhorlvxlDI4Hj8V-s=?ghcCAUn7tWp)%zH>1#f0Z)IgtO zQEWV|k0q@(vRs!5ZGpN70tyL|s@1KN+|o|7rC;4$Ay?r~M}UhSAnP-_*O$0fJW{PI z2U%r)wp!Cm*|{g~)y+YUSI~O4wuu*`SS8we)i?1 zJUQCvamS@ypOI1cx0oT2VIUEt?kK5?H=CN3zcOtD}mewww*pYZ!i?W7-3V8 zlu+QSx0Wo^D z>B0vVF*I`4ptn%|WEU@%#u zbfp0aZ}wd|PiIfLJZul!?_dKs`|x|;lUKj}s(wc>hb?QnUn%fKJ4IW7$1{Qr;xB^K z0XWm+mr@R0xL-xjQouZVwG!?Ta6f$Ai&ZIRe}{1ZR3;z3>>8?|s1q zxkW%uI3G2tQGZBt1mzLlM_CPCkNZXV9m|Nv&p|TNOgJ7vFFlJRNat_Z7=V!QI{ro| zjo;uIj}7?&EJprtPU?Ke1s2vlkBxcb0txd$ZEq~HFy0G3!xI{|iH+BaWrhv1Q;@uQ z*dDgu*;W|^=l`zxZ1YhMlhz1jV-HUC8V1p08~bte4FTIt!;FwBAm!+kp-Y;q`)N|wQSovS5Jel%8u0}{o6L!TD z=P(AYFq# z(<&UDwL4DsGvmd1f>>8M9FUoQzuuj?l4+qQY49?(Tn06)x~>`bYqegdc7fF(@r4D=OROF&JyL#ym+=Bh z(J1TwHI3nj+MCeW%@A@;xJ-@VJGLpr94TO*G+^H5kQMkSkjtX5ZS?oZta`=W4l1i~ zSdHp6IXa=S0A*4Kt?bj(vop7wg~Ua#Ffd2)LWdcF^iGbloNSXkf3%RZH6GO-)Ef~p z4dbwsH?Pa}ZnAnxt{~H(-n#1gTY$`{-pEKWAh8KvKx?+Zsszto=rm?I+Ah^Awd-4; zED?i!NW-Q8tA!876=6Cs%gF+4splk|3>Rxz9iPf4pZ;U{$&dfJJbV07Jv|Ya4j!_D zdk2rqs}4;1YUB9ZCL+CXrGDodYy9>?9~hav!vO* zx$cqf8Kd}S9^GhM*Bp)p^|64NynoOqK+5a&jqQWFST2&Sz#8E#!7KN_PqKsK zC~Oh5^IY+I5frnW=&6nOEI)iEEat)h>+wEGkNNo{xQ{RH6U&%7-#CUE;1SlwV+qbF zr4hZ7`HI02nSOZ3|McV67Fr-$uf`}Q{sxPwN3PK$KF6P(fHzWF>slKQIU2vY)#QtIL$Bt3Uc%Q%7z*NCt?z<9q*aO~^I=z@dl1SCtv zFyue_ew2VtTH@>eye9-ER`bg_Ysgf60Do3Ql|N-^+;Vc&+_+~-b*^Pq$7@77#!F7e z$JJNfjV0yasOax;4Lir`gUi3XoqeK4Q=o`y?IJZQGV55CIS&j5I%Pu4@W;jdh zHA6=;&0aIBx^FF^IkntONayY&lD<19-h5c-l>QUG=w;wrhojx4S{VAJju~ zs9vx;^EyNE^9od z5079#boRa39R3Gil+Ze)7cPRlCHKk|>-}I7eKJqt4s}rgAM{?=M&k2F zI$Z?G(5%&9P75t}NIi&8qEyRRqz+(m4o}f!E_!x%`f%|@5hU5XQsITWbB|!_v*4YK z-{D29EqZ}TtVt7?R$^B@Jn_QfMGt}DQa(2~E4K=*$pR$}I`jz2s1CcMLVxVBat&}u zM`*9&p54$SHwl&`rW#@(7G;6`HtUUfmcxT}y*2RZeLp<0p;xXZJB+pNagM=ts?Bku z_ramvyEHIim>{FS-XCsN8+=gPmD+8hZ3(<{k56Q|*|=-IRfY!16kl8^*U*2H7Pe}& zE09j6Q;u>p+insT0F>)>Z_r(dD&RX7Qbcv3weIs$J*(l#t&$BmH{>)jyt^UmFv?co z?Y}E+0#Lm4A*GF~R(H8x;hpN?jpH^YABR%@uP?9U?bVHZ@%lnxJ<9mFERdY8S9&I` z2$#J<_uqTF(k2V<_0?K(X(zf!0@;buM~wTd-pPRL&^up@cBPo2+zr-T}qnJXD0_m(BMa(R}zgt zj)&2_@zGab6_9_UflycaG|O3OR|kdC7BmuR!@|`mp!`*VC7lH;e0Xg8Vf$Tf=qtYW z(f3t`BYL{xegJ3;5DcgW=!_tKcv0Gb(2w#Kkmz8*IBb;efTuAumjQk87od(_tK5I$ z$rgYt!85^Mgs#-xC6vTx{*E+48ie2#$5I*tX#jkt2kdtz>pH?sY;%v~ z=-C@R#ph4e5r9Vc%kP+u2)?@zJAvtm0GuG6-q|teAIop80e5?udoxEsJeM7z90}7D z(=rFHF^FW;on{_cZc)C29`jt3n9FX&fR;Q5k4GKDI~jS#q6xt;&xH+TL9JL6>%+VaG`b>7GN9H-7J+T|*M>{5*lCSe~!)|Ta% z^i;2vE4Ybl$yi!*9G-gP1{Xk?JA20Wq%AFnseVc|e=^B$Ok4Y5%7_}M31lcR$q9-{ zZT`|AG*26d5KWo$|lrb!x{iQVO~CL*gn!7P(^_BxQ2}?wX-`%2qMeXcN7136n?8GNvUj zt)Oc;TaDK9G3DZO{AgzvO=hj)a2tBJpp~`)r*9~ZHVMLoP0Ap$y&Y|pTLrv2p zNSbIO*9K0&5!x6*ul85f1%JM!T2$jWtw&Bcr{Fiq)Vt`OMkv#)wY}Qk(epKWozOUGIBd2@DT}(D#@Mnw+0qEq;OnK0~_3Z8TDrf=8Fbh3M+Q0B6i8_ zPHQW33&^2>r-e%C4Sk!Zi6hfW{NMM^?bMTQM80bqU=HE1vX;@j5U+MXNe0m1#RoW~ zU{|c0Rqu=g0*f5v^5)h&1IzL7l(hh3ZNR&9`HJKNYtsN8w5<+@7~I4xHUT*F=D7^b z)}=m9Y6093&}`8UWe~fNt7`s-6KoHtqEGXN%dZ+3%eSnr22Y3K(%@45iP1j&tU zuaCHMyrG_y?g?&wgN71SX+%L23deL@RaO82%ho4y^5~_!eE$dX{ZD=(j~~5|q&mf! ztLl0_@RvPWCcK1uF)daPn1@Hy$xo68yxR>H{BaMDTGT@M3tisb-ayd+ki0i9Y`{@W z-{29tJz2{!w23=sWp19RHw6EKhOT;$W8bb*eP>glMj2RuHpp^7gBitwV2S1-J1P&y zd#o8`06FKoiqn#LNskV*5H!$aAw(rcuz>OUsw^7Zm{$zEaPh*T-WE~{c_VKNNV_ed z@!9ipIev5|SFbh-t6)!y0`w1l&qH9iW%5Zb;ZwND4q8B?$!2t29pLrZymitCZmIrG{8nkh55Z*oW;W@33{o*{mL2FJzbpSFN1h$Fn!h-pFn_85# zsDAY@)c!qnCaGeR$Agba&~^?MKv2YQ^}Rp+)LAf$a_+^^Spnc14LYcj6}bzycGL6i zY{f#KpeUSK_Go{=?g)VA-eXs{JMB}4&VaQ(T~UmE=mxFV&b7|f+sYS+(T*YAkq&lm z=(2kz!+C!&J!uV$xUiT2gWtQ(;T>J-^0xG4*9e3OPwbM8vn|@pS{EItcmMh8OZkNZ z@JFRh9j$y(Og;OvO4;=Kq{nEo9Il6>n%Y^kTwtGD1x;D)4t2C#nnyqSzs~Exfbrn^ zn^r!iscu%Ik~^KjTX<4`@csvKa(pB|KRc7Z{o7y4n>VjY;qDCj`eFhCRAPY+3lTfW zb(B5?0S3|EqA%YKr7zg+>(eTH^;JVvJY6;*8uJuDMQ=vy>uLMuB@g{*1v1sc8^@T; zh@Em1I2#k4tN@K80V;W+4#yrO~ zL=R=2JL-DFCQv?v+J_+J#Es{`etZ!eN1K^L@>m}XH2Kj-AL(~kK!N=-y|K<|lM#k9 z4=68sJkPzP5p=M1FL#Cyrb?T~E35-mfGsD(OgKr4& z!oHPRHr`cvR*KFbGPy$YVQg3CaoX38E$DYFB&L6qIWMz92~|?>Q}p6)b6PKhJK&5+ zD%5%?N7hjahfL5{mQXG#v6-alMEd#L?A1Us0G)uMjT+?1FDj3s*`tp2r!ZR%>tDs!uB2bgTbZXUCeW4 zsU3pUj;NJo4vA^2C!WyQp|vE1qeBOgMZP&2P|Jap&(vnb;gV-TnoZlBxtH?V5Y zIZrLKl?^M~cTMv|-j&`+vzrw2nL{Oo)apCe+WoF=Y8wg#%+ge=cXzOxh6l`p-swT* z2}Z9EvlZ+MPuc6+Uct$zuEM%vA+i!RH+jLvO5gw-F%D5OaVpP%~HW*I*cB9c+hk%NQ85&SdGM%)hv@}^AtGqwdTFrLB`cB!hg`_Bcm6*2qU;+8yd0WzV@YU)eJAHKRZis-WM!H8uMw#}E9^IR+t+l7oS`W(L<|>}+AfJacU?h1z*g9d!KF0TY1iXgciJ zpaIUnpXyC4=J0F5B`uZek(IOSLnEIB*sivve%1=Mbp+qVK`aMr-dDSLzv_eo+$Q&! zN1H8B6rdD&GRY39_b4u48-#YxLrqU_gJ)k;Y)rJBqx66gf z@1Pdml=g6Wvol~_&V97b<@ZibN;#jF_Vji)>f#CHh_HA9V2!Mu9c{|*ONY|EdY8jP zTNeuSe!KK1ElYknhq{pUas6v6d4~jIi{?4=*5vIsEEH(qz=b~{k`~%Wo}4|FAAVZW zd2}Lw{kK1pFFyaZ47Ypttgw2>z4hrRW3f1jO&~bVl0%Xv2E|X2@sY z6}_9I4)9zrnAhb*mpZ%jf}KlOL^%X(gwX`8*bjgaX^s*J1h4?;Z{EC_0PZNK5MT3Q z^nH#pao;%SB9Nq4I6ZWk&v~Cx`<1cjLC>$lvWwt8mgQV_Bg&9Ok7r7zL~u;d%HyN% z^IT>lg7GJk!T~ zF|84r$NFL2#`;1Y0HJYSTnooQW`^~DQrZLLW*)YO?f10JIxfop29!5>`ngesEVGWM z;TE5Vh(AqeF`{xCRHZyd3>o-@^AMTHQ_fP#Ib;B!$>)@GY?*QoX=6!=Y>m9DjhA%{ zJ;{G#Rgz}>ORq(z1V7d?Kjkw18yU|8CZ}(%4vrb?^#T-1lilfM-122lE(gY!r`%7| z;?55`cFmM|%ai`OItobyw?5Ym>8Si|4EfFtWLw?Pf?AnoY3yp2eb10Hj+`qiOw+7e z3UiqEyqaksEabT2LIzL^zUK9g#kG`GE9$BtP2jVi_zq~*a`sAUH7e%K9Sb(K zw8?CcvA)cP_p&%$#7O~6;qpwgOL3982caW)&`JCz2yL; zc00#!3WSqAx;>aj9)qDKzuDR(2eKV|4XC!>SWql@`dMJOQ9&jE(0*vr6&kGT;41a5 zH*6kw<|T}aKz0F-V_zONve_-=c!5FlUV~Rbs$ri+z2=|+j7RoW0szt*(j4C5H3)BG zK=D<9Mf+t^2nOJHP>)l18+RH&5U>dzws@Mnud*0rb+7=?<+ebl^AmaR`#+SAe(;av z?D+=;4nI;aVFdNl6-_)YuVabURt%WA7=?SI4t0QT5Z{9Nnddpu1P@b`KR_|GnE_e) zu1pG-pi8EU3{~shZm*t>0KR~Fy|#z8IC*>6D>#GKc;QW2CkVKxa5-5!(cp7(Fz^V? z-y~I90KiaXFFK3D%X8Yfsh z&L*3dM$}K!KlH(!*sAx!y{9{sWP#DNd+Ncpn#I%F`Mpgiri1GzBKThy9_@lY^m3)? z#6kvEMz))Em1#k_kLrR>u!pjQ#;|!k^)7>Ai%K5Ea723;+PzZRMBlnG_c}}FnTFedBH0u+1Q473tOaE|yG)XyEX;WXmz0$>-v!j(fJ=x01b}c99 zyRz5<0~W}zurTbc4*-CM{d@Yd_q~J#Hn&fjat0C{oyHRcbX7NhtpP)qM+^Dh`+ez` zPUX*6Yx(S#1s;?|o*r$j^l6Y6!ToWcO(F>aO0V=)7KAQuTv&6@)xRYaa_Aji=w z`k9s+t@<{!iVkmw5``0>yI(^DEBtNTC^(wNCqM#oCaV6jD{C9y_=(i13hI4 z5Tlnbws>!fu#cb`8=)xSAg&oDDd^S9G!m@hJPb-m?PF+H!vhw1V!LJlL!1LZG`4qc z^UwTl4qXW+gJVebgvG`*-gn+PJguH*;rqE}aqNSl7cilGl-l6mm<9q|%BRF&eE5z5 z33;6ebt9CH03^b9rZ)x&G#gv1S27kVsO=oRzvoccr0=?VO`MzO=b}Y~)yx|=f?(Jw zu8nh0j)Qrp?ZoRxz|XpzFNm=GQML%k8LtlreSCZ(&!4~4`N6~Xu>Ib)Fwd{^{|c=F zACQ2gZNA^;|DDhO^*EgyD|9wT44WwFcaEtN0?0B4RjIaA`Jd0p@8^Hg zSe(~wW3X-;wcH~A<7cT1t9>h>M8uq+y0Acy{7f;Cq5wKeg~35HH-$>cOm%7(m{br8 zBN~IWO3socPpZC^M9!^XSyNii!B|F-2{i4Z_H%9$9@PUU2YAg&O_M5U=BN!T7+EB^ zB9lDDN=c#Q<79}}Z6+h3!u+#0jH=6AzvmG#rR@!kH{Frn@RNn~*7BNuywvLu+Ioau2y;cw#>Y#NxNhS*iehvv~t^3S6BGxG@Ai0s`&>&mPKi?;X zV=`@;b(>v2Lz?`Fw9aE{r8(Auq%^Z(mPhE;YT5YV*)!wip^d9`ul6N=&OycA&z7cn zr?n;TH&RT%cV@HBGFKZxAUB1gcnp1Lr8|yx12d0MJC-$}@(zI3(2B+YxD1F9bPK=3 z8yBY-s~u+rkja7C!QxPXsj4Ti2KDL8D+3cf1RG4N;{qdA@^-gUh?()4=UOifWU5`Oj_yLi*nY4ef2er8H)9^`#yO~8qIzB9#0E(1HV1%hG3Z7EZY4dC zI6&JzxK{G$UaE?jlqe#N1|(6wyW3L!yK8y<^=o1^UP(kLRanTBm9c z8i4SibW;Ji>w>4j${1xcQk&SGDXeYOpuI=9Mp^dyz?B7@!(V{^(EiGv?Wh z^o-{DTow`(rEgA3o85>?a-d7>)fL;yO$Xp+Ke`B|`o-1*EcCHm*mPN}D)oP|E@d>l zE{jPA)0X!Dm4L|lw1tj7Tw5FvI$6DSiLk-SW^jAZc9fEPfLnis_6!-90f9TqDK7vH zG8S!mZQpAwW(}rIeJEga1mw@DF3>DG%DmVe$;t;_xLXC$SVVb!1t5K`0Zxxg|MKW) zD@O=Cn9S;vdOw?_5N{ETx~-G-QNnmFl%d~N7{pJ}I>)3xc+S3mg*SGSfz@)F(tH z-Xo-aHk+Ell?bQipi03RJnsh^&koYOq=%7@tCuUUP3O5=+5O{H-dPNS!%}XGO>Wd~ zu_#%<^uhGQyE|jbhwWke-ECPqzyBG`#QkCpo+*Pchk=B;5iC;gmoO6$kiay~c?eGF z$xL7wy>+qi78scl@bhq!q^9L9R$$4&K&Ggt2hGK$vkYX37{D?FV?|a79;8^^IQbXZ2_^nBfY`A z#C@3G=uOOP;5|S;>?B^ac44FvQ>Ni*2yH9=Oox$5Ug{|VgRrv`*Z4V_b6uXC zw2e3$OKR5$Y_TP+aXg!8MRZcfE`;I4R*%!Gw;nXa|-5=W;897bDe)x zz&p3S77)<1P95U8Zld>2tsD~zvK49<8!Gc2q)Vo0O7)!F>?vQn?ikW3p`)lMJ_Ycc zrgj$hn_e%s!kCnOZsixsxq3_2T!#s&x3(m~bHRJ&Jchw(E!(l#%p73PdzRQ5XOqz} z`vVl(7L(skq`3pc4kk&{EBBhowE?C(OO?!b=n7_*^j+M{fUMnG{q(N!N^f4?eVOb1 z0baHR?7_qMV1fElGT{vikT9C|u?}$ewOworfKm@!l?NCUlr9QnS}hU$t}nksYjGo8 zfu>`(l&eyMS2u%veL2XN7x0qJs(;n*%dvojSjOwtlGX*@o@`~YT`L@04@td<*Es*G z*wz97dLdW0QeK04i(XvbC`c-&QjO%JGRWVReYfYw^2x`a%K!FX|5x(i_kLV{JJn-5 zl_(ghERq8HWYA87l=XIlKDhUwYEeTzqd+Uwj|5B+lQuZGCN>IGAGa5K?B2#p*@N$O zjCj+|9&pU8G%GmUxm1b;iY$4?WT7(&2Ay2=7Ss-dp(=io8B5Ntx7J5_y+7&< z$mxA11URbz(A#Iu<~fAGl!Ur=?4fBT3OwUinhpTpuFx|;TX>gV-5gY=p>;{`AlEYPmgb?Xsq0LB17Ny`2itJ4Hl|W0 z7W}b3&*6Rbz{&P7s_cV;?8K*-dXuF{=3&Z#hapYz_wAkpaIVV?Xs3gJ&bBaOQYURO zSG}E~gS|M?K!lJXsX-zKZwq1`-DpFd2i1d}^qsgDy`2l?eY9EXQv+8w*D8H7tl<&6 zG*7OD$;)UprxvU1D?GMnJ18VsJ^`)JXAC@r9>y^zyVe*ff0$8vUZ zULf>e$gltIv(ho&YM?(n2?3pcNZ`CJK;yE!u5JLQZfp^T_dc;j1oXu@+`p~8-yM@g z;C$cr_I|7$AaPMWyJv<4^c=Mv>LQlF-yAk%K~;5u1d9XZyR&UsFhHBYlQ9VE=<+iE zE4b-CY~PU$wv8u>bTPBs$D!vOVQQ2hpvN-rB?QQnR=~z#=%`PPE$eYZ2;$7|sQ=9S z5upIQKtsPWe&1QMUf0Yo zAuP^KP&z*^%Pnd-vpnWNo8=LM{l)YVI@8mc?+K-&mNOx3)Mw`S0UP&^3j@(Zc@Dw3 zMX=5H(F>a1#sIu{!2=pF`qisfVJssPXiV>A>WoieksZT4GCj;2_m3bPp85z%NUwN! zLep01;he(#i^sLG)l?27mJ!Mf_61L9R0J%BhVR|0U|#|9JNH^lNuv-PD8!mh(tq@L+mmx_VJweT;ZO9 z+?XY>vor(8b__Wa_h}w_&S#v>OwunBlw1ksB1Q@hirJk8Dq!9*rz1HtXf%2Sz4CpHEzYwe(N|!&bg8p ztAaF%^;feU@{yTYmi;VGt%QSfr=MfN-D;WV++e2e*nE*Q_YI$8Vqzkvd&W|4HDlgU zHQ&vUd^aYZZ7fX&05lX2>?AS`<`>{FCtEi0Cb*#6dzy-sGri%)TfdA(l^W1Yp&aaQ zu7%GEkvavIX7KgeZI7A{k;*?^%F^HGS~lKC2mwK;_2yk&uhsH5DZ$jLWhB@UnGR$K zk+a9qav?-5)!BfS?<1F`$8tPh_)`?N{j;?GLvjjblA6(bz4JH1 ztmvg*O*FOoYl{$GgDFi0x3+sqIsEROc*=MCo{&e|-5YRr;c>sT+E_hd@_Na!OGUX%TzTzdg22szw-(CT$OS|BzAqC<5; z-h%fNO|QnevwFsU3a^pMg9pv&+GCrLWYL=}Cb9<)2tE2u*S(;%W!AnS%L>8rR!e(C ze&4I4$YI>6SNo&mtzPr``k=7>w&Vvu3;+uH(FnK*E#y@>etrB%E-`shPt>HqT(9dM znn*KnlyS(>1Ms!`rY3K&^jY8F<4zx}=p-<^?8IP`O4Fh}Xc;IxQ;8URx~KENdGJ7m zt)gs%eVD+$d-cj(LPvUV;0#ZHltX8LTh|j*n|M&|;H6Hgdrc-5V7dZ4krv2mAdkJu za@cn_H#;q1yr(xc?-#h9Lg&)1)I$~!<1l#J=HjS<{08e?S_gK(wv2#)S=B$ho9*1g z+ZRwEXHzD<2rAew5hT*m01%CKZvjSp#3)(8Ga)qUeSqipGHKgEeG3<0NyqinA5{Lu+6tP2o~r=OZe>p~98@Z$e2>6|dn+qg5j56&fNeD?CE4v zfd3D_|EWBG`b_?Z|L{M`fBcKTC_wzT`h)=%c-~y?`ba`c8z@S~|LQ@4n z-nzmdve{6$-`)d)?%Zcw!@HAia$NNibZMts1Sy3#WvRd8(jmiERFxmHH08T}f%_*2 zfQcZDSZIOtOTUomWbR>m*nYR0wp)jQv}Nl0Vk4v^aKttb_*c(Wj%7f@MOf_Q=NSAg z>JSsSM%YSkUU)16AOiRiz7j+Nz~Xm6XF}tzzWPcfIAWUV86CZa@m=)ZWf}+=`JQQF zo}>3MHiB1z=m>0iJb`BPfR23)%RMeG6WsGJ^{bJ7N^S5J(>7f&%eB4;dYPYv-~Z>{ z-qG86zD1AU=#|XHiugOvkNSW|GNmzM5JCq3qr?jX5VBr)z6PV3r#kC9zGoVv%**rV z&*kHfKi2)e_~MINRx$WuOm_-%)hGiKJ?2@r&>x3q_YXe(k!&8kpC7h=h^>Kz26S}G z%?Y=8FOyePSVROdY3&_JsjDvN4mn47Ht}rs^ERI1_#icqNPcZ>Brv?l?(}?V!vDmX z2iZ!c6p;;)#Yn>z+^@o3o7U75J6jQ{d?=J-jaO~I=US}pG~yGLnsquE=8y)SGkKmu zn$o2D2(26QspC@#kUpRpa;+2!s#dn)A*sNY<(ontIqvnZ^Ed{!)RrRJEuitMT2oot zzB$R{c9Gi&^x02mlI^G9c!{zJ{Eq)2v?vgAa%p9rJ6(M;+Ee&=V{(*j}RMU zs~@+~THCaPnwv@S)f}4Mu6r3bAn!iE60#Wb6%KEPD$S@dyY<-NrlL6y#v4zB@12 z`igAr{mz}`yR#|q5%+HG&Bk%F15jGQ19;sRXu42<3}|AH#~&03B3K>*bZPLv^7p2I zj`e!sfO=PsGr5N{j+W!?LN*JN2Y~*o=@?r*=s;Xd!?^2B7NB342W5}P?ctr7sP8(c zZtV4DB}2LXKJC@3Q3@RD7i;N{Poz6OmUO%kIVpb&3|tjzv^Jii&^p1J5p87&2tC*% z`~_4OVlH1_j&fB9()Q6K`B(q?zmz}y-~88dcK)n@kdG zJIE~_(RJAYNMR^v@w=r3WHjIdpn|V8$X-gWo7)yYj5m#{KRb@ze|bBwg{slLf~);% zU#t4klIuW#M(jzD6oN+pM=I>o$NMcU&i(yf<>M&!EqSarL54k0C|Yb~i^qt?JmUes zq3H~d=i~Kp$^W3&!NLO0_4QkLWZuev^Ow4YWCA1+ZVCu|U7*=754ZAYyOO8JOYe8O z8Z58%`8Hr7v=?gaDwG~8+%s==hsolgA7-JGGO@0&b9n8+7ByI=E)XCPpvgpJZ6}@Q zf7IV7e^T|Haph#!HdSPkAut7!QN5=ZJ|RW0Nt}1Npwz@dJ$7}`2N1RV&SN0eVP0zH zAwM|FuzR3;Lkm6f?RtYQGGH?88g4EFVFE%Dsops4o%UOD}O}(FDg0K0_s$&kXY4kh2Yt7jpyxBAs7dlUWGUM09 z8TANH21`+E&+XZ0Aso}x&$(8FMhd9c}xddBRFF6 z*kO^NELK7584GwPn{p4hvG$6^!@hjp`conOs;n9oyOY`d|6zOBe%G5lVUq8FQ^G#N zIcyQ463!8B(({#Y+0NZOe+eI>cXI@u1cH>4pqDS;F}!D~Q%z_J7|WoEI3D{0KI1z= zVP2p6M%j?KMF1Uvc+^^^*LQ@U^YV$HGy>GQt}^$Xr-4!;loz2_b}SF%h2<21dF|Ij z*~cJ*^PrD&m>cVc^%}jmBc$bT489n_Ew7DqB48iOVjf&^4wmN|uQ3l080{rO^eCYc z3{xvVzXleO>Kme;O9#v*~0MF&L*r-_6l&p}LXq>B8pLA*9DoD_+q2DW&P$jEY@#pHluE)&zU&_-o&6!#~cb2+Gt1#z(nR)jo!R-RV6y4!}66-3IV=FR= zP~1erWx_0dVme7{&asT!f+M$47-X@r)OPK_nBA5Z_PsZXTFI$ik)UJriGDPMNv*Xs zR*=ZT%`!Da=YjQ@xiO_ybi{uK0RT?M28SE)j9X|GX;RvgwAKlZG|<}e6-@swWULLd z{uNeEfX|Zxmrw`YfVdiv7j{Dk7M946`Tluz>K$HgmDX%}hxbY1I+$BFGk zuZF2zHAqi`ZHtRM^)zRhpriHox#eKicG`Ez>cjfGTpOx)AURZI?ow(}MzKfz4sD%1 z8?T*X2LM)}#}?74kG8T|FBCw-drv*(+=_Ms@Y3EO!NJf8pfdsyZVKeM(PKpG2;P31 zrF}ly6rf#TEP@p-9CkzRcG;U3CG4W}j+(*EbipH8&@ecrt_q-Dy<)AP{P66 zAa7jAus(23CshT{eYO2|BQ$SN)#W}g08bnIb0ye3Sj{cdCQlwPr}N-tNop{;?EQSb z!HQ34y`LL)2Zwq9guT^Em#VbKLiLylKnK$)PMyjXsJ<|CXUhcbrogT@mscvOflC2A zUtS*+&J!Tt+#a-^SL*^=ch`DvxkYsPtDXD?3kb&x`PJ(yIp3b^q69#3U-RDXTN;ec zVI3%a4UiWmx(g4w$Uff5wU<+`z?k3@-svcVMS)x$CzGQ!@7-{#fKVrh8t84%d@sAD zOM^5IF4bc8d!=+f5lhyRRQEQUE;c;Avjgs>KJIEnJZGyv;M%DEx;v(+aeY|(9B`VRDwXh*+!eNh%+milxEbfdLT zEG46w?N~TaKtX_@cO-qfp{(dQm^Ke~wgX+90z^9q-%r78^iri= zMo-h|`AaWYdOpWKkMJ{Y(c75qiJrxj*oZP8^n!-G295*t#JRZ-zQb?uO2u~smmF6x z2qDf*fE&|zpLcEa&YpWl)8jb8=qO)NC&VeqeQ-8{cfO)0vq^j1PJ%8HKohugKY~$s z5%W588HxFjp7j_5?!~k+jWPc`H}BC=i<#pRUK1~r^=F@brr;kk9PA_9! z^!YU+jK;?IlzX|)GaAQ0gBsU@#0(ZOu$TcmVOnUrltrP8N?bgMixa%|)2C16&;IP+ z*XuuQ58FS)mL*K(jo40DQJw#1=QN36KnQMf*O6RlUy%`ku)$P6cXro;l8rXyVNo9F>V3Dt^HqI*KB zoTl=clq!#k*J&)LB`Wg2I|MNF(ak@Y|MLFf=bx~vG#$R?@He$o&-;JYR|LP3oAYn3 z=W26PK0%p-g6mYSBgaecIb8FZl^Jz&;YdxQ}%33~k0YE2blY^|n(tT&0!t=Rpn+I6e46mD> zBULZ#S*hGJ2x=w6e#-K|E4R+a|7pFU1UFzFJ;|Pk)Q025VsC1F+NP8D+^#n*$1reA zv4ms-s@V)u(=MqAnL_BPg|u_Gj^>`pZ%Qe;FiS1pNxme_GB4pg+#|(v*C&*DqY4fD zZYBMpZ>TnSCHMAzQy}1`z>wqhM$V46>cI>zxz(yy=!XrkraL5+OjsTkDq~@41EW4R zeq9FqN4sL{8w;AYDBu9h_GAOlk`(Hw=ikB}T?fVigh5;DQ!fl4r%uh;KnwaOcr^}( zl9sN(U3lk?1=k$P1n_Dlx7W7{Bo>&VuJR{b0$q zmooQjK zm-V7|&F=zP2LORio1IQp6W&oKqj?>uTuqsTZpv#IUYCWNUA4W5_g1z=GA);Z0VcEG zGF&1>vovV>KrK~zF+C9+??v6tT2En%pWFL5eoK?_MxAV+FUeUYjCMN}1uE^& zq*!zTt)%Z(Z|lY09CR${YX7i3Y`^Diu`J__J!CI#D`X>_BPfh|!BJ*`pe{n{=vB*O z2p$PkcfN2KAtN?=EEBc@EaPwV3?>kzoCbcU_cJ9vqE|Ba!HZD$J{@TOrS~zR^xT6v z20`Tc;yyfQgwC;y_+13wb1!S07wP4>W01iJ^<%(Do)70?-Lb5A&6vIjsd=x8;FTbo zLHOp9D=e=FqInI}MJyixU`oBj1q|v%$AE*hwb_@$^xiP%PA#&ZfrYCZm1}!RhBxB1BN=T(GsnU&xH3IW+ zCp&+NE`Xk}Rm@V~I}jV&uCcH7jJF??G%hD|XlFmh-y%Pww=;*2S!9Z9!WXUD8jPOj zqh2|d-DDma^WbSuX~N=UWLnJ$BZ6;fXA1eDzP5i?5m);?ayjF>S(YrzBaB$3VZcICRne^*X`hTj!+W9h8+y485_?jQvF)f zv@ti!m+)IC$?$&6v15wmIRn6i9Mq{!(?%_=*lHuHm%5YBkVFmu_&#rEB3=Bc-WlbDvV+W)l`K9(;#iI_9B&(s=Jv^_1+$s$1PD8#4yd72Mq z+z52$jU-5F2q(a`Q)i^Yn5TTFrozHfGx{8ETHm$JJV1H{%m6`0n^ZvHO1%=#HXHTI zv)>(7p!-RwsNcczUBcu)Yr?x0?+Lr&^>xPs?%;lRhxR4(T_h8OgDq1S{~ zF1=6f5qRxTEa;f`XR6Hv(6@)@UQ!v46+D)^t?4Y^lyqE|iPmnAzMM0!%5k_Tz#xKu z!NXZ0ugPF6vcW&NgC10^!75KRcvp|*=*f@e#V3C%$Im_~`CW-&Y46uku0R~Y^DN+B z8L;mygu!A#9X^AH=Anafvmj>bHSEFIhRmB-XAnF*{c>M_Zvo&q2xxsk9N@G4QT9QS zYrDE`?*3r11j*r{o=41!9fuD(2{TEO9-uK!jKn~wBi zX#tatN`1fc=vX~F@mM{Ap}|Ie`}#`nFULo&@4MZ|yDwkJ2OoSOfBBbxp{ax4?0#`1 zzqz{AMU0httWUitD;Q%R9BwbjSfPQyHNvHu2gEIq%|G%>5?HICS!ny?P2?UZMp!t*-m5{=AO@W5qX?y z2FJED-)A12j$8B?j@r@$u+R<$z{F=jL%s+!@gfujtfu!f0~_+1OdIwifR3Ka5vWEG zNeCUiU!y!o1jhG4==nkx&r9!G0@4VdnZ}sMIdG106WAiW<@vZpjqCeBYn1MY;FtBs z^fHhm7Y|tPvFu`=>AlRf;yu06q4CUX&2^xW7kbkZfJdkwJ&+?fZ}-UNg^i8g-MkJV zJ-&xmH0u=h1KUE~MwlKw-J>iGwx9m-PvzhKyZ`FWec@qy*nTftZjL0ADZ63?Q`5}k zKUHVc8G-Lp;YK|$2j-I9;W;%H!ogIE&Xqnl6I)p)Bde?`@w3$Q1_7V`Kp~)ve7fB^KcPWRj+UMw-*Yl>ZQ(kS>YGfHNtpv3d&g)I4uH-xRS_ zcpu6uvN&Ubxh@E_<7CQ^JPm19zRYbMTShNkpSMd$7w5t8G(1W2Cs8NqpX6s!@Y0-M zC+?5+dNoE|YE@pZmFD%HYF;ETgULC|cMG+5&q$VLyVF7r`AhSaoO>n&HE~RQApfD^ z&}*3&sj?ikE^M+!Z!KP5eBvK%pk3R&TPqYvk>Is<9gHD1IJS%XIt2Q74dtY-0Qg;q6(pj=BN^X4QjY*3W55aU|GGnw1u_6HHIP&P^jS3F|hVJCsWf zHj+a*v!kkopFAlkwWX5D(Jg=Go*r5$kE=$P*)&-;Zd{t!rX4kgR{Gu80FTd4HyRx4 zXuT>hC@X-5hvzY(YcDMbVYe_T2b3fw1g>{`1w0%K143i7DzkzEq*VyLH0Zo3=U%PL zV0H<~1qS)*)k_kE+a-EchIZ&5C(QN@N3%NGsVxf!yU=}o9 z)vjAp*Bk$ zOO<0WQ9*sU+p87t=)vAFaT!N1Crj5@2Oq7U)uc_^n0lTrR7Pdt3N=2^a8Ge)2cJUD zWnmMtMFE88+ocBjyIkW&y42eC`oq0B>v_se6CA^t$3P5KNAV5HP z_UJ@&ZxeL1AKsEum#b$lJj%_ReAMH1yBpJl#N-q39>M1Z=vLk+d{#M>;Sfq&>{=r3 zwcl&Kaq^E#>O@q`<`R&_`4hF*KWD*?s0R!dzSjwfqXIVdz zz5wXF?9~GpK|ZsC^UZ2qVCs#Y8*N*H)%WL`a)usIQ&4rvDZ{*3z ziT1@XKFEHIemOvSyH9oju5?x2N~M)N;3U$rDE0s8`ya{w`Ty{Ll>gU@=kkC3fBe7Y z>Tf=mmBQXbZ9kK|@#dF0sW)&d0I6M7c%SbKa3%aE^}gQ57GX>j$Cg(0T5kwEJC=LP z9xy3eyF4G(WifN1_osUXI}h8#_IumVA8)ot8kZu1$_Q229td6u{|F`L+gt*IKre!8 z!dJ*6M7a$>LHr(NC>TT#-}8wbe1~KAHTY`-oDsHCN15lNL<7NVOeX;-_r(?^G9qwh z-lIqH81H2{PtMQx*rH}}3@R8sq2uB_H+%=LUIJa_kpPttcvdz9+`HlL}IeONO(jFV*fG2RJHugypk->cYG#y5T%japoOBh{;QE7fyV1?v>au2S^ z&7p7J|K8_JV93kRYBFuddfr+Xl{0mcCmbr*IaU|+xXp=n`m8>IGKbA{;vito^vF)a zqONI-WyKuFtTYxXwS1-<(UFAW3=k_d*lrKaCXf5(zolAbLUu=!qawnjYO|j|)epkw zQ>}^|N_pB-Zcdq_tE4viaoZpMN?i~889aF8CrS~!L$Zsz0{^|lntFjeD=ysoh} zeb@O~2nRR(zMd%60&a=+Gjy$jC8XUl8YUBFnG<+Hsz;*{nKZ@OrySnj?F-nDqrNdc zox)LW05U1VYOt|$ie)u1P6_a}y&q#e&DwPYH?`q2;$}**BIQnp5Ng8C5e-sWfJ1f$ z_e>0HLzg^(H6qj1n+T&>LahBd_hhJ~*iL61R4vBZk=c88GB%G-9#qLTlO>oAGI_FE z-hR_ap#oCqv?g_yNS66UES%J`mxQ;T_EQZ4YG34(gUO^c?c9@6sd_V;SKlA_23_Y5 zpBKPUz%by^dX+Q~7{Ih@gf3h|&Tk^{j$JR71(ZQnV1&efTmoc&Oqy#K$K z#nJZ*7FsHRS|~v8RQ5qV7~vsV@(Q^P$V@v61Q)l&_?2wPn`#$dn z5Ts6>gt5N{OdGVEbW&aN0{H>+M%5bedhsXUp*Oqi6+#>JcIlA%zr(nY_Hd z*eTG*QAcY`^l|~yE4jEjs5dMm6W&1g`RfZAx`j?u0Hv3Ywk3UK;?$qWZ_C{5NnYq< z_g(NXZGe~qA@2>kPMX()W9Px-Cz>}9^{=x6SFJV?RvY zO{PTD`+ak=l~r%BaMb!A70^SHLOpqXk>dKgzyy8V*CveEcN`2#BXDCD(@qAE9vN)T zrCLnR!s=jO${03y@W;WBrtIEJ$g|0_XNBf|idui8%8j^&dlL10Rd1$jo*63bp*PXd zymJdrxbBZ+b#x}1qmy#Jg+lF)3m+w|ryF?C_9oGSNwTKrpo>@tHrTtKxJp|nxGuJ{ zU28qy`p{j*{-#LgU2`7&yG|uCG#{!(Zjv?{B(mhOM_wQs;pK^Q4|1H7~o^t(5= zdwtRZi$EG6QIalH_5H>cF-qMG+Gi}}iDmN{9yvr@WhCQ^-?>}@HIlI}jwK|H@DXs9X^9%j)R(4A1=}~%&g;hjd=U~yk7uSSYAMG) zgXtx7ox@B*Ri-I=H&dIKUfmJmVoY&T`aOJRU_IuQUcSr|^FS};==~hG=;cdb9p`+6 z+l zeJzon)UV=#S!5tn+1r{{KQM>y8$0xKq`OI$S$5f1RT!EBCb`38k~A*V7)dRwdq8#L zO1Z|a66EQ4S?|TcZiODb_PF;b z4KT}{j1lZ5nR2rF-Zw)a6(2Z^%)!W-S6GFdG#Ecq{Ekhs0wVvO>7T$*X$8Zouk1Ai z`>F?+OT0d&8}b%mX*@frXRX|vB?bzNlc9K>JBAll1=@G<5rf7z8O$n4FwfM^I|jfm zHGg@M4}CxDCvtAhyg_6MokKW>cQR4RD0Tulv+VOc@ql!Djh`jZK+&l*#-usps6HqgJ75tR99ILV;L8QbUA2)5|piw8%`f%;5vUi-OL2Z%5 z7qTsb-DAjl6rg!1;1wO*B|I?SmI+9??t19#SjcVUT}fjZ$al~>^q^J%ZR=w>d;Ujq z^6sCAY~Pp5LsmF_T*_p-G8qa4P1`FVOa^%2)eZ1G2}bH3xb98M{-$~}jnTBi4ck2? zb+Dh>q=mO<2CBm`eb<5%st0MZavF!R-r!Mx3jYS{?NvL~y^9oGVq!Dq3V*QA=&N_OB< zwI5v30!iA0cZIg)5J4a3RsD2mdk%FU%}e6MR_guC>a})gg%7I$yQT%->$%-)SZ!l$ z8sltI+E%%sfb!_fE)Z~09cByIR{dfN7bs%9Vzk~mK2_j>Cu_GX z^`4^bM$c!u)T2HTU@|;dDA5H72cF~5Kx?mo?>c+(p)=VbGk)zY6*7b3+x4xz;lF`T z5@;Xj&d*&}@4am)Gzp(P>bxEK-t-N3FJDow=i?;;Ag)X+9S~_$_aSDAQ^_dA)=h7JPdIkW5S1Q0N{sQ`9e`-c!qjxH` zqIs{x7QI~~3?}5|-#LVhvLf@qdvkC-_Yh{eL{I3sM|ezol--EH8OH&f<8K74{EQ6{ z7GAvApFo`Fjgk`)q(?YAPYa=N^j7C_+^0Pqc-J17|LC>MYZDyLwVSzsLGTN2?kJ;y zEe5WfOKjjhrAOl8L9|19tjF|4IL$ts*GHg4XhVPg`R59vBlzdB|K{KP8~Niu{^yf) zK5P%$?|q8^H>Kvbs=tvPq!hqT^Ddms|9KMh2{jHOAyrm@Z;F5@IHh)}@*xgYD=&=TQrdo!8V-$pa{XN-K-;!8W!G^yk2f& z*^o<<5p}1z$lr22kK8TaiC1)%i2{YBG~r;iEb2Ge>%W0$bJnc|-^S-*Y)%Q~#dH;* z+Hy4}3DurbOYo#kOvz0J9U>EUY3I$&=qCG%+&O2Kcs(CLc!q0+q$XSFk!+2iRfM0s zo-qkpQ930I zKyA{QssYu8I|IMpw6U?KXZ_e}UiJqr(64EBw!MJ(TiFWuM*pT0&bth-1D+R95h3(vX&van@St33nlU$P( zk1H;EgSfmk$UHH|t@7Wec8 zSWDKyt8B&spc{b`d%3>p<@P2QSXL%W*H>~|K;UZEtM~F@IH=S`SJDC~-lYQ)D5(tO zpFH_QPCxj!GOj<6n_OVe;aUSPt|32yN8SY!gHd6JIq;f?r-GPq^!9I^j(WI`xdKY+ zHQRm$>{JwHv{$zXU?$tOMu*p`-RzLibb3dB+{SOxoynDeuMfQiRD{IDLMNSg9Jp`g z2cXy60ElVQ8YPJK?rCtnVbl%0pWBK5NPvjTB_)EDdb+=k=B$v9l zEoJ}t?Ou*<2RYOH^m@E%UU#X=hQu~ndvGrY)&1={i8mLWv~fb5OpZb)T$n%&2ICcw z4cRrreR8+xwajjJws(;K)41c)O*e7_m5t$KVrf+_yir^u%ich za{Xw@HU`$oD<`h3+r$8cW^1d((#|;s?|IZoYHd!B6Z3|JpENXd&AT3eL%e;X(d;#? zw?l!<-A1*Z%L(`fSTz8bC(hqFb3k9WpDXVo^BwD22??btDu63|v z(h#fVN`q1AZhSOZ=mpo!2DTPB6!l=9#+~MIKtJRC3*b29akit?XBPr=D7a3hTd%S< zey`UctB@-h)F;{1u-hONwzc=gnGwN6A=%>K)V$a29^7|rz?)Nh`lvoWPgp(L;*&xS zTpz$2edj)_=l1RXpg?-PFrDnNw4+-DJkwyO2bDP4bf$9+{c_8oElyZEM}6W%rC#*$ z^g%tnjq{g9yX~p`i+}V_=+D^B{m-$h4Gh6#{%&?0*eTg z=C{W#J}#aDc$(~(>Yxf`hI|+>L9o-Zz)SX z)Ep)lrv$@Xr#b@8=ye+b?|q9{(OW#iW_*so7oTx`ltWzf0wl!?Wr)116qtKoM@bE8 z7;^zMdV0tDjJnFv6FCNPjP)MNn)S#al{}W7;@mWLMgiu4yoA^>pdle|)PE*Oj$Yz% zE|q6butKUaTRHL zsn)RPzv($`HOg)@q0REB(SHjW@taaT)2vBpUUIF2q}$Zqz9SpFWlv5vWpIu_RqOJZ z1KmMG?+t@NQ#^)0IJ`p{EDoJM`oCHZ1pqG;I4>P;^l9`*J<72M12*M!vWI?i_F!Y9 zb(QVqpv)n4TgRk_&EU2+Hh|;ht$M8m(ku&v-WQq#=(58j@z=MKc4#+LH8yUh=_|0a zD}(kYPk$tjKm0G`u==ooPI#o69wM#|c?6ssAV}FNQspue7G>Ph2yi64HD{khIYd^; z4H17d-?VrEF~|7Ch?wSX&Zgn2gLuEY(EF8%$~E|bw{`b)!S9R9GrOjjIuu+wHt?;FG(#36DET?(dx{jyzi6OQ|MvRRIhV) zb7O6xl#j}4j5ZO|$!79Lc->Q0^wHTH_dFd;vLhKdZ1XENcC2ZmpGF>0*)=VjlALL_lWIYrX4} z7vdfhRR@{(Kz|A?+4~d*$VeaWp=Of)q*-TA@QhWv85glUn{K!No<${Sa0N)uz&>yG zc$B_Con-g7?HX-v)I}qddp~w{taMPIVBUhu#Y*iab8tZ*-p{#B2FEGh<5L(k%XHk9+N8qnrD@Wx>h=5!y@o$-1lbro z&4TxDuWsc&9o>iRVf%e=7EpL`2i!%l%byb*N+8v$4(ec*TG{$Heam zXR*;+o7adQ&(ZUnC>n3XaD}cmzOW!m51$N`vci*7-{dr{J*w|F#mTRpp%?N0XRH& zo|GozB!>d-yqC-PFXbA*u8onV?J$Ca3UUZZ>iaGc0o#6=`$$AEjTN;8zIHmxAdjDu zlt;V7`7uc%Xl#>HLRqQvE%AJ$3Yz@vf!X;rax0UVnF)CIWAh}hQb918l+?LG z+p{_G=6XF|rsZ9PyK$D%&gaxELF zrPWW)b-7x_6N6!&!tE8D6WlPAne4vnxjr)imR#l;@I7Kur#ok&fKH;~+#Cp#d9 z6^t2;{d6n4T#W;P0yBFw36S3gZ_`yB1=Y2Y`rU~gDvQTgLQR4H&Z5tEWdjsE*{ zQGvm7AZT?j#lgJU;EhM^Pu<2Q*OI-^hmnu0+Fl6Erg9$T!(zFTqvLX&RIXRR@~)f{ z!MsKVo=MNAkG7X%(%x;Yz~%F2FXg>Y{|i|^`eA|3OSy&TpNMMJ0;&NN-R#V>7XS-D z4=`t-NNR2%IJ?&{ZzFBt#DK6kT*sqV)BcEr*JpV88BbBieHx2i*nOuz&4;NGUtINt9O5b2;mY^k6h*tJ*hVFah#9Ixcb z`6GG$;(ht+pZ)*K#B-^jv`}b~0<=HB+R5>1ln(*kIxnl9k_o(5Ss$sB#bkDX44F-+ zPpY?nzvr^cKtRQ1XI|&#@?Psw!7sd-N0Y`94{Dbo$IzR1Iet$jXj=iNdRAfa0DxZI z$Kmz7Q@a6_AF~C|)X#1U3JOC+?OyekEvW}g$yFW*ueHxPU%WYWPEvQPTk3A9)oMkMgd`&g zB=BQAgH1GGY$JI*{PxWJe*Q7=&odtE8AmWC4i;k&B3OV)CJ6)*A}CoxD5F;Abo=Ie zzjV&7sg+mlb6N;2P~Yyay1#qU-nFY%ty)#+_Z+I-7Kr>C0sWgv3jn#oN?hn2T6+9DVX?3!_EaLMub`5$h|f_3arQ8!fU!`gajN z3-Cy2jMaNkiXaV6(Q!bi9Qa65331^v8jZt@BZ7PGC%ukq9rIJ8PsT_mx7c~Fc88+N z%7~+@$0)!t=x(E4J8)5O*_O(=mYTQNOj(qgF`qT)#7`G4>MI?vhf3WcJ13-{G0(bQ z!(yOa67@HtIO6_Lg?yF(m+f;5^dH!>#)k?DkkBdp4n_KHGDu*+2~)$=-!^MzS0A|& zZolJB_{9B>!kNd;Rq$HcRJ3~p0X!qv*lqw(2Ac9hOiunx00&Eo)>8+5K2VWtngKT@ z0a`NulxGSho6KtH9D?mFig=tVEzNHF%Sb*Cg67R`(!`6iBOXv?7t^fQ2xp6QjfiB^ zaUQ?xxVW{s#kOJ0huR8P^92Qr84T4OR`i)@H%^{B#fQMrd!xG$aB$2E&JnpApeHXH zHuL)cEU0hVVR&>8MYal{i4I^Ih-`~me6Xr5nu9C`((|o;nU;f}rq8zTGyMpGt(h0v zz)%C*>3e!5Aep{50G6V_34qRA*aSWwI&=swx#SW*+>d@ISsDMc)h7eWl&sw0_XhB~ zC}LP-oG9eXM@#u+kT>U=9Lg58+{Bu7OXu$&K}%%I2U$F9HmSclHIv*2+iP#K32iS#Z>|*EkN#g$pD2(^#Eu=xCF|$EHbbhSdCpD zL5}G8IJRQ-K!4X@TP^53#Q&lkEntdX4lB_RB#v7|T}2*bRS@ zp>sfY83~mPGw5Z2S*~jEhh(`}rwf6Y(`6HTZ+@$M<5UE?52@k>5b~TxDj2_KU^L&m zsB<_TI4r+yohTtt)C^6Ku%Nt{`+Nqr6jmI9nYjm*^ep>1u8VrKT0klDX+tVkl&Ps& zdOo5!w%N4V{qto)Z>(%navNE3E!sF+K$Bk-#1s_$`l0f-va#>tK?b`UP!5=kRk6be zje%Agw3ML~pp~^g(91N`Nq$wD157J}IvV)%Ju9(x(NE35K~f~`9=R+4Wk8z0S;tXo z2|5y)Gkq~7lEB*9Dy-Fs?}~za1QPZW*^OnT_wopwCj&1xJX|1bgieEbTc0 zYpVyKo2=IFMglfhfM~0hZAw%bGX=QiZfTvu?x1dik|^ARM=paSmp-l5VO67urTqyH zwL|qd8rOGVRL773TA@yGy+?`O&VxxFka`7tgoiimuJuW52G!6*QzfC{2)(zm*n*ox zu7Ws$vtD^+QKEebSQ`iBgz-j?>>BGi_3J(C3<@YKj#AbWa2a)-ZSxTtBH{Lx&vZKh zofOqd3mOz1Pf?kZ%^g@>SrZVtf`3;XJy5Tcs9tfD_3)zl`*oM^uh%?{54pVUSx<)t zA9zj$+$5TJWqFAYWFy*&F>LdJZM1+QT+N+Jtt9(7Z)}T?Z)m%2lEE~GZy5DcygeXI z62JjDb^w)bB3aD#(a@_t_Ds7$eApBLJ)_9(^Jn0~=@YPV_5@rwb&?N;BuWicF(0QX zgK1xUyD;@Raat!Dy*rab-HJr@_F6rfM-Z?93}z~CF_^6v8VmYuG@8^!oE>=h{0ttv z02~2LyxV&Z9EN@S56S{a1+>RY8YxAG4AzB#r3uBo3kN#!g7fiuwCIGwoh}%r^kqKS zQzPDKV!eNTjSnpC)tSdmfD8uj0ay+rUMQIf*AeQ%f$Agw)`!`iaU?&m-2rW{nbOA) zKt5wS7^?S-`vO&+cW5w=GEwi)XE~UY?HV6CII7^h?7*0C#I=;4f$Uyv%VZ=wI(nU_ zuubWev$)7&&Q!}o&tB34rT9=p%4bv2s5cjz61)fvOoPigZtDU4X4VL=e!2q70 z&?2@`aCEXLPviN4^t}O?Q;mMz+}x<3^)}C?IC9tciaVica;Ll$-Nj_o5shbIh35b0 zK41Kz!+@)OSyd{CwfeWTv`nl1ywi;D?TBV+iRWWWtIApJ;BxJsby4#Cg>!K3%o#Xw z;<$598xTsMtMM}voddnny~b-zU^7K|KltE-3>?#Y$|G}WTg0>3A&ML(;Q8rKf4U!% zN7vY^0nd3Mz#@}}VD2#L*S<4=76e+1%EWIO#%3jtIQ z`^(qbq8+8-p_3VewrdG2&fMZAgDgKQ>mmT!QU=E#z7!R(6hfFw7`&IJyzw`C-iTzjZF4OfC9B~2$mKBlk*i7ES7ijVKatQ zlD}sDF<*t@S2qPv9L%ss1D`YKZos(L!^PAts0~GmsoVxIo2*iUne&&?I4!E3%STDE zK*I$LGf3B)w0+%T(Y(s_rP}pUoXW&z#GrLjW=xkWlpF_LRA$9LS-#`YYitT-B+*s~ zuPpu3MMN##Cfw&~)uM#(ErL24UF(^Y3kCxXrZSaOp{NS_g`t@C70xU0u#Vc#FqAecCWiHB3X20Jv+_x_6}S@$kc>jAaB=0*s(^xINe4?)jwF_30Blhs zcX|d$Qb!XpVcfq!x8{KGR1_N=!dgJorx@)<8eG&8a71)z*UNlhpx=7itM5k2w&m1U z@x&d3LT#P`jY?b;3FRQdb>31rAtXn(n-h>Zk+vhSi$Ig42Bb!5%8heZK3u}S4 zws)leD|l!?X(?+|A_fC5t?w>5xDRH!WtgJ3x{Em$b(fi@_L-)b? zQ;#xT2PyZMz}Sg!aE=LdRv^G=T^OJ=o@3>BE9{7l!KOq#?+{SR8zwGB28sI_!iCyj zA2_=M_ne)Efk+Cfgaqr zU8}V@lS5F^WR9{(VT)VTE~8HLN213;7Feo{S{f5|$P!=22Tl?I!M9Ho9F`p&O!;AR zD*}foa-9yxn~dDC7chXI#*{bt;4WIgnQ+878y^ApIl5Wu&U+GczA_U-1uwNu9Gbzx}=F76iY2Jt-{%^3w_7WY{2P_DI8c`hrjls zFMvbqtMF^T{SJ8Kqjy1f`aFPA&aggF)yq7PQqqbGrb#j%j;XsYy3Tg?Nz}YV$dAAd zm}Ibu78lg^5b%~K*EyibI;7d7*)ILY=QJ7E%!dZ+0@rT(Z%NJMSo!PWNtK9&?6W;y zZl{iIr%#`P5|T}o*{o+M~@!m`!e6M0o(?jXHX?mV&rn>0}!oVR?f`PZDUuigXK-h z@~}kDr^N#T{`c=c0MC8iox9-kZhB%Ro8FuMZ}C4Rd^wuZ5@o01Mf|lmf#LLIj7J?Y z_v6fk3m~=xfM&P>LIACU@ihU&8OUybliv*za=fn#TqUp(dD|OaF_^!F(-cJ?iY)Ly z2zUi@`Qz}oxu1dzsaEME#e3NV-i8ZQ(jSs$f=HeBIrpXwnydW;`K+aFK&KO2&Obc5b#ndk#Gw%#rm|m#%7{ zOnpCQ@HcN)^sFHYpMZ$IY2yLdi(YeAI=gS653R~!i_Av_wYn;lroq%pz(M9#j$!9P zNT5vaY=dW}QYJ8@(bM)SMQw{cWbO*fDt8);di%f%4Z;w5HUKMf2iL=de7mVTVg>Sn zgQ-Ehy`s!0oR<6*y3yc81$De#xiPP%fGcgtGF=0poT$(^iUwYp$`&u4ezN9ndSwzN zB4mIHtlmXIv!=ZpaitU>d~qd`&SK>9Ze*fBL3*BZwETUmcG7NsQHe)ew>8S0I$Qmu z(*jNl7@g&9b$q-nGEdY*B_EF@nt~!$83+aevux3YqnC?-A4c)8!@S5?orwx$ED=ZG z5?r7yjulkg-kG{!w|9zguU156GMU2C4so)MI9igZEwF-B<05^eP^8B4I;`x!3RVtZ z1A8yIv4UH~GiY1gMaCQrr;U^Ki2=86Fdnj_AgxOMz7xa~R+skx9lB;c%G3pQ`@7r= z{=I#ETsdYtvB)?vD%{OUKL*3nWRz`~1C(jtOsA0gSKMZ3T)W_t9L*&SP!MLwOOOXs z{jBBa@&pKyUDM+FL`t19quAld9Iaxf02V`vMHV4!-ZSdregQj>I}%fUs6)2N&X$}4 zX*}c>gH;c!;x&jmYMC;JzfqDZ@DpG;L;Wf?)?^oUkbI=qqeC8jeeCi!SA- z?ddk76xVIbV_bp5eMc|nzbkIOvjT>jaPq;s;l#b4gpJdW!L&N2IReSbS#-N^(Zx)r zd@wDyF#^>#+h;;UnEHcwy8-S#Glfr`*n$ltPWTEkSNM6dv;zB&R0nuzx%N|J5Zs(k zqjxc?8GvxCMFbLwParP?xJ&`l^8!Mz{Nr>8;W8bVRm(vKI?^_Figf1)5C)TL`F7-> zsG0J=Ghk2IF+I>!7MOZF9JAV&e#-WU>Xg7T)(T^EOi(*FcNOBD2s z%Sie~*9%x8wqi6&<5ypNZo|=x+cO4IiJr)ueJ;7u^^DZku)a_Z@GdTd( zc1?)tpzjzVS{kz5Ox4m!AD@h*?nE(i_Vi|z;SAR5m-|-aSv0QFVi4KNjjgk=vAG3X z)1D(5FW+|zzTzb>fnx{vz+3;z+u-i^eH{7=RnMk75~Vzf`Gf^C*o4{^1xzQn%)QhN zyEIO!J!N~)VVaYo8C&iwbeO8yA8c$+^ug%YEhxU5{%py{7NS%js;p_EOV~}j>2sYX zMAvZi82?eCgHIoO^bz>fCqE7!|JX+>;QAPYt^`6G=QV-H1kxH{oB`ep8t>n~A8xtj z7P#rAn;5jU!x@#=#ao=X7}bq z&pdqO2wZmQ6|lO#4!dbLJ)sgte+PGFV&d;RBDE7_&%wTO*cw~hqydT~c3Oi96KUak5+xS%ZdOp7EAJSPM53GVSC$^Dj#=ZFcUhvYjcp60$hCV2w- z`;4`Qcw`5u?aGWfYpX-{TO9mo0kK-Gm2oI^JzO{Dj1~vRc3Q5ISmS>FJ(|}D+NMQ%=v*jKRe3< zEix<1wTn(|<&p^KaMm20&2mQ^2nHdq4n^NA8GC^_^d&`x({JoY_6elX2J%UYMeUhE z$g)%gjtGNnUi5kHMfdo6ikdf zhZ>o|HgmSX;y!^B)t~4hXKMjMl<14W)KPq^CHk>%F%rUh^!yH4E9`l6RaP(4kj!6HPRUx@YM!# zDub^-fDR4X)Gb&li5GE-Mc7uIUS5H2vJA3CTysFPWBLp|G|kE&{RzPI2lcsbEgRzo z%{UphDEGsZT$x(cDLOLyq#-?~WboO68s&`zA1(k}gV(&Zew9axHenj*%6yrdeBx^c z_!L~@==qsyjz&`&U!+9v>X_E)0s$!X1qPp@ZG~kzs=klXl9N~$K`7D{D|oU(PM6I6 zxNO4-mq!T<>tQl!FV^qV=;*p7wl=STBPi7h6t&?P>uI=ssq!8fh|F~u*BCKAbN^|UC9CFSF` z1z3KsEBWTK_C^`g^&FkMZ*3h;pWkHrV!WwDyR%cLc|n%B^=_YM(N30?C8iYFnig2D zbszx#_{lS{dfAb>&{z8hXc?5FmA0zylnq!}S+8xp2J5qBc-1qB@@5P_T{Z@l1){L2ua@=fMXkoV%!&*GYt{8)ANy1_;f^qT`)zsM=!8(0J>zSy|2P<`g0@_ zAyYX_XL`WwK(4!KH~l4~NnL!r^ztj=$gxY{+Na+L?|t|0!|%WAT?`s$-evJM5?x6P;d29zeS~37P>%ZllBZm#lr8GQv(0-fw zB5=4J8Pv_u&qf1c?=2cRgV`nn0^p6mnz*fru7v7r^c=z6-8tQc0n$0&9GOke&dC=Q zOKE)m?8n;oSuU1{p5<^|SXfzGgWa^7o^Yw8IXsl)|Eta`ZDBJGs@+{`qbMeNtki8(%>41*`IU>Z;%i&>?HMRJi7r-SE8;6cJ{pbhE~UJP?NxmAm7`R zTYoRfr=7zR!)9R0!^#Cd?=^=wd^*Rk;#IH^fvILzJvgt}PiShQ+B%Gi+DCEdNF( zQpfSok@rWM@DUo}2WX0Ez>@-p3%np9&M7K3($C7%e&$?DXgxwit|G(=jSDM3OIHY* zLEed=9*(f1&WA@Kg$eM(hmO#l57+n&T3pJVwop>Rrn=a1B{CJV;KmG zRW{o_1L^UuO8lLgc*X$U@qtkHqm=^COOC0i#E-cHk%+yy6x(aK*D= zY3(2wUxYMyv~?L8Va(BUkOr@&!@4b$=to*XsFU)^sziPI5NA4Xx1xhs5rY?Y&XpjU zkRcc|==@*+W833kV2|t`1*A$IEYX2@lS`hUbXuOyMzw*wN^@{$vgLz(%;vh?C~Y}y zwbuAx0g@QBD;SvPgKN>qX4N5yRFw!;0x}suoS_`jhv0__vTg$C;fWZQzL!ImdQchz z0#GYRw?&bm#C6z(9nY2vaWJve8ex)Glh7N(+g3-+7*8PD*6gbRZYDpzz1R{;af7VK zA%fZSMY<3+PIRxU{cG*OVOXtT@WIQkfm09O1E(Ln3oe{K9TOP6r=<6&eOmf*@p4iL zwkwc&db_}9m1%dWqH@jScja?@cc3ScgGr`b^(z#C<`&zd7tu$2$R? zyR_Ls7DvNAXmoQPKhg9=><-a+Q0y9m%mo!R0OxMyodHZ=K>$N1yHk3hO`zY%t`e|5 zVJ`bB_X?JuKEDB5+aowYT-#iXDeq!gt@eInyu;DmlTJAM_w4K8h0nYNKKk%O@U}DO z;MAWy0NtkSKG1Vl+X*fR@ZL967$v%nwzt-nKX=;CU5+Yu8jFf9P#NEI6Lpd&38{bW zrq4bx@I*9NyxqQsUC?U<8GI(H3L3Kvc(y|e3COj%T|O8v^B?>8rtfX>o03H^4}oO^mF*e> zb?yEP(q{0S0B4JKHfj#zptk$-^#)QC82#8|k8!lO{ZWK8{n3IV$s^N-7!aMylq0-{ zuU5_sR9oFL_?#oXE&6)j{sXYOx;F1K?xx-JL`Vx9f@01UMieP#f2(hA4u3~b4E}eN zkt+6&g5pCTWqyQvl$iZNNSwZy=1y{*1p&q^N@rGzdl;T1#nPXY>TX!~0DV)5Tkt50 zN8WcGWJt#H3;z+b%bi@Ngwhq6Cl(iITL+tS8?8gQ^4R*JB?0mFJdBpfm;pk_(dMe* zxur5d773>B)w@en10Ft6+F(m8kynESC~jbZKq2n};E~`-{w0;nd|1DwIFRgls0<|d zPV0{r6qE3>u1gFHN%QpC;~_8{%4(5YCh6i~qCW2?< znkY~_myJVH7AsDHrk4P?L5t2{&7vjlAa%5KRms`p6}(W==AtY+H0W$-w7?ZFcUaRo zNdMyCIi)c~=sIC-V}JxB0}lD9ov42aUOvUiY`H|8%>@@N|Z@J8}mfZiaTy11La+$ zXA%%suO$!~$FiUjw)!*o$;P}wx+mS1Co}#z&A1v37~0g5Eo8ikj)Wb}PtRkA=zd!d zqNrFucof$5ABMwMUk@kmy9*xq)Q4cYxdCPib0Qhe%phC4qeL1%a&8Mgb>bY{duAIp zD#EzD+;Q~qR&{jgAjIXBHCSEW3rph_us%SMy3{5dom_-xnSf^Kg?0ucoc<8 ze8$Y%4Z0wOLixe{3~bS}hkbkYz$2&5N`yQ|M^nF*NNuBC;rmCzW@cudw8V5uKulx~ zW|kT^IyDTDP??elg(rz~=S9H2N8y=S_Nkz6m_#Tv=0cA}rne8&VGvgnaE zXuX>!3NSTl30|$YnKyf`w7s390fk&?S)i=83Ry!Kx5al42$tDsm^t2-spn0 z{&$fLyPuClGNQgk6j{70Wmjms=?R!T)pWG0@eXW6{HuY}_}V=X`)+ z2B`DFf(Ah61O1F^*?6c8fX=|U<(Vlr41^|n5(1&=U`PU9Y-l5nhqPB z=pnZTK<5Jq?HPRd>vZaXccui%bR$-OSvc+*InpbE&-*GE-gTcX8~AS8O`nG(zyr-R z(83wPu?^jd=|f`zcM&~KQ+z4;#Jk|q9H0Ny%b_Gp0Btg8QP!=0t0e#n%riJqjxIq6 z2rc|Kb0h@EOo2mD(d1+VT4b-@Hx7buMwpF zE*zDPeRRdu#j|km8_LXq7amQgdK1e}=fd1%pbuMji9V0gE7az%I1Y9rg6;fK-VU2nSy< z30BL)4kGm7Y{J6YdX2JgV`VfQZ*E3R#-r`jp}^L0u>s9m@E_bxzyJ>oz%$Ess7TQc z?G@n9=VJF>y}9~Je{IW#2_ZqR3xx4Aah2h-2f3#XXa>-XNn;xw-O{!z5giumi_x}D zbPuWhMJSD8`DhZMZFXI11YP>nHjunbf23fxSQ5I1+TZh12*SmbEb5F7HS0zbIXPXU z>rfBu;t4j6q7(9XOA}K9nRfuDBOs<`LVe^G0-Ni48XqzzC%BWfAz)}}c??(Ha4TH< zj631r(W@D(4sasmHz!3iqz-)AwWaB!){#n+18Q9fC0nWhOXpSTOwS<(?Jo6@w#z3F zxR0?TFDO|~G2FypL>8#Ck-4(BM49C`hp&ptC$MQ_gz!0fei_O z+y}2D3$u5aO2=6mpsms|n>;HLwLQ{M*G~Jc54dVqSVg*)PRhG23Sd1`Y99s~J8=Rx zHZE{fEhUQH9F3goT@HaOBiO9Y83}6%BoZ2Ns82HGblVdK4Vv+2IFZ1#Fjqp?N_-HV zfF#dW3v~P|S!F}6*@Bqdx+pnf``+zO)#c?q`{CG)x5D0Im%~FJ{{WnQlkMq_~3JSaN;6_CXfTi_6&oB!%> zV+Frw+9w%A)@V{baFZg=P(&kOdnf&+bYT50pI^`m!4`~)ESOApsQx=Jt@kXmyl3A3 zsGjs3;?Q0lqu$%;;;iU8b7q6=E+F|WG1xHWg&DHRgk7K8+=laYaiPAz>e7S{R$Uqk zpEQ+gTJ8Df7Q$uw4#P`tzYXrW_W`);%!dItHcUfZugsjeba}FsmP=58^$vnk$D^Oo z1KjI1o!XYFn;PYw9Uim0+$PE+k7}FB#dh$*=OHnV`p#4qjCKzd+)WojBJlL;Yp#XA z^Y{KfJpcJGgtxr;N8w$+`wjCFN4IHQ`x}kE*-LHAaag=Ho6VVcUT_#Z1pob5u)TEZfl|| zp+g!8jJHT=`lCYuNluxHgX&~-9rT;qwn`57XR_w&)S2m$431?|w7Aqqr{}dYE)7T8$X%2~nK<#OzxuAh% z472lU6@LOi!jYm*DtE_^Qv2lc!hHLcq05)**cL6df%{>d%gx%xE^6n<2(hdX^2R}1 z&tb8-Yz3Ne$1dYLQ<+igANR%c!*Lb)+A&gAjAep;nFxazz>YMd?uuo#DJYJs3p zW@uJWAPb>O^d7lWz~H?#q}% zEDsr$re{al^P9O2H)p(}ZJJ&d(29OCqnSH1s6j~JmbRJI*YpFjjLNVrN@F<$5Xw)M zJoq&MjB1VTN1|rZ5d-I~AAs&=@dXZB4m7LArw;-|L~aQ~Q*bz=y$BK&nGPQuEsX_$ zrb%Vj1%L@+Xk`*AjmZ+2@mmIV2wqwED^kb(E z2St3QQIN|%)2KRLd{bbJA{l4BtmHG_vqs3G+JkN&UyJs|)JAj((YlN@>XZl1E^Os! z)J2u5u5Quuh>l}2W+2dPMGW{R-*$Ac2~2C(O|I5(nC=@)QnGn01@c6qIgBJ875aq; z$y&$vNnc_-%wKAaYQ5JE9);_k_i}jjQy+ncKJh{58Kjp;Up}ag9q68UxzBI)aPOH7 z_{5`U;K2(OEMDDPf#WG`o;h1V&ca-dTh&P(RVVe>rI**gOY7p%vi4Ki;n3ljBXOxH z#N$Z-bg6j+8&zR0Wr9Qr_=RWLL^aBgQARh*;Z)`V9fmJ=1yYRQZfKf55Si&(mVO>v}*I^QkYv z%}1|-7v6d+Jn+f;U}tlSN+yTOmR3)F{xBG~`7534m>HIZBcV`{1GHog)}gGI37rSb zr2;nj?owYWu-HQGCQGC@8w_^!u$y+%#g-_V_XRI{3EcLa+u?_Q@CV?nKm8L`mv`Xu z%P)spt8Jn~2MLI#XlJ6_AW)VfgbA3ngAB?3oIzrXavoAtnD0i(0NB`F zgL8)*+I2a?n94*Tv;o)o`F7p#Ig~8loEPO|)Erc2l9%y969}C-qUn{QrtOsgYI;B9 zxz5xd`T16cOe;e3`Xfh(v1L_34QAEQ4hasu@btA8 z|6eejJ{-GVB1sI^fkCjIyM*QjB!tIG)Fpf-FfV&>vJLvLxNv12yMY#0vB+vGTm}e5 zL~T$WsC|Nj-88`sva@ZGj~(P^Ahewb2Yo8!B%jiXNdlXse&$@2=C=$;q_3f|0Qy_zzK*uX z$g_a+aW>oElT5Ou@(!4EF6&o*V>*+tDHTx}0O~5W#-I)!ZALGbOP@E4%lEo5V9=*x zhiNYyYS&RP8k(%+@BrkG~cAKfAefHYdFuVb+O+6}T1@TF1b7>M%%P3m(ck9PAVZ~DQa zlx@CTng%s@h}tnYf;m$(4wN*Y#P@0GZJ}%nlx%&xVGzt-hrJxBqvo9l(C;id*pF=S z!a}c=`xlk&LB8r3IO8bTu9ck}7};5J{k>nQ&atATiCvED05depkxC=Cngb$s;S8+|9P>z4U!rU}=h?1~Dzyf@hc< zQL%@ZCQQY_d`=a#z2wH*VDFL3;r>7VL)bWdf&tV{>5Mk2%uZ~~;FFJ>fxAy^!Ud!V z=M|>hzzM>>J^L!Syd*)oHLqibE`e*Fegmwn@8iiH9a!4cek402V!4sG_E%7Qt*$z) z)dj7M3J_4#?P`_%8Uf48ok#I=+^;*^pa5)PkaU?iiO+5G;bH%A&Rzde(aACWO;zC_`81waXFl;}r0L41O zZ8zKq@4oTl@X6EXpu2EZmzL(i5qcdSzy&tJEvo3FI825uM48E$0~m{+AZ<8Hd0Spa zMbxGRhHW=-qITZg-dP~C-L#u7u0%lR8~?$#!X0@|1*J?UVbm3r3@E0QL2Cn^={vf{QvTlV$x+W1`CQWcEz?#k z0)6|zid>FRHoI#ew9#W2)dsyc@Y$$22$Uvpnq)_m9Rx;Oq_hF`R>onGLc<)Y#m_L7mc4P|GNxi4mb?yd8wa1o7kB@|$goK?9VmBj1Vxr~efT_4mfr9v z7q{IQrINaK&^lvjzL@Zz2J_PI?XY{FYT9phX`U8(3}KUzX4hP(@(@*!J%-^!8`2p; zp4iAZ*CT*!^t=NyRQ(|T*Z|?8vQme_aHTAlD5l6KvwGUR+VuqsG=XPHX`Ir#FWw~M z9GE!}(Lk7y14s1-VmGKDH21}-ii)ud@Q**298(%uWbhfS@gbDUm=J7dsYMay;tmVb zM2}gWheCz`7W{5)H+@QU0IgS?9-kEgJ+oYoA<*ETGe`gtU03}6q48OzlR8`WF3{BGU=-HS$Siw~4_&x)YcCVGejM=c=qptJG zY=KATLpGY&)BzxDC0M>_Ujih9F9*ySXQ&}#x!3baw;h%gimi(YSi(wUwoF{cJ`1;a z-*$DJ)7~e3qDkcX(ke$VqankP!G+F^Jc9-*Lgr!Zdli!$xUAZ9)RJ_3)vP_^x#3$Ik}dcCc6GSQ2`Wn z7@;_4uuYOEZvqN!q+9Ms6*%n%kp!UI%9PJI=>oulR&e_=xF$^=hIg5+*tp^Oup(u> zwWx)rBLtWU*p|b0&7=v9-ecliKXeqXdF~g&{U3fGoV@>Trd~K(0pbVFZoxe#&cR*B z&v4Z9-U>JqU-S0n7SmNwMAS~b_`>D}AMAMW=;g4!?*JblN^Lu#ExUAZB=PqWm?)>? zsqODPN`0(0W6C=xMrbB`F7WQJHN@{ET z;$pI7%;&Apy~u>99SG2-(-2E9a3|kR-~fTk6DceGjrEm&pH%y`T+wQ}XWHALn81`U zQ;uTOzC~0vRWO^i%{D4nvA(j-)ECQiC~JKt(br7-9d4TnJ;0P?K3RdQ zj$8`QyW`pL;C=VQ#@(BMddQaRd3tW(~`0k8|M&L@(|R@HN&-Po1SZhEpLvI#GE;fvwMx+wPWL-$t$AkoAZE?jWFXNrI( z@R>mA3=A9Za^`8a*G!vXR24?8@tLBf4LBb19vj6+2A_>O!+>48Cj%hacKSRHvB}S_ z&z#bhj~#$W*BdBp<;%b{fy^|YBJi0gJLr|hexvT7-!qUN!4SpeLwwJdUvX7kupYy1 z+D#WlVy6QO<9Cpq&O-M6wdfCivD`20BqGB%wptNdaF)r}COXM#O%u7NCHt*NdQS$ns?r~FIE z+Y~0QFMgXFAn)PP^46K%AaMsW4z#4yxiCW;+-Y44G)k3?VSWu9S3BoWlqHOYltl2U7tw`kD0{b6tE(g$qRm>z&sNo#~n` ziZo&XdaZ&G%Y1NKXUnvlx?~qr7n9xL?-)oKF~uoGrcU@^t)34WBs+ERs@ve`wRcv) zXEnqICB1LETwdU5qj;k~x$^Kw>yyyv4K#OjeE1+mKbNHUO{DO^rdhiWZEDubrrWC? zxVi9w2HKQHaI;@FuZgZ%e5|u=P)5&T+kUKX1BCT5`#A)k!ONT{Jm~h)qO4;~3p?kW z)sXCNu`$pF)DmNem=EcXsNAE|o^^tLwrFGn6MKEO(N57b3GAC-+u}0$DAh??Wggt^ zt!>s<0sN9pHofZPU=RW%H_MEpDVN8xV&1H|XZu>9RYt39WSeB!CT|aI*SHo3SDXHt zt#5Kk?V7aCt7Z#<`3`97oqk(h-w#*a_5$eZ;?gHS`cb(1v5g8qPvQ9a3Z^dah5dUE zvXlDg@yB=<1JP)Vh@xYt z{n}4R*Ho7}-Oj)uLO)g>=+5zb?36-CcW|(N614>_t}TsWTRE30(q4jerG2rJMLBxT zl=GI}Ni;Do zl;%bvaCPNfOD1qMmoAy9W*KrYBz_yMFlSG1zxtKiqTIC*h%o9^wP}h<@Va$&()a zOn|h3y+(CGiR_Y4{{&4&j%cQ2;I189nCU6(cjJGK1-5YZ^XCjc51*HT@O-cDI>b1T z&==(v^y%Rti9?XuK3hKYO7bD#p5$fVGXc?bpdo?M1W?2(H(9m zA-@b6dEV^XBpwRFdHy{E4B)_8L?G+02^q&MfP&2+E<#g>D@iqVDS1k&s6)3Lg?r5@&pcEeLEbu@|Frd zuR*Lls+mT6KDd6yVp6O7F3|$>gH2;?7FkM^?NJrv>7AcS^vLUBj)Rt>eQZ4HW>xD$oWvTW$E3X%^*2Y2!3*}^*;iz5ANFw zCo2dxGcZnfsW8uR>6q4l58R`JGApP?zcc4;PqYdGav?&iZT5vVjZOwyf!p{}V!+91 zFfQ4I5C@YPUwCj?8|OMeX(9!Z!)ed8-%4)e(slzcP6axbR^if{?|}Qy6?p97KZ5fF zoK`UR(1Ak?wjMus3MNY{u)4Nh0jnL@s17OV=gR6jTyfQPu)b#>%W+H*Q6rHl0j2~t z^X$5|!SaNtGdgZxIz)~D&dE%+Hq#`LfLwA@$1D%@KE}FUf7^x`M;;RlyjlTIS+tmO z`HgHswjA&Q2S8L33}9*mG}C7kIh2ogz7S4J2NjZYUsuAW^>wG-yQ;u$Zye7k_fO@d zLIz}IJQSLa&ISq^i+YK+n9;$4I(=cs#11U%3@Gm;qFEQ_pxAgPI_!(gokWkLcA$>= zM(g)I==drJ6iU@48oSpJnhxzizmdyOXa}uNYQTUlEYo${%>OGu3iZJw2lm35^P3#? zZikAFxc_yqRe|RVn^W#zwCF&5{ns431YU9b9dP{qhvEJYei%mEa@c1nX~!8tECM6y z4hK;4R(#$8$-bLUMtU)Fj&St3fX|Ie@k4GrAH+Ez{HdNu4`}gVhj$ymZrV*x+C+Bg zvMa8sVDlOH_{Tra2k{XAO`xjLX5_zo7-0r@35+H?N67$Z1BUaTU2FGQbaT#+{^;2m zBsR`xyLK2IZMHGfY~(}#EM*|w%4GG)*HFr!wxwKNiw3u{5jbvuw1MSxprLU@=W-oB zaulw<=4njZv72_&MVHvwW~m&AlLYZS(cYebQSQ{D_=Xk}=XH`Tn&-U{yT?KvT1fDBAV{sV9? zbr`KLbl%{SFGRWWV{t*D+?mIP0xwB6R_;b|!|tR!vyzvjWO9GObXm&Q>#TJMVBD^c z&pFF1chMtk$`9@^<}w-(MESe@M2GkFIk{k^(VNl;y*F1JN>&UE zxw)|@p%d9k$7eIVMR&@mAw^W`2h0KaB9RmdfS7i}(7>Z7?5Xox{b62WLg{N=)XRiZ zq8Y*1W%2QP?-Mt1lq)01JcvnVXs61Cfeq^oW{Fe?hm;e)6gb@Y{O-3NdiRl@ee`bVRY z13S35Xpjv8YT*RDlAM~=&n8KPbG8SVI-y7fHn(;;o@e6;DlI~G ze2Nd$($;|Se9K4b27ag{J2-vse*`Qs$G8H&y&~SDk*wBIFHv**0b6s1~JH-y$*B2!HddTqm=bbKNdAI7EKEPxJLHO8IN3?(JCU98+^ z-5a!UNsCvFKB13^01)F|e%M@6IYX@I%e@eGz1QgTDwipa;rd%|hkH(M!rg!HKA0@8 zaFI`*JI_=L$BrK1t@`xrjoQYOr7`S3e2H$a9WkiSVWqGd^bQ+2e7>OvNydX7pb zK$<|@jqRT81|51xtutnDSlU8#Qf#&G=h5d8tSpTf7$>?8{zfkqRWHo0B$4^jhdaql zwiC{T3W(x~IartuAXJc-Kw_APp7Eiobb+WL)3uah^bo)YB+@fRomj(JFSdghHc+=N za%i*AfH0NE*tkRs^WOI;y36%dqiIxFJOP{vAWvYjEX3&eP5odd^ON3Y;#IC&e3)V{ z;4{eYEWu(6qaAZ83mDz=djhq0rrXRPy;>I;sJvS{Tl}n*x?pg&e%_(6a;E~#E92Vk zquOS2pcTuh2R*os@?M6Uuf7&;z3o|W-={te<>YBqy5jbt0idmGa9=bVF=DyXAGHT> zeaA5$8p%%?$xS1sgPMZR4@=lV%igxl@1{t+m{a@lF8I8go+@c=eGfeImS@99KK#e< zk&k?YIiD@+*{Cn_fqDkQQnJWin*-XRgGSR~pt9X>kvMpI0oA^cpOV!ngV;lm-ky;^FY5usM~@zZXWVo%M@sLe-E`3< zol^+)u2O9%B8Lt>NHjE0U35<7plb3hrTaODbf6;oy-!>GnW#~_viq$G+;c#1;6wWS zr!?2Q@27sI-(^f7@mTklz4|3!p}>MdHjVEH;e}>*v!u(pE|Ebi>pTz1K2U>8X<(r{ z$Jk&{e!J$OPB098+Z@PQnnEm2642EK!}?w7t6O_Ek>v^Rvgg{NU=b9CF1-xS&-r%{ z_=5TNxxG5b7+nZ|xaf#D^h(iTE5l7Fr@mwX`37^#bHQE+augl7x>QeG)oEZ_2j3Gy>=bnrWdeAC5`=7nmAJggy z#QUTQ@tbvE$c85wmZpIrJwGXODu+0i1wu3!_QSxc(stSm+8L9Chk{CRpX}9q;$q!;!lsUCQWO6U=d1TV3V+Pgf9?%TCWw z`AC#*H@78L7SSr8xHYSwsYFu~$k=P%MsJek*0g1`klV!=2NCkbBw32EV@VfeJdk{P zZ-a=+A1KSb9Qk2!~;vsw7jwcuYB1T!kNt-`1HLGz}X8IxFhUYUxo9V z8*u#ONmyUs%l9v>?19TKzXta1+h6mT3SYApjU&KDBkvC!6%BLavIC09A} z`N(=OqEK>FfMg%6woXacd*& z-FpaLdi$O5fj{~qxc`G6hw6d>6+#F1s9__xu;|VUW9NH(ive1kU19?BFvsG)2H^=`Rjs6leoQ zES}CFg2K*iolRj;ijP2Z_+y{u=@8gW1SSo9S1VugORT8o=amFZ2E?LIG)LLcbVS|x zXW*;(sJMd_*8fZittARHh(7<8 z7jb>HB>)UXKfpaY_sOFcO=BX2^PW46$ssjD0GZ%*vlW8|?8WGi1D%`iD3BkOC7nB? zb%>(Z7FX`(Gc10F2GfEgJOFdoBD9b4;_3no$LnDU_yP?aN&u}26jSD?&x{3uR2>W* ziZ&V4jepLD0o-7iVYLN@k}A@)(}FsC)VFtpHX`HmH1A2q`|16Ms}<^(F5Eh746;#Fc4B6^oC$GK+Z%zWgUiWN78NF zRz$rquH*h#zY?9b=tzV&XCgVWg}F)gx24m}%lMJ&SG z0dH*s(I**94TufiFRvlkm_`w^awvxIL6h5b?)(L%>R@P32Yv7|Fpx+Q(kz^gBTKjW zP{e5kJe9Hoq<#A&Lw`PM>yKwnxtK>3pe5s|qZcv&=JzvFhN z0BDND7SA9>UHc&&eUhz!yyUu%2%x4&=aB-;YBvZxrwHa9u4^B2DAb;oJEHM~T7iPLcAuKQt3fIAme z>O3nmuY1Ew+L>HH=L&2QcmbnRP@gD3M#|C78=7=F;0NxM=qoYqKEBm`DkaiGqOI9Y zyXmQz4jw!RU;TC801rO!0Nj87z5LzK?=Tx_6d8FJg#pKua+GjBkdQvxL4m{(=zxzioHL>|vo} z29Oqj_?P6wW>D7`wqWT0m@fda3)|}y0gGO`0fv_GK6f$FZ|0Zephg%x*8(@ZQ0B|< z8+5u#H2HS#Y;- z$$UY<FjLUywkamR z1Q_QYKJ4t6l*EgOgGqzb1JOXEka;QX%1F}zN;tMA3ztpGb66%y4mc&5hoemYt1MLS zav?Ao;ilRc(Pp_s4s;h(zD@b;1}HCBKyD^^CV@`0UD*y?qrLt~H?uXcPM$5Gb^w#F zb|Eu1{46K^Xz*-6yy)CvnwXwDTPK@aQ#il51LwB3;q2xnY|>WViViJ}Y8#N=QY2pI zW>&Cylx^vy2+hK=V^_e{x4#Z>v@}q)w(qwM(5A(M)iB|Lv1D$TsMm~?ej`pB?{c=7 z7hb}S=_uItxm=zycwFvp2BPYhWmqHci+NFJc#WAZn~bDYZYXIi&7)Q-zn3}L5x2QA zxYHtn*^MSYi2epj*V=m#3z&PuAif?BhRIHHRHH_g3Z+5R&{yjfER?*JJF#X)9K-~E z`5-)OW)yIqz%8*Sq)XxR&d%t|zfRU;-L*e(MSo7KLpj+RuI z^4pXV)?P_Gif)8Kwr3V0V+$B`7$Kq9D>O|*S-hac@utLM-fJy-iIOgQxME){idZ`m zy>iqxI50~fzR*udgg(z7Mx&-rGaog5KkobxL`XU)&*(wA--z>~sB|e;)qRQrtZlWq zBlX^%ik=)ku)l)+=V6wusmLZmp?|e>w9(@21^!aiXgm8;=(4PMg7Qm+GmmQ&XCwW&kS4;$8rz~(SL5LH(6-`J4{989vabBh2&P&pSM zzDr7wdWJ3QG{P-exNV+&R$>&MMD7SK9mzGKS&I{h#|l8=YxdjPPGd5UZ<8awppFRb zAnGehB|Wp`wj3zkoHFaj2CU7WbH^_Zejg@&QOq zuf+-_f+V{#?D!=;RTa=o9oqH!0J5*)bm~(O{k;kbnpHe=gcX=5VNdkc%4E-p@;Q*x zWtkQYPRpH2>%+m|#XF|!jT)&~Pyz6eO^6PJ1{9YvP(s~4!#AtuTfME{@h!zRfyfG~ zG#KznRTo*J$j}ofFTkmdo%**0r|Iw9h3e2wc}wr8lS9BbGL51DN3kei+@UF zD>roUrU_X>GiK|zS`V-vliov``=(xiZ9niyiQ9PaiJs{wfqo1;Z%_Hvw8)-G{hM`% zB6^j6;*z6B;03qe3cvMx@2=q0ly^UnOh$FFX3zcuu>a5z2LDF-Y?ht&UE&tDv7Pdz zYxwZNrLh3QOfjL`cBnif0b(g9YL}6YZ8M72T!1;}-LN0Arz z(Qc-FE)F7WBS#h`?Kz0eF!NMO+{T-`;PYG2|vEuTftT@?L1JXCR*-|+fjw08#N zX?(PU7!By2OeXL}uXq*wjlcO-yWsO~deWqXLy05gT?F0#FBaJ40&%98S)vdtf`og0=rs_M&GKhFo>SToMYTG#Eu~O z82JthIy5{lN+4AasHs54o-hS!2KrSNm!rS{AIQ%DZIO_P$u8#_^JDcPGnUtag3WVu zWPp4w-VndA33))Gm^{RRyi3xx!34FaFBvk55{T$JNRFQ54XO1of5w5wSpc)6*g=B- z(CgrsBgwQV1&5*Mt(vqeuo=Z}3RKdA4IBtr_`UYdLfsKDt8oMF;XrBzK1cUMcc6(CbA$%1$q#EL8=>e;igp86wDtke z)E+If^hk`(kxLaEpsgcik?tN9jcxs!riRqHa?P81>h*w)%$rI=`W>wUgB!gJct;zC zwX~@4xPGuwlgp|H+?9chV4#ytRAACgC1n1=g2V;HKMN0Y|TR20O%~M1BvDOlKpVR#Z5AQwHxLj6A~p_>n)0K6MO0 z7v+~7c4q^tW+k@NbZO%5rJhqU1Y5iThQaF0(m5ZR#ak9S*-kgd2$ z#QQ_h1D-WowDvRbEcI8x#(FC_#NwDleU4EN9__lOrJ~!#s9|}Cqa?rh`=Y>l2YkSs zwO`=1g#o&eQ5BT=9VB8KOH)qCLwJVQmsc2wys)tm1FPyBMTX|>uIz}ZGd3$C=j|eq z)#EZ_YJ~|aaj#?XaPbWwJ9h@YVbW7S)mf2SYl3!FTJ56`(&)o>$i}MS59W7FGeHLo z*2iqo>&!SD#|%VL-{k0Fl_lN92lDCDpZn}vYQMh#fB1nv=6X}~>7*_=U2@4)uxIZ9 zJ_ru9-;bDHr-LPOQtK;$)};ccWBs0}6LxqzbM5;CR*!_jfuo+QJXe;4o`)Ef zBX&ea1pXqKl@1KjU+01pE+l_h4g;r+Tn`-wAPSY#Nnfp9;3~o<_9-8Gc9t&Lu9j-}# zK8?^aPPGk%8bp8R0|PtNY5C7gtx!|+EL&R8neq*CNUYf%8JY-4=@?L+O}81)9ak`c zCX}?JWrq)RtZgt;of*{yi(2-*^%~-VCf;r4+a@)}vD*k@sb)LL{ZgX1nX04ydgB#W z!nM==1ouSVflyTirnTTZ^>2Hs zi{x`QIL&`lw--zWp7e=izpNDcUlMw=lneE;&vGH?@{^I8Xl?Hf)>=l*)ZUX2m1r0Fj*LDywcs>z} zw*v|UzO;+o#0>_b_nEKeE{!|Un6RKWIJRVP2wT~3eXT5-x1EKOuk~j^``l(~^tkh+ za5k;FI0qOE@{bxdu$u*3iXw)`lSx7;F3d}YNlYVp6YXlLXg#pyVNa#l3m_cTQyhh0fw<{DAanp2s}3hoFSAWH$<%Pj;US5K$xjOSYWuG$cX@z2hLuAGiNs8bOoSKojwO=&zx&`@)#89q`JLUoBtRn zDR9Y6SHbnqcn(kg1$gV`o+JG>zgh4*zl*`Z40~41&zRI8bN^v9WDL2zqu)v&AONXP zeHIjOwIRSjM6>f&0kg3j*$DF>bQyLa8z)#xLdRoSEy~CDD=1zpuTW6!Pe~#;==@T^34Y6>2h@!#P{|z0Ai(U559(9Lvwpw2yaadL`b@a{!AIc1$4Y#h!Yx#c46XN*AAP@HIor4fJzb1!tqPj5D1Mku^+VAS?mir z%z8j2>ut|=W~Dm9%N2yCMX=JZ@pTea)-zBIW`~RI3ZMvT^nO(Oq7la`)(*W-3BNI| zqD>_#oI`_^lerK5V>y?Icw3o_7-&c5j5fXRg!)1Oi>}zjt_W{6$N`GIE*Nl2_EYaa z6m4HX7j7WtQhblj^N2cT+6w@@Gu!sVUTHL&N-z`A^;564GeW8T`T5zGf ziR*v=n&|Xc=~+6K3-#>^LhE6QHh{Bk(XIyC5mNz+)$tlU|LHfuC!cdSJp8~zFx@=C z?FYrJ7TBDD`n5Gj6M?8(7iBKdvwV41jh;6krWzZ&I7}HpdMYKVGL7BBLB5-I({8eK zx5zIb5cO9(6Z2)w}jV*e%iq1pF_@FUwcb^VMyU7k9}R@LPbd>RlJu@Pre$VRcF@}d6NHY6lK z!1{^=*Qmlt0lMt8l;j8J2GE*1G(7N_12_$Jh{l6(wgJ8TodGM>1MFH~=1AcAKxvxj zScr};o2a8~rg(h=4M3v}US4%p8)N`dhxf)VNyY{$1o%uTAE0B(nuXH$(Q*6oI4dv% zBa;CpjI5pVz=69YuME^%aNc|iCF26vOr-q1-sV+TnRqVA09id8xY5_($d-(XpZtZX zwM_<6nMOCW?31>e!)jI5j>H)y(-L(>0NuZh61}WjXgWOwm+LNJs4{q@@I?i`3a=B{ zR-B18mf6Y@&%sEnAYX z8-!%vnoH5aHaR$O#74rI&~#u8@Ce-jv#21pUkVZmCMIB;j1f7aIr?^|ecM3%kxiNk zG<~TZn`LY?*~l?&Qd0ub_U+k20|%VHpa&CD8JPoGfKuU!?m>1)C^durW*{xw?7m~3 zT#o#mj1(X(p+ZR=Oa~L>9d_K?D2)TzF-3Ih7rP;kX{7|!!%QhDW)z89lu}qJv4mnn z?X*S=n`6p=aT&CDeZ0W-KoPpNYbRqu5KYKw{^I7Sg|BKBX*FLuzm4+XUT#ph8?;u8Rq)D{y9G zn|X|vH8P6Oc0;u0< z1TaT-YxFTut1C!^cj&2PT_4 z0esj$rE`ahWGjC$hMV1?MFBE99YtE}*h6w3Y1_qAE041sEUgF#Al24rsgYzWZ1Q_V3#Vhb!>a{WaW=?b$2^~l#u)orJ^hVtxsH1KxfX#3kD2(1j!PAgOym=73L3%s->88-o=_Cwks3rVgG7KY&dr=81|^Na#m zmZ;|mBJFra7&NKMDI%w`Jc>FjbEvyL$3Y0N&KAF0C0V)18<(=}tE&vK^9D8Odty1b$v8rQQq0W3p|Gk3%;P7O{l$x*7U~jUD#wn@Z zn936W+Sh*aWa`IxMa!zwFYHuW2A4_P=hZ54edePNnPOYN0?jF-SvDZHH>%m?LR%e+ zJM@iMigm!$@-Dkn7QU<`G25Q}(i&ZBrqb$C88+O&2o=2s5p`u#3M`b)ok4z_F&76r zAAE{cMps5n5?p-&J+wQjaq=pg47(B^E{?QQ!RF%+o)EynK#vquB_PkJ0x7-lrIy|& zt`s-%oZIez=iKppKGbcj+wt9rOp-utibdm6fvl#O21#j}9JY?u&W-*ynj>H+N3(Yh zLP6MYzIUghLLd3ihv27w;>Y3l-}MeYcm>qH?5$4qbMJgUeC1bt4czve+a*GzL?!`- z$n&|ZC4MW}iWlv-5G&Z8fiDDk2g`=mGK)c{r0d{u-$qe05QpI9%(j8<^XM7WXvm`5 z{XxFt_6D`b96>7d6s1dCD@A~^nGLoj>_RMlqC{X8qqY$6ZpH`RjGKB4qlkJ)TTsEc zbiui*tpyLWAcuiMzHiz+(`z$%RbQz3Aq(v=Z zu6Hoygzc~}eNgalrn4I{4=R&V25kbt(d}b0szZocH>u}TBb=F2yBE&jqO#%WV=9M& zpY)wM&rEjVhYxiO?2+l>gCAA$bUitkcii$!SlM?NHm4(a@Z<&P$4h$PUIl`eCS3k) zI;4>R*djC&0(k4;a!lo1Twg_ph-bKm^_4M$`x6OSuYmpzNB_zJ!N7q3hz>8*2rQEi z9fn73c=E!gw5iH`gc|wVq05ee?(xLI+cW|&;5ySq5?UCkm>FrH+B$h;r%~PP%p>|1 zL;9{8cU(q^U{)?sy^m-yW<{5?Ewh?0f$)@#*h(FIv;)&sQxO=$-ZQ2jk;5G=ih}R$ zZ3l!LN=W7HS!&G2?~&RJ?H7_G@?nU~qdfvXT#)$tx$G?03M^9;H}$bvz7rR=YB`tc zgtIQP6gjN7?8wd3UcBH@l=~TUp$P@3m--7O$kq<|qai8r%n=Yy$_j8h1C$x|MWhXjl z?T7#GAA&#p!$0J0`(OKYUk_jSgQ6rTN%+-Y{S|os``^z%wk6u?|FW08 z9A5FtSHht~hhR7Drax~Y8}iq`@~hxC-}dWp;<4j%;IYwUWFXf-*&GRNkMJ)SVC`Df9YlmR+qW+j8q=!-7H{9@y3O>IPuDSMF*iF0X z$(S@egb_xbo`^Fq{(tLGHE4#$vY9vO{wg*Rco;aOe`iRY%u@PN2Gf=7)1iNpKTA2y zZ7l9f3FH-+jQLxJNSMFroBa)Q0%*WaxgNt2H$O9DUr_wIkU3o;n4Q@I5s3m2wuy zTtqm~58tkm+L-}JA7m8zM6|w!908eE$Sm@??=eEwDKFWI9t2r&^3pkC9wXuOZ4 z&f@00QNz-_`2B__1ze(e8YXS#Vpz2Nle)9_or@$2wA zzxA8&m0$g}@J)aBTVyMu_w%7WYKzp?7hGQ6FB>gMveu7clZD#BBQpI|isJcUj5_Tk zAX^l)Rol|oe$Zz~aI64%46cq0fa`UqLdVg;#T^?t)Gs%q)yVQ>rUo;w(WK7Yl zHqkM#k)kpQgq#Mm0BmvOs8nFwsebu_0`W(7N)wbKmLS>QG-0rac&0e9(;1aUfk0q- zicvwxBt`(ykwwXZ9{8u!B_k9Xj_vIouIuvBvdT~whp9fwe@zQTYip~pJek1tmjnFa zNAH7P+nyJZ#v^s41^fgBiisYBkWS(prs!Itb>Qn}+qKLEmM98)EV{K+f$8P3>2hKD z(D+3MND{ccxjp5mWIFti9en~mr^1v>lou5JYzNj6*k;ze(?dd(se$FuW3L>ZrW?ZX zN%Atf2Rr1}q9cgoe%2|8Gs(A>Z-;e6+eQIi`gx`i&awbE^0|eLmHfn!aBs81_m(U2 z0s@zXtm|kTKtVUMVOW6hBKjfJB%LpW&_&c|cId!J?w2E3n9$z~xBpoAv1h@uGsx zCk>P?d9DI6Z;{kYthxyuf!)q+rym-;?*!ZgL>mpFv%9Nv- zGYCDjnf44Cr|5t|`lIV$rm8{)=J&f%N+-2Vf&_2Pi-tS9GZ)Afz31%)yuJqF}|} zVrp<~w%Pk2nBM0prajNgmK}U6xI5zVzSFV{14VYytr>k>G9T4q~ALB3#bg zt}0{q&aEvCu)?H3-f5#g#qQB$o!Vp(ZelAk`Or0GXs*pVF#LW{bgQFZFSa~Ar`4~L zIzXpn#c0b;7!x=d8?dyUkqMp5n>9^LT@^!zxjE4DC{{q#kzz%^h!O!9+gm%;A*{~i zPH}$Se0n%Xcqny2r;&(sAlb8TzY}hF#ez0Ec)5Muh*P8dltU`-+dRn^{3u42R;uI)%&O4@@DvV|N39T$?6=(Xfmi< zDPep|X{?3Rt!UY`ulI3FT+vpR)vAl~^G1OVL#_rsxkEC@LodTYp8iC(DYlp(QKzFW z24LQjGm=BwZ1ugQyu;innAZ#NB@vS|22ka5&mfa<2n)bXR1tzx)0S7GvMKZCQYT`4 z)9z9+=J_oH8=F4Ub*mLD-Lt+{pF7dKB{6|$4ohbDMC}CZIdo*9>l%8 z!&C*KLh`^u``ov>i65de7{5Y7dl{%?gzL~uivPBYpa*PjVb+A z`SqaD;!!PR&gHRlSWDZXL~ldq6eyIKmvSlqud6B5x8A?9ybOEy?t#_%O3vuM^%YoI zTUKsxqtuuPxW~4Xo+jY&tW4P!Sf8h~MGiW2S}r;W5Sag&?jw%l$z;rt)5Pn%Op&*> zyu>TLOnGn)Juean;7Sx8bP&=C_rDE_kmNq4GoD&R0;QOGL-k{)CkhHZgpsyVTbt^E zjLefwPoc=;ste3}iJg4cE9eW_$@ocK6Y)#WobWS8d^n>-@)tS8(Da|$RB1VkeghIX zAyIW2fk$^L&`tL-g$4u4zlC#k^t#wI;uC4%@SX$k+84eM zuDJGU;#C1Upt6*iam4uCgO>%V?=#hOuQtbgKGelBIecNH?OVLv2lIxfaN3@>QQ?2t zX?@Qgxa87Hy-f&A{)wM>3;g!m-~PB`>V@;?;b(v5XW+Mg`|S(C=bTQRItf4YLq7=b ze$RX64sP2`yXnu8UihMyz%|!g=X6kEizDLM0AZ%MN(U9%VoC;rGk|Tp&)L_`)ExFY zjAFLGVFYu|Ki~U!_biH<9!6g0d~-RBcI3({uVUc&8@};x?}E>}>B*n$5Gn5?yj9CO zhR#L00*<|5_Qglh6kOntTFL$YNP_Kac#?k4$75$_@FtWh;s`P zu2u-CeWE^ce^EE#*a%7(AJoLSi%d zWf5u3IRcIjHYA5r=cIFHZ#d2M!$DbeQ6cy1VIRlAXHOW) zK-=1Zw}H!rferWY_TT&s_|;$f1vq==416|;oQ&W2wO`?gXpWi*RRu^k)GF)cwJ`-! z|1#t6*A)ktV!$mz319{Hs%6=g^ly~KtvY5K4-W2H6tv4vfjv2FZzSbOhs>p+&C5Xl z^`H^ER*v34Ho2F;ETXyS)zCSt-KR+hfZCbDQPZMk7O5+F_ocO{UjAa`ho*jE69Twj zo-Dz>z3Z^LvaCGQ!eKim+6F-7eU?Z{-uge1!~4b>0c(z!V69~z+ekS^-?N05m zS+6~}RqrDzjakn+MIb8yru;0YD3ORdLcSLY7vc>jy;+@1`1>v5{jc&75M1)L zT?$N;gCo6n%Kemgxgh9n7tq5B0dBnFO1R_s&xO(cJuoAT8uKIvc_`)GF(X;1#7=tu zIPI9>Hs~#?4`j}SgNRx`u`(9tpGv9dg2m@E5nuCbUh`VG;>s(1Y~R?}fS>u9x5Dqf z^PR9+`}{C{t4s)&%0?iJ=v4)@Xd&>`2HwF$isOUyd@lD((Zk)*m4?)O2ZU@f)3mHHJzb~$hC}#&lB~#Bc<2|ka3Xa`` z?}rdrTnlQV=4?(()D)Afp1d7TRYKu`aM@bxkmEY3ek*Czr>>G-wq}I^b<$ zNR{|F&^$-->KsBq4A3AI1ahCTO8G~dl*jc9t0e_;5Dx;_!vyBq=VI4rWA-;*k8#i8y%OjqzfG`ef ztFm|bAf`^Mwr%(fOdT6zT_fVWq}_T5AP6zq+Tm)t)V5}9yz}bnW7s&Q z*eLRc$pYtga4V;Gp%nmAOJlNv{EW_J?}fg|5{sX<7J>jD1j_M5y*EBw5cbhdqF5(& z@_PB@SHg|Yc$Q9V1*k!LMe92NjdA}h)1n@U3x01ul>miM=r>%g^^()4&%lrW#~=Aq zBcF%q+}X46Gymx);n9a5_V4m~gG5lG4@$*KvuIHYiZ8PGciL~8P+w4W>K0L=7%c-d zlLfoSZL-xJu_<@&(ZfB1O5@SU+l-@DyP)l`I|)oYzr6#eFKok!vm0=s0#^pQ(UyMV zgms%dk}?Z$Ibzuma46i%y1)Sv#XPpCYn<;s((j?MGril2SY^)ofhEfhd9h?=GKRf- z)+_M3DiO~pAS2~7bP?U@q__ovO$L3&8#!ijW8~TYN`>7qIr1x}s4<8_?pO==G zd7JItJ!`POvcfVqb=#TJ(Q^Qo9H_q&NIw?Z5teJ3sEoPpW_tyCC7O)=D`VKVJmyH| zULA1?l4YF&iwLW-)d<}w?YO9*<>vMl=Sz!LEA@ue3UDutgkFPqe>L_(=qqH<al8zm zecAH&9)nsoof{ZeIrCW8*NH}u%c6+%7g_v~LksDT+J+Y;c8s%nSB&91guoKQk$<-U09wh!};0{E47{JJIZo8+u`Wx&Um;%z-FVfAw6cDwS{=*_ZB)G zo8r)7z{>Joc+qp73zt9rT3A|J6Z#tNyT;4i^Q#YpjXlJxuIAOARf z;J^OY!9wJ2+D)H*BD?Z}7r&(1yj7m}8TdSmJ~m1U;xsp4H`8yJpJkEKnfH0iu3e*8j~&2HLFPmNT> zJ#ugoVj`1)p_2W7_W6_l4~{Jaegp2n*wo1`M&dT;025G=e89kRq8$252^TJTi_Nu> z140f;bk|ow9Gl}tUMU*@kBG(aQo)nb+Rfo=CFEC9xj~_nl0I92hdtM-Q~ds%(B)*c zvtXvhcwOXc{&7=I{|6k9&DavO7Ks+c+Z?U1 zV1QML2WeXdz$_S!0bZIPCjEAON5{$xKd|R?7K;fbEzn>qg#48^Ub^0dZvykmAkGbN zIZvxpS@2r}N~hl~yEZ`Fe}zTBh|3jo9;pHHHgmgRQ0@%$4C~w|X$EIBOEn46p-Xg< zp?8CgahYG?$RMo;Qvo&|D(M{L2;{jbwTmafS4hUd+S596!S(^ozezvLDUat2J8V41 zl7Yt|#?C<(GcIG=kNX}vB&XNl=&LAG<-_8*eHM>DE%wFpw;mc8?Z zFNNhgk!7$l0nkJJPfr1WKV3FiI~HAC2Gk1>LC9>yh0k(PTZ08Jq5L=V@) z`t0Qj#w|^jB(jjG2zI6}FDr|+U9Zu$78S)&|4NC$(XHwvT7=Tlc*2p^1S->x0s20- zKZ9{Z^}#^&5?|x?FYiLodJ33Z^bkjpkVU?7x9vKoETKeTIPqZaso?Wkt>;AB2NbO3 z#RH{WSX-XJWd~L{8d>@~9a4xA4Xyy8(U&lQTI;lDbqS6gT7$!TNro~1ygKnZ&v-~~_4X4`S`H4R2waLBF8wU!A#!wpp*L>waNIkU120VIy~6J-5$b%< zApyqQGhUG4h;+4&Jb&tYUqCQ@1uZ*q@XPvB$Nh9E1A9nnYAc6uf~n!szW?+7jK2hMG7%OV8|M>E%Ts)tkRfrz4)BmPXZB@~^##WWql zvE3|0lTO ziYs6@?WU(vlD>+?=MwJ!3lJ5+WcL3Jj!A)h-enzi@{jE~SQuRpBS^`fVP*20(J&HB z2M;P%qfZK4D6kKJj6s3>oqh@y23}=8s#DJma3;fL!d)END21xKsE=bsaY^{ThH0fb zDfWi3=IYmxT@>59ztFk`8D-Vn84To#*()$0xSfDt#TQd zbR2`;D+#u|)q(?!#z=M0{o zOB=k;pnW5Odv=lKYfY8w>2g6BuE<-t;|nuZ00wq>#P8s~FfIVi$)Z_rt?iNud0P(k zFEG}+beic64 z(A&7<;~)EI02_bCw6n7f_uO+ggJA?Znte#-D*c0LU{G16ZSk=s6I6f7eErb+anzx; z{oX{a%yNMcoQvMNey;-<`BNOJ3oSU!;{~91DJT-%NdVO5);4hvzyRfyz5yY~qzhiFREJlee9w`^Efao5P)J4RBjkOGTB5=LL^cTOD zBUc%HAL-;z0LrfG`Ea>*iA&1c>!E$KotU~vm9nSS|>d~l7Yfmeb$J9YXVH^@X0NvTOjV? zDNMJ{@qOzRkX*J!k5MfbMVrqAI3*g0=}ynlXVeCxu>jlz%o8mI@zeJ!h50`Ena)uZ zZ0={aLk1vETBDz76dA~TW~A@yWD7QX0m6;Dnk8gFfy$fOl9uZB4snGkR7E+kpoIcW!s5w|QwY@DO+w+7GA4VzVN3k0g z(nEFx#w?qqx-j{iXFLNw_`d%N#~*qq<`23+B?~sApy5E9*AOT_1LKR9D0bzzdz>L8 zrV5`Ofb(QXyznu5;&399+@JNVXTjHf-PgnSeed_enKP&P`}60|GYCz3{<4?7oWG;K z_spAbhOhbBuZ92TN8ZE~8=p-g3XZeq&cPZT0=%34Oo{a6f&1@=hjr%`wbwP*UJHi~ z9cr%Isy5-1pZEm7QX)G{iwjSdL<_%nJnv3;@4Nqice7E-5zUs2N+W}|Hr`tlbdGw? z5yqA>g+$D;cw+WC!d{2$=PYNMYjHgh-arkoO-K^yZ_pL6?s9R}D= zY1~>VVV6Kjs{lrY5gXr0N^ZY{`}tzmvj2+dnE`rwaX4!MvW9@J`9?!b(dx-1;Ai$O zTFic&70=z94$9EEHTeNH^TDWp8Q=*~4#YfPA4o^QsP zWqHJ4jZHP8K}-9*Mj;T4!qh>3unyKY%8_c)b||+>)}67H9Ymu`U6R#E$`iVm3`Up| zXpE5Mz?ouH&+@S!%@}0a!J?FnRQ@RSiGG&L9cHL8hWVK)|E5le4roP|gXbp^Sys_W zpt+AX@nbYI`kT14SR?vd@b%4x2ayF2OxB(fK%I-s*3Dhe#= zWLBg9NN5B=Q6wYv{i~n$bhzr8r@4V!IN{}gv(EpwCC>?4b!neSWgZQTyxw0gK701F z<9&X-bn4_u1`P#Q9S&Nh8L+IxX7sHN?r5mpK?V3smQmi)4Bp9X#xntvy=&zhcxG4< za-z;q^l}9><)FC{96We{9W=^ZaU$VwE%8u91@9=Txq?i4*H>NsIjXvMuGyKNo-DlE zZ-amHFaEig?Q6gBo8fD};hQ-Ui6cn~fV1da5L<|)%vnjMc<_p;%%cN>f#qg1De3ek z24xVye9zhnQxR-#@4$u4P2oDOa&QN;2w2}6-)ad5&*%z@Ihzhl3+)6&Rdu>c!oW12 z2y{_?8f%zGQh9Hs-Sw9u5w@e!`8Z|wN%WTLM<->W@95yZ*eEtH$-aRV}bjt>anp@Q? zio89wu>tRR|NG$n2Ofa6l_fZG=qOxr=pbBi>=0ag>6t&FlkG!qOIKP<#Te+EWLJLPDZu>GL9#UXV<-*b3vf#kc{I%|TR##xDUOib| zg9{WrD@+)$Ron7>ZJ#Zsm@(arMG4YbdY0^NsPeG4#$t0xSFSmD z3EcS1XTg1+egHPM9u~dmKo77T>24X31J!$^R4ukJC=N-9$ihT7kt0FoMwZ1BoF`Qx zDwZc)s%>#w1uOr*|M(xnzxtQ|5>B2x!R>Um0)0R7rZ=&Dd&MhWsq+bh=RWtjuy5Z! z_;=s^-4%rX)A^mZ>-`%W7e@p%+pjv7oIG_B?!Wgwjs~Z(@ZiCNaQWqz!{H-Gn2KZw zTKRYc-@zMIn!_Krrq?EPRPfWlyDE-SrGr|Xc|ITRjq|x>Ygt;Mo73(2 z*nM_}kptH5lP4_Fvxo`?c3Psm>N7ZgsdN7T!@=tqWwS^~y*}fy_Ozlc(*jKc95m-E zK1%UAYT5F*AWf7X<+U550>C+Jd~PVRMk(P|dc(0)01kLy!KN<&q=xo7rpEQ_ zw4u8;j66W&5KdE0Xo``tLVqqMp*4zYB~nTR&ohCl)^4Uh4Iu8Ckrc5R*xOZ&h!oDN zNziu4xwcV>l{OD(Iv}W>h}N=}^I~a31Q9t%2N^WJ$&%%sPZ5Rm-nBJpSyo=X9$+9# zh`d7j2DV#1Q3J`kjIDBOqM9;T?K6Ff$^&oZ0XfgrTkmluoloRsi!LNXiiMtVbgXdF(s{tl ze>;{5Fad?PJo^ss|A1Wp(bfju*V_K}-<)#)$j>o5$7KH9z`(^K(C4OUisy&ghYa8? zs-w;MTUu~itSKc10WS`wNe0?As#!i*+ixWorFkDwG4XXCyw03H1OM!Q|91HBhd#ug zSJzhIJO1fEhg)yEjU!Wojyax5<>0ON1nO}Fqv!x-%k%|BsjD?gc&1<-Q*RWbV(14F z1fgqCN((#e4bnIUKFI4XlmbcaYRh`#*eX$fXiQ$RHYMFGZ8xF1Fa^h$qq_<0Feg)V zx?=#dSY#&1_&`}OKu0}i)+?=r>VtLw0@kHU3PM}|=+O_#<3s4QfL3MtC_9!$%%we2 zS`E_>iTc*V1Bu_cf(lfAru`s?xQj)hSQ3HMo+8s}pT}|eeR(p1)#WjqJh#PQDuIzi zBSI0j1f&p`Ha&x5Uwb;#sRB)98`k$!8P>9H^FgG7aT2(_S`Eq0#yNQC(|-cX_1oiX z``}Z{%W&|}VYv3{Yv8J*m%^oo_QH{atE?}qe!bWu0*qH`S(v7V`*vPnU}~?!21QkqPEpkKtn|%%q1Py7K7f$(Q~fVO`7!O~ zpvsXR1WRY9(D!nP3bGxavQBrfzXH;GE4a@SdfIi~6UePQIyCrUTIvFo%DK}rV(B>A zofZSA8YKIX>Vepq5zhrClNGq>nrq>G$Bx4GV<$MOda3Hwh0P7s`=ZnvBjFn#iNUk; zE-a$o^c3BQfzBh)DQM)ua^U3WVt9EXCvKO|Gxzi3rrJK&TyqWlt#9}S`01beNx1L6 z`?&44x3}RZ-trcnKfLJ0FLvJm zAleVgJR+k1llOk!w@l*F^$;fv7Q* z)78&NKt$+7Pf1CWQ!YMB|1duuc6p!wU3!{R;^#CrwMiGm*3^X7&qGRo)DPM8L zck!3#yg9sH3NTc*P+l!y!pM^hy~9z*YTGt%?~vz~reikGhcFVI(K;j!ou&gRZzr}r z2Ero6VQU8D3~kVyai!0lRV~`S#4?r#R}v7d`d#AT1;Lj_lN@AY4Wc4^0=k!WF{$L` z(~Bdq`>tEC32<0hU4lKU!dpufnNABIo+fdY$Oo2OcioLX9&XGbDozZ5Ezr4EFOHw*Y-&m4CoD3cB4<|uv1Da zKJR~NfYLrt02dXTo#7J|6gvLsBm5mX#hV+O0%CPDiAdzb!=!Emd~H@I`a%T(Im(yH zJu7}_A=il=FJRD2B7Z7KH!)7+;ylvBBw(QQ|FK6Bg>hmD^lcQl$T>&7f<&h>FD>2M zHEM=KaUry2QQNXa+>jNRn^kahXEx(#U*a$2C{G4}g_lR7IF-+l1}ds}mzLB@?;N>& z?6r;;9F?jTMx4%G7i{eGVTp3ZRA@U;!seD=!x~jDY}~X31Ex%3T^7D*S|BJ4(vP{_WW9$daKIz zg)9cmV4{6%HkC4Sh%;cC2gxGkOleTqCa@8Zy7FUdU%KK*1$(Z&8Xo=hT`=0*_Hy$M z8i+n^)F-|2a!*}0HlL7#O+5-4rC)TV^S)cmi}+mG_a|s#IX!{sH-?GY?e^zBm)qnm zZ~1X}@WBVUZ8kPGn2v+&>C3<9i7cbhhT=njzo1Y24 z`5V8+3nLb#Ov!*?T6|u__ng6J1A{3UZ}c#7nv&Um%OeBPL-5)1%)jTqMTZq;0NV1& z2M%6;!wv8ifBnCMFaF}!!ut9e?55qco7iPv;Q!;m|DW?5)cq`|u8I2p!tDvk{}0ZD z_-ym$kc+Jf|c@DoF+w!Ja`f zKRn))6ta-fw|zq^{K55Q@S`|u7&b@%URU(?8ED%Sx>%8mDp{Sg2_39zd3o%RENt`x zb3q`A5P-5oI2#C!seV}}8^8^tO!C@kZ`O-q0Kn2bu#*z&U{soZmN=xNFS`?Na!)q> zqDnMxU0xYgKynEV?OTIGdsbnI0K{6iGg~t_wXwrotn_)`z5{T{WmkX!t)k2Fs=aD) z`b>gZ0RHgTjV;O1)%iD$-v-db2N_IKU6U~~_q)$c$|lwAE~at~2D<`glj8fv63L=_ z=vK1b9$lTEpBA0`UwwcpDh$kaY5S@r0h}eucAHOX6Z!@6%?ON@gUrPF>J{i5*%*t$ zVOx~rRybp)fJ#9?Tk^3fNyx8P2%b5Cy8w<+>uoad0W;Ud>;Q&*@-yb1X`S6nlk0_) z232Ylxk`ruE>{qAy0Ri%y!}i$d1nkh(k-*zoWzbnHRgU+<2`f~Ir3HQm6e@9Kn5gx zJE+bMw(Ha637u!!PPU)uD<3kHoKGL3tshxCtGz8r3D{BgNzb5N>X&<0>f#dt%G8$i z@7&fVOt9xgg=||*;rWoj3V`md0RAIqw}c{tS$n$r-7;Kz!DyFT00|0>sju!Zpp?4Lgal=7T4Dk*O{XnR$@tYArjp>kgN1%H>#D z8dp0G49<_m4dQYUa55QpKBu8;Nxn=;f+}C48q#{%!L&><(#s)}ovT_HJL&&jUBF!D zc7N~MDoi)F0H-rwKoi}yD1BM<6bB*Z7NxiT8zZoFWOu-{Gdm^E=hnnO;SwK^S)SOl z3u=pJKj%5z7C-qDKMD8WFOkp$zW(Ab{5&_&%U=F+kA%MY=9}T`zV7Sbr+(@u;chx3 z;35Q}@4e?9`1Wu6Ha_FPbd%~w5w{2G0vp+x)2B}}9S224Qyu^7``-`$>^uJt`1WuA z4!HSQ&w}0bmy@3MwCiDQeNP3TPw;0uh|p|&&|n2foI&N0Qg7vG=izmEyckAETZ(ZT z{d2x=2teoWG8IQIuL0y&UUe0`=GCu-FL~YT;j+svg-k=Yn|9M~(zy&IUmYQVPXqrS zv2m-!N5k+X_A3yXn{U4+*{@&_>$0yBmr<#c~XeU^FL1;HUEv;YRXKR*NG zx%8>Q!t#Ujb)_jExG$Z`W)+8cZ+T|aDvDyyF&{GFdHFez&!E%S4!yp)GL8#5emIb^ z2DSF-IT=3~mN0|tF)c0rjEpxe3ionYG&fPR0Fe_89QE|wqWNCJ5CC(@(P0Az^-B&; zZSj-*4AdXSoDG^=Ra}4pHiU0(0I&(O2YZ-zhPVz|$1w{n2EO)tyAJX|nFeg{oWtax zE;c~S;39wFxFw?=Nu3EGI$R65K;w8@UVRp}$whjlc9wu?rM0s5hxz_TN=`{=tve+ZpZrrReMrC}-58VKGqv_IQ zS}E|sLxPw+J5{pWmL|*M$`tj2C%BV1Oay7{+p`7-4y;sgc@>WBUx!2MYcMK=Mb2P! zb{jU!W_5tKSbSGra~(&M*i!J&1msn<&inD7l7=#S{INj?uIP6LLxAkPK`Ym%M-#6lG@4s>Ns41yWifgP>v!@2?QIBBI2hXP;giu zA}Wu`$oTd#M!hnSfs7JT^8tZXQNT4;=grQPWV>vBnHwl}R^(^#0d+)uQU8|c;5`P0 z3p<-cMKV*+*rO47)+tf4K0fyn@oL7sFVOIA@vZ{}B#C!g?kPfRFd8W(2}Q7u6?|6E zuIt+VrVU|>K{ zUEkWS0CWW#_be~*;e!*RVyNYs)SM6R+XH*|9|AhRa-@;HEHkPXZ3(XLx2n7zdf+5{ z;`oIMVsF5$*IWWmJF=f?F$nD6o=P+`$$+Be>2O7=D#?zW{JuC?->W0eI!k{=qMMB_ zh9h_h!0iPfAU$QQ@qiXCkPz_t3~IB9QDKnQ zRyoZ|m@qq(($p}63LeEy^euV~M|2bTUeGNK$(#Ynen)ttnUkg7vpnHGOV>|EGUkpZ zBVOR)sOs%)rZXX#(BhI&!BFW)1|8LDB>GGond)=(HP^rwzxp-sk}voI=634o7ANseO{^ApHaPQr_7fw8O92P|?4*_RN#_ddL2>9BcMM!5`Zr2U-$bj-N z0y^Jg-(|WFTYSzSv@CM>u)e+yFM837;miN(UxQn2xdoPYxt@2^ZkkKl(<3yQKgvW* zf&w`l06efoa4bPNFzvj8g!?!}AB3M~uRg(68UpuaF~cMY`$^7kNrlFCu5P}X%^~{| z*kJ^A>H$0Fu>aRusWO2O6^4B2q z28HW#&D~~hf4Ksa33$Ewdvryxlii7DjpR$kp}x@haCplMWcoc z3Z}M!2JhsT4xIY7z#u88kONE6n>moZ@Dt_Vae(BmE#e3Pc*Kbd4chlOaIfuQCcj2h zsbGz!S>XX%a7VxH`;4eBNGhn|%5r*GDuX)wXY0YxNoQ{Hq<{ye;fJQ8%kU9K`E zC%~MbXIKCECJz7l(GvTdTdD%!QPPo0!T{A&N^oRO9vT^GM&gB z>~R|*^|=7P^OukeWSdv$R7o8Z-EN5DTZhltBoMsh=Rk9RvanM zzcF{9v~UxgFKClIKa`d^pcRBJepsy(QV$@YjBV?DhF6O(KiWB>A#2?lQz-vd=b!kA zw(wtZ^Z*>(zXAvLFTT4XpJBy z+gaZpS5B#KntUORVK_ATlsb-n2Iv}RLhU%XA$@$y^;xHgNbX^-1_JVw6ME zd>boB&meuGgDffHvZrnJO3Trdk-+Erx6~Q;bMbm`>D~OLsX#Iv%zunwAqapYz){Y* z8njBv$Lnc2(Ts!KLZM#zFe=|N@mX_3>4YyOFq8lK__L_hULzGPAL7>qbySUtg8}&h z48n0Vv;xcYyZq^4ZCxG%typP_hO&4&=vZMV?fRmNAQ1e~c|z+;H8rp0rH&6H{Pgj2 zFlEl*WmsRKL-4jMkU4?zq?VWJXM-jR7)nv&>lGN@*q(6|@|X{`6Uq`8ufg&f$jL7@ zUUbM{ZBM_~MT^B*FHY0Am)+}VMpD(_h@(cFBPkR=vsbJ7darIF5!wtLYzU>#AM7i3Y0 zw~{Me2XS)GD)_%uZy2o!cQ@@t7}s{8G6>i%%4GK2`lChTV~K@BitO(++P+VxmCtl; zXLCJDQ@U0dvsnh09zF<9d)m|B(F(Lt(MMy6w6^GdiZaLXgs)|a8_*~|z}T9EX*#22 zF8*BjT$uBVBC*V87f)rWoo>JVc0O?LyT9wZ7=Wd8{`@(3^N;-)Y;JDCYhLqO2hr$Y z!nL(E_}+j2J#ga03Ak9&1NYw#@BH0&`e&-c-}{y~F!(G7`${@efzRu%dm3DI)m88v z-}Y_rSOq{Sz3;v6fj|DxhnTu#H~qz@J$v`nMS(-`sXzJTV0@ImWwabdt&xFV1DYw> zca-{M3+=bYKP|<-%Ru%pTG~>~r(@?6{SBj@EpPh#%x69ezU2*Xgl9eL7Fel$Za3|w z-SnA~c$9(#C`e%kt?=v?)ccPJLkYDJV4!3)QGFo>1$bLm1Sb^zT_*1uv{W!n*9*^0 zH8@TmRp$K4z)0eQ2kIF97mkbKAnG##G=69H&dm+dI2JHZps{DE3byNh9;8*TQR^V* zt(4}OS@tD8n`v50pP;GmlO6b0aKVC&WFFW^CE-GnF}h1>b6jZ;bl^4$W*B5qd19)d z`2&j*CQv*AH~mMixA~mSa}DRT=K!Q#x*Zs(uC*Cpo@GeG;MYlen@-x;Q(7GY)o*|X z4qyt7PCf0sYrIPjF^wpLfi6HEY{Kika2P8eaT5e^2eDdWk3lbJ$^A$;OJPAOqF!_K z5L#2ZM}v%-4yOgws+GY29?rLQ1_K=VJ8MkuB_78LL$EWzW2>1IqoKaAtG%@_4#G2K z7BmtfsyaEAR%lSADoFGIM_ZeIYB(pP$ax=FbiXfK zd_+?p0z?Wr4Tl*9Gl0@BEQ}J9kz~qY=YuL`ald#1CjtyFJ9-cf?wP=$y(@5d?>Yl* zeFZPJDq3-Niy|>+3^>s?{A0&1gV@%mK*m7Lq#e+8&A?}CVUKpr{S%{C`rs;$$SuKDUEdKb3jyDHJ?v{ifA}*bsg^>#xnB%yjoDOe$}9S50HE1svk?UcyBth^wGS0F zp5CwAM#MmZkib>FPU;SiTXl;Zwd3(BlAV5M6Eo5E;sbu3K;}u1^@TK)*@&jshy|p>2G384_Zi@D1*7*>F!S_A zFF<0EC{M{Fw)JGK0->FdvrI+1W{lo~ z@Eucx7ZNx*f%8=-Ha4gAZ=1P|dj)<8XlCFW2D=cnqqF`qud*IehXis@D(E_`U^>7i zQE}`5f44G1op{P(kVR3O#HgGU@h_1GF}C;0^KFN0G9U5?_258?R^9_v;D+?8Jj?2L^ImDd@_81RVy;Z8T$WqUeF2e2{0SpgGZ9P+5DTPuYOw z$trB@5aq^l1>p;~q0J>oKS$lvX)NTqz4jHN<=BRa0wHwtLgxs0BtJ5cKGAaq7*y$Z^yq~W^DP#9X(rfQQXBYL z2l{rJ_asaP&RF0UY?n(0Y=|)kJe>8eA!^ zjq-ruAnq53>Bi<7{}uxXLdynQusb1Qjk}%$a2%~M%*35A%Oizr1S|x8ZXKjxM9jD& zW&t&_>5Ls9UF{Llx$;_;Ca7nS#Kpn}hjcrvSfd1Z&0~T7Y{%(rTxg$%34_xc>!eg3%3eZXc0-gi1F4#?T@NKy zHWwHaM2JPAp-7r)Et-^g6$5;-JN)@2R*J1XiaR5zu`o4BNiuMy3a%F~kKWLLw%Xte zNqY^M?22v!_0l%=xA)zE9NuIeD-k^e7-t3z8=ydbYs=>4&Q?Rgsw`KrgpevZtWWNI z(8x2Xe<*BeMTh#q+RC4+PGSLn>wp?S6uE5=fM$`QltwR0GFGDNVE_ZbO!;buc9};- z_(zdkLLV)ZT;x%-JftvZQGq=bM54d-3LsLH zV5t+{Y1!r|SBi|Qm8kXu{buGzO=VzLpHv@5jWOFEsE^cV*`kCua zKY0YUmelg5*9Y&v7vAxes?0mtUcSwa`{@ zgs{nKPynjQLl52$Z~N6>gW5U=tDb+&k}tZ>agb;6*QC z!H=}fPE>&4e|+QLt$>6)o1)(SKmW@=hFflZHW)RG9lE-+y$#?0-TwxD`|ZE!^7!jt z`8VKezV7Rp@`SIoHZKs9giwHZUwn{=1_fwFb4Zu=YFKkGY)5?ophu;vAmXGhC?Fp& zNOdQ!XR-kV?~Vw-tww=>W&-3%w&QMt4;mb6H1gT)Dctq&NjSeHLMq%}%y7k5Cs;br4{XdnU((vP3#rvMgzC#nII>3z`9+cTr$AMfXn1DEObD zFlRc08olsFJ1q-@UFf(-8chd66|%$Y5GY7dIsL13k#Lc`UyzM)5?No@#>G@3U zQo;7+kz@uEcWD8suW4hsn8{n0%d=>oX|NL_TV%9{5!2QUZ-o*Xw6|a1ygJ(BY z5c&;ocq9Da5B?w@O!!1kRG&P5CqVc!4Yt%Lh$H*sAO9Hdx}Y@l0W6Vj-}R|a!LR@N zufcD18TYd%-H~!xs-(kwvF1jWI(D^%AG#taV*Ifs%d;OQem%aYWVRdcyfWh6gn?C!L z0D>aGL5WBPRL}>L6J>6wfScI(U3Dsy{eR8cV}cw*L-%PRaGvbXf%$XEj2q=eg0KSb z(D(Me2XF&4c$(N3`+neeLiiaDPjZH(c@C#;fpZF$U;GyCXW&Z3eT?wMBdZqw@v;Nx z{5Y`8jQ?oi6WFX*U{R(9Xe(O`BO5r#7&-eqHVfR}gl`{hAwSD5NvRa3ItUovg#wv? zQCBPU{v43U^KNWi_@PT*GC(&drF~~|H(_Jb2Dv<5JBfhKifLc~I{+mB4DL1weAY*K zenQz1(YS~vKy=|ciVoSq&66R7+(0Y@kH8z0L!IQgIZ)Cxf2;Qz&rSoXKsFCH=(kzs zkC;}4b9b2=xB(hd00ollay3=KOLQVJ8UgNGJ&P)8?hn z`6of?szecKd)Jp?b$O{e3u6XeW{4aucY0$R&TMXRL<<1}d-kuxo_%{c8q^O+>(ZfH zluQvz>UC~3QtJCyNb!5-#TWXW`V1scnt&nFM~lMs{Nzdp;ywrM64p8O5lp|@h-5ay zCj_lnY|!@pq=T{z3ckC%*wVRi|F(U%DOoAepG;=OJMH5GHL3eSDjxx1A9(+J;otwO z?}Ymn91unM-GAS`@S|_~zu{MZ`4{2u{SV&?FMavT`8TJfQ0}PV;aQ*h#K+-ZzW;sj z$A9zz1|xDhdGZAO$N%s{@Uf461pdkY|9^*l2M>DLP~}Qs?}HEA&tFrN@{j-MkH8=N z-tWN!dgzrUD)XoBx(oi#@BF9r^;7W1fAFm-5)1tr+DdKd1GQYVMf%tN%P%{So%4Io zAN&E_^(TJ<|MWZmPq?Fk(MCse=i#GL@etY-3 z|G=NS|G)vb@ur*kx-yWlH&Y%r5c48f^Lw*UllY7!8a_{=<`@ ztIKfa{03-jMg>E6xG^XumiUEdRjD66eGX2Yz5ttBQw9|YL%&b~$B*9gF#Pdd_bPb{ zDFYq8SOMf}KSp)@*xA|Q2_qeJNfC9#TX|q*3HGi{;MB$zY*CvptpZj+8Yl{EG-jZc zX-l*QgppF;Coqe_;=TuP-e3bO1u!L0o%oO^_5PKmj)B*u(a5=wiTk)?4sPJ_%MSl@ z#{*WI$=o}6sV%I24=-DHk$57eH)^1KUf_^0WE_CB!Pglkg z1x_+!zV+!$cPt3^vtaCFjvl9H3O+r8b6c|t=oemGu!$*^W2AsC_kEhUkI^TZ^gA8E zDS$F+&@sX=x}(TUyOwhYMj-73eFum4t-~F+JcIk-)+3MAg$imvU>%{zdHS0vl@IEF zv|B*rI&#^OK8+`%WHZrNwCeQ;_;_aV$&xPey4eCtPNeH}_~1^}cLJg9U_t?*-vHnD z{oe`k<;PBhZ$hCbnkul!H53nkKjcwesM#UkkglZ>6gOGUiLC?QmS{(gA$F2 zzwq-v4?q56Kgv6BNJhi-=%bIqfBNa4f_J{-ci>z9;Xj0zzVu}VgeOX}2x#MF&SR_r&zWaAU$+S4 zHvrn+X9|xYu$*;bZc$!8+aj9*;C2sjJQKwR@ryt2&KJOe1N-OnW;gAo-SnB0;#ESI zVS#5hfe5EkF$)O)pJu=#@QF9iLxjr}=Wq;7W#9-Jm>ki?dY#YZZL%o;xUZP}zKj)> z2ERi0_4pi=4BY0Tse5Sl#)2@+tyL@JHHe!a>RkqYN6tLm*M>TyAL`y9F(yYLfcLmoHsw+%cyU209g1~Q4qgJGcx(w&b6kwF?@BW+$bh# z3_U1G7K8a;3z%#$l z%mJTXH!Bdh)<(29xWhACp#je)ttLQeGk2u4nExo;HK?wC0gugP=PN5Zw9%hUq_oQ_ z%E9nJgFq+6?cD0L<)XYx)&TT61GEZ?SO$98rTWV6ZQ-El#LxgJaarGhEE2_)7ZsZ8 zG3iGF?i|E(<y1UT>8zY3QeJpc#x?}cRo13Cp;bTE;f31)Oj{xg_6q_ng) zC<8R0MqAz{gBd@kHzoDAItY#BkgaoP&%!(3{&uEdxc0iI!Si1D;#%$lY7hV0TSiQT z+Pos$iT~hT@8C$KgNF{oOTO@BaP*Q(d`nK;1xbM;($H*Fbk&j;8sj4GTAuG<0Ee)% zUe*%NE#61r@has5tvmwZqaXedeE+}szu=zgP*NgC=)j>vaNyt}{(So6NjQ1pF?Nm# z`2B%@|6P2r)JtCaQsqGgJ3)Fbdhb0Ie5EL0;w!xT%Bz|4_RQ&1HNO*_AC>)s6$t(> zzw`_6H^27l!$zdB&Jyv9{>m@?5^Qd6z|mvJ_~0i3rO5$4bLI>f#m3M6%v<3#U-~+@ z@y2JkU25c{=|g|?L3scB-pjJQ>Z+@m4&?l~v+VE-RR{2P=pTRckHU3Ne;PZqlmj`7 z1i-)ZcYYgeEARW?`(F5p|Nd{V^JuhGq}lh~a}PZ9;Di3mYp%WqZn)t_)hkTpvV{q) zelpB9cIGyXNG%=jP$L3(Qi@9bVtIg%JCqEhrH^aNW7xM+`~2DxoH=`e0a03fECRwx)%tkL+M(x`%n28I%=Jgby`T{_82--=mO6)p|@w)=MKk zK$3X5PoCMVAlEW4ByQGx*0dZpka1Lc7y{QNc49!dnvFJu%S03%1vMCfv{|Tds2Ql7 z1jtjwf9WPwwmn>5`}eUcFNOP0o?<|KiGdYq6OLr>(ws_leaw;aGNv$vI7LfOMylgh zCW(kPu;{rIy4#)yLAmw)+}>cZ19y!gd0Va{kuPrv?p_^Pk^ zYPQ*@s|{cDtZnYI_<054Xm<@A`1ZTM`@8&^=%3zPLE}@WPQnXb_#!w`0qWtPOE!`g z96wW{h~ppnf$!(>ixSoGy6dj1W95~+3+3K>?&gSSvY`)Gkp6qW=X+{du7zu_y%zo= z5>aCjPq!_YQn~0*#b@94?53@$5C8EWe~1rfv_!NcbpI12?cKkRUo)s|Aa4eKE!o1L zU1tmNna|lGs_oiEbRC&OBY&UY8<=e%IJGlZfZGXLIaH~3Ru47M2f|0vO&O}9))RIz=2s8o;uX#(yahdvwtIFK26 z#_JFdvELkXv5WLu$IUQdX@CRFG5a5oz;dl|fdK|4K1%~^T9ryG3UrCtZ(4@z*LeOA zfU1iT8hSR{z1aA2ir3k5+j_L+OX6w1M?KiQ7#LP^d6h332A(KiH;@x7@W(-9Wjk9@ z!=1U#eLpBvY2;_$1$#p8f*I0|7W9a!d0snx7RS%<*8cK~%# zl{CVi6$YgY8YXq5WOvbIqK#h?_zn<}b^kAW{{e6Lb=8OBYyVEWWr{Q!l~M1-l5AO) zW!aW2_bL}4fGJ6UV3JT0L*Spl%S--wybte@1b87Yfe>5(V-t#vEpWjG7rFPM-g_C1 zrqA4V&TqfH`r5y9M(*~ExZ57xd(Zj(c3FGvwfFk&wZB_sqPs0>EO;x>OrP|p_mR~= z`^UNc!{=b-!VKV2pEknyV2o2#Rc#B`PwZ0;2GUqLWXs3~7xOs_-3EtyQ5%x(n#QTe zcDQ7a@-wLuf_NmP1P3va4sn$wnGDLm)#BV7Se{U1+m=o9uyJu7PTE!g$PJ4WMaN*j z>uJjfCP$_v9+QVQfFOOW8y>>XYr;#SS2`ZWer4Avnjr8=1U!I&h~NEh{}tZ-u6Gh= zB3?N2gFpPE@I(LjC+K*;f>z(WxHum?8vph`dmFs*_kNdXAuy8Z`Y(S8e(8VvcQ6_a z!{Zz|NZj|}ySYtQrGwGR~4?O^X{?ZQk!0-IO|CKnS zG2M3SEwKIJhYO%`4(Kida`b+ofa^&8K`kl`y5iYa60c|E60=BCoy%u9ufYOJKdNm~ z+nntJNc@htj^nHw>^Lt(IdWoD0K%=C7bv5>Wg`l!j=bL(J-mulD*8Z||CP^21%DXn zjd10=9lQ6zoew_>cij6hY=3ND0VIc18ee9Y2%y9O!F6wGuTVEnz~(KM6GfmST}7$$^6D5?O82j(mcY$c zH9VzGVcH`LbK2IvUfn zYZHzJUmFWO2{)sZ$(Je*@N`Oxb?6b|I~IDRF}9gDZh+`HmRD9uFg>I)p(>QmCcFvJ zlbhVvggzhxgT`%QPH&5h0gl8&ssJ3{y&h73@Fkor@-+i5fH`Vj=m^wgqa3NfdT`9< zqv6DD+u-3_?EgPEeefPWJpZ)Yt!?z>h>69z4dJeq1Z1gI?`sq)80=}oTJ%Z`` z_U$d3x1Tqv4zwTm-rS=AP#Z@WF}uFHy}CdT7>YgRn2=P0*U!-xp#OMKq(Bg$o}R8TEe_UPX%A@R z-#ge3gy4wewQ)rVv8=pZ5%=-mrG8QLIe}lGr+9-wI@6L;`{>ZY z)Vd&hjSji4vWRebph=GL)tdq0OJyx4&s?lo{io^y-lww32@!~f%Jr3gZfp+H-)pBh zU?&O(m@J_N{$oD^ksP`JtRp+Hfyu@7p=$Ruei3WopGF{rqjLRy2qlKi1kh1ZE0+L7 zp~I@^yQw)djDJYb4cfKS`>Fa^@RUlks_%6`RRgjDb@{uxd8y;H2e94-b%uI4yNn!w z_3~hLLVf_hZ;Q>lr#fWgR?8&Z2y7E*;l;; zx7(mbF1E?QWci5e#xl+VTqfwsEg2>pRJ%&ijQQ>z8!8XN&elFvbDtbEs+l!5Nmw-h zbSskzTEdsJCT%vCPz%N?m968Btb~BZV|$kiII_whkJthPX7G}#O$(y}I&Xl@iwki4 zF`HmvZV1D^9v}CpS&X2>r8q(dy(amD00#X1Mh#|yWyqRyc&)_@kD@*P5DNWIx3j(@*xDf6-dNr=udp? zBXIBCcfmR5o+smpD{b>ZuEE$T0HqrH!G;DIg#Xw}YPVuy;M=3M(;+y#G-sASM>>A^ zZ{G(uUH=vP_Q{uC20#7t{~ETPa%us)81zEt`(OOhFT?)*```0S`U+AmxYL(2qX4oj_h(|236< za6*Uen%8_U{KP-`DcH1mBZFAwxtG4|1Of&A%WwQ=i>gN80)MBdEt$BxPTg_G9}mCq zOaB^P@WK~aWYm@|$H2CtLtp;l7vK{GAjiBg^7@{8?uE;qafOZlO$B&=c5%3`{mXaI zdl)JGIU2CBp{tz!>LW? zET6YPGzYD%lw4oh?2Am|OU610KkvSSt7Ui%pf_0~{n@{?%zVV@{) zYv-Q*aQz+k!A*DFOT5E91dj&|-SkaS&}J?(MY)#7L)(lCAc?@_kiPCU1#H|Ug6$qqgft(Q1_8N!9&05(Tu5eVFM`wv{$g}Rj|xs4 z1&*+9%k^e(o7;l*oAArjM!NJe@ui}rG#*#B9j5(MVUa zx;7?Tjp9Hcm%;Bg=spvyP~8z+N5CH2farD0fPW*GcvAE@zJYciX9B^ot#~OY-+s=# z;Isi*%AOz1!x<-^0=MAhwxt3?yhyQO{hBNNzp^F~^{68l89nLQrU6o=;AeP3N4cMQ zKFM-gtc4?R%KiFN*hD-W69S-be$yK%qWO!(MsC=+0bcTwmwwF`qhZAG+yCM(sEIFn z(TiYE^aA_);)^eaqYA*eF+|WJEz(=w@<(uYnQJg%nLqQhKkMs>?_feb#YpFW`SZU3 z|L<@AHraO6O{~*rKl2&*a@nN(qd#~vQBXYX(x<_*uDlXXI{9RHJRlL@MR_W)izj1V z^S$3k^R1>QmHZHtzTw6j>=H!WaQ$|s3k#rr_BrPexQ^+ryY7MqA9|<)pzpu${<7(M zo7q9^yUPy)?&p|Lx3aI-t4jnc;3d}=11j*Y|MXdXPC)^s;NZ>3#v-4UuipG-_2~it zjVAyw+WDGmUPYYQr=EIhnIh*P{XH;o>uEiGCsIdqW-unCI!vxSh0@C_+1R5jy(9ixpXr9XHG^%TWj zE8x{9uKRESYMGlE9k%Dc_@!`iafWdHlw^F43p%!W%dzm1m%kEjyX9u0Kf&~&zxx0I z(0mbLo>}Hoo_Z;qdiv?0C)#ufoqXzPaO!Di5CBc`EWp{`-Fu4jeOwr#by`?hglAuQ z6)YCeBbI`I=XvLyPZvWehvtq)ABDB?8qB+~pUQ9Bwi78jn>c9AmgeFdF2K1ZzfXSR zG5G=@PJ=2*f`3dCxZh8lBFMf9yKA=GCt$05ek#+;`u-aK~-8S$W5wu#JFt z9~K?^4-hWZ@Cf?2f1jg{L4Ax(PYQ&G!PX91oXoHI2?DEY<(-H394JWZ05%q^e#2-E zmXVtnIfhGn2ScDs2zv!w9uWs}f*pGf!W|FpfG^y1C#zDE0k78xZ^>?e#S7T#%u=ka~4R@074 zSp{U53q5cg^<*QqNTtYp8~}+#5yCC-1|b2*y_TYZvHk-DuK|2RE_3AdTmhZ&Ldd1H zvI*Dr2^3yT2+X5|P~O;HZck65Cp4m)#vwEU#5ZKe5r`*Xy@<$3)rV;9=Ek@Fl~n3zJn+xxloY*seLDayWzHCg!B;QH0+a%dCqB|mAfS- z6V~mvRRx~Sx4WLcGYNs$gR&7zv=C)8n4{(ufd1-BBHY0J^FRNy0$y)~tFF4r06qla zV!}x2hYIki_7QoB`6%jlM+a~N^d&ESY1z0u4*tt;{TAGL#~rr0h-(t$aK7#%AAyg3 z^rP@cfAoj&J>T=a@XFV`h9X>NC7iGR<8StsMxvGKrV~#&88$2~8UX#6oVxjT zrK3t6o>Mkg6@bRI&rLVpNc_;cF1g``8(`mlr{8$#%U({AyN7F1fH;EBO0yAxW}WXN zzw@Cs5!8mOpWOXU%hiPWV3hkapY?3`p6~r$;_@C0hVXcs6zgd{t*37+8G@j6nhXx; zw;BN#{QrPCwBrARE}pXmg9tX~5zo93=b$wKoKoWOH^)vKI*EX+fzJ^Sl>6H%yiOcF z4c=0}uX~a_;??BerzXB0B$J?yN=^Zf5or+pnt<536Gt3;e$CRbB8XU8H)%N#@PHr) zdj=qgUVK6iW(E7{^|8|`;4*dpxCtx?>YIbq!|ypWe7~wrs`HhP%%_5YXo%LRUsktV zbWB}kafa>kN!1epvcW|gs^ayIE^RijBtgXGBBsS3^XGjC9VIz{MVYE|njDrP@ifVl z%QX@Lo|cUNwA=XT;CQtDhxl{uU|^oaiq&a@9Q z?}96iM~O~m29ia z>q1Z1&Jq7hIkZJS z(=a63jS~uJaKfeqIBISH3+3P9B7#cZyA+Yua?~F2kxp6xQQf#9aEd&u7&P6p&VgFj z^&OjVy<^o_R@#*XYog2D*lsLr*Z{)zklW8IaGp%X5 zVLmMBcch!R@1DEuYm7|3@Zw8s0wi!L0rmB2amLQO@M1Xeq*LJ5n{TA&@nS**2(}!1 zyjiZ)85Oty>RUu(!%>_BN+N%#ZxY~QX$2$N#YCi(r&>Txqj50S-)-EqsdDxZ|Cm-sV7tsrlrYy5V=b0vbil9t&Hg@mpm0tDWJ)H_ufl?BcJpm4?jeaZ?_WO1Gzl2FI_lGS9u|Na0nF{Y_Q5?ncEj~|-UYjt4#2`_v0#ToiZpNV z(mdqV#0%&OAlWY)8cB{cBan*E%q0Onn?C)^I^P3FI*&@3L%ke|B9D2)n&g(etvNdU zNoq<1~U*P z00$tna-m<*@dDZ+7&|KM9P|dH>%B%Izzf8Ucm`c`h#-6c#*uHIZyn6CvC)t|V#F}n z(1tI7ZN=vLyp25Fi9qV(Hg2L#fYm&qvA=Y1rM$}*FQP5hd5t3c6i5c1K^wUgkU$rV z_NM&;=FsLlG?UOC@kt1}aJ00MPade~6L8Q%OB+F3w`_r<`R89?f8%@DW}FAdf!+b<>F=aA zU|--J2X8F>qY=M&8VJF61W@q~hEII#qja|eCj9ILFMJ^!ZfTV^))^c|Sx1mX0q7Xb z90P*#3_}wmnIl(pHzHd54L`$jF*^K`vJwBn7rvNiT246rgzvT*uc!6&giq$M(?YtT z=w|;y#(Iljv4PR@nfU*?>;LmfM7xwl?#Dm~A?KvD9-QPCI}{r5jt~p%Xio|tWQ9dZ z9yxp*k){+qOvQZiOf1fu?sN`SJYm3UOg`#YSh1;EokZZ=d=ztRlgXN&%Z77W5!v(6 zKr6){{eHGoVQUd3i*3kLfN!UO;3?NDtbixwdi8~$x6tw9A>vHA0=k>PTOE_bXo_2T zDe9Lct*1BE`aOrTpwmh#AhxT*FkR2Ih`x4A3V@eIum%OK6)1rLXIk?d>kvfR1qowc zw7IGvH4Z0G$VTf>fv{SRSHu7#yKq59Pp-uP3eXtX*!U#x8%Uv!QKq?5_vCsV)rnk| zhMhZ8V73pjx>e_RIj(#TR{IOJ99?-+=mRb@wk4Edd8G;y$j}9>p;ki6Bgz!&(b3UV zrm5gTUJaqRodR_>TwZe7<~#)qL-O&feG+x8s#5YiR9{milUxCAs%O^K8SGLf)ypLB z=AZeaPjerD~Tu9c801h~U3f*NE86S5C7eVsWytnGYE52l5BBqWRkEWiai{fist z;MgsTaBKmdk2`7u9J^rz3j;njj)&oi?=Vc>=O2f-x-i~2kn z$W>nSv#ACJbc`a@7l-ETdX;62WbQDGuv5@!RKVvgTaKpVyqfmY<#CU2UM1rTo^&Ar zsyiRs0bg%A_W0xA)YH$f`rdK-ZBrLu;StJXk2|&=m!g=u3mxrbFhyqF3vHbhVwd8lu_95GUO!raW%cBG{c@SE;I#0|X6n0PyTaOX!eb+gx7gBiOJ6JYx zT<6S`B5Je5)>)KH`MF_XBOHJH@v!e!RYdDvX)Kv`@}0gAU&kZGqJo0 z=ZR6+)PHLeU(?OrOM1ej!#x^u^XAP2s@X}C9gi9}KPHS~#*648aD1qQQN!Xj6L;yKbtVO`NI?ZY2kLb=QFxx?}Wcdq;%`@$ltb0|2;*scJh zxPXqkDdAEs{Whg(nWa=&2MD`3OcCMr({OstL&2OJ+o=KwBf1JphgwnCAml0!%QFWh z2lM$sfwL*lwrZDG$MVcRJR>lza&UW-s`9El{WytzbayxHWL=d-t1xFX)dE-1By)X|8qaGc6#)b6K z@(QdjFF`xlKp+5u&cw~SD&S6=LAMSXJd)l^rhnM4y&xT(^mM|b&%{_o`@uhQ&F@W{ zR(dfR_w%5DTNvSd=bd+2yAU9|>4xj!>gT?IC;^T+_E>nqi(d-weEXkG(RDmtLWkmM zmtO&Aoqe_eub=(&C#Rk}`IJ-X@rDV|DHZWHFF84ucg8RT`SWadCYxI>j2Y)8G@J|i=5V}hFn&wSRi;5~nREk)lW zK=|>GeiUBvvRA+Z4?IwDWS&+wG?4Q#i4c<7eK$4`I#wlMAIGsnkG0_)2-5{P*RwBP zJv9yQ(i3MlZYq^AJu07V-LzN$&1KlPyhb2yzvw4YJRl!2@ABEfR zx{rX#(QpoWc;#?_{?CT*6BY^P=sYW&U~q0)0^1h8Rfk;VW1g*qP&+^`4U31 zbv?16GSMQq-0yMcHI1*YY)&qpBailK+5ACJxakq;HvwY%3+Tt(-YtR8JkN6;8d0q4 zvbKQ3d4h|$KCh)3r(WY18v>p&P4GfSid>d9$!1b+!)6Dy03){taLTq5;h{TjgS3B- zaYthr<1wF{QN7j3#NHqg$UH6}KIVyB(5*yV08gsC2z2OaT!TA@^C515| zoz-9ddH7+TPbKeOIPHTc55AKLDafAr%x4xb{64A^_Q4km$c_N?jW^t2 zlw>%DF(Mo{ zJ%s>#+<0CGo!8TP`fjEQb>s!O0!_5QY8iPp{3uz-Zsr5h65Xupr_4wSZQe7e!3+=d zuIx-n$&iF%q47<7U&)(aN9&#j3|#duITwfxn29xcAY_IADe#+f0G9!R>j>u2q*!jQ zftIi~%+Z&M?t6CsGN4;h*9)5iYx%f@srkx@{uR?HzLliVa`|^M*WsKaOm2xPGPqH5R zIV!P9RcA%|kJ#RvYXwOrq7=L|dqFo@f?WJNL$oTeBTegB9AqXFS5`Gj-4~|@K&r9> zi2aq!zpS41JTrum0svw2Ae1ues-9G36zZy}WIx7hZTV zeDDMBuipFQ$F3{j-!*XFlb%$-umQa4AN(L(|CKLQm+U=W!nT}s&bjadKm4OGzpzMk z-MeQu{N4NCH}&k(F25X79DUl3Fp+Vd;>Ul6B>Fzjps&0_ar{%R|--l^H4rxBnj zXOnF=nHh<7i{Ix~<|wZRQNId~&}Nw7s7af9e3{s+LWy#NHW1p*i*-t=w!O2bmQ=O1 zi63{$jiCOaQdcHgkD1SPEqeL${Gw|oo^%q^zm$afwrkhU;;es;erkTtef|qLy4_w? z$`Y{l9IAfwToV=?{EF4xe&!sU?69FM>kFbhkUJez{A*qaZcU31i}8Ze;DF7yohOtV$50 zgUgl`fi?*Gt`YYI(^)hH@J$q**r$3;BoE{;AM0615?N1V&fL>Hukms*O_CB(sI13lEcT)TX!)ZTYmx z!u%X<5{{4t1Ud0x41J{On6yOsF+aq<8S>?gLSeDC#+=Sd12CSfag=l#Q1mxNbR(FK zk=TUy@+JTQ!4p1OP8TZ*Pd7yoicTrmj<*Y7#QJF`oDBD!unl(JeSpC;S=bv{+X^_qhhVo_p?j@IycJL-4k@y^ZJ|u#CeM z%)_>C+PoPqd-~G}gnZ_+o(ccy*MFTZ*TsZ<(MZ|x@@rmcJjytR{^BqG9NzFhf4}JY z8nq39{0j-dya+aKU{HV8?p^Q~fA(hvsD39B*5%6QJO|$Mp7#&{jpGriMtPKa$G0fT@3s9oVVg}BoCFl5ejw&_fjMjCj^hsKhLasTm4`^qFdg$7{@2K5$ z1tb5ZhNHVO1%NN2>#5seK^h5+133E7VaEp|pp+|+BJQXp9n%h~_dsfXf`}4^y)B%7ji;rN}PRdPidh zSX{A;JG>G5&5Do#&&3912vL+~GlFtjcbJ0K1KCT!2_`Kz%o3#cMTRE zdkl_SJia&}YtWA6W^c+V*JF)$g&-U7tU##l_9nT|N*sXf_Jecd)VMu0y~N1DA&q!& zwJ&|~^edhTNB_|l;z!iwf0-@caM$w+jgUWyp`y zY3Picf8mAjGe7_TgVWA9i#oY2PT`yX=kL;mb}?<-xCx$h<<(FfU4k$+GFR4iVUq)m zW(2d_i#YNj=>}Xj+46>ZB9IfEbscm40zjQ|>SZ_KEi0VrNFz5fHNMqHU}<&L|F#8A_p{q(>%T2$amEsxOgh(Uw}LNJKo-L6Y%8S#1H6g(kW(UxhyBZA=na_z8aJ8n z63WN+9Vj}t2bPw{RQ~GPGSNQd-T>yyCeXtC0!7Nf)lqRi|A;g=l$rkIG=tTMysmwqD zgU~O?2*oC6w)^A8g=@R`3FHDL|vh41(6ouUqrN)GHvj}i?bwU@&QoWLI&f-Oc zc+uu!*$BYz5m4_H8P4N|;(#fUCU|-UX+Mactg-bY)`Y2&c$WY{d%hgdDO0ckW2_VK zrGQw0fnMAwn*f+sk5Fi&OabEC-nw}!oN)4~u;YRINUk&wh~AA`**Kz0YB7&eE>c`IEPi4&td2jI>4|`if#VQHMWYz)!q1_Pdb~ zNPqwP-e-4C%#{tGSH9}ihrD!eo}!1J1zSqW-CW{?FjD%bs4*HDDC-``-KB?CF+x9bImbj`bLr1f>9eDbIvUPC`|Ps8a50>D)|ut^ zbKsa`wo>%-EDrPaw4T<}cQa*mCuB+N=y7H{Ac19Zap6b={nmuwGx=Ok!e@Uh@tcmL z(A_!Uo}HB(uoOdU1Q*HR2egyD=a`b>Wzj-OBwUT@1boH5$`OVM7(CQqZVh~c`P%@{ z0nj~=%z@;_%7iZMt43l&T}P9ewJTfjsb(HMGk&cxd`k~d#dMQw7U)&+Ffyrh?@(SNcnXLlLCcabw3Cew~e=G3ov<$2%I#?at z?L=7%0@MZAQ^>;}*4hSxQ7d0P2<+9aGv?y}rUBmg9!#YifG%%~gCx3{ktJd+8J$OC zg?byOkB3;)bLYsol@9^*hOoI3#)IXdrQ{3_rh7jmXZ==F87@D~`fwKFXSGArNY)WO z6=C7v$>paE`oO@5D##I(@N%n@wr+y08|UDt`2oz)Wnm0xtW4HmcX6^%tg?%WG^ zKe8VNCp`cgjy+35U%@w3)bP1N=>#{Colb-j5PTx+pankmE|*HtPwi(nIP!z@)~HX6 z!W^XDlkAIvlALJp7)El3IYv1{fspp?k9B_2b0OHmO%R?}DvwLQS zjaporE91>IS#pS)2M}p?KJ%$h!hikE{|tNg@$px5$lvxC?-cpxU{iU#t%+lc2_2-- ze2B~`&n#|OB&w2~J0GKuki&RqaW;=W`WSo0A5XBa0My$bdDuQfj^C3`IZbYumraI_ z1BbwKlbWvygaCC8RcNywiT1D~`)@2o9aftMv#KT+#ig)VV#oFAmtRo;iuc0KvSEYV zryu;=4-g%U=6B(R7um&xoLA};ovYfU$FHSi!hPI|amWA4FbxYE-aO#T-k44%t_2V{ zJaBNefX{2NRB*z%aV{Worf7Dg+(G|*FdP-YWT61e30Brt2pHMBf;1Z=n4c@)^V}TF z6+J-i_ywf*Ss3yd$9mA6m`Klq;BB9xdr@|HIUfFR8KZJr=T^sB;WIrZsg_IrK+U#H zZ4BhvS|u^y+Y=O6=k6qH9R!(`$9{;iAg=nJOzaai>0DQQ4*1kgD;%!2+bI7i>RD_b zMk*7)EbsU5?|wrRB>4D*E(&l!oecrz$H(b=yemUdzP(1;4as;*X-=XG2opteqYdp3 z67lfk*zObOHtPXWdtiIfo)7yHr7YkrcRTY$a~m4A!F2gzDR~8nrz4sp7cb~Li{&^Jrxl5=q?z!h4itc^IE3Tox@uUYv&!T?3 z;~j6OP1CO>;f03(>woZp`KJl@S!GZnz?eAw_brtbS$CEPO&4kg| zxUulr&wPe#6mIta&3oTN7Y}1XT|oMcjo+nydAx-7ar?s$QyqJ{xn};f`yA1xM4$J> z6HkQG&p49+=d%k4fBtzF(A^HWF`^e5uBY|1o(}I+=8{xl540R(oFFTj+az+wXk{6B zWi@V6!5DGXLIiG39Blv^wQP8btPvg437C`sjTQDGeh=e*bx;g$%-23t7efKV*X*q$6J6Ir?v$GhyRx+=IMA<{qDpcK zGt1V$vQBkZCv^i>A>eo_2LZ@g_O+iG<=q(m7eMMDoXUq(|0T#&gFCF%c?O8Ah-SdR zRL+W9=1z~qK8`%wT256B5CGZ`?ip>>_%o}x{Hz4gsfZTl!j?}AiI8wk3tePDko0C}bUF8Y}rqJ4|=7 z%fstbm#0b!X;ySFKomd{M_|D+?Fc`IU zTF2CQIByQ}wgsBh!6WSfs@oldkyClr#<2d|>e2bk>*abxAYAUiOgRpx6n@k8YArEu zy7|^RJxBe~9!rqjZkd#mP6#wz@T8>Y5|r}>jl5QtKn!4e(ZJs6t4Tw2a99p7xZ9+?yvsae*^#S*Zw11e#Nt> zjVGRXGQ9qm|2_QJPyGzs_@&RoU3c6@&tc@s8O6bP>eHT1kt~?7n#gzhiR-R|-~P@2 zSVjC|I%exu_=i9KPY8U?YG8DDgKCd20IaFunb_`X+~#cHypAabyLhwbsH2Z&er~DL zquaOBC5v0+V!$M09d-BKd+vsZ?!VvaJwLw)CltWi7bXd|Y}pEDopT=Ce(NptIp+2G zPk)kRQW_YndcK2mg26GpqetN=5^ z;<&m-fZ6R?ZBqSDVgA*5E!sN<3zKhlbo7gimRt}@yzQC!pXqYCGNzYTSK;AZ`-%+9 zCQqsNh zJ?4IIhET9KjLydIdo+)>6xrOyxt%Tv zOwxau^G^)mlC8luXTE5!Nki*Ylv%ITm#83$?SsUZe$wTaSRXX*Xm99(KIVT$stcZv zvK%LzkWGq_stTfF|MzHt({NNBFxNCj79-f65nC_6(?x@1S9wzoFX@~cB8^GeY-`5? zPBYzy(tFT`9!}NsaVMC?6~r$4#QB z?xC!@1*z^M9Z2F!8e1jw5}VNo1qVIOQSm(im)BNXqA|g0<69?gIUY_r@g%tKz&?5( zPoxaSJ=%PL+!wJ4dpFJ>E&oG$mxBfHLlBy2TELt$c0%GJ>xq|WqpLZ*+lMD-UihLH z6;SpaMwRl;zx+!$<&;z5$xnVVJ%gJg&ws%S;EHEH6F%~h57Xs*4;MfXpT!d)XPj{c zTz>g8=u*Sq`pw@UFdOv%LE1OJ=}naH^Pm3$8bhehn>KBN?^Z(K`}hJT-*wkr^!LF6 zlz;ZKpP_pq4h0s|d|Ck82smRt8i|YP_B(F3-?5F`N*S~A!?7?Ke`h(MG2wW_2=qVy z(?5epAKgwM^jrS$5AAzgcRZzR3>=Qpzt~5(E<}0aT!)*24RIl5sxPknaLtEpz{vfR zPCA)DXWZ1s3l;JE^|YSWlcWSk;HC?$1+)485e#y0gjdf5X&Dlc0ydFTFNyz8UuBM* zR!=WtL!e-dfnRBAt&;5iBl{$IL~qvjqWd)?fT!9_1I2s-{wEMfHk>7#@;qceI@TAH zg5fDX2X!R3em=c4O94v)tFxvoc#`3j5h8$y%|*Z_l$ZdrAvdYUpA5XtwL2?8CE5+u zC6VCxBKzOTu}E-v8pfKT_UodIGITZtB2E>*3%Fv+HCsg`LoMHNvaFJ6JTO*e2PU(o z#sYDfZ%WpweXO8KA^>yxNn3p{f-qnYKVYR*CrCR^D;0CD#MT6Gl{&}Em{NpXcc2b~ zZincgia2ova7MRUg)0AHfrWt+KwJ>TYk~shE>BAbEW(o1ijS+JemD3W!fDZD4FyK^<7T2D+}_*->rY_00O*>~`S`8>>sR52f9xmWxi5SPENS4|?@xPX|IeBG(` z{SePVoZYzc+1JAm1iWQx0k(T0u406yje^%#E5RP9Q z(sX$rH{4|12>6H_8!aTEli�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 z z9JYU>NR9!yp}G#$!&BRz?+0{9e{>tIGS_S{ocR8ufO>3;A>aE zjdfUubyx=p$@+P|cdtl2e^_8vF6>Z2%D$h|vuQ#_Q9xSxV{lhM={CsvJTS=2x=K0U zMxH^-t>%kHE|wLqf1iHY1qd+&sKS~|!OfPr1Y&m~-on|7a1pKErJn%^c2`xe53Edw z>;l9*`GpMPruX;n-NTI=9~MA3SvE(IHj$s{?Ghld$a!qcrulCg^GX)Hi9eIB)H(4# zfzLbJ+r=_E&!fw1g`By`hX^Lnb;4&LWrOvYU!G#QPDwvnCW~jDf4f+|9Go|a`F4}! ze|mxfU>BnxX`bZI`FN51OBbdsmkEGgX7?bASpLT5Gy>v_*iHHj5~q5`eB4e z?M%lc0^RvQ#{@isvY%$+je|^QI{a|b0q$A0+D?|-@%P0qeGXTiy^OEk{xbgZhkpTl z?~n1L*WS&*&~$S%yVlrfARjq?CbgR&te#_u|;!}){g zA`Zd`27P7AH8I2wWCuG1bH5S9j5_$Gb*S(gh6}|wS``7oD1;P|!-nv6e#tI*Ray@C zec*+=yzf2OEc(dE9HY6Bto==M65P&P4=Y&OhYGXvz^s5I@N6cd741ym7yKcxk!qtw zc%6a#y4~wNhKo_Hz}3aMJXBLsfVOl9GnSNwq^hb)V*pxh(aNUkmDdNY?DDj?*|}Wl z)K2gix2Hz|XTWeWU*@2_L-nlWOWGzLLz}|smI{pJ^rmcAg@|b}QDq$pSJj#ojtKz+ zC9X$nMda1V_Ku$@ld2a`w+j^--$ZhB<^mxg4Iz%kkF$P9Yd$n(5_f`F1i2L~}N zRBe@TBg0f`ZC72m0ZtRvg`(8e3znKs4D@0MMiXZ&Sqn%WT&q~;b|8(<+tJ^4_LkkA zUVuLgkY@7rb*z*Q3r->GdMf~wB4S}0sv5w9>@`hXXF)FibzRhrOSPe(+>@SJ z+&H7!1S}6FCnE7AlMB`!P{xR?>W3qnbOWJ%w+`#@iG*Z@^-q8Nf5pS2d-=Ww)Og@J zkPf30qkliL%|5|P2b;(jClB^M7JIrk4NC8?3NylhPe!hykN0i!7_A#gwr>|Z$j z6rh%he`K;)>Ww3?R^fFFDO&(>o8BeQ`vyqMrK49HH!!K!%`RQSvzrrqC&u55b$E35A>O+4&@B%_ zvF`3R%3+D1Yyqu)UE{Ok`EjoQ3opNb=bn8Y&%gXUUi$n?nOEt+!fV%`iJ<=u^Bb;b z!vP(k>RZG%{>hU1$-zFZT)d2RScgwE6m4HE(?IIIKv&O#?-W2fAO1uG2ttIdM_zde z%j2r7co}Q+%Vz^+gQ6UQS9v270YxS2yph%o*Ws1rGr#s86TF++Jk|rdZVfetJo1A`)~Jla_^7bRF?@8Ub~*&2fM)#|p9v|McZNAsn| zfRkNtXv9j_l0^sUXGp5tled)h3MjOKp=CB|wH3T0O)W@VRai)pZYGm=DZnh!MuKvm zl*+0ADm$eTt5@Y(r!Q1Wrs%X@M!*F$Oo*%YunhvBvYbY6puQ7~+_sg_mBkopfmi$(W#4Wk1|K4*a?Rupsc@2K z8rOPyS-2}nQbFy`v_jZ^=EJI4X6(5i7&P(@C%ivPn$zeE=XieJ^3D?XwDhaqofiC9 z#mF^>w;sKU-~aGmVgM0~9H}RckwQ+pKIs|G5bv~fbcT1U>)^#cotl2t`(b{k)6zD{ zNn5p+ZoEmy=%6!kyajE?V${E5?|^#c@=3SehZ%qqmk}vWmRQL(0#V+uqIBS3$ADl0 zqZ9a?;)+k)MmN*KbRC=u?xAO$h)?4jkAdNi7pX0H0KbN|3aFt5*HJ8%1$8Ol2>UVS zcalySqlQFG0t`%dv6{B$diBtCzE~gUGkv=91!ktbr~Lfk{fGGDKmJoZeE5jL;$)?a z3~(lw8%K-doOQB%-rm|ssBLxyF`G_fyhV&Z#UcXO8g&dx<_U${^XD$G8*X9!=xmZ*``{Zq;-@g8uHNx zx3vmab;nyDtQ~`awMISHM?i2RDgaHnl}i#B2yXcT0`~d1sf>ZSjqf0Bfh)mYxAPF( zBcLXtrboLH%#}tE0?;6?{4ePuN#a*ggT<{rSF7B7go<8LE9Fp?COaw$bcT{m=K#zh ziG<3JPPM2CN`|+$b%bllMlM;wa`0lAsd?hJo?7T>0ezuAxUOyk8@|J!2C!|gIGTB| z!3z&5#dQ~)(vz(%YI=pBQ1uxvu26NUiudGs3sjEr z<#`pT?zfz;uP{~UJJ&7{yr4nj@wwina-ocT!Ow|z76VmQ(Ny+vMl<*+33SHibV{1@ zyg%vLS!g*+`ty|canSp;J%CQWK3weM|M%`ci@#3>vc(n-{76KrQs5se@^$%OI<) z+p#AvN-7qWWH!gyLBAGP_*}Wh;EQ(C5z6OgQBjK_tIJ94uM^1Aw}1Ze?K24HY=4pC zgZ4+=KKLl@U(-n=adzhq@Gsu{f8*QF{0h*PGj@H_yD_$$B|L2&=b?i>;=5JxPU6ke zlyTbgr{(caIy_B(dfGfcN*kZ0jGtutKTVp`c!of|-_RA^DaFhfd$F+n-uM44 z{>{JnT^#Hm=JJxRku0I71O-;JMQ`NoEL#+J*~&Np!;6^DRs=&MQk*T4w>HY5eTkml zs#ic=K14F5OIGXIJqNq7Okj7%^d8OUc@o;#oMa%j9Q;>&PiH^Llj6&n5!Ygc4&zw@ zYZK6%4h~!%$9imRqO1zaA%e**$8^?ZKzTA@f6(0g$uDzvc!cTpR<38!d5d*@+6c-0 zF*N~OX$N;8VJV~VzRRF=WXooT+RF2!pf|7klpH!yM#XZkxn zKF%QYrHdEOC&$LZS!Lg8X-|v0sw_HV+SBrBuW`cjk3u)jQO?g$ApHk}wYxoIup$ej zP(E2`l#wF#qBPFJKFc-Y^}E0z=d>NW6Q`HbfG zV&!X_Z;f@g$vjQx`EAmbMI+rFJA3yj3{^a)W zp|(&O&W!b)h<(zrV^4v4ra%>k$ShLb=o`q7l7>dgZK?3|(by}rJINw%m9XZuO9-Hr z5mkBmu&!^N9@RSEE&xQLw>eIk>A+$Wzy;GKeS`8xMyvD zYZ79S*wTAa`+Fa%7KJd@{#f1a8t)^vKWuVNE&P{v|0sWL@Rcjy!aA(OI{eiQ$?tPN z-_M|579VVZT5z+XgcQ)NxZCL1!W9gbinMFzuOf-eu)}5+x#RUd>uQ=RBeuc$PlnD5 zdDY4m(z-tO!de%&aI|#px|G`G?@&8<<((JNm13E7i%>q!twJdD7k$Buht!A&tP=6k zJv~nc*!|%j{t@opyKn3FkbE?k{1f1iKq5 z`2y3e!ugHKv>Xb^XF@KShSa7LZqM9qC>zC{`sgpRJh_h`gCBhbO5myI6Uo2wc zRQ580&#B&oY0kf3EmSOpiM1TIg0`ly22l+?`?!v8wzu)p%P-+qzw>i=u>S~8o;;3a z&QM%XPqL0ZivaU%dxH;UjJ4dDX2AT>-Y(vH>rGsH<~p8x@p%G$8nmfy3SyQwug)RK(Y1 z4WALzP||^!uT8c-HN>MS|-TIvx--&%Ekk8pd zkiq4J3j)q~@MR;2GyeKMusvJ-AF+Cvb@V7w@_ z+OCx3C5y63Xh|e#pWY>sfz4obi7)LKhP0XFbpxl=t?rd1fN{*GC+jp+4>-7XES@VM2MsJ}B=hjsWE!_o2p|K@|=!ruHb+AcG_OxeX zdE!)BfE8kSY&vh^)pLM7Y2%(WMCrt*A_rH~usS!=wBf`wV`)!{)$*AzUN+Fu^7QRL z27RB_{`Cq5gR8Uf1Oxi&dX#_9*ZwUZ()Do!82+2L|8xA$fBt`u?b!va!#b?PU%k*T z=2$$rpDl4aMlZ!`GaJOENa6w^J?V;1;0(s)C9N%lyP}l9TTdHaQCw4)festo!F0P4 z3zd>6+D@?^OL{=D_!R>^QG|8Vw3!uDb<}_C9jKAlD<-7Qz1A;cst{b3WnCRyp;?2A z`p5kUJm0x}Cjz{Sq9-MtBoJE%PojbxuQz7d_w!adEU;f<7J<>jgX8P~GJ(U%I(?&y zzuPnP%j4WG38zh<^dwn5hvJJlfzCATbRO)oWqX%F-SjSj-U*7Gup7U=rvg?d%j@YZ z1Hwt~%wK{|yWGsj$II-hf+ocRJNbJ)j^Ow#{w7P|beN!k&x`nck%8n%2A@;j#Zq}v z0Q3ZwW0Ku>BoOLweuQZRs%IOU1+Wjrmo@SMh(%w?XqZ^F^QJ-utUIvTRs^~uh}~~) z(R*Wu$2Y_S%K zzgB}fIH(Dk$;A--Qnoe@W}#exT~3rzK3)p^(R6+Q0g$O$k7}X-#X0;uQ58{pFNw+npTDbH3LP2NNUqLSo+l7_vTrT9D>oRq$WTA? zt-&-^a>J3E|Rn#UQ%F+tY1N(rcYM~JfXbxe8K(1RUtSF!s{pCu%Hs^^83j7IT z-i}V`Qrf|7CB(e2M$pf)d7)-Ln0vL#l~106i)Z8#P@(pL2Tahm=mV+-(-+c~RIG+k z4b<8));L)6$1jqks1<(Vg7^B|32sH;QDg#>;I9~f!mRfk<)|QWJ zFCLIWw1B@}K#=2i&dZfU*1zi-InXvZ>1m5qTWIR12})e3d8&iY4df7N`s>1Z@m&iY zeFd@GFsUMAH#8iQ_EFa?K{^oSJy08Rnb#S-CdQttApj<69oFF!2=6|A1Ft{$0c?zo zNtj_6KCkBs@)u*{d}ThX^Bkw)TOSeEZX>@y?Yg8hycDSM#RO+pd+y>mu>~{La6{ zk01U3-+AuW&(X%~unz0+vk?N82XVu95y8KFpdd?AwT{g<1w_k+6kP!UNsd+%eWh3| zXRtCWjKsQ0fEi+x^2-0!Vi_huSr?=NOv~YQS=3Q*%Uv=Tfj$s9ods$^-T5e1oK7{t z>!GM;PK{F~cC`3OxSfg^G)^_3}sOE^t{lsKa4*p9Z^TuWYahHq3 z>=!zL#2XQqPHr(~*_t_I5P2GFHk(een+>+H$!##17LZg(A=Wp#N!et`Y2$UWn$Ft^ zY#p6#x+Cb@_Ypu&pDcF;uvVYT={~vdV30Yv+n8-^6pQi*LMIFCj`*|}Tx4hoEN^+rK*b6t*L}Q#3E7&t&{pu3v`H&ij=H)a zZ!9S|mEncGBSxk`^7DwJ$K#&_mNX6iV_1%)bM=SKms$fqU6H57w=SuXqi+F!o}AY= z15bukYjOJCp;Ja5q0+E)j^@pS&`zE~WvCepbH1KWO$Q}EuS3=umg`h1=qGK(*L`Yg zc29@~Ae}6JeDwwgE5bLkRixzU-_};U812|yo<7RrN?MWOL~WQF8tlW^CuXkM9AjlL z5kDVuQ&HPxvEa}~6h07x*PI^@kn&!h!5c34VNmnB5?n#SPpPYAlmW~lT~IR0muA(EibYYh|v)l?VAyDQp(^aXNzRYqL?Mn{=d{wWLo z#_jz&ti#6>mSKrMx%GQ^aCp~EuGGZx)16({mY{y|A)AFRFB-{8AAsc?Y_e@h7|_*5 zs%D!3UE?7Dql*!j=c?r7bMZiNnF$8X5-T_8@!N=8;wGOl9M zUaZ=R3l6VqbV_l#56zTBsxyU5e~(+YZ{bHj`Vsc`4>C|&fQ2&GPO_ipVsV_UoFhoP zv$GZ3XOgXu(z6UqXWz}sV$Gbao|C0=dd7ukKgV5}^HO{HIb_N@R{~KA0G$BjX|@WZ zY!Myr<&d#-KpzTNEk-b69X-w9^Q3GNB)1up;#o5=NSzMq>+{#96E3>AQb~16me9!u z@+AIlC-4~spiT!3PG&KE0%XbhgM{R&V-mWu=|RwbBU+NEVjb(exgN7AE?$2YU;hT- zt6zH^AKrZs*O@VHPw~|jE??Qfm1|dV?b2o+v2Rxol-O#eL0;E4G_&oSeD;>AXdojo`CiQ#2?KMvAwl}wH5R_eB2?U3L*#jpCplp zoeJ}Q4cXB%{KtI&M)~Iw3g)69|?6 zUZ6$oJF3mvd-Yf5XySbIvxb1GL8^hFo!E`<(8PfsY*bcW9qOJB>7dNBVEO0=1TrDR z+lQGtE^L%f1xmeI6;?V-s1{_paN`H*%675b4pfi{+fB@HylR5tr@`ne05KF-?L*K` zPgR%T!3bk?2=yQ{pUTEd=@+E*Nf+TOUPP8YW*oGgEi1F-kq4cFNC?374cOq|=YGe> z+A(-`8^3(rBt@{YS1T9p_q0JmZgiqaLCrd& zQnWFcW~%&r=o~LaLXt~gl}|LNTm1`{PkT?59Q4vycxQCGIj1cO1R9hu-u_lzXi}Zt z{#NAa?Jo<)nvXSQC$;~oe$ci*t!jUqzx}1Ir?-E=U)=pZ{=NNwfX`q03f5sA*5R*C zSRCzT-_Hds3<`+ya*;2K+kv7t5o&wlwA$>Qgdtw6+X7rawI-8z_G{;(=zPJe*J=|^ z<+B-Uh+OujN?_~jN|1-s=CM^0TH=w;FLhL@>sXpHe`Jf?2s$1d9N-5({1JZq`s+A6 zIxfDNgMgFeOWEx2IH0(&NE-ot0xUxTpyRWAm>?CMt^mlhd_Z7IM{e_&dYc8kUX;@& z>*-`=o!xeH+3I~ZovQEY;v=)qKx{d@kS(Ss;{Uk#09ThRF@5qEjYwZHw3#qqL)o%9 z^{eTOay@!}p4xU9%a|V@=duwJ$X;B0B)1^RH*?+wNC0|QT)ku!qz~orNb#qf^l`t0 z5Is2mrMM9=-`d7=&%cE4eCL<&%Ik07V6nhX1bvfl>dTid<9Y<251t%iclQY{U%s04 z?XB$#`0|&(oPqH~<8*VzAT&$`I;GD@=vWUl#3lK+UPd6E;zq=Nq+=`Ad2I!~4j*r* zG<4JENpUlR7zVPVXLvj%S)f6znv?T+QtU!pZlH{JS*Hd!WdtWxiE8l}csztq<2*io zC<9qGLn}A20L+bspdKs_1WR)ZTmy1>PI3IHKwZ5uFgI`JIjp9yVsUkxF=NJu0xA&L zG=TsbX%xe@!bqdhxTH}S$>kYboycZxvPQ9XaJ;cwn*Q;wicdzjr>DYg$?_qk zAy~OyX1jJ6V7BCpg}G$YhYh#WxCl);p80}#5|~!?5enRIXnLjgC8ALfTGCP5(Tz8n zUY(IiEt(YiNdVU{IA(i=S*LelthsluI{#QXBYob4f!-48g;s6ZE!8G%5n*<4`ANE= z1>B(K70`|bAZ~^woU2r3giZHZ6ZufsZgTp{(VKfC?=cyMsX_0h3zMk7~s+|xSe zAm7~C>CEw|k)|%2(+bAu1l5+&%pWwGQ6+6oEn|#7UNoP(E;u<2t%&1k8EiGh0VzusQ)5@!hhQg9@jq2pliw=oS(Dj^J+SV%iv|pY++PF|PztKT05dYTray zpB;p-K3*)e#VrU#A1g0GkUki}`;87?|N7VQg)e*o4|aF6)p+Lfw8K^efVUzTegDCI zJp0_U*q(?*`XqzSv&dsiI(J~B^_Q}#QW~0EpC#A+5@e$x_ugy;y~N?+Vg9?Yvp#=e z9X`&WLd%P)`YkDhLag4aj!zvsbQa5J#aMFxCBf4&e$yAAQUHze;e-^*n~0ssDI#}xzxJFU|1O$op9QYJevxG1xzbxTmvY& z>JkR8f3>Y%()drb0>{f%%#QIO)9PgLLR_R*_y+JL)9BYFHDk^Cx*8#5*2uYG*g>~C zGRTbpK3|Y9)=xF7wn$h9lL4j@2SGtil6vq$2izeIOANB^Q=z16MPsE_*V1)@68P&5 zjagU_tmAOIlWXd#o&l&_e=v>paA~PA{`v*1>j_#`wMeM=H0Q^;CEnA?M|bbHtQYd6MD6iLso>) zMkco~m_#gt>QjxTI5+uf4lSx!9Y_mThY{NAX`rcV`8J}KkbcgnWnsmuG1^x%%hLK! zlXVfnbg)mK(D2x|qr}rlRr|Na*Ss8Uf63DoH=uc>lC}^ALepNxvoQu)`w#hn@%CR; zKDF&X(k`d8zweh)R$4Ir`JM0K-}%Dd$1~f{VI9_C9e(yhe|&)cXb+W6#j?u02akkC z#&}DlB47G?ZI7}#mZ`m!ks-7)kJs^`d6IM}o(l+mYG#lUXPBNUI_luXa-wI#prgDE zPPg)z4)r9-tz?+=zK0JV;r7j2`4GS2+9Vy|SmbfCNS@8gp@FFq^P?jy7YW2oZa1j7 z$CwD%ngHYYZgV5XpSbl;4?dI6*7hh;KGBvQ|i!1 zwC-SkA3NJ?HyrEmafVQVk>v^Oa43Sf;DA^(J3uviM=G0HAT?|Ywk(I&rKnsh)~cR~ zc)gm&aqlwFu|v9!9uwNCi)bZ6^?XbR5bNh&K}}TZmzUAD43_mb%xKd{g|6HkUPMY0 z&ugAPel8$V4+JIOT1I8CyK{VSHIqwf+R?YD={cn>4QeY1)#a<_wV&$k($NS7tb6Vw znWA9q%1?ruPMxb?jpsWJ>Z(bb8s_F_|4?CdB+mbx-Xh(&S~E1bfa>YK6^YmadPQe; zHDp?Z$ziBtxz&kZ0QtUL(0JeRd=6YTxmz-C7or=gqR(`Ckkxb6{DzTL&@rhGK@Tvj zsv4|(X;B&UUeT>aNU)9{v;$ZiiB?%Yk>5pu72M=&5o~uzI~ok|&J7-Fmld*bld4Gj zn_CV8Y=%;&0e6*3*NJ&U!Pg^LtO|?rfU;yLK(%WD_{PvrQDmXxM;&)o3T+<)LS;ec z2cx+*$!+EYT?GpCR+Dz+9{SLdX>DKXledQouEf4zbi2rAoS?m3`-&W0tF|fy%!c99 zka0jJ(Z_ZI)?pn!LP+4(2fJ_9i}2MuZ+t~=2E;Jk;JT5ASP^e5G_R?pjq03-Y1;T` zGi+YBd5}G)Hdk6rFE#mb`gUIMkpsd&8KPmKCj=U%Z00v3h2Wd9&Sn^Iy#2@1k;K}VB7?eGnpmfivn+1vT4jr-KEUYpc%Z>;s}uOUjE^pt_~705@aWN=(*ueF z)>)+a+2^j|o8R~bjt&p7n9nm9y1ToZ5A&PQG{>Ju;Cg!_WZ-x@E7r#*|7De5@|FcU z71lv5cLT8-jpDm`D}vawX_qaZH)k6;o6W5RYzICJv6RteR~(c0H_hdD-K;u@Fj+Te z*Bd~lEdkUUlVWAO%)}HI9tqIzCcU<42Ge7?A-ne|7T1Z0?4G16;I!!D#9yG6wN_zx zPsN(J0N7Mn)#bjDU6T}jZ)iJp`L=ezw`cv$g)Ex~?p^WDeFCE|IT?bSQaP0qoWM8@R4R>FLSM zb(h{owm|@`PS8s^J5KtC$LCTpQ|W8veFfY5;`zrGARdThP|P|zP71DJ138xzVPq}g zES>`#kXu5RPum^0#nn1F+7!&zP8&vGSEEw?vCiERXr0_!jE8FU6UbXw6EFN6plF@d zjpM#0Mt-gb%_CN#hpMfj`yLbWFEx#(08)Ex4qVP>p*smmxgvgV^0` zdvlUN!(MCsASW#XS8#F_+U0(%_pZY_e6)~!K7aq_@8D>81RCw1!{4#@Ky8K8&JE*M zN_9Ry9Y*pzIgHc(G{Mt;THROOuX?ts93Rx$_k=Wnr|~4-8ue7A!l^W#wf)i1;Adz$ zLpg1kHT6%|imPaD->*uGbEbcq{^rX`3h|%b{sa8l3%`l&+4_^!w=Tb(;0CG06O6eH*&8kj5q_BX|IluU5emut{`JGPr zM8G%eR*qt6&yG4M3X-kr#l%}Wt?5S6U$Px_->a^qoix(-+_TR_{zZU20`D7-)r~j1uPOqryuGSYRZ;tf6D%}eF7u1h+Pwo@NYBX*FEqd%l5Ing8 zS#SKV!^aa?4zoyNc$mCIG^`46a0fD^kd3096qS30F{)GMxHB_;p!qiiYWDKbfsz3Y zVD4lnr>S%du3UBOn%?j@Bah55c$%o~p>j*+6E)Lo#C_m7P4c1<{Lfq2R`!Y#CxGV! z8~6IPdq4%$7x54jgr*9_h0RxDT@I=i{>mfICO0<*@=Wz@CMn<-*0M^yae;e6yOoQ6m=SW!3>QFP}f#K7b?^VY%7r3gb?z*QQi_We@gsE`PC2Ow7i zU%$%#NvOtcCbWZxFfpLTHzbcq9vsf%nJLgNBxdfO`^+%oGMd3)@%({++KwVr9C8*{byqF`d*ae5ur;iHAS2ePo<+@bN>HZ+Sv~R>|q9iW3I(n7s5udoV~evPq=S zk}bC~@u1qXhsl^`UhrZaj(oYO_|nu{WqmD+DlZ@-)fha}!t46UB5#y|Bl(r+BI}#> zcYJBn+LQVdxVAmU+TTApPx~9aSlRx5&dWamZq6f@NuB5LdUg9tzD*OrkCm0}@2+2e z_yfGP`x<`!`ggGo>+sP7VI4l3VX>bqY>)GGZY5dZ1(Oe8yQ}*e5ZdndKk` zC14=6OuWg|>FCJ;-hb;&-1y)FOpo{R%`aTVjSrW&duN{Y*-IH<2Ht<~11$SFb|L^e zkJ|I@?&AmyPjUImB|LNWNfyl?ga}4=vWm}4;M!yzg?$!J%7KI( zuiC|h$25Z6$)9vy%}*h%#>Q!&c2RN3KdNRu0~onw|6p)`EbR2XyPOnmK}MB-qqPA ze8*sa=YSMln>1@Li$ZEa?Ymf^uFsK^Z}2o2_I4lQ>XmER&B;2f!$%GdoK?)y6nKyG z*@2$LA6~YIroMpI)v{DDZF0ks_g2(kjdc#Vl&afBz(T7FkJcT4-9iQH+l9 zifRoUY)x#EL3kn0f>z4XGX6wnaqL)V>v|ae$XRL`Ha`Ka;U^FbL>8O{2Bs^f$P+1b zbzLe0NmsY@uXth*xg(7ud^B~$09(-wyq-9&O+S`+7$;t-07t{+5!NIRzhZe2BM9BnRt zbyL%as&d*fTrH$5%}GFL*r2HuNNNT_u+|}4NJ%}b!2**EL5g#)%1^oI1hgk!U@2)q zqYG_*=fdX4!c#&GPOE-j818*be@*i)5LGno`;^3cr|>M`rh|%{5IzOu^0cPG=E)P4cn!j8mY+$ z7}C;CxnX6TY6XA>pd1uoa;uG_e4*yBCqIE!@y6(3x>xv!R(U$euX=#NQi9Gv&xyfj zK*Lh}N`yvuGRTdFO{iszjZ2`er+ZFg<($<1P5=E!?O(?e`bW1x+U6dF6WZUeEh-+H zW3Ut3pTpk#G5+}G?=k?rst=zfoNfG{@A+BsY~{~+=`ijw1CEjf2&XpzWn?t! zT8j+q-+KFPy!Gclz`Y1AAJ6C5?w0uWbI;*(n-}pG-NLQMd)V5T;MScx5lo)r`qj(0 zeECu)=wSaK=W!ST?1xFi4@+##rrAx$<%<`xMfI&4H}K%zJsiysicjOdfUn82xB$(i z4LSyWl3Rh!mWVDZjm zBbURCk==7dWV)0UuS2$WPA)oT?7pJQ^du6NvCQPYBl&x#LSP27lWlYYt25nH`cgWy zFl&{avxM&oP?If<1N+m??N>nOCimw+Pm^V^iV;>tUrYpj#$6sSNpSB~(wjK)8<04b{7JIt&^!+R)VBTlfxzFytl1n5WFG zif|tqYhN=!TWJUloiG|maYXI8^X zYhxB3u=)cYu5UhfFe%n@0>eJ$IH&HDN`Bcz43)czw%|uW9SR@1BrxPtn7|f<#1F(y zf{fSlWsTa@SDl>&T5wW}YLNY>InX)Y(*^1_lNNkX_Q7cTf6(y+kc#wzRXqa zkB`{?=anH+Qos-H{t5PucX4rc`5fuT@;l43^E{_>#Gw%itmnc;W9fL1wui-rn5G1LhBRBhVW%aJ;p(S$s}|GQitSHnSU$?4BY5&exy0 ziYwDi^bwE_(+EgYDWqe|@WlIcuwb%qrUX)Nr22HcSrCEeCF^z*{sdiJs7xZDovffs zyr3Hilo74c=hy-Qwpy9{2J(5tST-c7n@xfeulM%S zhoQ}{dZ=9&cN+?tM-%rhJv17HVB4xC~tJ zjwhOHFpFbBq7-DWYm%uXq6#!`19_UOYdPc1=3l^|e&OZ7tw*qO#HiCY6AGc}ck1iJ zXdkR`16I^ZC;x$K0?xwq$zi8%@-c`UuoXnDB>P|TJyqzA!H)nMEz}pmu{V z$YQ1xU_c<$sRG=OvJ16|Ybm15w@uSj3mzmkei_he@uW>^-ZNc=*s2gU0IRHZOD!tj zEkdD=)Vh7Mfa`}Azy3~#f;03Y0KQ<`i)g@XW?tor!?%H>)lPy9PN<&H#~>ErOlxqo za#>nh=xyu-OYdg^sU%5UC5-C_1(J!Ig#5VD%DO&Ud_}WR6C_+)O2Rbh6EeVHTjT-xbp-q|!s z)0VF@3jk;|^3oX|(;z__`C8mogr1_6?P z{mt2C1eq@<>=hR-Y~Y!z7ckwN|WTO;^OfZ zwq_Gtig6Rzx>4+$v+Irw@+P+yQQhy7OAncGx}t~GeXg`um#mWK$LvqK%kjH>uwfTz zOwK=wHFL+T?~|o-=rb^%c$O@-r@5?hocN~(fc ze<*)tGeIn8;BY@~3>;!>bA1@$I()QH06-RtA|K0{ zr*0V>Y-yTtE+QRL;3`{+dGt?pDj=fCgNw zSMXVeISgX3*$9Qx3aMc@C3)i>KYnE{7@MbBqfwbl~;ZcK@waiku>%0g$y#=Y2`^N1pAbXACgK8PV07W%o9AR zpzz?WvO)*D2mzA~O&_v)`;OP}wg{m*jt+_nufHYSm!SmV2_52pHWJ)dbTW9Uo zvd%Z8YyS>Zw|^72YJdNHl*iPxf13eZL80P{wLi>~VKlAFV(^l*d1xe^^0}D?a>}aj zqi!>P=~e=+8rJ?5MXvqng!W(bbNtTx|J53RUWaw~84RIc;P~LN&TXTD2`0{HL{{4D zl3sQuz+?qlO$MAn{ej&Hf#4?qa_LFSPgi}lU?>JFKy7v9R_TJ4$ed0Fo~tz;!9Zs! zfUcNET8As!o4B+Yf%0kOMXcmB zBzGMt8T+Cp@t<7QS-s|o?0%zI>UEe!@KxZU;wQW-d=IrNsT9BCljd{YlLBz1x}^gJ z<)HTrLZ{vm0_%tcWSL0MBC4iW0p3cVu*qJhT+q37u*Gr#iJkuM)`MkfTtGM1y-5uqbzPcWaugrYx;%y*ZN>l*f*UYuQt8&J zGU$WP94wC=-r~Qq_G8S>_Z)uT=r?rw01Rg}ku2%o@&yLN?lKD)jw5)Jj$t#|klLvH z2v$2^Y6YS@+TilisZEPAJ(aw^OEORK6T@Yya-C|xdPimSZibqkIf3cZ`C8I8bx40C z+D3x{k(;r}<5J{|i<}iR%R;eCuT{Z%-Y)&3b5xYjH<()(EHA9JVLg*Apc{$q5o^sA zR;VyreY}v{fp8q>WeH@!`GKcealUj48>*pKF;UsjOdj6SSURY2GAOe<$A(Kv`7m9pSnQHt@@iSlRtGzPa@qj1^)HMR0rzu2ipx2jN*wM`huSs_Pk_ z0-MSUolR8?v?VXq;BaEC%fMZQwqNt{cd&|j^&Kko+B%3Jt{SDPM}076sKEqs!c_?t zju<-&7@wZ7rG|`$MsOM9jpt-uG!R@vk#*acb?-%l@TF{Lcp-%lY`7I^Q~G3%?eaLO z->t(soE{#}AKQbYfm-c}3&xqh$`7$}QwZ@*6Arg#1U7(J5)i+MmYTUtXNt z{(h}c!s(Kb#@insNBfUN{D|$JLOK-m-ob4=v;92QVI7_}5Z2+d7M4c`2#cdi=+v^# z2`ij1vFa~16QswoWbVKXl#}7 ze0E;?ud}}boH7VX24WXFI43GDC>D{Yum0dK@YbuZAVi>dBl$>PWS@(MK z>Gngs^xQSPaA_-BLvL=*BHh5{i<_7wUL|YhY*swc36MHb{>s`V9b%aMNP~*6YUM3u zy>*tr`s8Y(@3}pYePkyKaj^BCY!qad&%L$3;RXeyE*8lQh!a`&CF?8Y!uqy--cMM) zNEvl{Xw%aDo%&l;@@IRz)Q@2Z-5m4s?u2gCPT-sUdG?UgOt`(OaO3x&tp zpDVt=@frha$nav9a9S!)815Pbz4e1a-UO{ga2jdSr$kyY zRC)VNd?`n>m9h%g@^7yL#C8sRN7CJNsc!-LG=_qi!cgIX4pb$$?h@Lsct^=~n$|R4 zJ1%?(RmT=yh#xK+=tJIVDkm7UJU6%m4HiCiT(3SKjEHjDF%@~EAZZ8{xNY!y&^k-~ z#7|C88VGL8Yx_9*fqN(Ea3IZ2-c25C`?PM86^uM01@$aV%bxeAO>bw242 zL{2QaMzp;$l>o54AlZz_+;OlQwBN!Hd9uFSj)|X^@L8mGIOaav`Fy$bpCYBy2G$;|4%0P`khqQw02$WKP+onDt?s(x3#=X z-*Johri=m%)^<>qiGm9Z-jyY9D`&>8ovwwNuCn|jOnO=OPs~V2$Pml0T&Lbs%fDU8 zhp1A>b?r^%usjbyYkc`DguvTmMcf#V9zDd5fA~Wj#@`tO#K|Ie+D-F;ee>f8w`5zL^rk4P^V*&^ zHu2$&8@P4*HeP-0$N0)uzJf1)>5KS{|K8ukFa64|;JtU>#UK3M@8QwzL(C&WyI4+e z7}Ivg#VBgJv4!RFai%l*3E9|8exEn6z0>2#-V+=i9pfm1zDNBWi`bU)61H zeWj{6w`gR^0=&XEOrKmt-p^wn**vEe^jXLM#~prF=GC9QQ2J^SZwwN9D1pJN(1_U5 zUjaz)@C_L=?zzP)V^^%41%C*9kh)S1GA$DHSn)QJyDHNz&V&T-4x1z$6kK@Gko$X!W54R#9n z-mRRfaLxv=;z&c=W6RFmpaeKfh}}5Z8FaAafpIDDydR7@E>MdXnmneK!Fpi|2$d@q zX;)8|WLDAdRw!-z^ZnGHXj_?UThcNKX?`ZywVGi(t=xsMZcVJux zqMCAyiEMF4Q33R1LIem(uW*S(5HWp~;BaM%Ilj=9%W>aQ)H__(g!(CyuQa^lc`GZw z??YQD1%hn=xc=kv5+L0Afz>s%LcsCV3k4ffMpOP2#0CZDZLT}C-9nMh<@9lemxGLM zb&x?7h%FynOZmBt%A(VRTp>0eYs>NTts6W-b|A8D|5Fq`iv)jCG<}+NJ#Sel{?YOX zKf3?NQR!Hqa%~_otP*sv0Z#Q~BYPp_CK{d0gOk_QY5|rfIjV*Ow~jwZ#8Nbj1LBJWaXhZO@OR{hv0_it8%$ z$5_ty2coS?p|WzABRQ8we5xDZlyr>b?6WtCXlq}2VspK$K3N($AS3HXU71Hh?`)g{ zgAd~WIVGS811%yy4S+62bOq2Y>uhq;k8(a@^;}#?bXh^x7zzULzY%D@`Odp|c;gnj z2+U4+tv%hCW((t#Y`Hwfar|4x6tf6GQv{|dEMweBQRs7>mR$9sC!{jd;d}|qhMXzG z^KTHHfx+00LG@(7bN~K*Jbv^jTSdS0(#sKy{xZJ&m9ONux9{G;kKezE+wa~?j+e1D zonaR1yP1IS*gxjU`Z=Q73H+W+2s>L_xU{{2-Ti&sxxX9NZi$X1_Mbe)lP6EGG26(z zdl<{Ra$yG-Z*AerU-%r3<3<4`HzJb_Y{WK8R^EA9=l0BIMvNq7pa!OmWGiqK7bxm( z1qB?Fy61VH+o-5Kr9D&q!?IW}r9P6|GUeGX8L(!b)9JkfmB;3})0TkMct6psU;0hQ z<@f9+i~DD(U9Q*R{*$=*unGI@{A}S&78OTkHE_BKSU{{!NqLhz-s z+-B5S>=m01U5q$cAz=hE`-bMj3CTHr3;pSBV;$!1wARXhg*tUpmzNjS?}sD7rtsL=xA%-zPYG5gRD z)<;@z7xJsNlu}qgm7j0Z^fUDUr3a9`+Y1U-M8#}!7QBA69G54aW1)Ij zafxXVV6^2msys|uRq>==D#>7eyj?s6mpPgzH~@onsCNrNu!P>-g&*|6wG(N2%e&$U z!JYEiWiZzI3G-Cq2XBoY&~^{`Ql;lrgisMYVC?{9S4BwMK?Ok%UHFF<4uUa^s-Bcj z#GqhRlHD^Gi_bvpwe#2Y;FwkC@EohT>HFF`ti#iUhlh9Z!S37nx>~vrjY=RBn)Sna z{&ez!FFGeF+vL=aBf|LafDkwNwed79jnmaUmb&X0Y|>X-J+z8;la=&4;su1l4sQxO{#`7Pv8Ei`BO<% z&xetIX{x&445eZFw`DbP+xI@a^Z3VjIKPi;o6le!&K3yk;KNTlKh8`4XT83Q`B4Pt z7QBXB5dzfkLRE7Q)JZ(@il2K(p^|m{RX6ktIxeF)GzMw_o3f>>;3ehHK*n5Vx(c=4 zX4{UWG{}FFcX7c`$|@`2Vo6+dHztG25%&xN>Z;{4j2_W5Qt3w#h<)dWub_W&h)Kpi zLk5m#5r9p)Pxeimd@d*JVzvZM7S9uQ3z5oR#P?b0Mged#h%=#V0X<<|(67@2E9K%= zLUgA5wPplfkB^UW|K5E(xc>kjzW+WhUAlw|7cOAy!WF!E^M`oPa+7tV4um!J;n^Xd%N*>nh*cmeX^G= ztmi#t|I#nL09?d{2&zWlJp%Gw)t4wAlo+Ud^;#?=`|>;Jp{}jDt*B?ciQ7KqQ}p^y z`$oTre4Uo}z3Suv_BlMasdiz}%Ur*M0U8P?NW)Px?yElS);ZK!A5VR+?_HfN>A}Gs zE?>T0&Tw3ZpJ@1Lp1)*8sn8Rf^A5gvN&T76;%fUbdGVSBK_HJ&lwngGtNT@~{1Kdn zLX3^Lcut(5wr~X(jC$T7GZUDrZ zw_}jq;B65L1Wo2Z*^;rxgUHE9Ys`RFX;H&RkvV~^K4>KjV4e$PBd^n3NSN$`0Ke^6 zAk@#Rc&^O?%Uu!sf=>z8t8zJy(3{SvI#Td>S}=Y{FOyA4LIq}f@Hsu57LbuTQZ8<%C|fdw70N0(dNps1fc&Ks z^n}VaNoe>8p@owu-?cbysZe))4+0cHB#R9`*ebN?WT8;5t3wHe557M6L2p7UI3dJ5 ztXKjk^h_c^J(h_DHMdFN?HdtzUf62BJZ>t>YPT5@8v2zDrHo>a5}K?tdxMNRHd+sr z0}r!Bv_9)bUfx!cu@Q8zlC$<}YqAdOaQ5)d?vHW*@D6Miu#vxN>xE9p&rLTgo{tAQ z@hwhFd7g4kienpXbguLb3_6;}uuK}tSe%^?26_VL;aoi{*Cl=&?O&HPq_=*C5h~hT zPAl!SwhCuxi?*z%YkxYS{a2S|>xxzB_U4c9>b*b1Z@m2P;e4&V4(qTEpS6(IbIbW2 zf_g7Ty}pL5&AoGE*61vk5|2@gY8B|B^~B0(s4_SGM$0uNvw)7IR?MkbIlvC0qk#=v z`nt$Y0P|2OBCHd2S~rO^(YnwG;K6ig-DPF$OwaQ_guZ{5bXzx6eI;pLa`?6cRfgXAN66MB>xH98Qx&PZ-a`rb9Nx>n&Hqa7># zO^S9C`Q9(tUb-(|d1kBid^lxaHZ~HUVw&V?Ev0_(-fJeU*D7AZnDx&zg>la*}o!EYLMJ2RAW-)I3#@V zai{`?NZXBAayl^A^I4lD=p3l|QjLKsKBas^_0@iW^_7w-_m5!MCuyajiHJrv$eAG} zHu*=cn~k)$6wMh0%ds@+PeN#BC&zHd_nG~1`=_2z@g7$;zYZBV9MoPbct$*c>gL`^#`RQS5; zaedP#Y>aq^ikZU!z7FefmXO?Ty!Gf+%=>x1Z+p@h7)I_*Z5iXIBaGw}Mspe!K9!^x z7f>FwYoB8%Z3elYoR`#PRT*`>;q}R7(nwrU|81UVRu7}`QSVrfw#!JGss`2$=V^aQ zQ`cx!TVgaPTFI}cZ~r!rlk0Gn@-bTWu#cUbrcK{07n}B%n5F#_pz+4TAL7?u{7p=g z56^X2hjsYr4G}YJJVkzbWZ+eliRLI=jM(a&B>K!I`L~~1$(PC zF|p+_9|WkbHQef3)}iEz48W*ijVE(tUQ>03*u;fOref*rE#vBZOZo4<^(GGXpJb3W zmA|vSh3%c~eCYhq(Q#fpZ$#jAl3Y?Kt)cjv&N@zNi)FSnPP~{zAUc(qz}zwyGg8S$ zE-7}${;D(33etKl7faOEA6`@E0CaEO<#T)@qTM>w4C<1b%*1=p@$$FrAS z#Je{?#NO^M9`5$|;MTneMDO6m=dR&%FFc25u3X2}Yg6o8+QY`q4z54m!<`6hKiqo~ z^Pl7B;26hQ|LAZ$n}cF`2YY+*eu0M%?%``+{c=7e@zSM>5eVPNtW3VK11-zPpONOC z7+~*vRG=_H`$E>07=U(Bvh}lo*15Zo99HROz2vGSQz)1mVbs;d%4t;^Z|s${Ej8 z=7F&eGDmwg$Vv`)CMc9hT?KB|o&_9cQLTTC?%*Pa3W_lR)$2CoCk#JU9ZN(@2z5aa zgI8*Ra<7pDIIJjG-4*Uc0jN9om4*P`g>faK9$x6CRPzrF4|l?>y!oZb6Ol1WENLC! z@GYU;KqALuIGxXz8Qi>Rh&)J>*SMh&u5E3dvBcFpJ?~07=}`X5U&VM)1M}MXJh3iJ ztu}S2IvYJinOKf{YA zE!is>I<%^MM}y6JtMeWS!=XgO=c840F+9y@EpH^xTAPDkNtoEzdWI&=ur6ao3|~Ht zD5=|@&fWeel8?@Dyai~XL81#n>N z)eIbFAiOi#7J%S|yw})ALeVkI{edUU6x|MTAff0L1Zw1I0e_DU4{__}%?KYK=fhh! zBlvvj@}=xTAyS{g-$gRy2pc#)I>f=j0TN`qbKyd^#7-_Kmdgbei$w;BrxBDTsV{>v z?UJbYeCF#eAFNc2#97zKevp|b$@lSMS5CCq?iPd(_K)!1?f3Ei-5c5J zI04Dim}Yx(h6~%<*x5=n$2jl2i<{F4UU>f52uNSYH@@*T+`WA}0_{^=+1d*6bSK47P-)I2#d#Y4e|C&3R>4D3vY9ZiYYYHm(rQ))n>wC_ zKzN7ITpquXrF)g0vZvBOu1t+j{A1v=Fj1ly{^$9|c$Jh7o=e;&8@aq)GJWT*h>gz{ zLQRmHb8YSp4kT{pNAGLeBw48VD|!K;PVc=f7+_x0TzNcj^cQ|Z#i0Q2rF63DRMqu` zxi;eTwz(39s#8Fo-)ufLuGY__5`&p{jA_!7l>y zLcD*MHVrlZgEny~mEDtg)YL4oy^tt%%z{ZkS>M5fO~l^%xoS`0x2r?pjN2Me*+P0+ zYH&*msiF@d`1%FrmkrvHo~ZRxdVPyEd@cj6*MaSYgTzyQx&neHj;JBDWX3(;t?=bg z0CfP9=c2&J2Zm-pgDFiVrO()?ppa9&YTti#rE5s)^e7C{ zX6mfcQxl<`YpKe$zRvgL-cg-qEWJLZVSZzyghrl)6P^RGHG_NJt)jUpr{?Rbn-Si+ zGTTX5?0-52aqA!l^zjYGr6eo)42-G! zITDS8_@i&tf=p|npjiiXi_y6f2m(A8Yu920j10DRW)aOU_zFekK)1Fw0ps&8lxlXc z+qdg_QmP9b%$E_#ohaxdjfY3e3_>5rIqx{mc~>u8#dM>~t`w5r=O+>5-P=3DqsLG1 zPKf?H##`G$% znH7C<=y6#`lfzaZ(i-g7mc;rtJzNIKM&cJj{5o051b72d2xKC892vzxC5Jg9dF9M7oa8}c{rgxxss5J?#Q*WKaa6vNHK$6FZC@UF|)`=J+s=;*f?112)b;olB1eU_& z^Y)=N(zNs*7wqKh1jmr6RK#bXod~28OZx3txr0nNYFf^d4^geA%GyDk69l$u<`xc8 z7)Kw_AS0B>Is;Gm)`@L5L(zPm$k6b_>ROL}z=4*I9!sn>f>{ikBoRL<_Kb%cXIRSY zm7jLTlPn1vD_nA*vg>JnrvkxQpNER;l~lR_CyYetJ#Z^u2_!G39>|ae7 zT5IYczpjQl&dsX~bR0;-Wl-8Wo7Ptiv(rEd1&ijiew$?-*5RBXcAIy1-@udkE`0BA z=NB5eqp{3Zz8lNOnqrvT)-?UN@A^(td0(%@_Bf?kG|_xJDM;n4#e z#^(u~rc=s4Tl=q0KmNRKe|vwP_CL9;+Vp;QZt1}2yJ4Qd+3NRkw!hpTE)MWv+%Wp) z^N2m$kegLs<*0^V5haUb5>b3Q=>TdPUQ2ty4upEVVzwK z@^U(ZDW&$u5h$F`kFu5VY;yyfTN```-~vZShuDq4^W(?y_eqQs0qS%(;W89}aw7rI z9kG@4A{U*&*ktwFv43cATv6)tp@bv`yvbMe)GW0lINV2objpVZ_Vak3!RQE%M^tEj zyv%>c@!8=~j@c;@ed-{jKv1FHq*g`i1pgR*3NUeEf%r< zH}5~h*49P*{C9s1U;X;G@#YWz67RqLF77_Khlle697LWRFODLu>C4RsNcYEuACDel zu^-nGn-eV3iH&{Ss7`*NQyr(X(mx|OjE=d@N?ien5L@xU^{nd zvygpsi=XMDixGx~5X1$KTOXgU`LGT*8j(~D9)C-@EmMD($IXb@8h~Dhrw9TQP*=bs z-{lk}2*pAghH91w>Ej9AEM)y3Iu7+1Ctu(N-*$3wE^X-e0`}r z4~yo3-0{7eFqLO1Pq*o*6$2Wzg&c2#;(s!CX}M&r z;J41C>^7)nDP&EV`s9WTO#1ebc0=~BcLl$f@^twT@ zGN3!?fg>U*V3x_!xD}nDp#z=I z3Wv)By!ZHxsK6{hUJ$i1HV1zg5>StP8xyr804gC?C80rH;~m)Lsp)EZ#vy2t16e4T z(4m$tYUuZ&tz)QVGL1<-gdAKgAmlU&(!8%r%t}!u-}9@UfX- zq%LFi^zE;!!G>2Fm)oyO2h{!Xgjq>1WlbVH4o}~;_v-}#H%Uos9%(f07FM5F&c&lXQSl&Km9`W4dT4R>^km|jR;9~mrc*3qU7VNhEuDpCDj;me=_kogbOMei`LM!7Ngoy{I&`EZ@@pEV<;x_10q$j?I=MBOcDS^? zjVCeF#|KAv=K3>u{`qIJiMGQ-o&Gg8FnsT#?F;1vAoTg*A$0) z4`a`GoQTAQix=^&zwtNljc@+~UjN|_@Z&dL&n`Fi=1;JQ0Q77&!E|GS`O!fJpf@jH z!IOs%BOttk*+sEvj$nFRZzRx~(vbsQ)S)K1Q{+PskJya}Ww$JoYDrM^m!Kw@{7tCp zkfr~G407jw*t@pr&>mKzU}`gG+uEJJ37QRRrLr} zJCe6^g0Ni(>x?68nhx#+O>F< zBv%(w+kYN3?o)u?(Jcqj8R$zccejkwftTL*T0^7UnD5x8H7u{Bw*2dVxQ)CU3@N%| zf)CPBy{Pgu1jiSp$p)k&0amEcOE9PHMsn~EWFf0Xdkboo9gd#LAe-v8FWH7>H%Tn< zeOL8>wgaq#wMYeIhc>or~wN>>S;nAb{ecXKV zo=tB2t78>4sdYD_>RGJ<`y$%?wu8-Q2Y`jrE1qZBVtpMYd-| zRf`YWpPr`uscC-<+n?%keA;3AW2F7%$=TcAc+iwhzK=Ot$ zZ2Yg1S7(t`ZG1=bnZierw`UDclkZ1K^GVg?(+KPKfBG~ZM_QE8ObLMQ#9Fuq*%}g| zvMg$(-Ke={ksTdOKn9mXaR=dNy+$UBjPwnaz~%(VCU*)b*3Mn!c7p+EC)HNg*U5X$ zUw=9UD#a+LiZdDrW}>32?aZ4D07sydBB;BO{28Z>*9a&tlBMxHSta+m9SHZE&f0!T`{2Pv!0m_0H0L*gxO`sq#Vka(r!#9#RW&KaM#DUQ~m-q z`9Y59b|QFuyofX&9HQGhh@kj>1c9I6Fao+=-(fM^#MLX8@WOM?#7*T%_9eYFo8m&e zz8(SRix)1$`;Dx397THWKib9K-YrZgvsl;d47Mk~$`2ks#_jm`%*8GI;$QnUeEnG{zn4h|x1(|~2OglfqBsyc=Y( z%Z@L=eKxLsd&WYk^iL8Ws&1`O0fLN4lq~p)*g-}BTPcU~VToJ&LJEb$eu&_$RTY>Z zFR4YocWy>99K;U?9gl6@g>D#@M$~pJa*69q1w_tnpQIc#V0Q@cI*Ef7QQ5f2nwh9^Th7`3=%RFVgA*D^`U9GX=SG{$NiD^;bl}O=>Hk{k7;b4t!txMHF_oJu02)1QX zG8e1wicVp=rGuj*|I09B3thVu);k($AAqU{$zp5OgyKQjK@=5Us09i_HE0nW73p5w zU?}L!{OChfKh81e0H_Eg{RgM3O20BL^ zI%m3*@}LvqoR-HY73d7t9B%D@fX5NcY9)n5^{^N~18HpXP2$`8I<3F=@_K_ zuVMT9bZE+6_0Hn>);hWU+xpir$LJW2DYx(djkJHAm%M*;bU%*U_wn+@FJd&%$Tf|; z8@tCT?@u2%XQSui4j+}S^QQTv>hWoZb^CvMral8U2c?L{R%Zdr{Vgz&T1roc_;b!7`&E-)4AZH z!KW$rrF{Kb5VHiXCSWuoqtgfmC%|zT0qEo7@|VxRitni=~gk%NYIciNWM799#7|aox6A+!i=WHDv0d6_SZ;1#}XBSzs2#7}z z_$UIKM@yvtu03-deSEjO_XLlYi&(AWT<+%PM%)-a!nLalJooG~c;VUS@wqEkvWt(0 z_wM7(H{Zg&dpGiWAz4Hx*DjYL`hE2HG48zkK7QewKZn2lcm9W%eQyhIzw>6~$r2Rn zIoS-^s(PCBwPijS^C+Ux)8pjtc!r~-^F@9}4#v7H+4?;n)reWPVqTX1HsN|__ajb7 z3OWPo%ASq^9t-@)jO_-b@2ewNJa{$S0IOyYALQuOx6N`=)QdiRUCU1XY?WP%f zezPGdgItv_Y%b5w#oYXb2f?LNn#;Yno>o4&_%c_kF4xxGVRGII+vhiBGNqPEoDveu z{f6*Z`=(T)?QMk{Y&}{g8g_rfaVyS3z-{dc+VMiYAc4`~-4$3P!wp=?7sGW#z=I z2yZ<65$637-|04dzN@EKXdL_3My1UIMTV=-rz#~4@@b#?{Jbk3O%ljSf|e$mM0NZs zq4lIE*BGH_^>eD~GF~^M!DnEn8N1r@DzTPVvccQoneFHCAAIFM!r%Gw-_I^KKIzbL zng7dQ{@>x>|H|LT|LX_;DPFz%7a555ysl)U&XKO|VDnweqd_`%?WKI({yd8~K`Xqf z(|^?Vrxnj7KCOHv^&W0{qiTO&js%&$eNpN;xs+6w%G-KR{_8+ftD@#E`(J7l*R#*5Mp8I+zB7ZZ6c-xu8=fzH{r zM)K!8NtW2NY%QGh-=p~=(h$MzjS055HgVy22a6c*7ytU-z_ph@kAL-Veh&u+b6nWD z5OL&9JlNgEqdT`T-Fk@G#x3l`=g(h%7GM9|=kfDj`~tRjF5*jH{u1uoxr=w+eHRZR z=u8pZ-d`+m{o)1Oee@W+PyP&F`O@d{*MH-`kIR=XkXx$En4$9(+4 zVQDS!oMkU#Kf1}2!~@-q-8(RwtA7Gg&1q zwj#haFC-tGeW_Ee#hOj(37B`)pcNrd#RK~yzt)vtRpv|`Lpbls;@Ag{Dsz;XWwMd5 z1C+_Nr2^IV$khfA?6MCY&=!_SUvTxuxKYuthmC1l<=K>Tx3)n;odA5Y+fX&CRFJAg zi_gp}WmPAvv{UY+!LB85a@lG0;5wco#=3&<0ML$Y&B9cY<)vTU2tCf#S`7%hdb;!k zQ-ND!Xkf^i0njWC-JJ?uHC-iDV7nadfIfd9pZS7;?c%txf|2HuEK3@{1LNCMx(lIM zCDxy(2k=1@z7nJZrw#PqvG-@c)+O1U81`HHOn3Um{Bq8k2ePWjVw24_n=PpasO3fj z@&L(_Wx$YSc>rv~F#PJj!0>}#Ldr)-8j8&mC0PEUR%7=n)g&pdTULa$rX)R`%6d(yb)z6Y6#JDVm zf<37zk3583+NI}6tFVkf){k?z1!q^_c9s3-P^#Y^@kP+J&)#%hCLwEsFZnz)Si&IP z)LaVzn_~HGOY>&F3{d9ULTlHnpDEv0?tdNs_SgP{I zCUgM>y8L}S?h*(+n@!SsD21*V=M9Lx*%W*8872`3|HZF=9l!s*A7H}aK@Ruv+AFU{ zVEh)|efk9Rx8KGh(y`)@7^8h$tj75L?|dH*-~K6Hd+CMPj=MOBZFwcUfj8fL3+Ja7 z!0}UHafwl+;q>eozW;*@%;)F$^5=gZVL|x85B?>_=`h7rYU4Zt^2_))zlzUHB48fp zg-lCWEn-`OKr(4v$c~yZYuucU?TIu^_6{OI-ly@1Lwn@L7l0ahi9^UQ@#oc1LZKlC zl8r{$t2*fdwVSvCIP{HzY|=ToU%z84;TrRszJ1zISgraDG8g)Eaf%b4=(AJ{x9QK^6jYWQ>ax zen5ELAyN`DQ-uT6e_cflI%0YfhY1lzgMo2h>Bs4}lsG%b?88EOvOjs(dC z*mr5W<58s$sJ-BHu?T?CYVuCJt;d1-mnGXMfFUz z=T+*fUmXyA@`kiBnngbKYawZD5cy_pB72YuCxdF7-^*FYlyh$>@uc1T5CU!XG})zH z8cqx|--sK{W1KyCjJtb#U`Jb;FR^!P5<%lRrn4C+g6Mp3;=$o9j3;}TM&SGIi}&#G zv>tnF?h`&2YXMCMo?dz%%w&f!?3{pr&k~Mgkee{g z*D)ySXP`6E0h~GXOxi^GIH!TT^yef6a!`z#b+Sc$0|$p8^IT3?RftCX^)%#eQFG8W zOSFVYG~KBe9K?+c1{9OS?OZ`HKvyp(94dA2d@UFjH{5ATslj3GXlb)b#c?%M^$S)+ zhW7;^H1rAA41cS~IW%LKIAK=5F>H3sbGXoG1^8C3TQTzLU?@-+aF9_9Og{4Db=^C2ZQikT(iDNPnmx0J7rpN>8`j8U0N78ybK-Zso)Q$s;6!JNl-u`90E<<+CI zV_37iW}y}A1?3o+W&|+pbdZ}BX~dec>X2SFv{e$VM}S6xTVLijJCzN!l!i${U@aD%J_8op@d` zP16&4$MeUK4zdY|4%N2~W=*RttLh0d!{`PjU~90u9c(hQzxvs~ zmAt+FAAj_J!TI9M-TjdAch@SOH$r|M`G;%u_d5Ao$v4YCG;J;=UMGKS;K2s@ugyXH zbvN#v%%9@n#rwEDy@y@erCs{;q~uN8`QB~zpiaT=c7#oDY*bGS0KwZl=hqB5Z5P_d z-mvnC$I?IE(~)DM#Qo#eEKW z4#V-8`5VWC9#1l$%(LpV^UDlC!^Q)SCp{X87dTRgiX2*F1a%@Rp*Zp@+r{fUWDt{O z&CjHG(D6U^tnPbCVL);Kk< z44zC0U;on2;n#lom+5aKBRB98bo{8@lh~CT9fZQ~TKSIfB&l2yS0o zT;Xcbr#PYKmzOE7^(@lPUg5Xz-N$~U}wi94lmrUPwmn! zSyId)P!Jc&VrNn;ivkv8Z)U0=)VR(LT0visfFN-=Ts@&cy6H635{Za>e}FpH$#(z- zICg?`7dLI!0JY@7=BrX>Mm;i?6Wkj~L$6%R!q42givZjLSE(UKYWc#Kdd*Me<*zWP3FJNtJNz$r zh}q}2-3aX-HZfVNs;GpN?aYw1Ph=^I4Od7Q_$1XatwUqe2>s48w`jS@E9IgMeD}YL z)$tw5)94q-LPu!iEW8SO%Bb&5CesQic9YrO?WCv?4LQDeRSzuYxDoF=dq8V=S_9 z66@7_XK%Uw9^=R$q*1)r`SImK#1(#!}PNU!3qT06kHqi|<_+O!^ zgD_}3{C%p&r6C^Z1`O}syB7iIJ>c>pfxr8Q2N5h?;_`AH!ChuZhj|2D zpFMj9;_w)gSz;1jV-H^jiYL#mFi1fYm(u?@c4}OHb2-Y%K%rT;w%*E9i?#)J6-a5jw zi#g`(0JS*BYcIWlZ+zpcxO3+greFA6#B3M%-QWIgJc%Io(ZK<7%<3ijWgav7afkDZ ziwK;Lakzho_uhLCFW&z$UU~2$K6vk^u^BOM1eTXYSr{x{Feu&Swg?u$AuIUM#H$G0 zpPZh@?+Yy1DLAfC*yDV0wMy}<&-)x!pO5zi%UqlC`|-^2NLnCcV7n?Y-n+JvE3(}0dxv>>{3}2iuW~@M z>?pD|aJ(R)Zah}oR`4suFbn7|WuwAi-8?|96~_6x(9j}{^qY8NDJ&22=5@|ZSywa{A9FyZ@7rPRZztSL6E zZ0{{?pZ2H+-;LR{wo{uy%TNX}qgMdU02I))2UQBYPOJP(uSHcFTunR*2QL{Z|Fe1OFFyb~{dT`?LeO}aV6*3`FNe0sTU#o+<{qm0H_<;-*EaOt{EQ1Z zgdw_UfKS6#SgyTv@GAb@Z~Ra3(&20PB&Pkz0shUe{P*$Q$Nv)FfBZ)n7-R=h89#81 z{7F7&@L5TlFR$?A=`)<2oyUd!GJ>cl*o)xw z-gKWGg%dcP4%*W-1KD4xg~}R2^YKA`p#Y!>5b2YLboPGk(z6}xFMC6CNQZF>Q87C> z#NE5MQ!MGj*$ht?7pbCge11gPJNWi%uf(0;8AeC@c_svqHlhmY~bYoEo{+0%G?Rl+rg zq@N6?&leG_k9lXa{nTDwPt7CXe0Fh}JfNQ)pJCA>d2%nJuouscqZ*Cl=4g+@v&;D0 z9uA(xjncC#+`D@R2S-Pkj45FU>;=xTw;7~okav|rVXPeJ23?2Q6v`gD2+gQ{qR4^6ikLeB) z3}l{XfK4D3s7OnHjUladv?e=jz*LB;{4$qC2o+Gd_C|hFhu|`@4pXN;*o@ZCeFf4Z zh%;*WT{7DFT%`}fU=VefG@@%dIZEKQrYD&sTpVoF`P+kQRr4@cSZ`uIsbZbKnRUaxa)f;DV>VxgvKw2v1 zuYGB_#NrXYRvn|{_F$`eS}VOa2n(CCSlW;dMFy^m`vVM>0ghk#szaq%p|rb3Ol8-F zZ!2gl_Z>ey-TpVUt$oGv%+{bf8XA$95v?}>(CS2Jpl5F&+_OSEd6{_Pusc}0<9oUbi0PZ&TOl8-5PWGk)YqQ!M~tLu&(UVeH1$>UkOC zLR>$N@z+21xAEn>U&Dt(@8iGym46Ta=imK5;#rCZU0dtc#-aKp6Ev#rZj)K3&F`9qTqXn1Ic(L=8*7(# z>C=+x*Jsm}Cda1hH<$b2LvXA;h0QeGJl~W#Z<@dM@)l=rUZ@-z0zPLwk8x`@!ror?WIl`lZZ`_)FuwCE_BHM@h#bMii}MRC zu9gt19*{#pFvi=BU?6m!iI;U^1~x;N?tN8+Nz5R9se`nY~IKb)rIF?T-HuETgzLN<0j;C=HjJ!BIKga%S50ba| ze0iF{?gWY#PwlYc0|rAnppZf96!UqpiXikA9zK4WJj(YDZzV72%Lr_rUR>e*$4@}B zJDAQ#Q3kQT@d&T4MmV1L*grW-F|YUcCYVhoxO?X=4h|z-3|g^HMBd40*omf*%^G^z zq-(kuwe??7oBT5a&)kOW`8>3MlaK5~$1$m8qbPyTqfz!~Pl|wD+NI}DUT=CxWDA`P zhqBVo;GC`hOZ-)x1`7;BR6=nYXk1|l>58vG$q2=PQb6bYk6~^kfKUEKhP$L(L2we3 zen;|uH7^e^+^E8_T%csvcy&_sV5Y4ULTLjz+(~GJmMP%5)E7e2hK$Ul?_Cwk7>XNq zj$SLrfx-?C$^{z6XO6Vw$^`0Rxmh2PiomUnq+Z827#OZqbDdooFN5)mDnK4JH;cWc zVq1F*IMu>rX=OT^gIBAd;csO#5858+xorxGYUA?9xVl2tV5z7tmRt_nOfHvYr`Nw) zpo*jnFeb`^s}J?Qh$sX(EhLGv?3F|4<;egqBFVh9J+y4}k+m=Y75E&?%Q|S?rl5Tx zxavfr)J;qc{@VGSm{N#WBL#S2UBl~RZ#_fXsyW3p0hK~kWjK;_5-M$wLdbS?)+|!V zLoH>Z;3NuU>Kt^J!K*6Z<0X6fds+GCq&$HoDpr&p!Tqc68`wgM31(@f-9z5z?FK-r zpDJ(GzhDPo^u8XF_K|C2k!tx)VkXP^gJt9>z;XiANw<08jJd>baxK$SIGk}dmw)Y- zuwG8ooKUq(yL3aEudeXH`P-<%-+1HFE?UKgno+ZS{=2GWfHQj4WI?V4AL@*TXzR*Wq))Ag3 zT`bS>$4|eHfB46LAHV;>zle*#^SW&<|B-Fs=kIShRTw)LMRjZJYVmzTxIZ&0Zj%3(<{xc>f|X*v>xx83+Vl^ zbZZ7bTTLC`Io|LdUU~I({N#Jz#@Xc+_NGTE4)k)ljKJ(ZZr{CwD?SWx*{8V3%UJrH z0Z`(nyJVvi=*XaQq?bWRwzBCkI-vFzL!RJg@Hys7_f|R1b9z1>b~k1)lYwL&=lO6# zjz!I0&C~q^bl$mjD+1Dc5!Bto!w8%oA0Hz`z<0X8p8#zJbEk_1<_|x>vrzH3F>Jq1y@wv#8tK$>kD&W?= zy9oq;^X>PrzyB03zHlGY3E_nZvLA4prdJUVKgjDQR;`stI7iXu4TTiKHcd~uTJ+@{ z_B(k|VY@(eSGe_5I~W-sSzDHUuH zWT31qlyZ#T0CFf_DktU5lTE5T)=)4lp`)>@{^#0MK2+eTx4vrs8nCu*jOCMcK>|ME zr{xYSlWaP-&ge-fV}n+d;~X{g5FF=HU(O7Wx7n#$nnHLI0P`%)_XVS@alvLC2LrXc zu37t4+#)m+eD{kAJpq1gTmikVO~zmyb*klW-nS?}WfM-Raj2_nPleYxnln!`|2vUK zsGCys7>ess?NtxuU$AzCM(yI4vHEz4vS58-s0${nL#UPM_m%2etoDxe45=v6mcoSV z7-eg(P#EmIf-73cK*eBXS>KSFT}KyTmb&X4sM;J{yVQ#tCJa|m4%1Mc?8r{^tl}^e zRVu2Sbs(zs<{qs=>rZKO)zci^6)5YAt(B2r#!s!H1K9&mb6j421{Q^H_B?iJm#$5ht8+ZOd>_tQxWRSJ z!W6sWev-@A3>VTbeVIe~X~T2XP$=eu1rZo@}~{?uakdUuKuR=8I?Xapo^R?R~L9Te~i8H>)54T z+NDo^;=bDl7fPZS09woC=lY#G>I_)1=S=h=@&pGyhrvAFHAX>;U?Dd$Ae|3=%g!VL z1n;3mRt|@@=L_qfJ(K``no?{QwGHD*+=etE&h|&troY;A$5U0AI#0;|PWa_H5%YA(Ihi zi+C^cVHsii#e9zQ^M|p`^9cCg#!+lnzgnaaBm0q#%ac>w;~3qs{fD>iq!1dTNaQNW zx~}j_y!3hzc3CD-0arLgbK-G+vq{Iz0WeyC>I18Vw2UWzRF@8x&rb;J={x3`E~ zK%-zD(3zZ|Wd$eex^Yr&o|EL~8$ilAsfssdG2bw!R-_GE6_BrqujN-(uzXw*e-az~>J-7n)P>*uQO-GC^pCCIbBquLByy9MVD9JD?x~ZT!j|OQWRoPF zFaEllaO;NYrQ{*?gD2m?#drSi$y@7}BdEMB4WGU9 zMZA9NbNJ4q-+zue)tX~q)_~1Y4jbFn-dish8#U+p^d~3(ZSHUCU;G;T&K;>`C&1XnqZ zG1oI5O)#4w1FAiTvI^P5Ib?8|<0W5Q5f1kD)Ek-vU6=WOkxM$BFvT&>J}k z^tXzCG(`$`G467F=T$;d$H_Chk2LPbM{XS+;r8uYxOe{roSvRWK==&HNc&X;gh%Y1 zOc`V!PbRU53Fh4jlj$^h9CM86_apec7XjwIy?spCdphQuM$nnx?qqCzI-R9M7ALXZ zZvP;DKa6EgBM2M;>it8!cws^jD!7pL>(5Ars*181G1UfLK$s4zVUR^--2YhJDp zb7=Elv;7WcAvi3jv|GVehrhUIUE9)i87FwG^FX5l*Dx%~oGRt{T!?IN`UYtKm+>U{ zl|?hBC-;nNTb(HjtsP<2(N*{<4OP45dF|F3YPM={oI1zfTvGAg2K>Ld?j9ruHkPVG zdA*Oq-b1(0zQ2`bNmnn{LdVyVWrpWJmNML9&8KlpsqC`V`*>LyUd+aFbM^k9=L za$4zpTN|KVc)ms{P39vy%E^RVjCkru-wnprX&^7N*IoS})T&(*7H?1IZq^#-s82Uh425xO55u z$Gv6OP9uAQVyv4@0?S>#DuwCwwV*(;xO10QkQ->kB&yjA^72SyM?%Ra`#C1lRaIx6dj6x-G$7a&-% z*ri?CrB6r7^J!f@$VIis*6V`{?cNm-m&&hv-{p*^s>fC{z;MlWp10X+=K*>n)Qo)r z)nrzRNi*ki<`3Ush+L1)_I8%?T)dpC1?Y5_osxQpvrGa>O56@A&x@%{C8c1^5qd6% z7VaM$;kSqr?;CwF=XmVk0B3V^Tck zvQD!0hg7e!AaK|Xhcov`2zFhJe9R%PwfbzGnhPzpOeWn@%qt|$CySX*}HQG`w^7pFdgI3G_8?1 zd`60M8o^ZdV(!vr$QZK-vU8{p29z1BSX?eS776z6-p1@;jCX&$!h7$$gQrhV;~XS= zjqe}b!kq^%Ca>w)>>##b68X!Z^##t)k8wUfOCILOC-YSI@;E*lme?Q1_C}!m;^G`9 z5nS&_92O*Uw;(EM1Aqblac}G2qE~*6#v2X{tW%2P-RF=U=u`pwN=1VX_dU#gG_7N0 z&OlUTQM{m&2Xy(vDC=lC%&{9-2kz1?U6%@WEOBh%yrF}>9Gn$Es+sIL%X< z>&BDdo(R>Hyq;V8Va(cC=JO3O?FuQ`$(EDIQ44elgNBE)DO(=! z-s+;Ua-Nzw_h#9TE2eL>slh2rdGU$55=z2=Qdx#C4Zxz z`Eli?>#&VrL=JT)vc`xPw0Sm{`c-K{-Kof)mpDDXZUL-C>%3PtL@&zrh{(X}Q>*kM zZ!;F5s?Xa%Tk{LxVlMr1uXE3-mWqs39UV`#{jLqtIn|IjI<@1qn-{j*ro`|8f_VZP zyNJGIlQlt=#_Os?=yr7i4t%ca^%gpR4OCmPPkD0oPJah{xb#t;{W!|ply{plKCV1N z&#>pD+R(yq9ZaSF5Ndt*ItLxv+1jF4 zFT=(j>g}31iSWJN7EfjFSzJc~*36aBx#jpPVw}_28<+k@ogpOe1@!203Il&e!>ko-cgqi#UDwHXgt8)3{-` zM2_d10mM}Vofqd`zAHn0aZ#x~O1Bg?MWj=6lJVjVA@H*tT#!kMoZS zM*9bt9Ua7~r%A(>SCy!7&`=q7s+j9%d?wkM1^ zzVr--k?y;1%&gd{ATW z;;yi#_BdoPSq`GN9+3G@eO|LoCSCf@+XT#uuB;C`lT@Xe27=^))&pbmJ3X89Bm>Y? zz-bNHag7o9uw&*>InOhef0$>s$@iyW|ACLrzfWAUL)7w5XdB6}2f(Jg$=;BHzWI~Z z_|l0bOa+J$V$32B3fis6fwlE~R8s5DRynr#lxQ(GJ%9#f?(sS;-<$XfKd}ewOs!7o zkOHzVpY_22W1P~Ui$xnN91l^SNk$G=t_M+z2kpvs+=iR1S8Yp0t@BOlu4twFs|`O= z7^I;)sHzvJC@teRs+GlhuhPu~1O2z>Akdy~kS9!UbDi(KtXmJHkQ(}4r6A}CY6M%wx>M&Y2Rv6ZY zTA(Hi(m_X?)Ao*zjA5cU&OYSbdV9e7h8L)r`usTQ9Z=)R+;q(fnDsmjp#p-M@IJs` zH;3`IZ#^mMPM+_{zrmC?n4wX{(GDSP32XJ6nW~iv4nUW>d^;7$R;om-*+)Vr$)r?4 zGFAML&Ja9z%D+Tw6OXE{lGh*yPqVLwn)V238R!pimd%x1;)5qe7Bj`jwCnd0cxig zhRV4qdHVU){ij!tb%3G`T=u;e)fH6FnPoBRX+vKBTX#Y?aF)>8bsM)n5h^TlaZ2W@C;oyY1o znyuYGeEc1J@9`huFTVO$uuXb!_zGsD{kZtNtje|TKnv}{(LfCi!y4`H(||r;gAQ$y zznAHD^0z0~+u-ZkUj9HmZ)oel8a?Y}*`3E1A6%2Kt_|1Z+hp@_!}a!Fd)=pPZ6B^F zXIP@^-*H1-*FDp=^E#e<8q;-S%FvhxY}N zH|f953JZ|hIg?+{-)#P9*K@34s;EKb9Flg#zipV|SK%SYZDv4u zR<19`R}si&uj)m7ZjN#MJDPTw?Hyt=oq-}4Oc4}jaQM;FXL$4B2RJ&qjR!Bhh|7~_ z@%s_zI0C?XQ*_1qnSt+Bzu?0j5UzS0KYE0B-h2!9UVI66Uwjpx`O=qgdVYz2{)gYg z@yQwHER)z)j`Muy&RrZF?qe4Jj*jl)&aDTS#_|qdx{n8Myn?SrZ2jcX6TJWadpL<; zIqmNyKC>q`E#_%MK!FVQWFL=^HL*{jK-0D2p`4u=JC0`)ar#x7OR)gD(Xbxcq89Ld ztY|2FpVG||bnu>sR+RNbG$n3htG2OOZF$>_UDrJW;JN1s;fAuFx7_Q-4_s3g-SGQU zkuuhm0UZ>Z*voNGvi=W+G3+iX2MVHc)<`@njMKQlL)EdiXV8+w9+{3yA*AJbc_{en z@C85i1RsuC#uv$7+SY4Rvb7(?D5M=>y%&(s0ef>noeAafP})BjA(&iS%_eJ`r4JVu zXYvgiRQ3S39}FMqK?rn1V}r|(78@LGLBF~UPIyifdWD(AR!QLSmP9yN2|sk!-~jh( zx5K@OT6w6K@hjQX4&{4j7#%8p!08o=%&Fs7&# z5-Mdg_3>H*d(A3%HhbxKPXtndx6GThfD%2diN1zAV7M>T(4 zM0w5|DPt-LT|xue4pk&AT31e7tTr%w9hCEiwiGc0ZZn{23rtr6f*PQj9{(@k6;eQc z&96#RcPcd?zF&zh3J=u+TgME5GtS=MTeg#tuE2q z6zM@8+N_~YKOS^d*~1+5Ky{mk^uGPZ;CEEC)l_%zZ|#J^_Fb=8w1qU*Vb6fscn|mY zU&6L&zMA9B;~zCV$)&g7JjX)yY3=ppTrMy0hYx=bzw*kjgXre=?2q?xI6cDg)sss8 zo(lSi@~^eXmx~QD?@$BMmM6IRfTy8;1{>+QP6vi`ZKy3)kCy=|YJ3^nl=bl9-GTep z|HfdM>)*GrpSb4QO?hszciXh%rZR5IcU_s=j01m`(oJoAUiob*7a!B_4@1K?&wLp9 z-=q&>{d35o9Pid{woiv@uH7YPgIr2lyO8Fp9_{&to+9NenK=4z>Ig#sbb7-3*6F5b zsLEomWhvfIIEUv5aPxbkH9@Oo;oFx5R0f-SHG1qN&TYwnai73v{#ytD-B-aVQyUpP z9fuquBcH(1V>F#&dizcUS@+YSf6J={F8Un8;%c$L<$QtFs7r?sN*E0d{lR}}9-h~4 z$s4W7a$ul^i*GRe`i+wJ8wTfVI=^(?=bcBlta)0LM zzKZXB|3~=lcfXH|%d2$$1jo(hSk&jIXL$DX3GUpxAHnMT$-DcA_Axy;!ujPXF3#e7 zCxYjX7kfjx&aQ0A zd)@VIZO}HfZCl>9_IBu*kHg-7YLj3P1%xhdYs-W$zbaC|gW_7oz@r6?AW>bhr@5>k zuRl9*+a(f{l&cU@-0YGZn2Z1qFa}4ro%59m$)pO%DDQzdJVa?#20*>;O1Yt6DM91* zL;uk{C?Ghw&8cGl~FHMpt6Z5o_N@i`6q>OphV z&39NY+_0D%;@B%R8-H!SuN#tZ>s}|niVv>!-YHXtE6*RB6S$R?G~cU5@Fui8QDo6h zX@)i($QM}hkNvYHbbx9-c|a2mpmwF3GAc)NdWKjI;&Kq^t;;f}@%o<>k9}q_ope z)FPM~lknRJ(9Y~s+LW{H_iAil1IJiNHAH1>QYcS z8%|91V<9vWb!GIy+EMbNm4)h+$wbQ_R6ApG$HIi50?_rl>U3{%2}-lrR&s4j0t77rfbSnGfB0*@+n{)Fb(VZ$bU9vS^3SvoSHhq`t`NE*Cj_Q&lNfDBLlhH zCSLqru-rEBq?HBLw`rg)Uj9Eh{yyG6e;eBX>L>GKjL=oQr$HHABY&!gLrvG{R@2mbA^U=n%NtE5doD+w|y9wUD~Bx z`jbx~*c`nCNFL7U=Cb*#8K=sj$4|Vyk+0t8hFfI2XK28PX-2L{knFPlD&LeAo$I=V zD-AWI&)!#|zAtm{e1;rVypVMydpj=~2wg2xd}j7q=I|3d=VwsX99WP*NGC)^j zTqA?7qXOQLtXa7|BPwGe70@yR*z6_TG3b4DRXl6+i8b8TF`tBZHAk4wv3InOi_`NI zrel~aJ5V^pARB%d~|q( zmma)?y;#mkI<)Y8g!tTHr0XaG(G!m6Jj!de$MODjy3cVl@c7+lI6ghagV$e;Des#8|wS9f*;UmI~DiB)Xfn$^_glk2J7^ z*4Kxk=TeFo<5E^|PKOm}EUi$i2hb6XWUN^4f##^E#c4eWDCvw&!IMbK2mD(geSfU!tlh7vk}^VRp8_kvXp;j86(97x5!%W+tU%+A4o6{y#JV*|HqgfV20+Z!`>`HQ zStaSKe|#eNrb%0eHGMn#yV&9k3P;r_?Dih)o~KI%p{T3ZbdTR~ObURSH%0 z*xWJ5H@Wo8wu7h3O?7Z|X@}O%7OH0}x%p0n&;UNUT?Q13PMF68xe205!zo#)w5Xku zG=@_~1J`bukn4ek0l8=f0XwBffKC$}z}w!Bu7>u*~>GuYOfp1H1^^1UmE z4{e)x(l{OM;Znk0(DmhCOT)mkKRy02{ty57e+SgoaNvP_?`m~X+oz8z|LbU^daU30 z?51m5JVQ6-|Cr@}T^(!vZNoFGu*9>=$9Qn?3U+CicIgwGLQrQXYUbtsEllU{kpKKV zoS$PqB)=#w3Rx+Vyzn{}@(#&Y-st4H!uvFB9HXcNHD zr+^pg@w{9_pg8^|Fq#j?OL34_DK4?BefVDnUssb=is8H($1>&-*o_G8B+|QgcpLX# z`z+qM{80p$=dp~C4hX!OXAj;`4hm%NVL5<~%jCoVLM&?!ljM<|z()ol2|125^7kyi zRRJkcu4kGk{&B0>Pli3AW5w~=1+s@@URH3P+4&q-{S)lJ{Bi`#4{>%D=V$CGotI8n z%`-qglGrUFho#^;m>0e9gt^B&T1CE%C%Cx0j3E9cX7O6gi3f)hbXUi?I{pAJ-Mfv0 z2pW$f06v=SfnxqZtKxJM!S`_neqVY0GdNoWJp1umk;WC~v7E;dsP9*l+H%#8G2Nfz z!QLU>`26QEjs?8^)|+_v*1MR-vK~BmA%fg{7){4mOeoG@0w(wF;ul_e5#RpSxA5)X z`xa(*@8Xp=J{#pXNp0)Pfs!oV5r-}5A}~EFUWdrCNOI5H;HGu~y3X`KOS(~?K505G zU{3j-`)2{6lT6vGew5dQWix`h=NCbh_uf$U*uXa~B7>YYVawsd=*Wo1pJ(Sl6 z)8lp?S3(2~Zv=FcN^1-@QmFmSfCW67X(oI9ox&RWBL$I2-a1exIvLl3&fi0j1^`tk z23H=zaHHUARwqot0PZCCnCr_JK;=pv1wtK`BjfGxLId@9?S!EYEO~f@Hnx1WAt$sg z!afg%`XL&Q7rOC=TuB)hp!ifS!_OTupBxSvY_ly~+g8%%l1@NivI%RXTJQzJ;QIPH zFna8pERz)ew=Y8J@(xP{j_L$R(e|LPhgD*dSxHe;^*$|(m)B@yyN9!Pg>g23*c7N% zf}+%-62(I+UN**A2)USCozzYONQJ6=51LoW)k6@&rs?x5{4Dq)a4V9?YD# zJ1UBo=ZA~7AajOPUCL%#AX?KKHRoh|0-3p`9c2FU>tMX^V_Rp@%zP+~I?oG*$ z=SJ@^ziXZFWwg{kkNka|L$bSG_l9+0xQroMTgvM;wf$jpUh8iWcEIW41P`zSp#S94 zZphuG=SiXRJd;FzMHj^JrmQtecAWqMpf&4~Z9*s4G_O5D`m@*;s%?%(mGxU$Rgx#K zv2)(inQu_O*7?E;0eK27HoHuMkwcQGvk`;B3_!242lRXq!C8(GoMI}+-&gYlw&u0j zD1*jvfxeiJFqw^0tYj`|9{(6Rfe$tSGR^So~D%9??_c1NQULL;_t1e2%40q6E{3~F|DPXBQT ziieMI6hY|O!7W^#U8LC5l;#P2KD;sl?3C8bnc<0#?D@T1BwkTRCX5u~BVcbjjXYf8 zh1<9A`U`h)b@mi5zVb>0pZ741_c&Y!gU`uLIX=ul|2&pQvA#PIR6e?W2an(W0Q=J! z_9pqTKt6nM6>`XmquclK(+G6`@Y{ccuU&l>-~9T|;Tw0pfuH=~hj{nRw=j#mm`z_! zp*%2-AapE$vVVwscW>j@{_?LypnZ$SY+t{Og6rY(z zI$5rr0Ps{ipk?DGWZjgvS2@&8a85+*MV|lMyr6RbqoT0{0jRpN*^seA!$QOxdY5)- z>y%ys2^L9-KY}111pyQL=^i8Tj;8Ftrg5E%`OYTYJfEdp6943aEfuwf&K(7nKs%@P z>!5Olq<>KhaiD^3r8RESUU};p#ZX$yfv9kGYW)JL>U@}#(DikO%!@<84vU?Jyq!YY zKE?mC*{^7=;CWN0@oT$vJ{MDi*w$iKV50CYo{13D9-cl$T11r!q827q9tYA9GDADZ`sC z%@|DK{KHVL==X}+N?8aV{FVE`QIhVJf2<5EOR?f$^;8D07%P3n!x9;SvV$z{78ODDi6)Qp=<4RGF_6> zYCiI|*^g~E%b$cf1M*+vdvHv2-gnj8Ex2C(vSqg}f1%mQU)x83n=E&HVe4kW^Q92 zuPgsLn|NJaLv>zf|J!t(?GGESf11*^@*m>)Ci&kq_H5!KaJ~Gmqou8D=r>_Iy}d~{ z@f@_Y*K+DMl-HBo%aJ)iIZm?RVrrWFoX^>>@_+d?V6a;1$hTuC`FVeK2(sn`jYpmB zpSQc31)k63RJdhbmT)eP^LxV2y?M~;2{It>9D)`5|?y^0MS4$ zzcB;s$9++>3xSEiWUuJHssUf`Q%9c$UEUp0c+#3Q#-0y29clZbnD&c)Yg{cDZE0dhcwE z5b2)n9pHjN`pF*Vhezll4d=&C@#O3T|Kzv+IllDT>v-wKm+;n)e}v=5PjUC|UF`24 zq;gnR6PhIN?Y+CV@blmNdfZgMz(4q}{skUCdWyH-c?m!Fb6>@S2M;ifvYbTvJCY3w zS^wJ{B)wA4VM;QZl=Y`ie)KvI$e?scYdXO&;5vk#zfqD|R{&_zje{1WQU|Dy%|30i zSwrQaxi?e}Hq?o0%4*B?c{bV6>%I>?>z{v~^5yq+G=EZ)Zv1Ir^0BWu&`d-S*3rvvtNvR{}Mlq)4SuOyul((DB9h4>|6t z8ZVMD)I$q$nZga%o&eDR!T)N)N!wIERN-2oE~5-z7J*>xc{0#dYyg5@GagynGoit$ zJ~^I|UaK8&kWrshZjCi@5-gP5SOa+RJ10+=trN-u%!6HcKth_>Px#I4iZZh(r44;R zJ@=5(ZIXi8b!f=(iIh+LF0bP5uZoUU8x-DPU864=-a}(~)E?*B+7Rp%W*EqAT%{Za8|t0xB0rTO zr;0^`l27uRS2|Q2WPGmVAJD-0pRz>P{8lS|&3$ZnZ_~98o4?I-)AQTjzv-FluHRIT z-8)?zmrG_(n-QS0VJZnS>y-yixZJ)!*>!)-TZ%Fs*4B;OaN0~l;OOz!{W#_C1vgNJ zrX0A>?1dGoHb~oRe$>5;TpO%x#~-ab!0)arpLy}tFYxs037#kY<=6ij{@{b(!jGPQ zZ~Z1U#H63(KiuepMqQ{W>IV4}s%ez!gX24BUH)Rbhvcv0s60?LXGs3ECV$W0R=3i3 zrH`6=u_k{{;q%EKPCsqaJdYPfAKJRB_JxL~(toJdNe;nrwmd^sSe1sZeb{@n<^9n7 z-j=SR^67^AoAPhEzfJnEJo~hzZQ8jF&)e@Gr~E$*E!&iJUHT~f;`(c~$<2HkmF(ng z8hLMNF|2iIK3oKl?St88TI-E#w9xQfUDv@aOv$pAS*@doD%w&zs*N&R6UnQ(LYX)V zRbynVdldmq27NEiFK~H&iOUE?^Ri);z}95~WxFmPHYYKpI}X*c8mHLJvq_E@%qP?3 zc)dL?FXstZ9P@#7%=K6xA4V9u3>q)k%Q}LxlgTK7-{kn2y{~&jJT}K#E^N=6*9=Ja z3O=Ve(A`KwW{fHS$)J(j$3EXHjQZT3Zkg|oXocljhqK3H+b6jV_GUl5e-GX=&zW(|f_=T^3 z89({KcknO&;1BW3U;BD|?f_?}=U6TJq!-I5$8I&nctx>}Sm!ukd}|M1`qCHitv~!8 z-g)*6Z@u|bJbCmOU;6Tw@r%Fk3!qu{Hs_|Tic^qiZi@TOp7PB5NV|k6$(tDga+VVc z_^j(SnFtWU`M2jygR*f@fzPn-z7N&2m~HG+xF+w19d~XT`?e`#oBXup_i#g=q2Jq< z^XW~+F*#&!=5nzdB3NLXk`aPLlK`K7J>wT^p|Zo)n-SZw>E1l1QOai_$Uw6+NUDA zQY9^|mW5Y5B)izFvNl9(tEE2QHnR1-Zv;vRjvC4mWeoc16(JO3Y>O*LjO>;O>ZXhq zoe)hlRoBI%5>NxweP{t|n82L|CFb<5gN2s8_ESJ#n_$`Qji2{r<3O(0)ZWrUi!5p- zw1`$mRkkWgoqfY6F*w>e#R?Q<@W8)#s+ml!r~A!WHh`CUVeTpggPq+%&s_cpeY6Ll^MEKWT3TE)VQ7Ii9CF<)RpYwvA2}st2X6cE`vJ zfqgOilJI7Y*Idr6&9HOOqZgCeG^0dS8QG>vl%~+gAHn=D{;Z`xi*5STPp9)|>C?FD zms;&LXY)`4$OKfA7FF7+l)7K~G+cgTuh&K;ptg1cHXii^s2;Z4=P^L9-%<+$xulHx zNgIB{V98cq{>7d~KRx~te&yxA92ZVwY?C+y$G`LS{}6xY_x~fjbMhua)iy5?LOWFf zo~K9MAb+g$<7WBS_t(qkb!w6A8fBBAbW62nw%OIY#m#($DeC4({K> z`S~fXB7l89KgWXy_i=Fh7QXZ2H}R8)&(KHEzgu15rTY)?t6%>*KKJTNc;(Iu_{|Ug zKEC_i@8k7XUyVGNM7c~N7$Iy?9_CI^`h!T9W;CdM(Q%ED| zN6|Kjd+Pe4B7*@L$|&BRLm;(6BfX*-P`oOE2N^*KejsQ}y*l~ zd9Dj8oSeO0@a9mBH{q} zy4+M$@Egfg!Iz<#>sWor0JOyEAWsLG##kX%pbWYSGJ4%X21aw(5`sSknF<9K9~wF! zz!7Fk;PPAPf&P{b#aYZtS`<|}K+v{mZx6n%0;`jCMBibGNNd3X?!-Rf*3bEpinqyCQEYoWy!GOo)2XzhEOd+2$?ou*U0Tm;3OdpJSJH zX_r39N#@Y`d-7B*-}75IITyifoWxekv1~UMSv{y0h}`-I8*F0li>T+2&AM~VZd#>f zvE5#4AC_r032@Nc*(&9V&ByZ}0}2dWjz-J$$2?=Oln=k_DaU~BI`Q14gr{oAypRtv zOyM;8+`K*l$y5$Q=XC)C$*YjVdW_;Sn8C|Q1a3L}L{|=(V^3i|oG|-%bSc~gm$Qo3 z7+7U5Vk&eeTDpv8ax)lU9x*_U3_4H7T0%#I@1d~^r5 z@7~9Jag39br#Qbj#l^*W{Jcb1tZ*>xuowAy9`cgrg$FO;@zcln*6;rTUWq{V>#x0L z3RQrcJ^}Be1i-T#*z21jpM%80E~~F}w59ie1}ZR3R#;R*rXYv6&T+k~UTL4Uirl4L zx;d4tK+0~=*=F>xFdQ22Ss<1!>6b$u3k<@K^I5RHygn@tIY6|cWrkIU# z&#)UAFUSp+)!bdNt9tJ3aVNf=O^&OGoQsV%&={&ARj6WzmallCE>;RpddF|H9@HKK zH9q+!JJA=*W?+5?!=R{HH~Fzun5(2!;In^9c%|I3XG$GodmWStiGeqjtJ}(XMJS0~x0E;c-II5jF z)HK5J6b96qs?{Ay^-Z}dju3#H!@>Xu}8PWsE;z>73 zwoALTFuS}uvWI)2i0rup1zHDPJfCo-~SqDO9Al4+UM_n1^>Y>{jc%6@BUN#v$y{d-aP&h zE|(Y8Ait?J8Y1u-GvY1JP&q^LPq%3OSsKu@ZRAha$Z?I~5H+;D+5W*km~wUl{#8h2!3?mX`Dy-ul2x!rmuFAegXTfEP-mgLpiWuUjjhtAGY zU0N)61$<86X(y0s9s$(@9Qn=I%LsOcRSw^=D)FTIRYu`6P~E3P0XfDrA9}YJ!PJX5 zre<(^lwwRLuk#3Yrf?Aa>^QF@5};ew77S!h56{B(LiXu&1cl34|6a2`SJ%V&@9=8t}mXbV>>eDMAUY5u^6?7ndS9`4+} z4RLBq@-4jPa4Wnikbal7S_&f)GQckL4fYD>GdKDKLKmGaUeU>$owB}ksyChe5$XLb zE37$>?b0sYl!6@$n3Sg%;H$hJ9V+M{jtG6ImoYjvu(2SE@d+`Rp&B}5y4e#NOeRAS z0$k?$Y~aZuZvk_Rs6kGJH(eYE?yQ3`$5cpZQvF<(6_ZzL(HfCUQ;^ zR#H(+6*s{h(B(jHm@cWYt2P$wn(`3V%TuwsyTTbdp6Mj61#$fjb#&EGt1CaMbFI8# zL%L-t>Skp$g4?BCx*?q}GXULgFn*{+Lyy+Gr^7}2UfB)5eDdEQ*7e^XS^imB0rNoIKPC;%#MwvD$U@d#}j+Y~Z(FpRk zA7PRj zp*|>u>lk%8^algs34;Bd6kXSBnKMF6YU6_-Z)^d-txcuFx-g z+}hty2L`6VAAKkoYL^aY07+eL(=_tq#TV}5^!OQ0 zjw3B+r#Opk-)CU>(L=zZnYm+<1t4-!bv-q&f39yby~L>v0mD1u_+ z^hc3b`?n4e;yh>-koe2_-}vljaO=(;%wxGPzW8E_V;vMQ$a*5{$klSCx*V3dkEQtA z$hyJn`E-C|9~3<9i?=zc&UEGA%FLS_|G6tNmAQ;L!zFKO+O4^EY0D(2Dk&hMNj%RC zmr3tPXK%J_3#meo^K0=`gUZEL3-;t7Jn~10NezSwe=~nO!ETbVU&Dud*jFnplN3B) zTp=1pVC|%8Z@_y1yBb4u?kqSAIh@Px+xO0f9)dn62mGy#iB%mU8n+uzZW|D6WsqM0 zIGj?(oh&NlkZU!npA|XEeyrFQtQ}d{2dQXcIusgAoGtVPbM;~1sN06JR|WE!@00V#i5-* zCoW|5&_F(_Lo}daY$alClmicg7lI*ocnL)acn;XN2$h|{LKK+FX1wM}WT(g%WL z9_&)yeU%e^t>#=zUjzRY_=#GPU^254K8+9U@|P!DecuY#X=S+=3eBW6mG-k|gE;r9 zY=y~rM;&ff9h~Jen$22J2*wlLISI-O(M#{;ZmlsJU%!SBWG)O3kk_F_gg`T{cBmGq zr?hl(YUH3T3CgdaotFyo9AsS3LvDp;5{1uqW&5d^6Tf|!C-Zqs0u2Dse}%}VCa;H)kUmQgD~O@Yhj zHtERauyX6RZZ4a!-cC5$QPEzPTtDMsd0*1+z4y=Y&6j=^U%CGc5ItXa=Ee2x***Ni zi}&#JFZ?1-=FjlX>09{8)9>StkAH}_Pk)lY=&R*b!vk`yuchFx-YkD>>u@=n_-C?O z=gYS8_hmHlSDuFf8Mfu1p%(*XwmRg?HyQ&r$)6hSY4c%#-nQJ9<~*yK`w$!-#n#-! zrk{l!d!DpOWSjDaYp&gNf1C3Dtffsn0X`XR-?s?v=QD$yr)Osg;N&vc!#W*q2$T>R zqf`b1mCREHqtj}K%N}*wuH=zD%AT^>LpF!~W8ih1XdCIlcquM5vWK)C6h%44H3QD< z70tCyB1k@&B=7G1gH-}p*?W7r+{66x0_SJ(`{gC(k^b}Zb6iEblNVdh;PWAl4i8XP z2N?kGM#=#O&}Wg7Y)ny?rOrevtUe2N6ypAV1rSp#6x!|4zYr=3Q7J zc_%L-cs`1}_}rJih`;!&zlwthXs3;Vo zmc7P)?pIkp5;jwGugmCCk)zWuQL55qIyuK7Y-tv^wJXmv#(Y>C_dKaF8y|c5A0};M z5@eGam`aoSM4|A#^r@B!x9g=#E^xi6-b>0S+3O*{oIa z=j9UFJ;DG!Qre+axH9A!$yscP2bZNx#nQUsi>Kp>Bb2&I)$((K|H@uBc!*zvcfL$O+- zMi+#Cu1$pte64pQuz=YJ7AG5^3Xt#J{2|5N4xup#)A ztuHc6ldWJu;nWm0Mnn60FdnMBg-8Wvog!A{dKnmBwV#U41=&1sMyeEM9nv-l(yx*? z@zTjgJg_0aa|jI$)+vMPXVCh(jw)RObnqx`MwzsrXh+_`B*Tr>eiVaV)X30g-E2q) zF$UTA44zx6AEHjV(-@;aP3b0zH?@kMGrzyL$s#^44cL;daLv7&@^16&w&j+#@y{eO7yYFr%*bSEOc2dbR+On-B zeXg?I@U(SmqqRV?GK?Nn{HS)TBP1YZ7?kPFWT`TQsLYR}?Vp6S4PWpa z*Pl22EaX3wpKiE!-7`bw-bC|tbS2xw^XuXX>@C7jjOWHAZ(Xq))B0lXs3FHZ9eT&2 z;PUYI5;DUXs=S=&Y^@|~z4AO8<2;tNioA;DA4K5!rTh1B>*!YT z)DE#d`C!F^gZ*@fAA4?x2>KF-x)4x5{bk)0&Lz+21j>hmQS-rwd$I0UUVSAU%6Rn-n9P8$`a6R#J8fn|#+r!HD&lD=|?=BT95isFZ00-Lr=`O1O=jH><6k*+hWK zPH-&J|Bz%X_egZMmx&CnPwkjHl&-Tu+t|u&ZP+&B|2B5_qmBdHwCTEhAJ;haCz=u* zO!{iQv@VoTni+IPLN4;;RDk2k#Y};_WZESUg)01pOmvHBM2=Ea&v_kh9Xw_AD1oHE z{e0HFpPd_%0OhigRSGS$Ra78!X?k8O)q*5zftI6leiU$+Y`ictZ<|C4Fn2aT)>_@V zE%-8sD!|x;=N8XZQT(h*EG-${JjNirn3H*FytI7?6!+mZk{@;@7uSwpGB(e<_33yf zA!r@mfT#%x-XD(4mgL@?#+fvB1l{6H=1})L!Dj_@a=2i~gAl12iGA|Mq_mgtXE8l* zt7waR^c>G@bN{CFJkS5EXj^N0sD6vCicQEl%H)E?j)ywmQ02`fwS7`1)xYhr+D^9R z`3*gxq4GdgTU=kS%4^z}uMM<=+=uI>k{{NutNhphmZ?JHdF;ym;gdhYfBv1ni~qql z{^yvD_wdmZB|w@zp1yql>*?>Wf9`Lm1MB|y*$?rfC*Q%hAAJjNMPQl_L0sR%4hHx) z^1r4^|FM<){n%Uar{QrWPg95&*{@cpwdHU|QdA54q=E50dHD``q z=i+5<%#X=JHa*~paATpHqq}vv)+=ivo3TnBUFnqJsjuhs>0)p5&2pYhWxL?kJjhL} z*9Eq25Q02yZN6SCTmco++LVFXa;RS)I_04p3ddKHElfWJgvkHoaU$otIzPwLr;o6V zfNe((bf^4B&g`_4yoK3=cg35) zV+E+$%a?0gGLRZUY>xTNV0Q+uN69OgJ$};xfQiZ3V|qHyyh`8zdn+eQD)J?{o{v)~ zlH>CWy!YsF1lO-{7|XeJc!axmZYNLY#Ug^{vCMGTQgKAn-NS;?cqcn4QmwDS zZt1?ov*oAyV)BB4EzLToj6*@nHXOs8EhWaUTPX;(lm{DBZ-f_I#YY=;kj&uRJFN97 zW0Blf(#c5BPdS`V>IeC|(6?v|^wY6c=%)rO52b$ZK`iZXWEA>5Xbc^j;oF^V*k)~o zF;~tpLC1Y@s`VI`zL_B$qB5$7ntiz~&M{bNEq1Roq}P`ERtZMt)>%S>(x2~V2hCum zI6SjTA*}IrtPE}PlH+)<#0Diyg+P=WpbDw|N|jr8AK(C1H{q&)TcS!CWV%BR{PaMw zpR_51gkiw|lu9UCPjNs`df|37j2u&P*TF*5Uidc4P6*lwSqEF#mvV$Y<&}jjDYL$s zh-L(IwnVQOKuaY&hA4&6L&3MF&j5}k^}o49e~B>c6pUH)F8J!op)RO zP6>R3lRAm;T+L8}n0IvgmUiZU-@`Y;cR%0DJUC|DFdq6^#ZHo2F@$PQrrs*hCxeCM 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 z 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%0A!=r3d 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 OuCIGq3>d>AS0O_7TVz%Sit?Jv~XF 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