diff --git a/app/build.gradle b/app/build.gradle index c13bd19b71..4661f78208 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 116201 - versionName "116.1 - Alpha" + versionCode 116202 + versionName "116.2 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c93bee06aa..aa4035d6bb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java new file mode 100644 index 0000000000..366eb07b91 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java @@ -0,0 +1,26 @@ +package com.discord.analytics.generated.events.network_action; + +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.analytics.generated.traits.TrackLocationMetadata; +import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; +import com.discord.analytics.generated.traits.TrackNetworkMetadata; +import com.discord.analytics.generated.traits.TrackNetworkMetadataReceiver; +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNetworkActionAuthorizePayment.kt */ +public final class TrackNetworkActionAuthorizePayment implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackNetworkMetadataReceiver { + private final transient String analyticsSchemaTypeName = "network_action_authorize_payment"; + private TrackBase trackBase; + private TrackLocationMetadata trackLocationMetadata; + private TrackNetworkMetadata trackNetworkMetadata; + + @Override // com.discord.analytics.generated.traits.TrackNetworkMetadataReceiver + public void a(TrackNetworkMetadata trackNetworkMetadata) { + this.trackNetworkMetadata = trackNetworkMetadata; + } + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java new file mode 100644 index 0000000000..c8a45b8d07 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events.network_action; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNetworkActionAuthorizePayment.kt */ +public interface TrackNetworkActionAuthorizePaymentReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/api/guild/GuildFeature.java b/app/src/main/java/com/discord/api/guild/GuildFeature.java index a71c608f5e..83ae2a6447 100644 --- a/app/src/main/java/com/discord/api/guild/GuildFeature.java +++ b/app/src/main/java/com/discord/api/guild/GuildFeature.java @@ -28,5 +28,6 @@ public enum GuildFeature { ROLE_ICONS, ANIMATED_BANNER, TEXT_IN_VOICE_ENABLED, - HAS_DIRECTORY_ENTRY + HAS_DIRECTORY_ENTRY, + EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT } diff --git a/app/src/main/java/com/discord/models/message/Message.java b/app/src/main/java/com/discord/models/message/Message.java index c31bd2ae9c..769e740b9a 100644 --- a/app/src/main/java/com/discord/models/message/Message.java +++ b/app/src/main/java/com/discord/models/message/Message.java @@ -814,6 +814,10 @@ public final class Message { return copy$default(this, o, g, m, e, i, C, j, D, r, t, s2, d, k, x2, v, w, F, E, a, b2, c, u, l, A, z2, y2, p, B, h, f, null, false, null, null, null, null, null, null, -1073741824, 63, null); } + public final boolean shouldShowReplyPreviewAsAttachment() { + return (this.activity == null || this.application == null) ? false : true; + } + public final com.discord.api.message.Message synthesizeApiMessage() { return new com.discord.api.message.Message(this.f2721id, this.channelId, this.author, this.content, this.timestamp, this.editedTimestamp, this.tts, this.mentionEveryone, this.mentions, this.mentionRoles, this.attachments, this.embeds, this.reactions, this.nonce, this.pinned, this.webhookId, this.type, this.activity, this.application, this.applicationId, this.messageReference, this.flags, this.stickers, this.stickerItems, this.referencedMessage, this.interaction, this.thread, this.components, this.call, this.guildId, null, null, -1073741824); } diff --git a/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java b/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java index a8d6c52fdb..1f722e1e87 100644 --- a/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java +++ b/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java @@ -4,8 +4,11 @@ public final class GuildConstantsKt { public static final int FILE_SIZE_STANDARD_8MB = 8; public static final int GLOBAL_SEARCH_LARGE_GUILD_THRESHOLD = 200; public static final int GUILD_TIER_1_BOOSTS = 2; + public static final int GUILD_TIER_1_BOOSTS_EXP = 2; public static final int GUILD_TIER_2_BOOSTS = 7; + public static final int GUILD_TIER_2_BOOSTS_EXP = 5; public static final int GUILD_TIER_3_BOOSTS = 14; + public static final int GUILD_TIER_3_BOOSTS_EXP = 7; public static final int INVITE_LARGE_GUILD_THRESHOLD = 200; public static final int MAX_GUILD_MEMBERS_NOTIFY_ALL_MESSAGES = 2500; public static final int PREMIUM_TIER_1_FILE_SIZE_50MB = 50; diff --git a/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java b/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java index 7f12c89e30..ac9bbb82d5 100644 --- a/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java +++ b/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java @@ -1,13 +1,18 @@ package com.discord.utilities.premium; +import com.discord.api.guild.GuildFeature; import com.discord.app.AppLog; import com.discord.models.domain.ModelSubscription; import com.discord.models.domain.premium.SubscriptionPlanType; +import com.discord.models.experiments.domain.Experiment; +import com.discord.models.guild.Guild; +import com.discord.stores.StoreExperiments; import com.discord.stores.StoreGuildBoost; +import com.discord.stores.StoreGuilds; +import com.discord.stores.StoreStream; import com.discord.utilities.analytics.Traits; import com.discord.utilities.logging.Logger; import com.discord.utilities.rest.RestAPI; -import d0.t.n; import d0.t.u; import d0.z.d.m; import j0.p.a; @@ -33,24 +38,61 @@ public final class GuildBoostUtils { private GuildBoostUtils() { } - private final int getCurrentTierSubs(int i) { + public static /* synthetic */ int calculatePercentToNextTier$default(GuildBoostUtils guildBoostUtils, long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i3, Object obj) { + if ((i3 & 8) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i3 & 16) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.calculatePercentToNextTier(j, i, i2, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int calculateTotalProgress$default(GuildBoostUtils guildBoostUtils, long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i3, Object obj) { + if ((i3 & 8) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i3 & 16) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.calculateTotalProgress(j, i, i2, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int getBoostTier$default(GuildBoostUtils guildBoostUtils, long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i2, Object obj) { + if ((i2 & 4) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i2 & 8) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.getBoostTier(j, i, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int getBoostsRequiredForTier$default(GuildBoostUtils guildBoostUtils, long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i2, Object obj) { + if ((i2 & 4) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i2 & 8) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.getBoostsRequiredForTier(j, i, storeExperiments, storeGuilds); + } + + private final int getCurrentTierSubs(boolean z2, int i) { if (i == 1) { return 2; } - if (i != 2) { - return i != 3 ? 0 : 14; + if (i == 2) { + return z2 ? 5 : 7; } - return 7; + if (i != 3) { + return 0; + } + return z2 ? 7 : 14; } - private final int getNextTierSubs(int i) { - if (i == 1) { - return 7; - } - if (i != 2) { - return i != 3 ? 2 : 0; - } - return 14; + private final int getNextTierSubs(boolean z2, int i) { + return i != 1 ? i != 2 ? i != 3 ? 2 : 0 : z2 ? 7 : 14 : z2 ? 5 : 7; } private final Observable modifyGuildBoostSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, boolean z2, StoreGuildBoost storeGuildBoost) { @@ -59,73 +101,77 @@ public final class GuildBoostUtils { return z3; } - /* JADX DEBUG: Multi-variable search result rejected for r5v8, resolved type: java.lang.Object */ - /* JADX WARN: Multi-variable type inference failed */ public final List calculateAdditionalPlansWithGuildBoostAdjustment(ModelSubscription modelSubscription, int i) { - List list; + Object obj; boolean z2; m.checkNotNullParameter(modelSubscription, Traits.Payment.Type.SUBSCRIPTION); ModelSubscription.SubscriptionRenewalMutations renewalMutations = modelSubscription.getRenewalMutations(); - if (renewalMutations == null) { - list = modelSubscription.getPremiumAdditionalPlans(); - } else { - list = renewalMutations.getPremiumAdditionalPlans(); - if (list == null) { - list = n.emptyList(); + List premiumAdditionalPlans = renewalMutations == null ? modelSubscription.getPremiumAdditionalPlans() : renewalMutations.getPremiumAdditionalPlans(); + Iterator it = premiumAdditionalPlans.iterator(); + while (true) { + if (!it.hasNext()) { + obj = null; + break; + } + obj = it.next(); + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan = (ModelSubscription.SubscriptionAdditionalPlan) obj; + if (subscriptionAdditionalPlan.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) { + z2 = true; + continue; + } else { + z2 = false; + continue; + } + if (z2) { + break; } } - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan = null; - if (list != null) { - Iterator it = list.iterator(); - while (true) { - if (!it.hasNext()) { - break; - } - Object next = it.next(); - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan2 = (ModelSubscription.SubscriptionAdditionalPlan) next; - if (subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) { - z2 = true; - continue; - } else { - z2 = false; - continue; - } - if (z2) { - subscriptionAdditionalPlan = next; - break; - } - } - subscriptionAdditionalPlan = subscriptionAdditionalPlan; - } - int quantity = (subscriptionAdditionalPlan != null ? subscriptionAdditionalPlan.getQuantity() : 0) + i; - if (quantity < 0 || subscriptionAdditionalPlan == null) { + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan2 = (ModelSubscription.SubscriptionAdditionalPlan) obj; + int quantity = (subscriptionAdditionalPlan2 != null ? subscriptionAdditionalPlan2.getQuantity() : 0) + i; + if (quantity < 0 || subscriptionAdditionalPlan2 == null) { AppLog appLog = AppLog.g; Logger.e$default(appLog, "Error calculating additional_plans adjustment, new sub count:" + quantity, null, null, 6, null); return modelSubscription.getPremiumAdditionalPlans(); } ArrayList arrayList = new ArrayList(); - for (Object obj : list) { - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan3 = (ModelSubscription.SubscriptionAdditionalPlan) obj; + for (Object obj2 : premiumAdditionalPlans) { + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan3 = (ModelSubscription.SubscriptionAdditionalPlan) obj2; if ((subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) ? false : true) { - arrayList.add(obj); + arrayList.add(obj2); } } - return quantity == 0 ? arrayList : u.plus((Collection) arrayList, (Iterable) d0.t.m.listOf(new ModelSubscription.SubscriptionAdditionalPlan(subscriptionAdditionalPlan.getPlanId(), quantity))); + return quantity == 0 ? arrayList : u.plus((Collection) arrayList, (Iterable) d0.t.m.listOf(new ModelSubscription.SubscriptionAdditionalPlan(subscriptionAdditionalPlan2.getPlanId(), quantity))); } - public final int calculatePercentToNextTier(int i, int i2) { + public final int calculatePercentToNextTier(long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); if (i >= 3) { return 100; } - return d0.a0.a.roundToInt((((float) (i2 - getCurrentTierSubs(i))) / ((float) getNextTierSubs(i))) * ((float) 100)); + boolean z2 = true; + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment == null || guildExperiment.getBucket() != 1 || (guild = storeGuilds.getGuild(j)) == null || !guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + z2 = false; + } + return d0.a0.a.roundToInt((((float) (i2 - getCurrentTierSubs(z2, i))) / ((float) getNextTierSubs(z2, i))) * ((float) 100)); } - public final int calculateTotalProgress(int i, int i2) { + public final int calculateTotalProgress(long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); if (i >= 3) { return 100; } - int nextTierSubs = getNextTierSubs(i); - int currentTierSubs = getCurrentTierSubs(i); + boolean z2 = true; + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment == null || guildExperiment.getBucket() != 1 || (guild = storeGuilds.getGuild(j)) == null || !guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + z2 = false; + } + int nextTierSubs = getNextTierSubs(z2, i); + int currentTierSubs = getCurrentTierSubs(z2, i); return d0.a0.a.roundToInt(((((float) (i2 - currentTierSubs)) / ((float) (nextTierSubs - currentTierSubs))) * 33.3f) + (((float) i) * 33.3f)); } @@ -136,14 +182,49 @@ public final class GuildBoostUtils { return modifyGuildBoostSlot(restAPI, j, modelSubscription, true, storeGuildBoost); } - public final int getBoostTier(int i) { - if (i >= 14) { + public final int getBoostTier(long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment != null && guildExperiment.getBucket() == 1 && (guild = storeGuilds.getGuild(j)) != null && guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + if (i >= 7) { + return 3; + } + if (i >= 5) { + return 2; + } + return i >= 2 ? 1 : 0; + } else if (i >= 14) { return 3; + } else { + if (i >= 7) { + return 2; + } + return i >= 2 ? 1 : 0; } - if (i >= 7) { + } + + public final int getBoostsRequiredForTier(long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + boolean z2 = guildExperiment != null && guildExperiment.getBucket() == 1 && (guild = storeGuilds.getGuild(j)) != null && guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT); + if (i == 1) { return 2; } - return i >= 2 ? 1 : 0; + if (i != 2) { + if (i != 3) { + return 0; + } + if (!z2) { + return 14; + } + } else if (z2) { + return 5; + } + return 7; } public final Observable uncancelGuildBoostSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, StoreGuildBoost storeGuildBoost) { diff --git a/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java b/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java index 01006dcb7c..117b01f08c 100644 --- a/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java +++ b/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java @@ -57,9 +57,9 @@ public final class GuildBoostConfirmationView extends CardView { public final void b(Guild guild, int i) { m.checkNotNullParameter(guild, "guild"); - int boostTier = GuildBoostUtils.INSTANCE.getBoostTier(guild.getPremiumSubscriptionCount() + i); + int boostTier$default = GuildBoostUtils.getBoostTier$default(GuildBoostUtils.INSTANCE, guild.getId(), guild.getPremiumSubscriptionCount() + i, null, null, 12, null); boolean z2 = true; - char c = boostTier > guild.getPremiumTier() ? 1 : boostTier < guild.getPremiumTier() ? (char) 2 : 3; + char c = boostTier$default > guild.getPremiumTier() ? 1 : boostTier$default < guild.getPremiumTier() ? (char) 2 : 3; SimpleDraweeView simpleDraweeView = this.j.f122b; m.checkNotNullExpressionValue(simpleDraweeView, "binding.guildBoostConfirmationAvatar"); IconUtils.setIcon$default(simpleDraweeView, IconUtils.getForGuild$default(guild, null, false, null, 14, null), 0, (Function1) null, (MGImages.ChangeDetector) null, 28, (Object) null); @@ -92,10 +92,10 @@ public final class GuildBoostConfirmationView extends CardView { ColorCompatKt.tintWithColorResource(imageView2, i3); Chip chip4 = this.j.e; m.checkNotNullExpressionValue(chip4, "binding.guildBoostConfirmationLevelInfoUpgrade"); - chip4.setChipIcon(ContextCompat.getDrawable(getContext(), c(boostTier))); + chip4.setChipIcon(ContextCompat.getDrawable(getContext(), c(boostTier$default))); Chip chip5 = this.j.e; m.checkNotNullExpressionValue(chip5, "binding.guildBoostConfirmationLevelInfoUpgrade"); - chip5.setText(d(boostTier)); + chip5.setText(d(boostTier$default)); } } diff --git a/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java b/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java index 823820b56e..7166622ade 100644 --- a/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java +++ b/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java @@ -43,7 +43,7 @@ public final class GuildBoostProgressView extends FrameLayout { throw new NullPointerException("Missing required view with ID: ".concat(inflate.getResources().getResourceName(i))); } - public final void a(int i, int i2) { + public final void a(long j, int i, int i2) { ImageView imageView = this.j.f201b; int i3 = 0; if (i == 0) { @@ -63,6 +63,6 @@ public final class GuildBoostProgressView extends FrameLayout { textView.setText(i != 0 ? i != 1 ? i != 2 ? i != 3 ? "" : getContext().getString(R.string.premium_guild_tier_3) : getContext().getString(R.string.premium_guild_tier_2) : getContext().getString(R.string.premium_guild_tier_1) : getContext().getString(R.string.premium_guild_header_badge_no_tier)); ProgressBar progressBar = this.j.d; m.checkNotNullExpressionValue(progressBar, "binding.progressProgress"); - progressBar.setProgress(GuildBoostUtils.INSTANCE.calculatePercentToNextTier(i, i2)); + progressBar.setProgress(GuildBoostUtils.calculatePercentToNextTier$default(GuildBoostUtils.INSTANCE, j, i, i2, null, null, 24, null)); } } diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java index db29d6b59c..2cf65b493a 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java @@ -25,6 +25,7 @@ import com.discord.api.permission.Permission; import com.discord.api.role.GuildRole; import com.discord.api.user.User; import com.discord.api.utcdatetime.UtcDateTime; +import com.discord.app.AppLog; import com.discord.models.member.GuildMember; import com.discord.models.message.Message; import com.discord.models.user.CoreUser; @@ -37,6 +38,7 @@ import com.discord.utilities.color.ColorCompat; import com.discord.utilities.guilds.PublicGuildUtils; import com.discord.utilities.icon.IconUtils; import com.discord.utilities.images.MGImages; +import com.discord.utilities.logging.Logger; import com.discord.utilities.message.MessageUtils; import com.discord.utilities.permissions.PermissionUtils; import com.discord.utilities.textprocessing.DiscordParser; @@ -398,8 +400,11 @@ public final class WidgetChatListAdapterItemMessage extends WidgetChatListItem { configureReplyLayoutDirection(); } else if (message2.hasStickers()) { configureReplyContentWithResourceId(R.string.reply_quote_sticker_mobile); - } else if (message2.hasAttachments() || message2.hasEmbeds()) { + } else if (message2.hasAttachments() || message2.shouldShowReplyPreviewAsAttachment() || message2.hasEmbeds()) { configureReplyContentWithResourceId(R.string.reply_quote_no_text_content_mobile); + } else { + AppLog appLog = AppLog.g; + Logger.e$default(appLog, "Unhandled reply preview: " + messageEntry2, null, null, 6, null); } } } diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java index a0b56b2100..e84fdadd22 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java @@ -40,6 +40,7 @@ import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.icon.IconUtils; import com.discord.utilities.images.MGImages; import com.discord.utilities.permissions.PermissionUtils; +import com.discord.utilities.premium.GuildBoostUtils; import com.discord.utilities.premium.PremiumUtils; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.rx.ObservableExtensionsKt; @@ -423,10 +424,10 @@ public final class WidgetServerSettingsOverview extends AppFragment { FloatingActionButton floatingActionButton = getBinding().h.f; m.checkNotNullExpressionValue(floatingActionButton, "binding.uploadBanner.uploadBannerFab"); ViewExtensions.setEnabledAlpha$default(floatingActionButton, false, 0.0f, 2, null); - int premiumSubscriptionCount = 7 - guild.getPremiumSubscriptionCount(); + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, guild.getId(), 2, null, null, 12, null) - guild.getPremiumSubscriptionCount(); Resources resources2 = getResources(); m.checkNotNullExpressionValue(resources2, "resources"); - CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount)); + CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default)); TextView textView7 = getBinding().h.i; m.checkNotNullExpressionValue(textView7, "binding.uploadBanner.uploadBannerUnlock"); ViewExtensions.setTextAndVisibilityBy(textView7, b.k(this, R.string.guild_settings_overview_boost_unlock, new Object[]{quantityString}, null, 4)); @@ -586,10 +587,10 @@ public final class WidgetServerSettingsOverview extends AppFragment { FloatingActionButton floatingActionButton = getBinding().i.c; m.checkNotNullExpressionValue(floatingActionButton, "binding.uploadSplash.ser…gsOverviewUploadSplashFab"); ViewExtensions.setEnabledAlpha$default(floatingActionButton, false, 0.0f, 2, null); - int premiumSubscriptionCount = 2 - guild.getPremiumSubscriptionCount(); + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, guild.getId(), 1, null, null, 12, null) - guild.getPremiumSubscriptionCount(); Resources resources2 = getResources(); m.checkNotNullExpressionValue(resources2, "resources"); - CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount)); + CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default)); TextView textView7 = getBinding().i.h; m.checkNotNullExpressionValue(textView7, "binding.uploadSplash.uploadSplashUnlock"); ViewExtensions.setTextAndVisibilityBy(textView7, b.k(this, R.string.guild_settings_overview_boost_unlock, new Object[]{quantityString}, null, 4)); diff --git a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java index e7573e770d..675412f581 100644 --- a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java +++ b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java @@ -15,6 +15,7 @@ import com.discord.utilities.color.ColorCompat; import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.guilds.GuildUtilsKt; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; +import com.discord.utilities.premium.GuildBoostUtils; import com.discord.utilities.premium.PremiumUtils; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.threads.ThreadUtils; @@ -75,15 +76,15 @@ public final class GuildBoostPerkView extends RelativeLayout { this.binding.c.addOnItemTouchListener(new GuildBoostPerkView$initialize$1()); } - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x030b: APUT - (r1v9 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x030a: APUT + (r2v18 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r3v16 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r3v21 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x041e: APUT - (r1v4 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x041d: APUT + (r2v16 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r14v1 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r8v2 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ public final void configure(int i, int i2, long j) { List list; @@ -94,15 +95,15 @@ public final class GuildBoostPerkView extends RelativeLayout { } else { this.binding.d.setBackgroundColor(ColorCompat.getThemedColor(this, (int) R.attr.primary_700)); } - int i3 = i != 1 ? i != 2 ? i != 3 ? 0 : 14 : 7 : 2; + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, j, i, null, null, 12, null); TextView textView = this.binding.f; m.checkNotNullExpressionValue(textView, "binding.perksLevelHeaderText"); GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem guildBoostPerkViewListItem = null; b.n(textView, i != 1 ? i != 2 ? i != 3 ? 0 : R.string.guild_settings_guild_premium_perks_title_tier_3 : R.string.guild_settings_guild_premium_perks_title_tier_2 : R.string.guild_settings_guild_premium_perks_title_tier_1, new Object[0], null, 4); - int i4 = i != 1 ? i != 2 ? i != 3 ? 0 : z2 ? R.drawable.ic_perk_tier_3_boosted : R.drawable.ic_perk_tier_3_unboosted : z2 ? R.drawable.ic_perk_tier_2_boosted : R.drawable.ic_perk_tier_2_unboosted : z2 ? R.drawable.ic_perk_tier_1_boosted : R.drawable.ic_perk_tier_1_unboosted; + int i3 = i != 1 ? i != 2 ? i != 3 ? 0 : z2 ? R.drawable.ic_perk_tier_3_boosted : R.drawable.ic_perk_tier_3_unboosted : z2 ? R.drawable.ic_perk_tier_2_boosted : R.drawable.ic_perk_tier_2_unboosted : z2 ? R.drawable.ic_perk_tier_1_boosted : R.drawable.ic_perk_tier_1_unboosted; TextView textView2 = this.binding.f; m.checkNotNullExpressionValue(textView2, "binding.perksLevelHeaderText"); - DrawableCompat.setCompoundDrawablesCompat$default(textView2, i4, 0, 0, 0, 14, (Object) null); + DrawableCompat.setCompoundDrawablesCompat$default(textView2, i3, 0, 0, 0, 14, (Object) null); this.binding.f.setTextColor(z2 ? ColorCompat.getColor(getContext(), (int) R.color.white) : ColorCompat.getThemedColor(getContext(), (int) R.attr.primary_300)); TextView textView3 = this.binding.e; m.checkNotNullExpressionValue(textView3, "binding.perksLevelHeaderBoosts"); @@ -110,7 +111,7 @@ public final class GuildBoostPerkView extends RelativeLayout { m.checkNotNullExpressionValue(resources, "resources"); Context context = getContext(); m.checkNotNullExpressionValue(context, "context"); - textView3.setText(StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.guild_settings_premium_guild_tier_requirement_required, i3, Integer.valueOf(i3))); + textView3.setText(StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.guild_settings_premium_guild_tier_requirement_required, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default))); TextView textView4 = this.binding.e; m.checkNotNullExpressionValue(textView4, "binding.perksLevelHeaderBoosts"); textView4.setVisibility(z2 ^ true ? 0 : 8); diff --git a/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java b/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java index 78763cf37b..385726e663 100644 --- a/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java +++ b/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java @@ -238,10 +238,10 @@ public final class WidgetGuildBoost extends AppFragment { } } - private final void configureProgressBar(int i, int i2) { + private final void configureProgressBar(long j, int i, int i2) { ProgressBar progressBar = getBinding().l.f194b; m.checkNotNullExpressionValue(progressBar, "binding.progress.boostBarProgressBar"); - progressBar.setProgress(GuildBoostUtils.INSTANCE.calculateTotalProgress(i, i2)); + progressBar.setProgress(GuildBoostUtils.calculateTotalProgress$default(GuildBoostUtils.INSTANCE, j, i, i2, null, null, 24, null)); ProgressBar progressBar2 = getBinding().l.f194b; m.checkNotNullExpressionValue(progressBar2, "binding.progress.boostBarProgressBar"); boolean z2 = false; @@ -288,7 +288,7 @@ public final class WidgetGuildBoost extends AppFragment { int premiumTier = loaded.getGuild().getPremiumTier(); int premiumSubscriptionCount = loaded.getGuild().getPremiumSubscriptionCount(); configureToolbar(loaded.getGuild().getName()); - configureProgressBar(premiumTier, premiumSubscriptionCount); + configureProgressBar(loaded.getGuild().getId(), premiumTier, premiumSubscriptionCount); configureViewpager(premiumTier, premiumSubscriptionCount); getBinding().e.a(loaded.getMeUser().getPremiumTier(), new WidgetGuildBoost$configureUI$2(this)); getBinding().f.a(loaded.getMeUser().getPremiumTier(), false); diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index 81887cd52d..509155cd6f 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -346,7 +346,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 116.1 - Alpha (116201)"); + textView.setText(string + " - 116.2 - Alpha (116202)"); binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE); binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE); diff --git a/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java b/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java index 003caeee5c..7679cc71ae 100644 --- a/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java +++ b/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java @@ -76,7 +76,7 @@ public final class SettingsGuildBoostSampleGuildAdapter extends MGRecyclerAdapte TextView textView2 = this.binding.f2200b; m.checkNotNullExpressionValue(textView2, "binding.boostedSampleGuildCount"); textView2.setText(StringResourceUtilsKt.getI18nPluralString(a.x(this.itemView, "itemView", "itemView.context"), R.plurals.premium_guild_subscription_available_numSubscriptions, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount))); - this.binding.e.a(item.getGuild().getPremiumTier(), premiumSubscriptionCount); + this.binding.e.a(item.getGuild().getId(), item.getGuild().getPremiumTier(), premiumSubscriptionCount); this.itemView.setOnClickListener(new SettingsGuildBoostSampleGuildAdapter$GuildListItem$onConfigure$1(this, item)); } } diff --git a/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java b/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java index 12e4f08b46..7f0f9dd1cb 100644 --- a/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java +++ b/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java @@ -286,7 +286,7 @@ public final class WidgetSettingsGuildBoostSubscriptionAdapter extends MGRecycle TextView textView2 = this.binding.e; m.checkNotNullExpressionValue(textView2, "binding.boostedSampleGuildCount"); textView2.setText(b.h(context, R.string.premium_guild_subscription_guild_subsription_subtitle, new Object[]{i18nPluralString}, null, 4)); - this.binding.d.a(guildItem.getGuild().getPremiumTier(), guildItem.getGuild().getPremiumSubscriptionCount()); + this.binding.d.a(guildItem.getGuild().getId(), guildItem.getGuild().getPremiumTier(), guildItem.getGuild().getPremiumSubscriptionCount()); return; } } diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index d1f7f304a0..bc25c2ee83 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -852,6 +852,7 @@ ‏‮Beta‬‏ ‏‮Bulgarian‬‏ ‏‮Billing‬‏ + ‏‮Accept‬‏ ‏‮the‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮and‬‏ ‏‮Paid‬‏ ‏‮Services‬‏ ‏‮Terms‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮Accept‬‏ ‏‮the‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮Account‬‏ ‏‮Credit‬‏ ‏‮When‬‏ ‏‮you‬‏ ‏‮accept‬‏ ‏‮a‬‏ ‏‮gift‬‏ ‏‮while‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮running‬‏ ‏‮subscription,‬‏ ‏‮or‬‏ ‏‮accept‬‏ ‏‮a‬‏ ‏‮gift‬‏ ‏‮that‬‏ ‏‮differs‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮current‬‏ ‏‮subscription,‬‏ ‏‮it‬‏ ‏‮will‬‏ ‏‮appear‬‏ ‏‮here‬‏ ‏‮as‬‏ ‏‮credit.‬‏ @@ -919,7 +920,9 @@ ‏‮Is‬‏ ‏‮this‬‏ ‏‮a‬‏ ‏‮gift?‬‏ ‏‮Legal‬‏ ‏‮Mumbo‬‏ ‏‮Jumbo‬‏ ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{url}‬‏‏‮)‬‏ + ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮)‬‏ ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{url}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮my‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮I‬‏ ‏‮can‬‏ ‏‮cancel‬‏ ‏‮anytime‬‏ ‏‮under‬‏ ‏‮User‬‏ ‏‮Settings‬‏ ‏‮>‬‏ ‏‮Subscriptions,‬‏ ‏‮and‬‏ ‏‮previous‬‏ ‏‮charges‬‏ ‏‮won’t‬‏ ‏‮be‬‏ ‏‮refunded‬‏ ‏‮unless‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮law.‬‏ + ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮my‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮I‬‏ ‏‮can‬‏ ‏‮cancel‬‏ ‏‮anytime‬‏ ‏‮under‬‏ ‏‮User‬‏ ‏‮Settings‬‏ ‏‮>‬‏ ‏‮Subscriptions,‬‏ ‏‮and‬‏ ‏‮previous‬‏ ‏‮charges‬‏ ‏‮won’t‬‏ ‏‮be‬‏ ‏‮refunded‬‏ ‏‮unless‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮law.‬‏ ‏‮Change‬‏ ‏‮Payment‬‏ ‏‮Method‬‏ ‏‮Manage‬‏ ‏‮subscription‬‏ ‏‮in‬‏ ‏‮Google‬‏ ‏‮Play‬‏ ‏‮Manage‬‏ ‏‮Subscription‬‏ @@ -936,6 +939,8 @@ ‏‮These‬‏ ‏‮are‬‏ ‏‮your‬‏ ‏‮current‬‏ ‏‮subscriptions.‬‏ ‏‮They‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮billed‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮billing‬‏ ‏‮cycle.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮update‬‏ ‏‮any‬‏ ‏‮subscription‬‏ ‏‮at‬‏ ‏‮any‬‏ ‏‮time.‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮monthly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮yearly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮monthly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮yearly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ ‏‮This‬‏ ‏‮payment‬‏ ‏‮source‬‏ ‏‮is‬‏ ‏‮invalid.‬‏ ‏‮Payment‬‏ ‏‮Methods‬‏ ‏‮Amount‬‏ @@ -5954,6 +5959,7 @@ ‏‮Server‬‏ ‏‮Rules‬‏ ‏‮Short‬‏ ‏‮Answer‬‏ ‏‮Connections‬‏ + ‏‮Passed‬‏ ‏‮Verification‬‏ ‏‮Level‬‏ ‏‮This‬‏ ‏‮field‬‏ ‏‮is‬‏ ‏‮required‬‏ ‏‮Read‬‏ ‏‮and‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮rules‬‏ ‏‮To‬‏ ‏‮change‬‏ ‏‮this,‬‏ ‏‮[go‬‏ ‏‮to‬‏ ‏‮Moderation‬‏ ‏‮settings](onSettingsClick)‬‏ @@ -6167,8 +6173,8 @@ ‏‮Members‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮can‬‏ ‏‮drag‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮move‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮channels‬‏ ‏‮both‬‏ ‏‮they‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮moving‬‏ ‏‮have‬‏ ‏‮access.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -6667,6 +6673,7 @@ ‏‮Slide‬‏ ‏‮{pageNumber}‬‏ ‏‮Page‬‏ ‏‮!!‬‏‏‮{currentPage}‬‏‏‮!!‬‏ ‏‮Page‬‏ ‏‮!!‬‏‏‮{currentPage}‬‏‏‮!!‬‏ ‏‮of‬‏ ‏‮!!‬‏‏‮{numPages}‬‏‏‮!!‬‏ + ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{url}‬‏‏‮)‬‏ ‏‮{count}‬‏ ‏‮{count}‬‏ ‏‮Discord\'s‬‏ ‏‮Twitter‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮more‬‏ ‏‮information.‬‏ ‏‮Partnered‬‏ ‏‮Server‬‏ ‏‮Owner‬‏ @@ -6704,6 +6711,8 @@ ‏‮Paste‬‏ ‏‮Pause‬‏ ‏‮Connecting‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮source‬‏ + ‏‮Please‬‏ ‏‮try‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮the‬‏ ‏‮purchase‬‏ ‏‮again.‬‏ + ‏‮If‬‏ ‏‮you‬‏ ‏‮followed‬‏ ‏‮this‬‏ ‏‮link‬‏ ‏‮after‬‏ ‏‮trying‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮a‬‏ ‏‮purchase‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮desktop‬‏ ‏‮or‬‏ ‏‮mobile‬‏ ‏‮app,‬‏ ‏‮please‬‏ ‏‮go‬‏ ‏‮back‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again.‬‏ ‏‮Continue‬‏ ‏‮Cancel‬‏ ‏‮Payment‬‏ ‏‮Your‬‏ ‏‮payment‬‏ ‏‮for‬‏ ‏‮**!!‬‏‏‮{item}‬‏‏‮!!**‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮canceled.‬‏ @@ -6714,6 +6723,9 @@ ‏‮Payment‬‏ ‏‮Canceled‬‏ ‏‮Payment‬‏ ‏‮Authentication‬‏ ‏‮Failed‬‏ ‏‮Payment‬‏ ‏‮Authenticated‬‏ + ‏‮Payment‬‏ ‏‮authorization‬‏ ‏‮link‬‏ ‏‮has‬‏ ‏‮expired.‬‏ + ‏‮Payment‬‏ ‏‮Authorized‬‏ + ‏‮Authorizing‬‏ ‏‮Currency‬‏ ‏‮Paying‬‏ ‏‮in‬‏ ‏‮Unable‬‏ ‏‮to‬‏ ‏‮confirm‬‏ ‏‮payment‬‏ ‏‮method‬‏ @@ -7303,6 +7315,7 @@ ‏‮Hold‬‏ ‏‮up!‬‏ ‏‮You‬‏ ‏‮need‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮get‬‏ ‏‮this‬‏ ‏‮loot.‬‏ ‏‮Show‬‏ ‏‮Subscription‬‏ ‏‮Details‬‏ ‏‮Trying‬‏ ‏‮to‬‏ ‏‮manage‬‏ ‏‮your‬‏ ‏‮Nitro‬‏ ‏‮subscription?‬‏ ‏‮Go‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮[Subscriptions](onSubscriptionsClick)‬‏ ‏‮page.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Nitro‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyURL}‬‏‏‮).‬‏ ‏‮Payment‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮Apple‬‏ ‏‮ID‬‏ ‏‮account‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮confirmation‬‏ ‏‮of‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮automatically‬‏ ‏‮renews‬‏ ‏‮unless‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮canceled‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮Your‬‏ ‏‮account‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮for‬‏ ‏‮renewal‬‏ ‏‮within‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮prior‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮manage‬‏ ‏‮and‬‏ ‏‮cancel‬‏ ‏‮your‬‏ ‏‮subscriptions‬‏ ‏‮by‬‏ ‏‮going‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮settings‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮App‬‏ ‏‮Store‬‏ ‏‮after‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮Updates‬‏ ‏‮Thank‬‏ ‏‮you!‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮feedback.‬‏ ‏‮We‬‏ ‏‮appreciate‬‏ ‏‮it!‬‏ diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index 3a86f5a7a4..3c2a564f9c 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -852,6 +852,7 @@ [βéţå one] [βûļĝåŕîåñ one two] [βîļļîñĝ one two] + [Åççéþţ ţĥé Ţéŕḿš öƒ ŠéŕVîçé åñð Þåîð ŠéŕVîçéš Ţéŕḿš ţö çöñţîñûé one two three four five six seven] [Åççéþţ ţĥé Ţéŕḿš öƒ ŠéŕVîçé ţö çöñţîñûé one two three four five] [Åççöûñţ Çŕéðîţ one two three] [Ŵĥéñ ýöû åççéþţ å ĝîƒţ ŵĥîļé ýöû ĥåVé å ŕûññîñĝ šûɓšçŕîþţîöñ, öŕ åççéþţ å ĝîƒţ ţĥåţ ðéŕš ƒŕöḿ ýöûŕ çûŕŕéñţ šûɓšçŕîþţîöñ, îţ ŵîļļ åþþéåŕ ĥéŕé åš çŕéðîţ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] @@ -919,7 +920,9 @@ [Κ ţĥîš å ĝîƒţ¿ one two three] [Ļéĝåļ Ḿûḿɓö Ĵûḿɓö one two three] [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{url}«) one two three four five] + [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«) åñð [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{url}«) åñð ţĥåţ ḿý šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. Î çåñ çåñçéļ åñýţîḿé ûñðéŕ Ûšéŕ Šéţţîñĝš > Šûɓšçŕîþţîöñš, åñð þŕéVîöûš çĥåŕĝéš ŵöñ’ţ ɓé ŕéƒûñðéð ûñļéšš ŕéQûîŕéð ɓý ļåŵ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] + [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð ţĥåţ ḿý šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. Î çåñ çåñçéļ åñýţîḿé ûñðéŕ Ûšéŕ Šéţţîñĝš > Šûɓšçŕîþţîöñš, åñð þŕéVîöûš çĥåŕĝéš ŵöñ’ţ ɓé ŕéƒûñðéð ûñļéšš ŕéQûîŕéð ɓý ļåŵ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty] [Çĥåñĝé Þåýḿéñţ Ḿéţĥöð one two three] [Ḿåñåĝé šûɓšçŕîþţîöñ îñ Ĝööĝļé Þļåý one two three four] [Ḿåñåĝé Šûɓšçŕîþţîöñ one two three] @@ -936,6 +939,8 @@ [Ţĥéšé åŕé ýöûŕ çûŕŕéñţ šûɓšçŕîþţîöñš. Ţĥéý ŵîļļ ɓé ɓîļļéð öñ ţĥé šåḿé ɓîļļîñĝ çýçļé. Ýöû çåñ ûþðåţé åñý šûɓšçŕîþţîöñ åţ åñý ţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen] [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ḿöñţĥļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ýéåŕļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] + [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ḿöñţĥļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] + [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ýéåŕļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Ţĥîš þåýḿéñţ šöûŕçé îš îñVåļîð. one two three four] [Þåýḿéñţ Ḿéţĥöðš one two three] [Åḿöûñţ one two] @@ -5954,6 +5959,7 @@ [ŠéŕVéŕ Ŕûļéš one two] [Šĥöŕţ Åñšŵéŕ one two] [Çöññéçţîöñš one two] + [Þåššéð νéŕîƒîçåţîöñ ĻéVéļ one two three] [Ţĥîš ƒîéļð îš ŕéQûîŕéð one two three] [Ŕéåð åñð åĝŕéé ţö ţĥé šéŕVéŕ ŕûļéš one two three four] [Ţö çĥåñĝé ţĥîš, [ĝö ţö Ḿöðéŕåţîöñ šéţţîñĝš](öñŠéţţîñĝšÇļîçķ) one two three four five six seven] @@ -6167,8 +6173,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -6667,6 +6673,7 @@ [Šļîðé »{pageNumber}« one two] [Þåĝé ¡¡»{currentPage}«¡¡ one two] [Þåĝé ¡¡»{currentPage}«¡¡ öƒ ¡¡»{numPages}«¡¡ one two three] + [[Þåîð ŠéŕVîçéš Ţéŕḿš](»{url}«) one two three] [»{count}«] [»{count}« Ðîšçöŕð\'š Ţŵîţţéŕ šĥöûļð ĥåVé ḿöŕé îñƒöŕḿåţîöñ. one two three four five six] [Þåŕţñéŕéð ŠéŕVéŕ Öŵñéŕ one two three] @@ -6704,6 +6711,8 @@ [Þåšţé one] [Þåûšé one] [Çöññéçţîñĝ ŵîţĥ ýöûŕ þåýḿéñţ šöûŕçé one two three four] + [Þļéåšé ţŕý ţö ḿåķé ţĥé þûŕçĥåšé åĝåîñ. one two three four five] + [΃ ýöû ƒöļļöŵéð ţĥîš ļîñķ åƒţéŕ ţŕýîñĝ ţö ḿåķé å þûŕçĥåšé öñ ţĥé ðéšķţöþ öŕ ḿöɓîļé åþþ, þļéåšé ĝö ɓåçķ åñð ţŕý åĝåîñ. one two three four five six seven eight nine ten eleven twelve] [Çöñţîñûé one two] [Çåñçéļ Þåýḿéñţ one two three] [Ýöûŕ þåýḿéñţ ƒöŕ **¡¡»{item}«¡¡** ĥåš ɓééñ çåñçéļéð. one two three four five] @@ -6714,6 +6723,9 @@ [Þåýḿéñţ Çåñçéļéð one two three] [Þåýḿéñţ Åûţĥéñţîçåţîöñ Fåîļéð one two three four] [Þåýḿéñţ Åûţĥéñţîçåţéð one two three] + [Þåýḿéñţ åûţĥöŕîžåţîöñ ļîñķ ĥåš éхþîŕéð. one two three four five] + [Þåýḿéñţ Åûţĥöŕîžéð one two three] + [Åûţĥöŕîžîñĝ one two] [Çûŕŕéñçý one two] [Þåýîñĝ îñ one two] [Ûñåɓļé ţö çöñƒîŕḿ þåýḿéñţ ḿéţĥöð one two three four] @@ -7303,6 +7315,7 @@ [Ĥöļð ûþ¡ Ýöû ñééð Ñîţŕö ţö ĝéţ ţĥîš ļööţ. one two three four five] [Šĥöŵ Šûɓšçŕîþţîöñ Ðéţåîļš one two three] [Ţŕýîñĝ ţö ḿåñåĝé ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ¿ Ĝö ţö ýöûŕ [Šûɓšçŕîþţîöñš](öñŠûɓšçŕîþţîöñšÇļîçķ) þåĝé. one two three four five six seven eight nine ten eleven] + [βý þûŕçĥåšîñĝ å Ñîţŕö šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyURL}«). Þåýḿéñţ ŵîļļ ɓé çĥåŕĝéð ţö ýöûŕ Åþþļé ÎÐ åççöûñţ åţ ţĥé çöñƒîŕḿåţîöñ öƒ þûŕçĥåšé. Šûɓšçŕîþţîöñ åûţöḿåţîçåļļý ŕéñéŵš ûñļéšš îţ îš çåñçéļéð åţ ļéåšţ 24 ĥöûŕš ɓéƒöŕé ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöûŕ åççöûñţ ŵîļļ ɓé çĥåŕĝéð ƒöŕ ŕéñéŵåļ ŵîţĥîñ 24 ĥöûŕš þŕîöŕ ţö ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöû çåñ ḿåñåĝé åñð çåñçéļ ýöûŕ šûɓšçŕîþţîöñš ɓý ĝöîñĝ ţö ýöûŕ åççöûñţ šéţţîñĝš öñ ţĥé Åþþ Šţöŕé åƒţéŕ þûŕçĥåšé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven] [Šûɓšçŕîþţîöñ Ûþðåţéš one two three] [Ţĥåñķ ýöû¡ one two] [Ţĥåñķš ƒöŕ ýöûŕ ƒééðɓåçķ. Ŵé åþþŕéçîåţé îţ¡ one two three four five] diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index 94b0d708cb..a4fc1026f6 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -15483,9102 +15483,9115 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7b9f9c9f82..dfec1342e8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -853,6 +853,7 @@ Beta Bulgarian Billing + Accept the Terms of Service and Paid Services Terms to continue Accept the Terms of Service to continue Account Credit When you accept a gift while you have a running subscription, or accept a gift that differs from your current subscription, it will appear here as credit. @@ -920,7 +921,9 @@ Is this a gift? Legal Mumbo Jumbo I agree to the [Discord Terms of Service]({url}) + I agree to the [Discord Terms of Service]({termsURL}) and [Paid Services Terms]({paidURL}) I agree to the [Discord Terms of Service]({url}) and that my subscription will renew for **{rate}** on **{renewalDate}**. I can cancel anytime under User Settings > Subscriptions, and previous charges won’t be refunded unless required by law. + I agree to the [Discord Terms of Service]({termsURL}), [Paid Services Terms]({paidURL}), and that my subscription will renew for **{rate}** on **{renewalDate}**. I can cancel anytime under User Settings > Subscriptions, and previous charges won’t be refunded unless required by law. Change Payment Method Manage subscription in Google Play Manage Subscription @@ -937,6 +940,8 @@ These are your current subscriptions. They will be billed on the same billing cycle. You can update any subscription at any time. By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}) and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically monthly until you cancel. You may cancel anytime. By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}) and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically yearly until you cancel. You may cancel anytime. + By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically monthly until you cancel. You may cancel anytime. + By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically yearly until you cancel. You may cancel anytime. This payment source is invalid. Payment Methods Amount @@ -1480,7 +1485,7 @@ Custom Presets Use Default - e823b85126164ff49a1096e67978d527 + 1dc2dd74be294fa2a9890f5c495225f1 Slash command application {applicationName} {applicationName} application {applicationName} application selected @@ -5973,6 +5978,7 @@ Server Rules Short Answer Connections + Passed Verification Level This field is required Read and agree to the server rules To change this, [go to Moderation settings](onSettingsClick) @@ -6186,8 +6192,8 @@ Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -6689,6 +6695,7 @@ Slide {pageNumber} Page !!{currentPage}!! Page !!{currentPage}!! of !!{numPages}!! + [Paid Services Terms]({url}) {count} {count} Discord\'s Twitter should have more information. Partnered Server Owner @@ -6730,6 +6737,8 @@ M3.27,4.27 L19.74,20.74 Pause Connecting with your payment source + Please try to make the purchase again. + If you followed this link after trying to make a purchase on the desktop or mobile app, please go back and try again. Continue Cancel Payment Your payment for **!!{item}!!** has been canceled. @@ -6740,6 +6749,9 @@ Payment Canceled Payment Authentication Failed Payment Authenticated + Payment authorization link has expired. + Payment Authorized + Authorizing Currency Paying in Unable to confirm payment method @@ -7329,6 +7341,7 @@ Hold up! You need Nitro to get this loot. Show Subscription Details Trying to manage your Nitro subscription? Go to your [Subscriptions](onSubscriptionsClick) page. + By purchasing a Nitro subscription, you agree to our [Terms of Service]({termsURL}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyURL}). Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase. Subscription Updates Thank you! Thanks for your feedback. We appreciate it!