diff --git a/submodules/TelegramUI/TelegramUI/ChatHistoryListNode.swift b/submodules/TelegramUI/TelegramUI/ChatHistoryListNode.swift index 283150d331..55c06eeedf 100644 --- a/submodules/TelegramUI/TelegramUI/ChatHistoryListNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatHistoryListNode.swift @@ -309,6 +309,26 @@ private extension ChatHistoryLocationInput { } } +private struct ChatHistoryAnimatedEmojiConfiguration { + static var defaultValue: ChatHistoryAnimatedEmojiConfiguration { + return ChatHistoryAnimatedEmojiConfiguration(scale: 0.625) + } + + public let scale: CGFloat + + fileprivate init(scale: CGFloat) { + self.scale = scale + } + + static func with(appConfiguration: AppConfiguration) -> ChatHistoryAnimatedEmojiConfiguration { + if let data = appConfiguration.data, let scale = data["emojies_animated_zoom"] as? Double { + return ChatHistoryAnimatedEmojiConfiguration(scale: CGFloat(scale)) + } else { + return .defaultValue + } + } +} + public final class ChatHistoryListNode: ListView, ChatHistoryNode { private let context: AccountContext private let chatLocation: ChatLocation @@ -395,7 +415,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { return self.isInteractivelyScrollingPromise.get() } - private var currentPresentationData: PresentationData + private var currentPresentationData: ChatPresentationData private var chatPresentationDataPromise: Promise private var presentationDataDisposable: Disposable? @@ -428,9 +448,10 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { self.controllerInteraction = controllerInteraction self.mode = mode - self.currentPresentationData = context.sharedContext.currentPresentationData.with { $0 } + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + self.currentPresentationData = ChatPresentationData(theme: ChatPresentationThemeData(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper), fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji, animatedEmojiScale: 1.0) - self.chatPresentationDataPromise = Promise(ChatPresentationData(theme: ChatPresentationThemeData(theme: self.currentPresentationData.theme, wallpaper: self.currentPresentationData.chatWallpaper), fontSize: self.currentPresentationData.fontSize, strings: self.currentPresentationData.strings, dateTimeFormat: self.currentPresentationData.dateTimeFormat, nameDisplayOrder: self.currentPresentationData.nameDisplayOrder, disableAnimations: self.currentPresentationData.disableAnimations, largeEmoji: self.currentPresentationData.largeEmoji)) + self.chatPresentationDataPromise = Promise(self.currentPresentationData) self.prefetchManager = InChatPrefetchManager(context: context) @@ -735,20 +756,28 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { } } - self.presentationDataDisposable = (context.sharedContext.presentationData - |> deliverOnMainQueue).start(next: { [weak self] presentationData in + let appConfiguration = context.account.postbox.preferencesView(keys: [PreferencesKeys.appConfiguration]) + |> take(1) + |> map { view in + return view.values[PreferencesKeys.appConfiguration] as? AppConfiguration ?? .defaultValue + } + + self.presentationDataDisposable = (combineLatest(context.sharedContext.presentationData, appConfiguration) + |> deliverOnMainQueue).start(next: { [weak self] presentationData, appConfiguration in if let strongSelf = self { let previousTheme = strongSelf.currentPresentationData.theme let previousStrings = strongSelf.currentPresentationData.strings - let previousWallpaper = strongSelf.currentPresentationData.chatWallpaper + let previousWallpaper = strongSelf.currentPresentationData.theme.wallpaper let previousDisableAnimations = strongSelf.currentPresentationData.disableAnimations + let previousAnimatedEmojiScale = strongSelf.currentPresentationData.animatedEmojiScale - strongSelf.currentPresentationData = presentationData + let animatedEmojiConfig = ChatHistoryAnimatedEmojiConfiguration.with(appConfiguration: appConfiguration) - if previousTheme !== presentationData.theme || previousStrings !== presentationData.strings || previousWallpaper != presentationData.chatWallpaper || previousDisableAnimations != presentationData.disableAnimations { + if previousTheme !== presentationData.theme || previousStrings !== presentationData.strings || previousWallpaper != presentationData.chatWallpaper || previousDisableAnimations != presentationData.disableAnimations || previousAnimatedEmojiScale != animatedEmojiConfig.scale { let themeData = ChatPresentationThemeData(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper) - let chatPresentationData = ChatPresentationData(theme: themeData, fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji) + let chatPresentationData = ChatPresentationData(theme: themeData, fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji, animatedEmojiScale: animatedEmojiConfig.scale) + strongSelf.currentPresentationData = chatPresentationData strongSelf.dynamicBounceEnabled = !presentationData.disableAnimations strongSelf.forEachItemHeaderNode { itemHeaderNode in diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageAnimatedStickerItemNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageAnimatedStickerItemNode.swift index efd89e9c7c..7f0213f6bd 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageAnimatedStickerItemNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageAnimatedStickerItemNode.swift @@ -162,6 +162,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView { var file: TelegramMediaFile? var playbackMode: AnimatedStickerPlaybackMode = .loop + var isEmoji = false if let telegramFile = self.telegramFile { file = telegramFile @@ -169,6 +170,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView { playbackMode = .once } } else if let emojiFile = self.emojiFile { + isEmoji = true file = emojiFile if item.context.sharedContext.immediateExperimentalUISettings.playAnimatedEmojiOnce { playbackMode = .once @@ -177,7 +179,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView { if let file = file { let dimensions = file.dimensions ?? CGSize(width: 512.0, height: 512.0) - let fittedSize = dimensions.aspectFitted(CGSize(width: 384.0, height: 384.0)) + let fittedSize = isEmoji ? dimensions.aspectFilled(CGSize(width: 384.0, height: 384.0)) : dimensions.aspectFitted(CGSize(width: 384.0, height: 384.0)) self.animationNode.setup(account: item.context.account, resource: file.resource, width: Int(fittedSize.width), height: Int(fittedSize.height), playbackMode: playbackMode, mode: .cached) } } @@ -216,9 +218,9 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView { } else if let emojiFile = emojiFile { isEmoji = true - let displaySize = CGSize(width: floor(displaySize.width * 350.0 / 512.0), height: floor(displaySize.height * 350.0 / 512.0)) + let displaySize = CGSize(width: floor(displaySize.width * item.presentationData.animatedEmojiScale), height: floor(displaySize.height * item.presentationData.animatedEmojiScale)) if let dimensions = emojiFile.dimensions { - imageSize = dimensions.aspectFitted(displaySize) + imageSize = dimensions.aspectFilled(displaySize) } else if let thumbnailSize = emojiFile.previewRepresentations.first?.dimensions { imageSize = thumbnailSize.aspectFitted(displaySize) } diff --git a/submodules/TelegramUI/TelegramUI/ChatPresentationData.swift b/submodules/TelegramUI/TelegramUI/ChatPresentationData.swift index 22b3e1a386..1fd121b7fc 100644 --- a/submodules/TelegramUI/TelegramUI/ChatPresentationData.swift +++ b/submodules/TelegramUI/TelegramUI/ChatPresentationData.swift @@ -86,7 +86,9 @@ public final class ChatPresentationData { let messageFixedFont: UIFont let messageBlockQuoteFont: UIFont - init(theme: ChatPresentationThemeData, fontSize: PresentationFontSize, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, disableAnimations: Bool, largeEmoji: Bool) { + let animatedEmojiScale: CGFloat + + init(theme: ChatPresentationThemeData, fontSize: PresentationFontSize, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, disableAnimations: Bool, largeEmoji: Bool, animatedEmojiScale: CGFloat = 1.0) { self.theme = theme self.fontSize = fontSize self.strings = strings @@ -105,5 +107,7 @@ public final class ChatPresentationData { self.messageBoldItalicFont = Font.semiboldItalic(baseFontSize) self.messageFixedFont = UIFont(name: "Menlo-Regular", size: baseFontSize - 1.0) ?? UIFont.systemFont(ofSize: baseFontSize) self.messageBlockQuoteFont = UIFont.systemFont(ofSize: baseFontSize - 1.0) + + self.animatedEmojiScale = animatedEmojiScale } } diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/celeb.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/celeb.tgs deleted file mode 100644 index 98e16ae512..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/celeb.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/confused.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/confused.tgs deleted file mode 100644 index 66a06df907..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/confused.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/heart.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/heart.tgs deleted file mode 100644 index f8fd248599..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/heart.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/lol.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/lol.tgs deleted file mode 100644 index 46938c7364..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/lol.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/meh.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/meh.tgs deleted file mode 100644 index 78d31f59b2..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/meh.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_1.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_1.tgs deleted file mode 100644 index a4ac5afca8..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_1.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_2.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_2.tgs deleted file mode 100644 index c251cb8632..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_2.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_3.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_3.tgs deleted file mode 100644 index d0b7082ad9..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_3.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_4.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_4.tgs deleted file mode 100644 index a50062e80d..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_4.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_5.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_5.tgs deleted file mode 100644 index aa85f8a9a4..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_5.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_6.tgs b/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_6.tgs deleted file mode 100644 index 6e351e28be..0000000000 Binary files a/submodules/TelegramUI/TelegramUI/Resources/Emoji/thumbs_up_6.tgs and /dev/null differ diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj index a9c03c9e22..2588253396 100644 --- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj @@ -34,17 +34,6 @@ 091BEAB3214552D9003AEA30 /* Vision.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D02DADBE2138D76F00116225 /* Vision.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */; }; 0921F60E228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */; }; - 0925902C22EF8158003D6283 /* thumbs_up_5.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902622EF8157003D6283 /* thumbs_up_5.tgs */; }; - 0925902D22EF8158003D6283 /* thumbs_up_6.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902722EF8158003D6283 /* thumbs_up_6.tgs */; }; - 0925902E22EF8158003D6283 /* thumbs_up_3.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902822EF8158003D6283 /* thumbs_up_3.tgs */; }; - 0925902F22EF8158003D6283 /* thumbs_up_1.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902922EF8158003D6283 /* thumbs_up_1.tgs */; }; - 0925903022EF8158003D6283 /* thumbs_up_2.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902A22EF8158003D6283 /* thumbs_up_2.tgs */; }; - 0925903122EF8158003D6283 /* thumbs_up_4.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902B22EF8158003D6283 /* thumbs_up_4.tgs */; }; - 092A65DB22EF16900032E20C /* lol.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D522EF16900032E20C /* lol.tgs */; }; - 092A65DD22EF16900032E20C /* meh.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D722EF16900032E20C /* meh.tgs */; }; - 092A65DE22EF16900032E20C /* confused.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D822EF16900032E20C /* confused.tgs */; }; - 092A65DF22EF16900032E20C /* celeb.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D922EF16900032E20C /* celeb.tgs */; }; - 092A65E022EF16900032E20C /* heart.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65DA22EF16900032E20C /* heart.tgs */; }; 092F368D2154AAEA001A9F49 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */; }; 092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; }; 09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1A213BC5DE0020033A /* anim_ungroup.json */; }; @@ -1277,17 +1266,6 @@ 091954782294754E00E11046 /* AnimatedStickerUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedStickerUtils.swift; sourceTree = ""; }; 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListPlaceholderItem.swift; sourceTree = ""; }; 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageActionUrlAuthController.swift; sourceTree = ""; }; - 0925902622EF8157003D6283 /* thumbs_up_5.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_5.tgs; sourceTree = ""; }; - 0925902722EF8158003D6283 /* thumbs_up_6.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_6.tgs; sourceTree = ""; }; - 0925902822EF8158003D6283 /* thumbs_up_3.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_3.tgs; sourceTree = ""; }; - 0925902922EF8158003D6283 /* thumbs_up_1.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_1.tgs; sourceTree = ""; }; - 0925902A22EF8158003D6283 /* thumbs_up_2.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_2.tgs; sourceTree = ""; }; - 0925902B22EF8158003D6283 /* thumbs_up_4.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_4.tgs; sourceTree = ""; }; - 092A65D522EF16900032E20C /* lol.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = lol.tgs; sourceTree = ""; }; - 092A65D722EF16900032E20C /* meh.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = meh.tgs; sourceTree = ""; }; - 092A65D822EF16900032E20C /* confused.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = confused.tgs; sourceTree = ""; }; - 092A65D922EF16900032E20C /* celeb.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = celeb.tgs; sourceTree = ""; }; - 092A65DA22EF16900032E20C /* heart.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = heart.tgs; sourceTree = ""; }; 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = ""; }; 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListCallListItem.swift; sourceTree = ""; }; 09310D1A213BC5DE0020033A /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = ""; }; @@ -2611,25 +2589,6 @@ name = "Animated Stickers"; sourceTree = ""; }; - 092A65D422EF16900032E20C /* Emoji */ = { - isa = PBXGroup; - children = ( - 0925902922EF8158003D6283 /* thumbs_up_1.tgs */, - 0925902A22EF8158003D6283 /* thumbs_up_2.tgs */, - 0925902822EF8158003D6283 /* thumbs_up_3.tgs */, - 0925902B22EF8158003D6283 /* thumbs_up_4.tgs */, - 0925902622EF8157003D6283 /* thumbs_up_5.tgs */, - 0925902722EF8158003D6283 /* thumbs_up_6.tgs */, - 092A65D522EF16900032E20C /* lol.tgs */, - 092A65D722EF16900032E20C /* meh.tgs */, - 092A65D822EF16900032E20C /* confused.tgs */, - 092A65D922EF16900032E20C /* celeb.tgs */, - 092A65DA22EF16900032E20C /* heart.tgs */, - ); - name = Emoji; - path = TelegramUI/Resources/Emoji; - sourceTree = ""; - }; 092F368B2154AAD6001A9F49 /* Fonts */ = { isa = PBXGroup; children = ( @@ -3284,7 +3243,6 @@ D0471B521EFD8EBC0074D609 /* Resources */ = { isa = PBXGroup; children = ( - 092A65D422EF16900032E20C /* Emoji */, 09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */, D0955FB32191278C00F89427 /* PresentationStrings.mapping */, 09310D13213BC5DE0020033A /* Animations */, @@ -5312,12 +5270,10 @@ buildActionMask = 2147483647; files = ( 09874E4F21078FA100E190B8 /* Generic.html in Resources */, - 092A65E022EF16900032E20C /* heart.tgs in Resources */, 09874E5021078FA100E190B8 /* GenericUserScript.js in Resources */, 09874E5121078FA100E190B8 /* Instagram.html in Resources */, 09874E5221078FA100E190B8 /* Twitch.html in Resources */, 09874E5321078FA100E190B8 /* TwitchUserScript.js in Resources */, - 0925902F22EF8158003D6283 /* thumbs_up_1.tgs in Resources */, 094735122275D72100EA2312 /* anim_mute.json in Resources */, 09874E5421078FA100E190B8 /* Vimeo.html in Resources */, 09874E5521078FA100E190B8 /* VimeoUserScript.js in Resources */, @@ -5329,7 +5285,6 @@ D0EB42051F3143AB00838FE6 /* LegacyComponentsResources.bundle in Resources */, D0E9BAA21F056F4C00F079A4 /* stp_card_discover@3x.png in Resources */, D0E9BAB01F056F4C00F079A4 /* stp_card_mastercard@3x.png in Resources */, - 092A65DF22EF16900032E20C /* celeb.tgs in Resources */, 09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */, 09E2D9EF226F1AFA00EA0AA4 /* Emoji.mapping in Resources */, D0955FB521912B6000F89427 /* PresentationStrings.mapping in Resources */, @@ -5352,16 +5307,13 @@ D0F972101FFE4BD5002595C8 /* MessageSent.caf in Resources */, D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@2x.png in Resources */, D0E9BA951F056F4C00F079A4 /* stp_card_applepay@2x.png in Resources */, - 092A65DB22EF16900032E20C /* lol.tgs in Resources */, D0E9BAA01F056F4C00F079A4 /* stp_card_diners_template@3x.png in Resources */, 094735132275D72100EA2312 /* anim_delete.json in Resources */, 094735192277483C00EA2312 /* anim_infotip.json in Resources */, 094735142275D72100EA2312 /* anim_unarchive.json in Resources */, D0E9BAAA1F056F4C00F079A4 /* stp_card_form_front@3x.png in Resources */, D0E9BA971F056F4C00F079A4 /* stp_card_applepay_template@2x.png in Resources */, - 092A65DD22EF16900032E20C /* meh.tgs in Resources */, D0E9BAB41F056F4C00F079A4 /* stp_card_placeholder_template@3x.png in Resources */, - 0925903022EF8158003D6283 /* thumbs_up_2.tgs in Resources */, D0E9BAA71F056F4C00F079A4 /* stp_card_form_back@2x.png in Resources */, D0E9BAB11F056F4C00F079A4 /* stp_card_mastercard_template@2x.png in Resources */, D0E9BA9D1F056F4C00F079A4 /* stp_card_diners@2x.png in Resources */, @@ -5370,17 +5322,13 @@ D0E9BAAC1F056F4C00F079A4 /* stp_card_jcb@3x.png in Resources */, D0E9BA911F056F4C00F079A4 /* stp_card_amex@2x.png in Resources */, D0E9BA931F056F4C00F079A4 /* stp_card_amex_template@2x.png in Resources */, - 0925903122EF8158003D6283 /* thumbs_up_4.tgs in Resources */, D0E9BAA91F056F4C00F079A4 /* stp_card_form_front@2x.png in Resources */, D0E9BAA41F056F4C00F079A4 /* stp_card_discover_template@3x.png in Resources */, D0E9BAA81F056F4C00F079A4 /* stp_card_form_back@3x.png in Resources */, - 092A65DE22EF16900032E20C /* confused.tgs in Resources */, D0E9BAA11F056F4C00F079A4 /* stp_card_discover@2x.png in Resources */, D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */, 094735152275D72100EA2312 /* anim_unpin.json in Resources */, D0E9BAB31F056F4C00F079A4 /* stp_card_placeholder_template@2x.png in Resources */, - 0925902E22EF8158003D6283 /* thumbs_up_3.tgs in Resources */, - 0925902D22EF8158003D6283 /* thumbs_up_6.tgs in Resources */, D0E9BAAE1F056F4C00F079A4 /* stp_card_jcb_template@3x.png in Resources */, D0E9BAAB1F056F4C00F079A4 /* stp_card_jcb@2x.png in Resources */, 09E2DA132273367900EA0AA4 /* anim_archiveAvatar.json in Resources */, @@ -5391,7 +5339,6 @@ D0E9BAB21F056F4C00F079A4 /* stp_card_mastercard_template@3x.png in Resources */, D0E9BA981F056F4C00F079A4 /* stp_card_applepay_template@3x.png in Resources */, D0E9BAA51F056F4C00F079A4 /* stp_card_form_applepay@2x.png in Resources */, - 0925902C22EF8158003D6283 /* thumbs_up_5.tgs in Resources */, D0E9BAB81F056F4C00F079A4 /* stp_card_visa_template@3x.png in Resources */, D0AF797822C2E26500CECCB8 /* meson.build in Resources */, D0E9BA9B1F056F4C00F079A4 /* stp_card_cvc_amex@2x.png in Resources */,