diff --git a/Telegram/Telegram-iOS/en.lproj/Localizable.strings b/Telegram/Telegram-iOS/en.lproj/Localizable.strings index 4b87246673..3a16b21051 100644 --- a/Telegram/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram/Telegram-iOS/en.lproj/Localizable.strings @@ -6463,5 +6463,6 @@ Sorry for the inconvenience."; "Calls.StartNewCall" = "Start New Call"; "VoiceChat.VideoPreviewTitle" = "Video Preview"; -"VoiceChat.VideoPreviewDescription" = "Place your face in the area above for better experience."; -"VoiceChat.VideoPreviewShare" = "Share Video"; +"VoiceChat.VideoPreviewDescription" = "Are you sure you want to share your video?"; +"VoiceChat.VideoPreviewShareCamera" = "Share Camera Video"; +"VoiceChat.VideoPreviewShareScreen" = "Share Screen"; diff --git a/submodules/AccountContext/Sources/AccountContext.swift b/submodules/AccountContext/Sources/AccountContext.swift index 403c739bde..4968ec27ed 100644 --- a/submodules/AccountContext/Sources/AccountContext.swift +++ b/submodules/AccountContext/Sources/AccountContext.swift @@ -219,17 +219,14 @@ public final class ChatPeerNearbyData: Equatable { public final class ChatGreetingData: Equatable { public static func == (lhs: ChatGreetingData, rhs: ChatGreetingData) -> Bool { - if let lhsSticker = lhs.sticker, let rhsSticker = rhs.sticker, !lhsSticker.isEqual(to: rhsSticker) { - return false - } else if (lhs.sticker == nil) != (rhs.sticker == nil) { - return false - } - return true + return lhs.uuid == rhs.uuid } - public let sticker: TelegramMediaFile? + public let uuid: UUID + public let sticker: Signal - public init(sticker: TelegramMediaFile?) { + public init(uuid: UUID, sticker: Signal) { + self.uuid = uuid self.sticker = sticker } } @@ -285,14 +282,13 @@ public final class NavigateToChatControllerParams { public let activateMessageSearch: (ChatSearchDomain, String)? public let peekData: ChatPeekTimeout? public let peerNearbyData: ChatPeerNearbyData? - public let greetingData: ChatGreetingData? public let reportReason: ReportReason? public let animated: Bool public let options: NavigationAnimationOptions public let parentGroupId: PeerGroupId? public let completion: (ChatController) -> Void - public init(navigationController: NavigationController, chatController: ChatController? = nil, context: AccountContext, chatLocation: ChatLocation, chatLocationContextHolder: Atomic = Atomic(value: nil), subject: ChatControllerSubject? = nil, botStart: ChatControllerInitialBotStart? = nil, updateTextInputState: ChatTextInputState? = nil, activateInput: Bool = false, keepStack: NavigateToChatKeepStack = .default, useExisting: Bool = true, purposefulAction: (() -> Void)? = nil, scrollToEndIfExists: Bool = false, activateMessageSearch: (ChatSearchDomain, String)? = nil, peekData: ChatPeekTimeout? = nil, peerNearbyData: ChatPeerNearbyData? = nil, greetingData: ChatGreetingData? = nil, reportReason: ReportReason? = nil, animated: Bool = true, options: NavigationAnimationOptions = [], parentGroupId: PeerGroupId? = nil, completion: @escaping (ChatController) -> Void = { _ in }) { + public init(navigationController: NavigationController, chatController: ChatController? = nil, context: AccountContext, chatLocation: ChatLocation, chatLocationContextHolder: Atomic = Atomic(value: nil), subject: ChatControllerSubject? = nil, botStart: ChatControllerInitialBotStart? = nil, updateTextInputState: ChatTextInputState? = nil, activateInput: Bool = false, keepStack: NavigateToChatKeepStack = .default, useExisting: Bool = true, purposefulAction: (() -> Void)? = nil, scrollToEndIfExists: Bool = false, activateMessageSearch: (ChatSearchDomain, String)? = nil, peekData: ChatPeekTimeout? = nil, peerNearbyData: ChatPeerNearbyData? = nil, reportReason: ReportReason? = nil, animated: Bool = true, options: NavigationAnimationOptions = [], parentGroupId: PeerGroupId? = nil, completion: @escaping (ChatController) -> Void = { _ in }) { self.navigationController = navigationController self.chatController = chatController self.chatLocationContextHolder = chatLocationContextHolder @@ -309,7 +305,6 @@ public final class NavigateToChatControllerParams { self.activateMessageSearch = activateMessageSearch self.peekData = peekData self.peerNearbyData = peerNearbyData - self.greetingData = greetingData self.reportReason = reportReason self.animated = animated self.options = options @@ -719,6 +714,7 @@ public protocol AccountContext: class { var liveLocationManager: LiveLocationManager? { get } var peersNearbyManager: PeersNearbyManager? { get } var fetchManager: FetchManager { get } + var prefetchManager: PrefetchManager? { get } var downloadedMediaStoreManager: DownloadedMediaStoreManager { get } var peerChannelMemberCategoriesContextsManager: PeerChannelMemberCategoriesContextsManager { get } var wallpaperUploadManager: WallpaperUploadManager? { get } diff --git a/submodules/AccountContext/Sources/FetchManager.swift b/submodules/AccountContext/Sources/FetchManager.swift index c70576facd..ad4db3b593 100644 --- a/submodules/AccountContext/Sources/FetchManager.swift +++ b/submodules/AccountContext/Sources/FetchManager.swift @@ -158,3 +158,8 @@ public protocol FetchManager { func cancelInteractiveFetches(category: FetchManagerCategory, location: FetchManagerLocation, locationKey: FetchManagerLocationKey, resource: MediaResource) func fetchStatus(category: FetchManagerCategory, location: FetchManagerLocation, locationKey: FetchManagerLocationKey, resource: MediaResource) -> Signal } + +public protocol PrefetchManager { + var preloadedGreetingSticker: ChatGreetingData { get } + func prepareNextGreetingSticker() +} diff --git a/submodules/AccountContext/Sources/PresentationCallManager.swift b/submodules/AccountContext/Sources/PresentationCallManager.swift index 423d172138..0a96e7aa79 100644 --- a/submodules/AccountContext/Sources/PresentationCallManager.swift +++ b/submodules/AccountContext/Sources/PresentationCallManager.swift @@ -372,6 +372,7 @@ public protocol PresentationGroupCall: class { var incomingVideoSources: Signal, NoError> { get } func makeIncomingVideoView(endpointId: String, completion: @escaping (PresentationCallVideoView?) -> Void) + func makeOutgoingVideoView(completion: @escaping (PresentationCallVideoView?) -> Void) func loadMoreMembers(token: String) } diff --git a/submodules/ChatListUI/Sources/ChatListController.swift b/submodules/ChatListUI/Sources/ChatListController.swift index 113c170936..babc8ab979 100644 --- a/submodules/ChatListUI/Sources/ChatListController.swift +++ b/submodules/ChatListUI/Sources/ChatListController.swift @@ -144,9 +144,6 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController private let featuredFiltersDisposable = MetaDisposable() private var processedFeaturedFilters = false - private let preloadedSticker = Promise(nil) - private let preloadStickerDisposable = MetaDisposable() - private let isReorderingTabsValue = ValuePromise(false) private var searchContentNode: NavigationBarSearchContentNode? @@ -613,53 +610,43 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController scrollToEndIfExists = true } - let _ = (strongSelf.preloadedSticker.get() - |> take(1) - |> deliverOnMainQueue).start(next: { [weak self] greetingSticker in - if let strongSelf = self { - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(peer.id), activateInput: activateInput && !peer.isDeleted, scrollToEndIfExists: scrollToEndIfExists, greetingData: greetingSticker.flatMap({ ChatGreetingData(sticker: $0) }), animated: !scrollToEndIfExists, options: strongSelf.groupId == PeerGroupId.root ? [.removeOnMasterDetails] : [], parentGroupId: strongSelf.groupId, completion: { [weak self] controller in - self?.chatListDisplayNode.containerNode.currentItemNode.clearHighlightAnimated(true) - if let promoInfo = promoInfo { - switch promoInfo { - case .proxy: - let _ = (ApplicationSpecificNotice.getProxyAdsAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager) - |> deliverOnMainQueue).start(next: { value in - guard let strongSelf = self else { - return - } - if !value { - controller.displayPromoAnnouncement(text: strongSelf.presentationData.strings.DialogList_AdNoticeAlert) - let _ = ApplicationSpecificNotice.setProxyAdsAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager).start() - } - }) - case let .psa(type, _): - let _ = (ApplicationSpecificNotice.getPsaAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peer.id) - |> deliverOnMainQueue).start(next: { value in - guard let strongSelf = self else { - return - } - if !value { - var text = strongSelf.presentationData.strings.ChatList_GenericPsaAlert - let key = "ChatList.PsaAlert.\(type)" - if let string = strongSelf.presentationData.strings.primaryComponent.dict[key] { - text = string - } else if let string = strongSelf.presentationData.strings.secondaryComponent?.dict[key] { - text = string - } - - controller.displayPromoAnnouncement(text: text) - let _ = ApplicationSpecificNotice.setPsaAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peer.id).start() - } - }) + strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(peer.id), activateInput: activateInput && !peer.isDeleted, scrollToEndIfExists: scrollToEndIfExists, animated: !scrollToEndIfExists, options: strongSelf.groupId == PeerGroupId.root ? [.removeOnMasterDetails] : [], parentGroupId: strongSelf.groupId, completion: { [weak self] controller in + self?.chatListDisplayNode.containerNode.currentItemNode.clearHighlightAnimated(true) + if let promoInfo = promoInfo { + switch promoInfo { + case .proxy: + let _ = (ApplicationSpecificNotice.getProxyAdsAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager) + |> deliverOnMainQueue).start(next: { value in + guard let strongSelf = self else { + return } - } - })) - - if activateInput { - strongSelf.prepareRandomGreetingSticker() + if !value { + controller.displayPromoAnnouncement(text: strongSelf.presentationData.strings.DialogList_AdNoticeAlert) + let _ = ApplicationSpecificNotice.setProxyAdsAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager).start() + } + }) + case let .psa(type, _): + let _ = (ApplicationSpecificNotice.getPsaAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peer.id) + |> deliverOnMainQueue).start(next: { value in + guard let strongSelf = self else { + return + } + if !value { + var text = strongSelf.presentationData.strings.ChatList_GenericPsaAlert + let key = "ChatList.PsaAlert.\(type)" + if let string = strongSelf.presentationData.strings.primaryComponent.dict[key] { + text = string + } else if let string = strongSelf.presentationData.strings.secondaryComponent?.dict[key] { + text = string + } + + controller.displayPromoAnnouncement(text: text) + let _ = ApplicationSpecificNotice.setPsaAcknowledgment(accountManager: strongSelf.context.sharedContext.accountManager, peerId: peer.id).start() + } + }) } } - }) + })) } } } @@ -1126,7 +1113,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController super.displayNodeDidLoad() Queue.mainQueue().after(1.0) { - self.prepareRandomGreetingSticker() + self.context.prefetchManager?.prepareNextGreetingSticker() } } @@ -2763,28 +2750,6 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController } } - private func prepareRandomGreetingSticker() { - let context = self.context - self.preloadedSticker.set(.single(nil) - |> then(context.engine.stickers.randomGreetingSticker() - |> map { item in - return item?.file - })) - - self.preloadStickerDisposable.set((self.preloadedSticker.get() - |> mapToSignal { sticker -> Signal in - if let sticker = sticker { - let _ = freeMediaFileInteractiveFetched(account: context.account, fileReference: .standalone(media: sticker)).start() - return chatMessageAnimationData(postbox: context.account.postbox, resource: sticker.resource, fitzModifier: nil, width: 384, height: 384, synchronousLoad: false) - |> mapToSignal { _ -> Signal in - return .complete() - } - } else { - return .complete() - } - }).start()) - } - override public func tabBarDisabledAction() { self.donePressed() } diff --git a/submodules/ContactListUI/Sources/ContactsController.swift b/submodules/ContactListUI/Sources/ContactsController.swift index ddd00d0c2a..aecb825611 100644 --- a/submodules/ContactListUI/Sources/ContactsController.swift +++ b/submodules/ContactListUI/Sources/ContactsController.swift @@ -89,9 +89,6 @@ public class ContactsController: ViewController { public var switchToChatsController: (() -> Void)? - private let preloadedSticker = Promise(nil) - private let preloadStickerDisposable = MetaDisposable() - public override func updateNavigationCustomData(_ data: Any?, progress: CGFloat, transition: ContainedViewLayoutTransition) { if self.isNodeLoaded { self.contactsNode.contactListNode.updateSelectedChatLocation(data as? ChatLocation, progress: progress, transition: transition) @@ -235,24 +232,16 @@ public class ContactsController: ViewController { scrollToEndIfExists = true } - let _ = (strongSelf.preloadedSticker.get() - |> take(1) - |> deliverOnMainQueue).start(next: { [weak self] greetingSticker in - if let strongSelf = self { - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(peer.id), purposefulAction: { [weak self] in - if fromSearch { - self?.deactivateSearch(animated: false) - self?.switchToChatsController?() - } - }, scrollToEndIfExists: scrollToEndIfExists, greetingData: greetingSticker.flatMap({ ChatGreetingData(sticker: $0) }), options: [.removeOnMasterDetails], completion: { [weak self] _ in - if let strongSelf = self { - strongSelf.contactsNode.contactListNode.listNode.clearHighlightAnimated(true) - } - })) - - strongSelf.prepareRandomGreetingSticker() + strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(peer.id), purposefulAction: { [weak self] in + if fromSearch { + self?.deactivateSearch(animated: false) + self?.switchToChatsController?() } - }) + }, scrollToEndIfExists: scrollToEndIfExists, options: [.removeOnMasterDetails], completion: { [weak self] _ in + if let strongSelf = self { + strongSelf.contactsNode.contactListNode.listNode.clearHighlightAnimated(true) + } + })) } case let .deviceContact(id, _): let _ = ((strongSelf.context.sharedContext.contactDataManager?.extendedData(stableId: id) ?? .single(nil)) @@ -423,14 +412,6 @@ public class ContactsController: ViewController { self.contactsNode.contactListNode.enableUpdates = false } - public override func displayNodeDidLoad() { - super.displayNodeDidLoad() - - Queue.mainQueue().after(1.0) { - self.prepareRandomGreetingSticker() - } - } - override public func containerLayoutUpdated(_ layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) { super.containerLayoutUpdated(layout, transition: transition) @@ -525,26 +506,4 @@ public class ContactsController: ViewController { } }) } - - private func prepareRandomGreetingSticker() { - let context = self.context - self.preloadedSticker.set(.single(nil) - |> then(context.engine.stickers.randomGreetingSticker() - |> map { item in - return item?.file - })) - - self.preloadStickerDisposable.set((self.preloadedSticker.get() - |> mapToSignal { sticker -> Signal in - if let sticker = sticker { - let _ = freeMediaFileInteractiveFetched(account: context.account, fileReference: .standalone(media: sticker)).start() - return chatMessageAnimationData(postbox: context.account.postbox, resource: sticker.resource, fitzModifier: nil, width: 384, height: 384, synchronousLoad: false) - |> mapToSignal { _ -> Signal in - return .complete() - } - } else { - return .complete() - } - }).start()) - } } diff --git a/submodules/ContextUI/Sources/ContextActionsContainerNode.swift b/submodules/ContextUI/Sources/ContextActionsContainerNode.swift index c09c105d8c..82bb62ee10 100644 --- a/submodules/ContextUI/Sources/ContextActionsContainerNode.swift +++ b/submodules/ContextUI/Sources/ContextActionsContainerNode.swift @@ -165,8 +165,11 @@ private final class InnerActionsContainerNode: ASDisplayNode { gesture.isEnabled = self.panSelectionGestureEnabled } - func updateLayout(widthClass: ContainerViewLayoutSizeClass, constrainedWidth: CGFloat, transition: ContainedViewLayoutTransition) -> CGSize { + func updateLayout(widthClass: ContainerViewLayoutSizeClass, constrainedWidth: CGFloat, minimalWidth: CGFloat?, transition: ContainedViewLayoutTransition) -> CGSize { var minActionsWidth: CGFloat = 250.0 + if let minimalWidth = minimalWidth, minimalWidth > minActionsWidth { + minActionsWidth = minimalWidth + } switch widthClass { case .compact: @@ -517,10 +520,10 @@ final class ContextActionsContainerNode: ASDisplayNode { } var contentSize = CGSize() - let actionsSize = self.actionsNode.updateLayout(widthClass: widthClass, constrainedWidth: constrainedWidth, transition: transition) + let actionsSize = self.actionsNode.updateLayout(widthClass: widthClass, constrainedWidth: constrainedWidth, minimalWidth: nil, transition: transition) if let additionalActionsNode = self.additionalActionsNode, let additionalShadowNode = self.additionalShadowNode { - let additionalActionsSize = additionalActionsNode.updateLayout(widthClass: widthClass, constrainedWidth: actionsSize.width, transition: transition) + let additionalActionsSize = additionalActionsNode.updateLayout(widthClass: widthClass, constrainedWidth: actionsSize.width, minimalWidth: actionsSize.width, transition: transition) contentSize = additionalActionsSize let bounds = CGRect(origin: CGPoint(), size: additionalActionsSize) diff --git a/submodules/TelegramCallsUI/Sources/CallControllerButton.swift b/submodules/TelegramCallsUI/Sources/CallControllerButton.swift index 28bdc66a40..fbac931468 100644 --- a/submodules/TelegramCallsUI/Sources/CallControllerButton.swift +++ b/submodules/TelegramCallsUI/Sources/CallControllerButton.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import SwiftSignalKit import AppBundle import SemanticStatusNode +import AnimationUI private let labelFont = Font.regular(13.0) @@ -30,6 +31,8 @@ final class CallControllerButtonItemNode: HighlightTrackingButtonNode { } enum Image { + case cameraOff + case cameraOn case camera case mute case flipCamera @@ -63,6 +66,7 @@ final class CallControllerButtonItemNode: HighlightTrackingButtonNode { private let effectView: UIVisualEffectView private let contentBackgroundNode: ASImageNode private let contentNode: ASImageNode + private var animationNode: AnimationNode? private let overlayHighlightNode: ASImageNode private var statusNode: SemanticStatusNode? let textNode: ImmediateTextNode @@ -179,6 +183,33 @@ final class CallControllerButtonItemNode: HighlightTrackingButtonNode { let contentBackgroundImage: UIImage? = nil + var animationName: String? + switch content.image { + case .cameraOff: + animationName = "anim_cameraoff" + case .cameraOn: + animationName = "anim_cameraon" + default: + break + } + + if let animationName = animationName { + let animationFrame = CGRect(origin: CGPoint(), size: CGSize(width: self.largeButtonSize, height: self.largeButtonSize)) + if self.animationNode == nil { + let animationNode = AnimationNode(animation: animationName, colors: nil, scale: 1.0) + self.animationNode = animationNode + self.contentContainer.insertSubnode(animationNode, aboveSubnode: self.contentNode) + } + if let animationNode = self.animationNode { + animationNode.frame = animationFrame + if previousContent == nil { + animationNode.seekToEnd() + } else if previousContent?.image != content.image { + animationNode.play() + } + } + } + let contentImage = generateImage(CGSize(width: self.largeButtonSize, height: self.largeButtonSize), contextGenerator: { size, context in context.clear(CGRect(origin: CGPoint(), size: size)) @@ -219,6 +250,8 @@ final class CallControllerButtonItemNode: HighlightTrackingButtonNode { var image: UIImage? switch content.image { + case .cameraOff, .cameraOn: + image = nil case .camera: image = generateTintedImage(image: UIImage(bundleImageName: "Call/CallCameraButton"), color: imageColor) case .mute: diff --git a/submodules/TelegramCallsUI/Sources/PresentationGroupCall.swift b/submodules/TelegramCallsUI/Sources/PresentationGroupCall.swift index 372c2ce9dc..c98e57d1d8 100644 --- a/submodules/TelegramCallsUI/Sources/PresentationGroupCall.swift +++ b/submodules/TelegramCallsUI/Sources/PresentationGroupCall.swift @@ -2384,6 +2384,76 @@ public final class PresentationGroupCallImpl: PresentationGroupCall { self.participantsContext?.lowerHand() } + public func makeOutgoingVideoView(completion: @escaping (PresentationCallVideoView?) -> Void) { + if self.videoCapturer == nil { + let videoCapturer = OngoingCallVideoCapturer() + self.videoCapturer = videoCapturer + } + + self.videoCapturer?.makeOutgoingVideoView(completion: { view in + if let view = view { + let setOnFirstFrameReceived = view.setOnFirstFrameReceived + let setOnOrientationUpdated = view.setOnOrientationUpdated + let setOnIsMirroredUpdated = view.setOnIsMirroredUpdated + completion(PresentationCallVideoView( + holder: view, + view: view.view, + setOnFirstFrameReceived: { f in + setOnFirstFrameReceived(f) + }, + getOrientation: { [weak view] in + if let view = view { + let mappedValue: PresentationCallVideoView.Orientation + switch view.getOrientation() { + case .rotation0: + mappedValue = .rotation0 + case .rotation90: + mappedValue = .rotation90 + case .rotation180: + mappedValue = .rotation180 + case .rotation270: + mappedValue = .rotation270 + } + return mappedValue + } else { + return .rotation0 + } + }, + getAspect: { [weak view] in + if let view = view { + return view.getAspect() + } else { + return 0.0 + } + }, + setOnOrientationUpdated: { f in + setOnOrientationUpdated { value, aspect in + let mappedValue: PresentationCallVideoView.Orientation + switch value { + case .rotation0: + mappedValue = .rotation0 + case .rotation90: + mappedValue = .rotation90 + case .rotation180: + mappedValue = .rotation180 + case .rotation270: + mappedValue = .rotation270 + } + f?(mappedValue, aspect) + } + }, + setOnIsMirroredUpdated: { f in + setOnIsMirroredUpdated { value in + f?(value) + } + } + )) + } else { + completion(nil) + } + }) + } + public func requestVideo() { if self.videoCapturer == nil { let videoCapturer = OngoingCallVideoCapturer() diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatCameraPreviewController.swift b/submodules/TelegramCallsUI/Sources/VoiceChatCameraPreviewController.swift index d94c701cf8..a0b59a8edf 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatCameraPreviewController.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatCameraPreviewController.swift @@ -1,283 +1,399 @@ import Foundation import UIKit -import SwiftSignalKit -import AsyncDisplayKit import Display +import AsyncDisplayKit import Postbox import TelegramCore import SyncCore -import TelegramPresentationData +import SwiftSignalKit import AccountContext -import UrlEscaping +import TelegramPresentationData +import SolidRoundedButtonNode +import PresentationDataUtils +import UIKitRuntimeUtils -private final class VoiceChatCameraPreviewAlertContentNode: AlertContentNode { - private let strings: PresentationStrings - private let title: String - private let text: String - - private let backgroundNode: ASDisplayNode - private let maskNode: ASImageNode - - private let titleNode: ASTextNode - private let textNode: ASTextNode - - private let actionNodesSeparator: ASDisplayNode - private let actionNodes: [TextAlertContentActionNode] - private let actionVerticalSeparators: [ASDisplayNode] - - private let disposable = MetaDisposable() - - private var validLayout: CGSize? - - private let hapticFeedback = HapticFeedback() - - override var dismissOnOutsideTap: Bool { - return self.isUserInteractionEnabled +final class VoiceChatCameraPreviewController: ViewController { + private var controllerNode: VoiceChatCameraPreviewControllerNode { + return self.displayNode as! VoiceChatCameraPreviewControllerNode } - init(theme: AlertControllerTheme, ptheme: PresentationTheme, strings: PresentationStrings, actions: [TextAlertAction], title: String, text: String) { - self.strings = strings - self.title = title - self.text = text + private let context: AccountContext + + private var animatedIn = false + + private let cameraNode: GroupVideoNode + private let shareCamera: (ASDisplayNode) -> Void + private let switchCamera: () -> Void + private let shareScreen: () -> Void + + private var presentationDataDisposable: Disposable? + + init(context: AccountContext, cameraNode: GroupVideoNode, shareCamera: @escaping (ASDisplayNode) -> Void, switchCamera: @escaping () -> Void, shareScreen: @escaping () -> Void) { + self.context = context + self.cameraNode = cameraNode + self.shareCamera = shareCamera + self.switchCamera = switchCamera + self.shareScreen = shareScreen - self.backgroundNode = ASDisplayNode() - self.backgroundNode.clipsToBounds = true - self.backgroundNode.backgroundColor = UIColor(rgb: 0x161619) + super.init(navigationBarPresentationData: nil) - self.maskNode = ASImageNode() - self.maskNode.displaysAsynchronously = false - self.maskNode.contentMode = .scaleToFill - self.maskNode.image = generateImage(CGSize(width: 300.0, height: 400.0), rotatedContext: { size, context in - let bounds = CGRect(origin: CGPoint(), size: size) - context.clear(bounds) - - context.setFillColor(UIColor(rgb: 0x000000, alpha: 0.3).cgColor) - context.fill(bounds) - - context.setBlendMode(.clear) - context.fillEllipse(in: CGRect(x: 27.0, y: 37.0, width: 246.0, height: 300.0)) + self.statusBar.statusBarStyle = .Ignore + + self.blocksBackgroundWhenInOverlay = true + + self.presentationDataDisposable = (context.sharedContext.presentationData + |> deliverOnMainQueue).start(next: { [weak self] presentationData in + if let strongSelf = self { + strongSelf.controllerNode.updatePresentationData(presentationData) + } }) - self.titleNode = ASTextNode() - self.titleNode.maximumNumberOfLines = 2 - self.textNode = ASTextNode() - self.textNode.maximumNumberOfLines = 8 - - self.actionNodesSeparator = ASDisplayNode() - self.actionNodesSeparator.isLayerBacked = true - - self.actionNodes = actions.map { action -> TextAlertContentActionNode in - return TextAlertContentActionNode(theme: theme, action: action) - } - - var actionVerticalSeparators: [ASDisplayNode] = [] - if actions.count > 1 { - for _ in 0 ..< actions.count - 1 { - let separatorNode = ASDisplayNode() - separatorNode.isLayerBacked = true - actionVerticalSeparators.append(separatorNode) - } - } - self.actionVerticalSeparators = actionVerticalSeparators - - super.init() - - self.addSubnode(self.backgroundNode) - self.addSubnode(self.titleNode) - self.addSubnode(self.textNode) - self.addSubnode(self.actionNodesSeparator) - - for actionNode in self.actionNodes { - self.addSubnode(actionNode) - } - - for separatorNode in self.actionVerticalSeparators { - self.addSubnode(separatorNode) - } - - self.backgroundNode.addSubnode(self.maskNode) - - self.updateTheme(theme) + self.statusBar.statusBarStyle = .Ignore + } + + required init(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") } deinit { - self.disposable.dispose() + self.presentationDataDisposable?.dispose() } - override func updateTheme(_ theme: AlertControllerTheme) { - self.titleNode.attributedText = NSAttributedString(string: self.title, font: Font.bold(17.0), textColor: theme.primaryColor, paragraphAlignment: .center) - self.textNode.attributedText = NSAttributedString(string: self.text, font: Font.regular(13.0), textColor: theme.primaryColor, paragraphAlignment: .center) + override public func loadDisplayNode() { + self.displayNode = VoiceChatCameraPreviewControllerNode(context: self.context, cameraNode: self.cameraNode) + self.controllerNode.shareCamera = { [weak self] in + if let strongSelf = self { + strongSelf.shareCamera(strongSelf.cameraNode) + strongSelf.dismiss() + } + } + self.controllerNode.switchCamera = { [weak self] in + self?.switchCamera() + } + self.controllerNode.shareScreen = { [weak self] in + self?.shareScreen() + self?.dismiss() + } + self.controllerNode.dismiss = { [weak self] in + self?.presentingViewController?.dismiss(animated: false, completion: nil) + } + self.controllerNode.cancel = { [weak self] in + self?.dismiss() + } + } + + override public func loadView() { + super.loadView() + } + + override public func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + + if !self.animatedIn { + self.animatedIn = true + self.controllerNode.animateIn() + } + } + + override public func dismiss(completion: (() -> Void)? = nil) { + self.controllerNode.animateOut(completion: completion) + } + + override public func containerLayoutUpdated(_ layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) { + super.containerLayoutUpdated(layout, transition: transition) + + self.controllerNode.containerLayoutUpdated(layout, navigationBarHeight: self.navigationHeight, transition: transition) + } +} - self.actionNodesSeparator.backgroundColor = theme.separatorColor - for actionNode in self.actionNodes { - actionNode.updateTheme(theme) - } - for separatorNode in self.actionVerticalSeparators { - separatorNode.backgroundColor = theme.separatorColor - } - - if let size = self.validLayout { - _ = self.updateLayout(size: size, transition: .immediate) - } - } +private class VoiceChatCameraPreviewControllerNode: ViewControllerTracingNode, UIScrollViewDelegate { + private let context: AccountContext + private var presentationData: PresentationData - override func updateLayout(size: CGSize, transition: ContainedViewLayoutTransition) -> CGSize { - var size = size - size.width = min(size.width, 300.0) - let measureSize = CGSize(width: size.width - 16.0 * 2.0, height: CGFloat.greatestFiniteMagnitude) + private let cameraNode: GroupVideoNode + private let dimNode: ASDisplayNode + private let wrappingScrollNode: ASScrollNode + private let contentContainerNode: ASDisplayNode + private let effectNode: ASDisplayNode + private let backgroundNode: ASDisplayNode + private let contentBackgroundNode: ASDisplayNode + private let titleNode: ASTextNode + private let previewContainerNode: ASDisplayNode + private let cameraButton: SolidRoundedButtonNode + private let screenButton: SolidRoundedButtonNode + private let cancelButton: SolidRoundedButtonNode + + private let switchCameraButton: HighlightTrackingButtonNode + private let switchCameraEffectView: UIVisualEffectView + private let switchCameraIconNode: ASImageNode + + private var containerLayout: (ContainerViewLayout, CGFloat)? + + var shareCamera: (() -> Void)? + var switchCamera: (() -> Void)? + var shareScreen: (() -> Void)? + var dismiss: (() -> Void)? + var cancel: (() -> Void)? + + init(context: AccountContext, cameraNode: GroupVideoNode) { + self.context = context + self.presentationData = context.sharedContext.currentPresentationData.with { $0 } - let hadValidLayout = self.validLayout != nil - self.validLayout = size + self.cameraNode = cameraNode - var origin: CGPoint = CGPoint(x: 0.0, y: 18.0) - let spacing: CGFloat = 3.0 + self.wrappingScrollNode = ASScrollNode() + self.wrappingScrollNode.view.alwaysBounceVertical = true + self.wrappingScrollNode.view.delaysContentTouches = false + self.wrappingScrollNode.view.canCancelContentTouches = true - let videoHeight: CGFloat = 400.0 - origin.y += videoHeight + self.dimNode = ASDisplayNode() + self.dimNode.backgroundColor = UIColor(white: 0.0, alpha: 0.5) - let titleSize = self.titleNode.measure(measureSize) - transition.updateFrame(node: self.titleNode, frame: CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - titleSize.width) / 2.0), y: origin.y), size: titleSize)) - origin.y += titleSize.height + 4.0 + self.contentContainerNode = ASDisplayNode() + self.contentContainerNode.isOpaque = false + + self.backgroundNode = ASDisplayNode() + self.backgroundNode.clipsToBounds = true + self.backgroundNode.cornerRadius = 16.0 - let textSize = self.textNode.measure(measureSize) - transition.updateFrame(node: self.textNode, frame: CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - textSize.width) / 2.0), y: origin.y), size: textSize)) - origin.y += textSize.height + 6.0 + let backgroundColor = UIColor(rgb: 0x1c1c1e) + let textColor: UIColor = .white + let buttonColor: UIColor = UIColor(rgb: 0x2b2b2f) + let buttonTextColor: UIColor = .white + let blurStyle: UIBlurEffect.Style = .dark - let actionButtonHeight: CGFloat = 44.0 - var minActionsWidth: CGFloat = 0.0 - let maxActionWidth: CGFloat = floor(size.width / CGFloat(self.actionNodes.count)) - let actionTitleInsets: CGFloat = 8.0 + self.effectNode = ASDisplayNode(viewBlock: { + return UIVisualEffectView(effect: UIBlurEffect(style: blurStyle)) + }) - var effectiveActionLayout = TextAlertContentActionLayout.horizontal - for actionNode in self.actionNodes { - let actionTitleSize = actionNode.titleNode.updateLayout(CGSize(width: maxActionWidth, height: actionButtonHeight)) - if case .horizontal = effectiveActionLayout, actionTitleSize.height > actionButtonHeight * 0.6667 { - effectiveActionLayout = .vertical + self.contentBackgroundNode = ASDisplayNode() + self.contentBackgroundNode.backgroundColor = backgroundColor + + let title = self.presentationData.strings.VoiceChat_VideoPreviewTitle + + self.titleNode = ASTextNode() + self.titleNode.attributedText = NSAttributedString(string: title, font: Font.bold(17.0), textColor: textColor) + + self.cameraButton = SolidRoundedButtonNode(theme: SolidRoundedButtonTheme(theme: self.presentationData.theme), font: .bold, height: 52.0, cornerRadius: 11.0, gloss: false) + self.cameraButton.title = self.presentationData.strings.VoiceChat_VideoPreviewShareCamera + + self.screenButton = SolidRoundedButtonNode(theme: SolidRoundedButtonTheme(backgroundColor: buttonColor, foregroundColor: buttonTextColor), font: .bold, height: 52.0, cornerRadius: 11.0, gloss: false) + self.screenButton.title = self.presentationData.strings.VoiceChat_VideoPreviewShareScreen + + self.cancelButton = SolidRoundedButtonNode(theme: SolidRoundedButtonTheme(backgroundColor: buttonColor, foregroundColor: buttonTextColor), font: .regular, height: 52.0, cornerRadius: 11.0, gloss: false) + self.cancelButton.title = self.presentationData.strings.Common_Cancel + + self.previewContainerNode = ASDisplayNode() + self.previewContainerNode.cornerRadius = 11.0 + self.previewContainerNode.backgroundColor = .black + + self.switchCameraButton = HighlightTrackingButtonNode() + self.switchCameraEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark)) + self.switchCameraEffectView.clipsToBounds = true + self.switchCameraEffectView.layer.cornerRadius = 24.0 + self.switchCameraEffectView.isUserInteractionEnabled = false + + self.switchCameraIconNode = ASImageNode() + self.switchCameraIconNode.displaysAsynchronously = false + self.switchCameraIconNode.image = generateTintedImage(image: UIImage(bundleImageName: "Call/CallSwitchCameraButton"), color: .white) + self.switchCameraIconNode.contentMode = .center + + super.init() + + self.backgroundColor = nil + self.isOpaque = false + + self.dimNode.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dimTapGesture(_:)))) + self.addSubnode(self.dimNode) + + self.wrappingScrollNode.view.delegate = self + self.addSubnode(self.wrappingScrollNode) + + self.wrappingScrollNode.addSubnode(self.backgroundNode) + self.wrappingScrollNode.addSubnode(self.contentContainerNode) + + self.backgroundNode.addSubnode(self.effectNode) + self.backgroundNode.addSubnode(self.contentBackgroundNode) + self.contentContainerNode.addSubnode(self.titleNode) + self.contentContainerNode.addSubnode(self.cameraButton) + self.contentContainerNode.addSubnode(self.screenButton) + self.contentContainerNode.addSubnode(self.cancelButton) + + self.contentContainerNode.addSubnode(self.previewContainerNode) + + self.previewContainerNode.addSubnode(self.cameraNode) + self.previewContainerNode.addSubnode(self.switchCameraButton) + self.switchCameraButton.view.addSubview(self.switchCameraEffectView) + self.switchCameraButton.addSubnode(self.switchCameraIconNode) + + self.cameraButton.pressed = { [weak self] in + if let strongSelf = self { + strongSelf.shareCamera?() } - switch effectiveActionLayout { - case .horizontal: - minActionsWidth += actionTitleSize.width + actionTitleInsets - case .vertical: - minActionsWidth = max(minActionsWidth, actionTitleSize.width + actionTitleInsets) + } + self.screenButton.pressed = { [weak self] in + if let strongSelf = self { + strongSelf.shareScreen?() + } + } + self.cancelButton.pressed = { [weak self] in + if let strongSelf = self { + strongSelf.cancel?() } } - let insets = UIEdgeInsets(top: 18.0, left: 18.0, bottom: 18.0, right: 18.0) - - var contentWidth = max(titleSize.width, minActionsWidth) - contentWidth = max(contentWidth, 300.0) - - var actionsHeight: CGFloat = 0.0 - switch effectiveActionLayout { - case .horizontal: - actionsHeight = actionButtonHeight - case .vertical: - actionsHeight = actionButtonHeight * CGFloat(self.actionNodes.count) - } - - let resultWidth = contentWidth - let resultSize = CGSize(width: resultWidth, height: titleSize.height + textSize.height + spacing + videoHeight + spacing + actionsHeight + insets.top + insets.bottom) - - transition.updateFrame(node: self.backgroundNode, frame: CGRect(origin: CGPoint(), size: CGSize(width: resultWidth, height: videoHeight))) - transition.updateFrame(node: self.maskNode, frame: CGRect(origin: CGPoint(), size: CGSize(width: resultWidth, height: videoHeight))) - - transition.updateFrame(node: self.actionNodesSeparator, frame: CGRect(origin: CGPoint(x: 0.0, y: resultSize.height - actionsHeight - UIScreenPixel), size: CGSize(width: resultSize.width, height: UIScreenPixel))) - - var actionOffset: CGFloat = 0.0 - let actionWidth: CGFloat = floor(resultSize.width / CGFloat(self.actionNodes.count)) - var separatorIndex = -1 - var nodeIndex = 0 - for actionNode in self.actionNodes { - if separatorIndex >= 0 { - let separatorNode = self.actionVerticalSeparators[separatorIndex] - switch effectiveActionLayout { - case .horizontal: - transition.updateFrame(node: separatorNode, frame: CGRect(origin: CGPoint(x: actionOffset - UIScreenPixel, y: resultSize.height - actionsHeight), size: CGSize(width: UIScreenPixel, height: actionsHeight - UIScreenPixel))) - case .vertical: - transition.updateFrame(node: separatorNode, frame: CGRect(origin: CGPoint(x: 0.0, y: resultSize.height - actionsHeight + actionOffset - UIScreenPixel), size: CGSize(width: resultSize.width, height: UIScreenPixel))) + self.switchCameraButton.addTarget(self, action: #selector(self.switchCameraPressed), forControlEvents: .touchUpInside) + self.switchCameraButton.highligthedChanged = { [weak self] highlighted in + if let strongSelf = self { + if highlighted { + let transition: ContainedViewLayoutTransition = .animated(duration: 0.3, curve: .spring) + transition.updateSublayerTransformScale(node: strongSelf.switchCameraButton, scale: 0.9) + } else { + let transition: ContainedViewLayoutTransition = .animated(duration: 0.5, curve: .spring) + transition.updateSublayerTransformScale(node: strongSelf.switchCameraButton, scale: 1.0) } } - separatorIndex += 1 - - let currentActionWidth: CGFloat - switch effectiveActionLayout { - case .horizontal: - if nodeIndex == self.actionNodes.count - 1 { - currentActionWidth = resultSize.width - actionOffset - } else { - currentActionWidth = actionWidth - } - case .vertical: - currentActionWidth = resultSize.width - } - - let actionNodeFrame: CGRect - switch effectiveActionLayout { - case .horizontal: - actionNodeFrame = CGRect(origin: CGPoint(x: actionOffset, y: resultSize.height - actionsHeight), size: CGSize(width: currentActionWidth, height: actionButtonHeight)) - actionOffset += currentActionWidth - case .vertical: - actionNodeFrame = CGRect(origin: CGPoint(x: 0.0, y: resultSize.height - actionsHeight + actionOffset), size: CGSize(width: currentActionWidth, height: actionButtonHeight)) - actionOffset += actionButtonHeight - } - - transition.updateFrame(node: actionNode, frame: actionNodeFrame) - - nodeIndex += 1 } - - if !hadValidLayout { - Queue.mainQueue().after(0.1) { - self.maskNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2) - self.maskNode.layer.animateSpring(from: 1.4 as NSNumber, to: 1.0 as NSNumber, keyPath: "transform.scale", duration: 0.4, initialVelocity: 0.0, damping: 104.0) - } - } - - return resultSize } -} + + @objc private func switchCameraPressed() { + self.switchCamera?() + } + + func updatePresentationData(_ presentationData: PresentationData) { + self.presentationData = presentationData + } + + override func didLoad() { + super.didLoad() + + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { + self.wrappingScrollNode.view.contentInsetAdjustmentBehavior = .never + } + } + + @objc func dimTapGesture(_ recognizer: UITapGestureRecognizer) { + if case .ended = recognizer.state { + self.cancel?() + } + } + + func animateIn() { + self.dimNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4) + + let offset = self.bounds.size.height - self.contentBackgroundNode.frame.minY + + let dimPosition = self.dimNode.layer.position + self.dimNode.layer.animatePosition(from: CGPoint(x: dimPosition.x, y: dimPosition.y - offset), to: dimPosition, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring) + + let transition = ContainedViewLayoutTransition.animated(duration: 0.4, curve: .spring) + let targetBounds = self.bounds + self.bounds = self.bounds.offsetBy(dx: 0.0, dy: -offset) + transition.animateView({ + self.bounds = targetBounds + }) + } + + func animateOut(completion: (() -> Void)? = nil) { + var dimCompleted = false + var offsetCompleted = false + + let internalCompletion: () -> Void = { [weak self] in + if let strongSelf = self, dimCompleted && offsetCompleted { + strongSelf.dismiss?() + } + completion?() + } + + self.dimNode.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.3, removeOnCompletion: false, completion: { _ in + dimCompleted = true + internalCompletion() + }) + + let offset = self.bounds.size.height - self.contentBackgroundNode.frame.minY + let dimPosition = self.dimNode.layer.position + self.dimNode.layer.animatePosition(from: dimPosition, to: CGPoint(x: dimPosition.x, y: dimPosition.y - offset), duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false) + self.layer.animateBoundsOriginYAdditive(from: 0.0, to: -offset, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, completion: { _ in + offsetCompleted = true + internalCompletion() + }) + } + + override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { + if self.bounds.contains(point) { + if !self.contentBackgroundNode.bounds.contains(self.convert(point, to: self.contentBackgroundNode)) { + return self.dimNode.view + } + } + return super.hitTest(point, with: event) + } + + func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { + let contentOffset = scrollView.contentOffset + let additionalTopHeight = max(0.0, -contentOffset.y) + + if additionalTopHeight >= 30.0 { + self.cancel?() + } + } + + func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { + self.containerLayout = (layout, navigationBarHeight) + + var insets = layout.insets(options: [.statusBar, .input]) + let cleanInsets = layout.insets(options: [.statusBar]) + insets.top = max(10.0, insets.top) + + let buttonOffset: CGFloat = 120.0 -func voiceChatCameraPreviewController(sharedContext: SharedAccountContext, account: Account, forceTheme: PresentationTheme?, title: String, text: String, apply: @escaping () -> Void) -> AlertController { - var presentationData = sharedContext.currentPresentationData.with { $0 } - if let forceTheme = forceTheme { - presentationData = presentationData.withUpdated(theme: forceTheme) - } - - var dismissImpl: ((Bool) -> Void)? - var applyImpl: (() -> Void)? - - let actions: [TextAlertAction] = [TextAlertAction(type: .genericAction, title: presentationData.strings.Common_Cancel, action: { - dismissImpl?(true) - }), TextAlertAction(type: .defaultAction, title: presentationData.strings.VoiceChat_VideoPreviewShare, action: { - applyImpl?() - })] - - let contentNode = VoiceChatCameraPreviewAlertContentNode(theme: AlertControllerTheme(presentationData: presentationData), ptheme: presentationData.theme, strings: presentationData.strings, actions: actions, title: title, text: text) - applyImpl = { [weak contentNode] in - guard let contentNode = contentNode else { - return - } - dismissImpl?(true) + let bottomInset: CGFloat = 10.0 + cleanInsets.bottom + let titleHeight: CGFloat = 54.0 + var contentHeight = titleHeight + bottomInset + 52.0 + 17.0 + let innerContentHeight: CGFloat = layout.size.height - contentHeight - 160.0 + contentHeight = titleHeight + bottomInset + 52.0 + 17.0 + innerContentHeight + buttonOffset - } - - let controller = AlertController(theme: AlertControllerTheme(presentationData: presentationData), contentNode: contentNode) - let presentationDataDisposable = sharedContext.presentationData.start(next: { [weak controller, weak contentNode] presentationData in - var presentationData = presentationData - if let forceTheme = forceTheme { - presentationData = presentationData.withUpdated(theme: forceTheme) + let width = horizontalContainerFillingSizeForLayout(layout: layout, sideInset: layout.safeInsets.left) + + let previewInset: CGFloat = 16.0 + let sideInset = floor((layout.size.width - width) / 2.0) + let contentContainerFrame = CGRect(origin: CGPoint(x: sideInset, y: layout.size.height - contentHeight), size: CGSize(width: width, height: contentHeight)) + let contentFrame = contentContainerFrame + + var backgroundFrame = CGRect(origin: CGPoint(x: contentFrame.minX, y: contentFrame.minY), size: CGSize(width: contentFrame.width, height: contentFrame.height + 2000.0)) + if backgroundFrame.minY < contentFrame.minY { + backgroundFrame.origin.y = contentFrame.minY } - controller?.theme = AlertControllerTheme(presentationData: presentationData) - }) - controller.dismissed = { - presentationDataDisposable.dispose() + transition.updateFrame(node: self.backgroundNode, frame: backgroundFrame) + transition.updateFrame(node: self.effectNode, frame: CGRect(origin: CGPoint(), size: backgroundFrame.size)) + transition.updateFrame(node: self.contentBackgroundNode, frame: CGRect(origin: CGPoint(), size: backgroundFrame.size)) + transition.updateFrame(node: self.wrappingScrollNode, frame: CGRect(origin: CGPoint(), size: layout.size)) + transition.updateFrame(node: self.dimNode, frame: CGRect(origin: CGPoint(), size: layout.size)) + + let titleSize = self.titleNode.measure(CGSize(width: width, height: titleHeight)) + let titleFrame = CGRect(origin: CGPoint(x: floor((contentFrame.width - titleSize.width) / 2.0), y: 18.0), size: titleSize) + transition.updateFrame(node: self.titleNode, frame: titleFrame) + + let previewSize = CGSize(width: contentFrame.width - previewInset * 2.0, height: contentHeight - 243.0 - bottomInset) + transition.updateFrame(node: self.previewContainerNode, frame: CGRect(origin: CGPoint(x: previewInset, y: 56.0), size: previewSize)) + + self.cameraNode.frame = CGRect(origin: CGPoint(), size: previewSize) + self.cameraNode.updateLayout(size: previewSize, isLandscape: false, transition: .immediate) + + let switchCameraFrame = CGRect(x: previewSize.width - 48.0 - 16.0, y: previewSize.height - 48.0 - 16.0, width: 48.0, height: 48.0) + transition.updateFrame(node: self.switchCameraButton, frame: switchCameraFrame) + transition.updateFrame(view: self.switchCameraEffectView, frame: CGRect(origin: CGPoint(), size: switchCameraFrame.size)) + transition.updateFrame(node: self.switchCameraIconNode, frame: CGRect(origin: CGPoint(), size: switchCameraFrame.size)) + + let buttonInset: CGFloat = 16.0 + let cameraButtonHeight = self.cameraButton.updateLayout(width: contentFrame.width - buttonInset * 2.0, transition: transition) + transition.updateFrame(node: self.cameraButton, frame: CGRect(x: buttonInset, y: contentHeight - cameraButtonHeight - insets.bottom - 16.0 - buttonOffset, width: contentFrame.width, height: cameraButtonHeight)) + + let screenButtonHeight = self.screenButton.updateLayout(width: contentFrame.width - buttonInset * 2.0, transition: transition) + transition.updateFrame(node: self.screenButton, frame: CGRect(x: buttonInset, y: contentHeight - cameraButtonHeight - 8.0 - screenButtonHeight - insets.bottom - 16.0, width: contentFrame.width, height: screenButtonHeight)) + + let cancelButtonHeight = self.cancelButton.updateLayout(width: contentFrame.width - buttonInset * 2.0, transition: transition) + transition.updateFrame(node: self.cancelButton, frame: CGRect(x: buttonInset, y: contentHeight - cancelButtonHeight - insets.bottom - 16.0, width: contentFrame.width, height: cancelButtonHeight)) + + transition.updateFrame(node: self.contentContainerNode, frame: contentContainerFrame) } - dismissImpl = { [weak controller, weak contentNode] animated in - if animated { - controller?.dismissAnimated() - } else { - controller?.dismiss() - } - } - return controller } diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatController.swift b/submodules/TelegramCallsUI/Sources/VoiceChatController.swift index f9e812a23b..1f174c34cd 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatController.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatController.swift @@ -177,8 +177,6 @@ final class GroupVideoNode: ASDisplayNode { rotatedVideoFrame.size.height = ceil(rotatedVideoFrame.size.height) var videoSize = rotatedVideoFrame.size -// CGSize(width: 1203, height: 677) - transition.updatePosition(layer: self.videoView.view.layer, position: rotatedVideoFrame.center) transition.updateBounds(layer: self.videoView.view.layer, bounds: CGRect(origin: CGPoint(), size: videoSize)) @@ -194,6 +192,8 @@ private final class MainVideoContainerNode: ASDisplayNode { private let context: AccountContext private let call: PresentationGroupCall + private var backdropVideoNode: GroupVideoNode? + private var currentVideoNode: GroupVideoNode? private var candidateVideoNode: GroupVideoNode? private let topCornersNode: ASImageNode @@ -291,7 +291,6 @@ private final class MainVideoContainerNode: ASDisplayNode { strongSelf.candidateVideoNode = nil let videoNode = GroupVideoNode(videoView: videoView) - if let currentVideoNode = strongSelf.currentVideoNode { currentVideoNode.removeFromSupernode() strongSelf.currentVideoNode = nil @@ -429,7 +428,8 @@ public final class VoiceChatController: ViewController { var isMyPeer: Bool var ssrc: UInt32? var effectiveVideoEndpointId: String? - var presence: TelegramUserPresence? + var hasVideo: Bool + var hasScreencast: Bool var activityTimestamp: Int32 var state: State var muteState: GroupCallParticipantsContext.Participant.MuteState? @@ -447,7 +447,8 @@ public final class VoiceChatController: ViewController { isMyPeer: Bool, ssrc: UInt32?, effectiveVideoEndpointId: String?, - presence: TelegramUserPresence?, + hasVideo: Bool, + hasScreencast: Bool, activityTimestamp: Int32, state: State, muteState: GroupCallParticipantsContext.Participant.MuteState?, @@ -464,7 +465,8 @@ public final class VoiceChatController: ViewController { self.isMyPeer = isMyPeer self.ssrc = ssrc self.effectiveVideoEndpointId = effectiveVideoEndpointId - self.presence = presence + self.hasVideo = hasVideo + self.hasScreencast = hasScreencast self.activityTimestamp = activityTimestamp self.state = state self.muteState = muteState @@ -497,7 +499,10 @@ public final class VoiceChatController: ViewController { if lhs.effectiveVideoEndpointId != rhs.effectiveVideoEndpointId { return false } - if lhs.presence != rhs.presence { + if lhs.hasVideo != rhs.hasVideo { + return false + } + if lhs.hasScreencast != rhs.hasScreencast { return false } if lhs.activityTimestamp != rhs.activityTimestamp { @@ -622,7 +627,7 @@ public final class VoiceChatController: ViewController { }) case let .peer(peerEntry): let peer = peerEntry.peer - + var text: VoiceChatParticipantItem.ParticipantText var expandedText: VoiceChatParticipantItem.ParticipantText? let icon: VoiceChatParticipantItem.Icon @@ -632,11 +637,12 @@ public final class VoiceChatController: ViewController { state = .listening } - let textIcon: VoiceChatParticipantItem.ParticipantText.Icon? - if peerEntry.volume != nil { - textIcon = .volume - } else { - textIcon = nil + var textIcon = VoiceChatParticipantItem.ParticipantText.TextIcon() + if peerEntry.hasVideo { + textIcon.insert(.video) + } + if peerEntry.hasScreencast { + textIcon.insert(.screen) } let yourText: String if (peerEntry.about?.isEmpty ?? true) && peer.smallProfileImage == nil { @@ -671,6 +677,9 @@ public final class VoiceChatController: ViewController { text = .text(presentationData.strings.VoiceChat_StatusMutedForYou, textIcon, .destructive) icon = .microphone(true, UIColor(rgb: 0xff3b30)) } else { + if peerEntry.volume != nil { + textIcon.insert(.volume) + } let volumeValue = peerEntry.volume.flatMap { $0 / 100 } if let volume = volumeValue, volume != 100 { text = .text( presentationData.strings.VoiceChat_StatusSpeakingVolume("\(volume)%").0, textIcon, .constructive) @@ -699,7 +708,7 @@ public final class VoiceChatController: ViewController { let revealOptions: [VoiceChatParticipantItem.RevealOption] = [] - return VoiceChatParticipantItem(presentationData: ItemListPresentationData(presentationData), dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, context: context, peer: peer, ssrc: peerEntry.ssrc, presence: peerEntry.presence, text: text, expandedText: expandedText, icon: icon, style: peerEntry.style, enabled: true, transparent: transparent, pinned: peerEntry.pinned, selectable: true, getAudioLevel: { return interaction.getAudioLevel(peer.id) }, getVideo: { + return VoiceChatParticipantItem(presentationData: ItemListPresentationData(presentationData), dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, context: context, peer: peer, ssrc: peerEntry.ssrc, presence: nil, text: text, expandedText: expandedText, icon: icon, style: peerEntry.style, enabled: true, transparent: transparent, pinned: peerEntry.pinned, selectable: true, getAudioLevel: { return interaction.getAudioLevel(peer.id) }, getVideo: { if let endpointId = peerEntry.effectiveVideoEndpointId { return interaction.getPeerVideo(endpointId, peerEntry.style != .list) } else { @@ -789,7 +798,6 @@ public final class VoiceChatController: ViewController { private var enqueuedTransitions: [ListTransition] = [] private var enqueuedTileTransitions: [ListTransition] = [] - private var floatingHeaderOffset: CGFloat? private var validLayout: (ContainerViewLayout, CGFloat)? private var didSetContentsReady: Bool = false @@ -871,8 +879,8 @@ public final class VoiceChatController: ViewController { private var requestedVideoSources = Set() private var videoNodes: [(String, GroupVideoNode)] = [] - private var currentDominantSpeakerWithVideo: (PeerId, String)? - private var currentForcedSpeakerWithVideo: (PeerId, String)? + private var currentDominantSpeakerWithVideo: PeerId? + private var currentForcedSpeakerWithVideo: PeerId? private var effectiveSpeakerWithVideo: (PeerId, String)? private var updateAvatarDisposable = MetaDisposable() @@ -978,11 +986,13 @@ public final class VoiceChatController: ViewController { self.bottomPanelBackgroundNode = ASDisplayNode() self.bottomPanelBackgroundNode.backgroundColor = panelBackgroundColor + self.bottomPanelBackgroundNode.isUserInteractionEnabled = false self.bottomCornersNode = ASImageNode() self.bottomCornersNode.displaysAsynchronously = false self.bottomCornersNode.displayWithoutProcessing = true self.bottomCornersNode.image = cornersImage(top: false, bottom: true, dark: false) + self.bottomCornersNode.isUserInteractionEnabled = false self.audioButton = CallControllerButtonItemNode() self.cameraButton = CallControllerButtonItemNode() @@ -1072,12 +1082,12 @@ public final class VoiceChatController: ViewController { let _ = self?.call.updateMuteState(peerId: peerId, isMuted: isMuted) }, pinPeer: { [weak self] peerId, endpointId in if let strongSelf = self { - if peerId != strongSelf.currentForcedSpeakerWithVideo?.0, let endpointId = endpointId { - strongSelf.currentForcedSpeakerWithVideo = (peerId, endpointId) + if peerId != strongSelf.currentForcedSpeakerWithVideo { + strongSelf.currentForcedSpeakerWithVideo = peerId } else { strongSelf.currentForcedSpeakerWithVideo = nil } - strongSelf.updatePinnedParticipant() + strongSelf.updatePinnedParticipant(waitForFullSize: false) var updateLayout = false if strongSelf.effectiveSpeakerWithVideo != nil && !strongSelf.isExpanded { @@ -1094,7 +1104,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = strongSelf.validLayout { strongSelf.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + strongSelf.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { strongSelf.animatingExpansion = false }) } @@ -1411,7 +1421,7 @@ public final class VoiceChatController: ViewController { for (endpointId, _) in strongSelf.videoNodes { if entry.effectiveVideoEndpointId == endpointId { - items.append(.action(ContextMenuActionItem(text: strongSelf.currentForcedSpeakerWithVideo?.0 == peer.id ? strongSelf.presentationData.strings.VoiceChat_UnpinVideo : strongSelf.presentationData.strings.VoiceChat_PinVideo, icon: { theme in + items.append(.action(ContextMenuActionItem(text: strongSelf.currentForcedSpeakerWithVideo == peer.id ? strongSelf.presentationData.strings.VoiceChat_UnpinVideo : strongSelf.presentationData.strings.VoiceChat_PinVideo, icon: { theme in return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Pin"), color: theme.actionSheet.primaryTextColor) }, action: { _, f in guard let strongSelf = self else { @@ -1705,8 +1715,6 @@ public final class VoiceChatController: ViewController { self.topPanelNode.addSubnode(self.closeButton) self.topPanelNode.addSubnode(self.topCornersNode) - self.bottomPanelNode.addSubnode(self.bottomCornersNode) - self.bottomPanelNode.addSubnode(self.bottomPanelBackgroundNode) self.bottomPanelNode.addSubnode(self.audioButton) if let _ = self.mainVideoContainerNode { self.bottomPanelNode.addSubnode(self.cameraButton) @@ -1731,6 +1739,8 @@ public final class VoiceChatController: ViewController { self.contentContainer.addSubnode(self.leftBorderNode) self.contentContainer.addSubnode(self.rightBorderNode) self.contentContainer.addSubnode(self.bottomPanelCoverNode) + self.contentContainer.addSubnode(self.bottomCornersNode) + self.contentContainer.addSubnode(self.bottomPanelBackgroundNode) self.contentContainer.addSubnode(self.bottomPanelNode) self.contentContainer.addSubnode(self.timerNode) self.contentContainer.addSubnode(self.scheduleTextNode) @@ -1887,12 +1897,12 @@ public final class VoiceChatController: ViewController { } } - if let (peerId, endpointId, _) = maxLevelWithVideo { - /*if strongSelf.currentDominantSpeakerWithVideo?.0 != peerId || strongSelf.currentDominantSpeakerWithVideo?.1 != endpointId { - strongSelf.currentDominantSpeakerWithVideo = (peerId, endpointId) - strongSelf.call.setFullSizeVideo(endpointId: endpointId) - strongSelf.mainVideoContainerNode?.updatePeer(peer: (peerId: peerId, source: endpointId), waitForFullSize: true) - }*/ + if let (peerId, _, _) = maxLevelWithVideo { + if strongSelf.currentDominantSpeakerWithVideo != peerId { + strongSelf.currentDominantSpeakerWithVideo = peerId + + strongSelf.updatePinnedParticipant(waitForFullSize: true) + } } strongSelf.itemInteraction?.updateAudioLevels(levels) @@ -1937,7 +1947,7 @@ public final class VoiceChatController: ViewController { if let strongSelf = self { strongSelf.currentContentOffset = offset if !strongSelf.animatingExpansion && !strongSelf.animatingInsertion && strongSelf.panGestureArguments == nil && !strongSelf.animatingAppearance { - strongSelf.updateFloatingHeaderOffset(offset: offset, transition: transition) + strongSelf.updateDecorationsLayout(transition: transition) } } } @@ -2052,13 +2062,13 @@ public final class VoiceChatController: ViewController { if let (peerId, endpointId) = strongSelf.effectiveSpeakerWithVideo { if !validSources.contains(endpointId) { - if peerId == strongSelf.currentForcedSpeakerWithVideo?.0 { + if peerId == strongSelf.currentForcedSpeakerWithVideo { strongSelf.currentForcedSpeakerWithVideo = nil } - if peerId == strongSelf.currentDominantSpeakerWithVideo?.0 { + if peerId == strongSelf.currentDominantSpeakerWithVideo { strongSelf.currentDominantSpeakerWithVideo = nil } - strongSelf.updatePinnedParticipant() + strongSelf.updatePinnedParticipant(waitForFullSize: false) } } @@ -2070,7 +2080,7 @@ public final class VoiceChatController: ViewController { })) self.titleNode.tapped = { [weak self] in - if let strongSelf = self { + if let strongSelf = self, !strongSelf.isScheduling { if strongSelf.callState?.canManageCall ?? false { strongSelf.openTitleEditing() } else if !strongSelf.titleNode.recordingIconNode.isHidden { @@ -2152,7 +2162,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = strongSelf.validLayout { strongSelf.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut)) + strongSelf.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut)) } } if let (peerId, _) = minimalVisiblePeerid { @@ -2200,7 +2210,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = strongSelf.validLayout { strongSelf.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut)) + strongSelf.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut)) } } if let (peerId, _) = minimalVisiblePeerid { @@ -2224,7 +2234,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = strongSelf.validLayout { strongSelf.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut)) + strongSelf.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut)) } } } @@ -3236,16 +3246,22 @@ public final class VoiceChatController: ViewController { self.call.disableVideo() self.call.disableScreencast() } else { - #if DEBUG - //self.call.requestScreencast() - self.call.requestVideo() - return; - #endif - - let controller = voiceChatCameraPreviewController(sharedContext: self.context.sharedContext, account: self.context.account, forceTheme: self.darkTheme, title: self.presentationData.strings.VoiceChat_VideoPreviewTitle, text: self.presentationData.strings.VoiceChat_VideoPreviewDescription, apply: { [weak self] in - self?.call.requestVideo() - }) - self.controller?.present(controller, in: .window(.root)) + self.call.makeOutgoingVideoView { [weak self] view in + guard let strongSelf = self, let view = view else { + return + } + let cameraNode = GroupVideoNode(videoView: view) + let controller = VoiceChatCameraPreviewController(context: strongSelf.context, cameraNode: cameraNode, shareCamera: { [weak self] videoNode in + if let strongSelf = self { + strongSelf.call.requestVideo() + } + }, switchCamera: { [weak self] in + self?.call.switchVideoCamera() + }, shareScreen: { [weak self] in + self?.call.requestScreencast() + }) + strongSelf.controller?.present(controller, in: .window(.root)) + } } } @@ -3271,20 +3287,11 @@ public final class VoiceChatController: ViewController { } private var bringVideoToBackOnCompletion = false - private func updateFloatingHeaderOffset(offset: CGFloat, transition: ContainedViewLayoutTransition, completion: (() -> Void)? = nil) { + private func updateDecorationsLayout(transition: ContainedViewLayoutTransition, completion: (() -> Void)? = nil) { guard let (layout, _) = self.validLayout else { return } - - let layoutTopInset: CGFloat = max(layout.statusBarHeight ?? 0.0, layout.safeInsets.top) - let listTopInset = layoutTopInset + topPanelHeight - let bottomPanelHeight = self.effectiveBottomAreaHeight + layout.intrinsicInsets.bottom - - var size = layout.size - if case .regular = layout.metrics.widthClass { - size.width = floor(min(size.width, size.height) * 0.5) - } - + var isLandscape = false var effectiveDisplayMode = self.displayMode if case .compact = layout.metrics.widthClass, layout.size.width > layout.size.height { @@ -3295,7 +3302,24 @@ public final class VoiceChatController: ViewController { } } - let listSize = CGSize(width: size.width, height: layout.size.height - listTopInset - bottomPanelHeight) + let layoutTopInset: CGFloat = max(layout.statusBarHeight ?? 0.0, layout.safeInsets.top) + let listTopInset = isLandscape ? topPanelHeight : layoutTopInset + topPanelHeight + let bottomPanelHeight = isLandscape ? layout.intrinsicInsets.bottom : self.effectiveBottomAreaHeight + layout.intrinsicInsets.bottom + + var size = layout.size + if case .regular = layout.metrics.widthClass { + size.width = floor(min(size.width, size.height) * 0.5) + } + + let contentWidth: CGFloat + if case .regular = layout.metrics.widthClass { + size.width = floor(min(size.width, size.height) * 0.5) + contentWidth = size.width + } else { + contentWidth = isLandscape ? min(530.0, size.width - 210.0) : size.width + } + + let listSize = CGSize(width: contentWidth, height: layout.size.height - listTopInset - bottomPanelHeight) let topInset: CGFloat if let (panInitialTopInset, panOffset) = self.panGestureArguments { if self.isExpanded { @@ -3319,9 +3343,8 @@ public final class VoiceChatController: ViewController { } } - - let offset = (bottomEdge.isZero ? 0.0 : offset) + topInset - self.floatingHeaderOffset = offset + let currentContentOffset = self.currentContentOffset ?? 0.0 + let offset = (bottomEdge.isZero ? 0.0 : currentContentOffset) + topInset if bottomEdge.isZero { bottomEdge = self.listNode.frame.minY + 46.0 + 56.0 @@ -3331,7 +3354,7 @@ public final class VoiceChatController: ViewController { let panelOffset = max(layoutTopInset, rawPanelOffset) let topPanelFrame: CGRect if isLandscape { - topPanelFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: size.width, height: 0.0)) + topPanelFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: size.width, height: topPanelHeight)) } else { topPanelFrame = CGRect(origin: CGPoint(x: 0.0, y: panelOffset), size: CGSize(width: size.width, height: topPanelHeight)) } @@ -3423,8 +3446,8 @@ public final class VoiceChatController: ViewController { let leftBorderFrame: CGRect let rightBorderFrame: CGRect if isLandscape { - leftBorderFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: layout.safeInsets.left, height: layout.size.height)) - rightBorderFrame = CGRect(origin: CGPoint(x: size.width - layout.safeInsets.right, y: 0.0), size: CGSize(width: layout.safeInsets.right, height: layout.size.height)) + leftBorderFrame = CGRect(origin: CGPoint(x: 0.0, y: topPanelFrame.maxY - 16.0), size: CGSize(width: (size.width - contentWidth) / 2.0 + sideInset, height: layout.size.height)) + rightBorderFrame = CGRect(origin: CGPoint(x: size.width - (size.width - contentWidth) / 2.0 - sideInset, y: topPanelFrame.maxY - 16.0), size: CGSize(width: layout.safeInsets.right + (size.width - contentWidth) / 2.0 + sideInset, height: layout.size.height)) } else { leftBorderFrame = CGRect(origin: CGPoint(x: 0.0, y: topPanelFrame.maxY - 16.0), size: CGSize(width: sideInset, height: layout.size.height)) rightBorderFrame = CGRect(origin: CGPoint(x: size.width - sideInset, y: topPanelFrame.maxY - 16.0), size: CGSize(width: sideInset, height: layout.size.height)) @@ -3458,10 +3481,10 @@ public final class VoiceChatController: ViewController { self.topPanelBackgroundNode.frame = CGRect(x: 0.0, y: topPanelHeight - 24.0, width: size.width, height: min(topPanelFrame.height, 24.0)) let listMaxY = listTopInset + listSize.height - let bottomOffset: CGFloat = min(0.0, bottomEdge - listMaxY) + let bottomOffset: CGFloat = min(0.0, bottomEdge - listMaxY) + layout.size.height - bottomPanelHeight let bottomDelta = self.effectiveBottomAreaHeight - bottomAreaHeight - let bottomCornersFrame = CGRect(origin: CGPoint(x: sideInset, y: -50.0 + bottomOffset + bottomDelta), size: CGSize(width: size.width - sideInset * 2.0, height: 50.0)) + let bottomCornersFrame = CGRect(origin: CGPoint(x: sideInset + floorToScreenPixels((size.width - contentWidth) / 2.0), y: -50.0 + bottomOffset + bottomDelta), size: CGSize(width: contentWidth - sideInset * 2.0, height: 50.0)) let previousBottomCornersFrame = self.bottomCornersNode.frame if !bottomCornersFrame.equalTo(previousBottomCornersFrame) { self.bottomCornersNode.frame = bottomCornersFrame @@ -3500,8 +3523,10 @@ public final class VoiceChatController: ViewController { topEdgeFrame = CGRect(x: 0.0, y: 0.0, width: size.width, height: topPanelHeight) } + var isLandscape = false var effectiveDisplayMode = self.displayMode if case .compact = layout.metrics.widthClass, layout.size.width > layout.size.height { + isLandscape = true if case .fullscreen = effectiveDisplayMode { } else { effectiveDisplayMode = .fullscreen(controlsHidden: false) @@ -3510,7 +3535,11 @@ public final class VoiceChatController: ViewController { let backgroundColor: UIColor if case .fullscreen = effectiveDisplayMode { - backgroundColor = fullscreenBackgroundColor + if isLandscape { + backgroundColor = isFullscreen ? panelBackgroundColor : secondaryPanelBackgroundColor + } else { + backgroundColor = fullscreenBackgroundColor + } } else if self.isScheduling || self.callState?.scheduleTimestamp != nil { backgroundColor = panelBackgroundColor } else { @@ -3556,7 +3585,7 @@ public final class VoiceChatController: ViewController { } private func updateTitle(slide: Bool = false, transition: ContainedViewLayoutTransition) { - guard let (layout, _) = self.validLayout else { + guard let _ = self.validLayout else { return } var title = self.currentTitle @@ -3583,12 +3612,7 @@ public final class VoiceChatController: ViewController { } } - var size = layout.size - if case .regular = layout.metrics.widthClass { - size.width = floor(min(size.width, size.height) * 0.5) - } - - self.titleNode.update(size: CGSize(width: size.width, height: 44.0), title: title, subtitle: subtitle, slide: slide, transition: transition) + self.titleNode.update(size: CGSize(width: self.titleNode.bounds.width, height: 44.0), title: title, subtitle: subtitle, slide: slide, transition: transition) } private func updateButtons(animated: Bool) { @@ -3688,7 +3712,7 @@ public final class VoiceChatController: ViewController { } let transition: ContainedViewLayoutTransition = animated ? .animated(duration: 0.3, curve: .linear) : .immediate - self.cameraButton.update(size: videoButtonSize, content: CallControllerButtonItemNode.Content(appearance: normalButtonAppearance, image: .camera), text: self.presentationData.strings.VoiceChat_Video, transition: transition) + self.cameraButton.update(size: videoButtonSize, content: CallControllerButtonItemNode.Content(appearance: normalButtonAppearance, image: .cameraOff), text: self.presentationData.strings.VoiceChat_Video, transition: transition) self.switchCameraButton.update(size: videoButtonSize, content: CallControllerButtonItemNode.Content(appearance: normalButtonAppearance, image: .flipCamera), text: "", transition: transition) @@ -3709,8 +3733,12 @@ public final class VoiceChatController: ViewController { self.validLayout = (layout, navigationHeight) var size = layout.size + let contentWidth: CGFloat if case .regular = layout.metrics.widthClass { size.width = floor(min(size.width, size.height) * 0.5) + contentWidth = size.width + } else { + contentWidth = isLandscape ? min(530.0, size.width - 210.0) : size.width } let isScheduled = self.isScheduling || self.callState?.scheduleTimestamp != nil @@ -3728,7 +3756,7 @@ public final class VoiceChatController: ViewController { if !self.isFullscreen { self.isExpanded = true self.updateIsFullscreen(true) - self.tileListNode.isHidden = false +// self.tileListNode.isHidden = false } if case .fullscreen = effectiveDisplayMode { } else { @@ -3752,34 +3780,37 @@ public final class VoiceChatController: ViewController { } } } - + + transition.updateFrame(node: self.titleNode, frame: CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - contentWidth) / 2.0), y: 10.0), size: CGSize(width: contentWidth, height: 44.0))) self.updateTitle(transition: transition) - transition.updateFrame(node: self.titleNode, frame: CGRect(origin: CGPoint(x: 0.0, y: 10.0), size: CGSize(width: size.width, height: 44.0))) - transition.updateFrame(node: self.optionsButton, frame: CGRect(origin: CGPoint(x: 20.0, y: 18.0), size: CGSize(width: 28.0, height: 28.0))) - transition.updateFrame(node: self.closeButton, frame: CGRect(origin: CGPoint(x: size.width - 20.0 - 28.0, y: 18.0), size: CGSize(width: 28.0, height: 28.0))) + + transition.updateFrame(node: self.optionsButton, frame: CGRect(origin: CGPoint(x: 20.0 + floorToScreenPixels((size.width - contentWidth) / 2.0), y: 18.0), size: CGSize(width: 28.0, height: 28.0))) + transition.updateFrame(node: self.closeButton, frame: CGRect(origin: CGPoint(x: size.width - floorToScreenPixels((size.width - contentWidth) / 2.0) - 20.0 - 28.0, y: 18.0), size: CGSize(width: 28.0, height: 28.0))) transition.updateFrame(node: self.dimNode, frame: CGRect(origin: CGPoint(), size: layout.size)) transition.updateFrame(node: self.contentContainer, frame: CGRect(origin: CGPoint(x: floorToScreenPixels((layout.size.width - size.width) / 2.0), y: 0.0), size: size)) let layoutTopInset: CGFloat = max(layout.statusBarHeight ?? 0.0, layout.safeInsets.top) let sideInset: CGFloat = 16.0 + var insets = UIEdgeInsets() - insets.left = layout.safeInsets.left + sideInset - insets.right = layout.safeInsets.right + sideInset + insets.left = sideInset + (isLandscape ? 0.0 : layout.safeInsets.left) + insets.right = sideInset + (isLandscape ? 0.0 : layout.safeInsets.right) + + let topEdgeOffset: CGFloat + if let statusBarHeight = layout.statusBarHeight { + topEdgeOffset = statusBarHeight + } else { + topEdgeOffset = 44.0 + } if isLandscape { - transition.updateFrame(node: self.topPanelEdgeNode, frame: CGRect(x: 0.0, y: 0.0, width: size.width, height: 0.0)) + transition.updateFrame(node: self.topPanelEdgeNode, frame: CGRect(x: 0.0, y: -topEdgeOffset, width: size.width, height: topPanelHeight + topEdgeOffset)) } else if let _ = self.panGestureArguments { } else { let topEdgeFrame: CGRect if self.isFullscreen { - let offset: CGFloat - if let statusBarHeight = layout.statusBarHeight { - offset = statusBarHeight - } else { - offset = 44.0 - } - topEdgeFrame = CGRect(x: 0.0, y: -offset, width: size.width, height: topPanelHeight + offset) + topEdgeFrame = CGRect(x: 0.0, y: -topEdgeOffset, width: size.width, height: topPanelHeight + topEdgeOffset) } else { topEdgeFrame = CGRect(x: 0.0, y: 0.0, width: size.width, height: topPanelHeight) } @@ -3790,15 +3821,15 @@ public final class VoiceChatController: ViewController { var listTopInset = layoutTopInset + topPanelHeight var topCornersY = topPanelHeight if isLandscape { - listTopInset = 0.0 - topCornersY = -50.0 + listTopInset = topPanelHeight +// topCornersY = -50.0 } else if self.mainVideoContainerNode != nil && self.isFullscreen { let videoContainerHeight = min(mainVideoHeight, layout.size.width) listTopInset += videoContainerHeight topCornersY += videoContainerHeight } - let listSize = CGSize(width: size.width, height: layout.size.height - listTopInset - bottomPanelHeight) - + + let listSize = CGSize(width: contentWidth, height: layout.size.height - listTopInset - (isLandscape ? layout.intrinsicInsets.bottom : bottomPanelHeight)) let topInset: CGFloat if let (panInitialTopInset, panOffset) = self.panGestureArguments { if self.isExpanded { @@ -3812,7 +3843,7 @@ public final class VoiceChatController: ViewController { topInset = listSize.height - 46.0 - floor(56.0 * 3.5) } - transition.updateFrame(node: self.listNode, frame: CGRect(origin: CGPoint(x: 0.0, y: listTopInset + topInset), size: listSize)) + transition.updateFrame(node: self.listNode, frame: CGRect(origin: CGPoint(x: floorToScreenPixels((size.width - contentWidth) / 2.0), y: listTopInset + topInset), size: listSize)) let (duration, curve) = listViewAnimationDurationAndCurve(transition: transition) self.listNode.transaction(deleteIndices: [], insertIndicesAndItems: [], updateIndicesAndItems: [], options: [.Synchronous, .LowLatency], scrollToItem: nil, updateSizeAndInsets: ListViewUpdateSizeAndInsets(size: listSize, insets: insets, duration: duration, curve: curve), stationaryItemRange: nil, updateOpaqueState: nil, completion: { _ in }) @@ -3845,28 +3876,29 @@ public final class VoiceChatController: ViewController { self.tileListNode.transform = tileListTransform self.tileListNode.transaction(deleteIndices: [], insertIndicesAndItems: [], updateIndicesAndItems: [], options: [.Synchronous, .LowLatency], scrollToItem: nil, updateSizeAndInsets: tileListUpdateSizeAndInsets, stationaryItemRange: nil, updateOpaqueState: nil, completion: { _ in }) - transition.updateFrame(node: self.topCornersNode, frame: CGRect(origin: CGPoint(x: sideInset, y: topCornersY), size: CGSize(width: size.width - sideInset * 2.0, height: 50.0))) + transition.updateFrame(node: self.topCornersNode, frame: CGRect(origin: CGPoint(x: sideInset + floorToScreenPixels((size.width - contentWidth) / 2.0), y: topCornersY), size: CGSize(width: contentWidth - sideInset * 2.0, height: 50.0))) var bottomPanelFrame = CGRect(origin: CGPoint(x: 0.0, y: layout.size.height - bottomPanelHeight), size: CGSize(width: size.width, height: bottomPanelHeight)) let bottomPanelCoverHeight = bottomAreaHeight + layout.intrinsicInsets.bottom let bottomPanelCoverFrame = CGRect(origin: CGPoint(x: 0.0, y: layout.size.height - bottomPanelCoverHeight), size: CGSize(width: size.width, height: bottomPanelCoverHeight)) if isLandscape { - transition.updateAlpha(node: self.closeButton, alpha: 0.0) - transition.updateAlpha(node: self.optionsButton, alpha: 0.0) - transition.updateAlpha(node: self.titleNode, alpha: 0.0) +// transition.updateAlpha(node: self.closeButton, alpha: 0.0) +// transition.updateAlpha(node: self.optionsButton, alpha: 0.0) +// transition.updateAlpha(node: self.titleNode, alpha: 0.0) bottomPanelFrame = CGRect(origin: CGPoint(x: layout.size.width - fullscreenBottomAreaHeight - layout.safeInsets.right, y: 0.0), size: CGSize(width: fullscreenBottomAreaHeight + layout.safeInsets.right, height: layout.size.height)) } else { - transition.updateAlpha(node: self.closeButton, alpha: 1.0) - transition.updateAlpha(node: self.optionsButton, alpha: self.optionsButton.isUserInteractionEnabled ? 1.0 : 0.0) - transition.updateAlpha(node: self.titleNode, alpha: 1.0) +// transition.updateAlpha(node: self.closeButton, alpha: 1.0) +// transition.updateAlpha(node: self.optionsButton, alpha: self.optionsButton.isUserInteractionEnabled ? 1.0 : 0.0) +// transition.updateAlpha(node: self.titleNode, alpha: 1.0) } + transition.updateAlpha(node: self.optionsButton, alpha: self.optionsButton.isUserInteractionEnabled ? 1.0 : 0.0) transition.updateFrame(node: self.bottomPanelCoverNode, frame: bottomPanelCoverFrame) transition.updateFrame(node: self.bottomPanelNode, frame: bottomPanelFrame) if let pickerView = self.pickerView { transition.updateFrame(view: pickerView, frame: CGRect(x: 0.0, y: layout.size.height - bottomPanelHeight - 216.0, width: size.width, height: 216.0)) } - + let timerFrame = CGRect(x: 0.0, y: layout.size.height - bottomPanelHeight - 216.0, width: size.width, height: 216.0) transition.updateFrame(node: self.timerNode, frame: timerFrame) self.timerNode.update(size: timerFrame.size, scheduleTime: self.callState?.scheduleTimestamp, transition: .immediate) @@ -3905,16 +3937,26 @@ public final class VoiceChatController: ViewController { forthButtonFrame = rightButtonFrame case let .fullscreen(controlsHidden): smallButtons = true - let sideInset: CGFloat = 26.0 + if isLandscape { - let spacing = floor((layout.size.height - sideInset * 2.0 - sideButtonSize.height * 4.0) / 3.0) + let sideInset: CGFloat + let buttonsCount: Int + if self.mainVideoContainerNode == nil { + sideInset = 42.0 + buttonsCount = 3 + } else { + sideInset = 26.0 + buttonsCount = 4 + } + let spacing = floor((layout.size.height - sideInset * 2.0 - sideButtonSize.height * CGFloat(buttonsCount)) / (CGFloat(buttonsCount - 1))) let x = controlsHidden ? fullscreenBottomAreaHeight + layout.safeInsets.right + 30.0: floor((fullscreenBottomAreaHeight - sideButtonSize.width) / 2.0) forthButtonFrame = CGRect(origin: CGPoint(x: x, y: sideInset), size: sideButtonSize) let thirdButtonPreFrame = CGRect(origin: CGPoint(x: x, y: sideInset + sideButtonSize.height + spacing), size: sideButtonSize) thirdButtonFrame = CGRect(origin: CGPoint(x: floor(thirdButtonPreFrame.midX - centralButtonSize.width / 2.0), y: floor(thirdButtonPreFrame.midY - centralButtonSize.height / 2.0)), size: centralButtonSize) - secondButtonFrame = CGRect(origin: CGPoint(x: x, y: layout.size.height - sideInset - sideButtonSize.height - spacing - sideButtonSize.height), size: sideButtonSize) + secondButtonFrame = CGRect(origin: CGPoint(x: x, y: thirdButtonPreFrame.maxY + spacing), size: sideButtonSize) firstButtonFrame = CGRect(origin: CGPoint(x: x, y: layout.size.height - sideInset - sideButtonSize.height), size: sideButtonSize) } else { + let sideInset: CGFloat = 26.0 let spacing = floor((layout.size.width - sideInset * 2.0 - sideButtonSize.width * 4.0) / 3.0) let y = controlsHidden ? self.effectiveBottomAreaHeight + layout.intrinsicInsets.bottom + 30.0: floor((self.effectiveBottomAreaHeight - sideButtonSize.height) / 2.0) firstButtonFrame = CGRect(origin: CGPoint(x: sideInset, y: y), size: sideButtonSize) @@ -4047,7 +4089,7 @@ public final class VoiceChatController: ViewController { guard let (layout, navigationHeight) = self.validLayout else { return } - self.updateFloatingHeaderOffset(offset: 0.0, transition: .immediate) + self.updateDecorationsLayout(transition: .immediate) self.animatingAppearance = true @@ -4172,9 +4214,7 @@ public final class VoiceChatController: ViewController { itemsCount -= 1 } itemsHeight += CGFloat(itemsCount) * 56.0 - - let layoutTopInset: CGFloat = max(layout.statusBarHeight ?? 0.0, layout.safeInsets.top) - + let sideInset: CGFloat = 16.0 var insets = UIEdgeInsets() insets.left = layout.safeInsets.left + sideInset @@ -4185,7 +4225,8 @@ public final class VoiceChatController: ViewController { size.width = floor(min(size.width, size.height) * 0.5) } - let bottomPanelHeight = self.effectiveBottomAreaHeight + layout.intrinsicInsets.bottom + let bottomPanelHeight = self.isLandscape ? layout.intrinsicInsets.bottom : self.effectiveBottomAreaHeight + layout.intrinsicInsets.bottom + let layoutTopInset: CGFloat = max(layout.statusBarHeight ?? 0.0, layout.safeInsets.top) let listTopInset = layoutTopInset + topPanelHeight let listSize = CGSize(width: size.width, height: layout.size.height - listTopInset - bottomPanelHeight) @@ -4207,9 +4248,9 @@ public final class VoiceChatController: ViewController { return } if isFirstTime { - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .immediate) + strongSelf.updateDecorationsLayout(transition: .immediate) } else if strongSelf.animatingInsertion { - strongSelf.updateFloatingHeaderOffset(offset: strongSelf.currentContentOffset ?? 0.0, transition: .animated(duration: 0.2, curve: .easeInOut)) + strongSelf.updateDecorationsLayout(transition: .animated(duration: 0.2, curve: .easeInOut)) } strongSelf.animatingInsertion = false if !strongSelf.didSetContentsReady { @@ -4275,12 +4316,7 @@ public final class VoiceChatController: ViewController { entries.append(.invite(self.presentationData.theme, self.presentationData.strings, inviteIsLink ? self.presentationData.strings.VoiceChat_Share : self.presentationData.strings.VoiceChat_InviteMember, inviteIsLink)) } - if let _ = self.effectiveSpeakerWithVideo { - index += 1 - } - var pinnedEntry: ListEntry? - for member in callMembers.0 { if processedPeerIds.contains(member.peer.id) { continue @@ -4339,7 +4375,8 @@ public final class VoiceChatController: ViewController { isMyPeer: self.callState?.myPeerId == member.peer.id, ssrc: member.ssrc, effectiveVideoEndpointId: member.presentationEndpointId ?? member.videoEndpointId, - presence: nil, + hasVideo: member.videoEndpointId != nil, + hasScreencast: member.presentationEndpointId != nil, activityTimestamp: Int32.max - 1 - index, state: memberState, muteState: memberMuteState, @@ -4359,7 +4396,8 @@ public final class VoiceChatController: ViewController { isMyPeer: self.callState?.myPeerId == member.peer.id, ssrc: member.ssrc, effectiveVideoEndpointId: member.presentationEndpointId ?? member.videoEndpointId, - presence: nil, + hasVideo: member.videoEndpointId != nil, + hasScreencast: member.presentationEndpointId != nil, activityTimestamp: Int32.max - 1 - index, state: memberState, muteState: memberMuteState, @@ -4377,11 +4415,12 @@ public final class VoiceChatController: ViewController { if memberPeer.id == self.effectiveSpeakerWithVideo?.0 { pinnedEntry = .peer(PeerEntry( peer: memberPeer, - about: member.about, + about: nil, isMyPeer: self.callState?.myPeerId == member.peer.id, ssrc: member.ssrc, effectiveVideoEndpointId: member.presentationEndpointId ?? member.videoEndpointId, - presence: nil, + hasVideo: false, + hasScreencast: false, activityTimestamp: Int32.max - 1 - index, state: memberState, muteState: memberMuteState, @@ -4408,7 +4447,8 @@ public final class VoiceChatController: ViewController { isMyPeer: false, ssrc: nil, effectiveVideoEndpointId: nil, - presence: nil, + hasVideo: false, + hasScreencast: false, activityTimestamp: Int32.max - 1 - index, state: .invited, muteState: nil, @@ -4467,20 +4507,20 @@ public final class VoiceChatController: ViewController { self.enqueueTileTransition(tileTransition) } - private func updatePinnedParticipant() { + private func updatePinnedParticipant(waitForFullSize: Bool) { let effectivePinnedParticipant = self.currentForcedSpeakerWithVideo ?? self.currentDominantSpeakerWithVideo - guard effectivePinnedParticipant?.0 != self.effectiveSpeakerWithVideo?.0 || effectivePinnedParticipant?.1 != self.effectiveSpeakerWithVideo?.1 else { + guard effectivePinnedParticipant != self.effectiveSpeakerWithVideo?.0 else { return } - if let (peerId, _) = effectivePinnedParticipant { + if let peerId = effectivePinnedParticipant { for entry in self.currentEntries { switch entry { case let .peer(peer): if peer.peer.id == peerId, let endpointId = peer.effectiveVideoEndpointId { self.effectiveSpeakerWithVideo = (peerId, endpointId) self.call.setFullSizeVideo(endpointId: endpointId) - self.mainVideoContainerNode?.updatePeer(peer: (peerId: peerId, endpointId: endpointId), waitForFullSize: false) + self.mainVideoContainerNode?.updatePeer(peer: (peerId: peerId, endpointId: endpointId), waitForFullSize: waitForFullSize) } default: break @@ -4577,7 +4617,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .immediate) - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .immediate) + self.updateDecorationsLayout(transition: .immediate) } if !self.isExpanded { @@ -4625,7 +4665,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + self.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { self.animatingExpansion = false }) } else { @@ -4635,7 +4675,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + self.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { self.animatingExpansion = false }) } @@ -4663,7 +4703,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + self.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { self.animatingExpansion = false }) } else if !isScheduling { @@ -4674,7 +4714,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + self.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { self.animatingExpansion = false }) } @@ -4698,7 +4738,7 @@ public final class VoiceChatController: ViewController { if let (layout, navigationHeight) = self.validLayout { self.containerLayoutUpdated(layout, navigationHeight: navigationHeight, transition: .animated(duration: 0.3, curve: .easeInOut)) } - self.updateFloatingHeaderOffset(offset: self.currentContentOffset ?? 0.0, transition: .animated(duration: 0.3, curve: .easeInOut), completion: { + self.updateDecorationsLayout(transition: .animated(duration: 0.3, curve: .easeInOut), completion: { self.animatingExpansion = false }) default: diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatParticipantItem.swift b/submodules/TelegramCallsUI/Sources/VoiceChatParticipantItem.swift index b4ea1ad777..6b3c03250b 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatParticipantItem.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatParticipantItem.swift @@ -25,10 +25,21 @@ final class VoiceChatParticipantItem: ListViewItem { case tile(isLandscape: Bool) } - enum ParticipantText { - public enum Icon { - case volume - case video + enum ParticipantText: Equatable { + public struct TextIcon: OptionSet { + public var rawValue: Int32 + + public init(rawValue: Int32) { + self.rawValue = rawValue + } + + public init() { + self.rawValue = 0 + } + + public static let volume = TextIcon(rawValue: 1 << 0) + public static let video = TextIcon(rawValue: 1 << 1) + public static let screen = TextIcon(rawValue: 1 << 2) } public enum TextColor { @@ -39,7 +50,7 @@ final class VoiceChatParticipantItem: ListViewItem { } case presence - case text(String, Icon?, TextColor) + case text(String, TextIcon, TextColor) case none } @@ -179,7 +190,7 @@ private let borderImage = generateImage(CGSize(width: tileSize.width, height: ti context.clear(bounds) context.setLineWidth(borderLineWidth) - context.setStrokeColor(accentColor.cgColor) + context.setStrokeColor(constructiveColor.cgColor) context.addPath(UIBezierPath(roundedRect: bounds.insetBy(dx: (borderLineWidth - UIScreenPixel) / 2.0, dy: (borderLineWidth - UIScreenPixel) / 2.0), cornerRadius: backgroundCornerRadius - UIScreenPixel).cgPath) context.strokePath() @@ -196,23 +207,109 @@ private let fadeImage = generateImage(CGSize(width: 1.0, height: 30.0), rotatedC }) private class VoiceChatParticipantStatusNode: ASDisplayNode { - private let iconNode: ASImageNode + private var iconNodes: [ASImageNode] private let textNode: TextNode + private var currentParams: (CGSize, VoiceChatParticipantItem.ParticipantText)? + override init() { - self.iconNode = ASImageNode() - self.iconNode.displaysAsynchronously = false - + self.iconNodes = [] self.textNode = TextNode() + self.textNode.isUserInteractionEnabled = false + self.textNode.contentMode = .left + self.textNode.contentsScale = UIScreen.main.scale super.init() - self.addSubnode(self.iconNode) self.addSubnode(self.textNode) } - func update() { + func asyncLayout() -> (_ size: CGSize, _ text: VoiceChatParticipantItem.ParticipantText, _ transparent: Bool) -> (CGSize, () -> Void) { + let makeTextLayout = TextNode.asyncLayout(self.textNode) + return { size, text, transparent in + let statusFont = Font.regular(14.0) + + var attributedString: NSAttributedString? + var color: UIColor = .white + var hasVolume = false + var hasVideo = false + var hasScreen = false + switch text { + case let .text(text, textIcon, textColor): + hasVolume = textIcon.contains(.volume) + hasVideo = textIcon.contains(.video) + hasScreen = textIcon.contains(.screen) + + var textColorValue: UIColor + switch textColor { + case .generic: + textColorValue = UIColor(rgb: 0x98989e) + case .accent: + textColorValue = accentColor + case .constructive: + textColorValue = constructiveColor + case .destructive: + textColorValue = destructiveColor + } + if transparent { + textColorValue = UIColor(rgb: 0xffffff, alpha: 0.65) + } + color = textColorValue + attributedString = NSAttributedString(string: text, font: statusFont, textColor: textColorValue) + default: + break + } + + let iconSize = CGSize(width: 16.0, height: 16.0) + let spacing: CGFloat = 3.0 + + var icons: [UIImage] = [] + if hasVolume, let image = generateTintedImage(image: UIImage(bundleImageName: "Call/StatusVolume"), color: color) { + icons.append(image) + } + if hasVideo, let image = generateTintedImage(image: UIImage(bundleImageName: "Call/StatusVideo"), color: color) { + icons.append(image) + } + if hasScreen, let image = generateTintedImage(image: UIImage(bundleImageName: "Call/StatusScreen"), color: color) { + icons.append(image) + } + + let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: attributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: size.width - (iconSize.width + spacing) * CGFloat(icons.count), height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) + var contentSize = textLayout.size + contentSize.width += (iconSize.width + spacing) * CGFloat(icons.count) + + return (contentSize, { [weak self] in + guard let strongSelf = self else { + return + } + + strongSelf.currentParams = (size, text) + + for i in 0 ..< icons.count { + let iconNode: ASImageNode + if strongSelf.iconNodes.count >= i + 1 { + iconNode = strongSelf.iconNodes[i] + } else { + iconNode = ASImageNode() + strongSelf.addSubnode(iconNode) + strongSelf.iconNodes.append(iconNode) + } + iconNode.frame = CGRect(origin: CGPoint(x: (iconSize.width + spacing) * CGFloat(i), y: 0.0), size: iconSize) + + iconNode.image = icons[i] + } + if strongSelf.iconNodes.count > icons.count { + for i in icons.count ..< strongSelf.iconNodes.count { + strongSelf.iconNodes[i].image = nil + } + } + + + let _ = textApply() + strongSelf.textNode.frame = CGRect(origin: CGPoint(x: (iconSize.width + spacing) * CGFloat(icons.count), y: 0.0), size: textLayout.size) + }) + } } } @@ -237,9 +334,8 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { private let pinIconNode: ASImageNode private let contentWrapperNode: ASDisplayNode private let titleNode: TextNode - private let statusIconNode: ASImageNode - private let statusNode: TextNode - private let expandedStatusNode: TextNode + private let statusNode: VoiceChatParticipantStatusNode + private let expandedStatusNode: VoiceChatParticipantStatusNode private var credibilityIconNode: ASImageNode? private var avatarTransitionNode: ASImageNode? @@ -332,18 +428,11 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { self.titleNode.contentMode = .left self.titleNode.contentsScale = UIScreen.main.scale - self.statusIconNode = ASImageNode() - self.statusIconNode.displaysAsynchronously = false - - self.statusNode = TextNode() + self.statusNode = VoiceChatParticipantStatusNode() self.statusNode.isUserInteractionEnabled = false - self.statusNode.contentMode = .left - self.statusNode.contentsScale = UIScreen.main.scale - self.expandedStatusNode = TextNode() + self.expandedStatusNode = VoiceChatParticipantStatusNode() self.expandedStatusNode.isUserInteractionEnabled = false - self.expandedStatusNode.contentMode = .left - self.expandedStatusNode.contentsScale = UIScreen.main.scale self.expandedStatusNode.alpha = 0.0 self.actionContainerNode = ASDisplayNode() @@ -366,7 +455,6 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { self.offsetContainerNode.addSubnode(self.videoContainerNode) self.offsetContainerNode.addSubnode(self.contentWrapperNode) self.contentWrapperNode.addSubnode(self.titleNode) - self.contentWrapperNode.addSubnode(self.statusIconNode) self.contentWrapperNode.addSubnode(self.statusNode) self.contentWrapperNode.addSubnode(self.expandedStatusNode) self.contentWrapperNode.addSubnode(self.actionContainerNode) @@ -877,8 +965,8 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { func asyncLayout() -> (_ item: VoiceChatParticipantItem, _ params: ListViewItemLayoutParams, _ first: Bool, _ last: Bool) -> (ListViewItemNodeLayout, (Bool, Bool) -> Void) { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) - let makeStatusLayout = TextNode.asyncLayout(self.statusNode) - let makeExpandedStatusLayout = TextNode.asyncLayout(self.expandedStatusNode) + let makeStatusLayout = self.statusNode.asyncLayout() + let makeExpandedStatusLayout = self.expandedStatusNode.asyncLayout() var currentDisabledOverlayNode = self.disabledOverlayNode let currentItem = self.layoutParams?.0 @@ -891,11 +979,8 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { } var titleFont = item.style == .list ? Font.regular(17.0) : Font.regular(12.0) - let statusFont = Font.regular(14.0) var titleAttributedString: NSAttributedString? - var statusAttributedString: NSAttributedString? - var expandedStatusAttributedString: NSAttributedString? let rightInset: CGFloat = params.rightInset @@ -960,60 +1045,15 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { } var wavesColor = UIColor(rgb: 0x34c759) - switch item.text { - case .presence: - if let user = item.peer as? TelegramUser, let botInfo = user.botInfo { - let botStatus: String - if botInfo.flags.contains(.hasAccessToChatHistory) { - botStatus = item.presentationData.strings.Bot_GroupStatusReadsHistory - } else { - botStatus = item.presentationData.strings.Bot_GroupStatusDoesNotReadHistory - } - statusAttributedString = NSAttributedString(string: botStatus, font: statusFont, textColor: item.presentationData.theme.list.itemSecondaryTextColor) - } else if let presence = item.presence as? TelegramUserPresence { - let timestamp = CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970 - let (string, _) = stringAndActivityForUserPresence(strings: item.presentationData.strings, dateTimeFormat: item.dateTimeFormat, presence: presence, relativeTo: Int32(timestamp)) - statusAttributedString = NSAttributedString(string: string, font: statusFont, textColor: item.presentationData.theme.list.itemSecondaryTextColor) - } else { - statusAttributedString = NSAttributedString(string: item.presentationData.strings.LastSeen_Offline, font: statusFont, textColor: item.presentationData.theme.list.itemSecondaryTextColor) - } - case let .text(text, textIcon, textColor): - var textColorValue: UIColor - switch textColor { - case .generic: - textColorValue = item.presentationData.theme.list.itemSecondaryTextColor - case .accent: - textColorValue = item.presentationData.theme.list.itemAccentColor - wavesColor = textColorValue - case .constructive: - textColorValue = constructiveColor - case .destructive: - textColorValue = destructiveColor - wavesColor = textColorValue - } - if item.transparent && item.style == .list { - textColorValue = UIColor(rgb: 0xffffff, alpha: 0.65) - } - statusAttributedString = NSAttributedString(string: text, font: statusFont, textColor: textColorValue) - case .none: - break - } - - if let expandedText = item.expandedText, case let .text(text, _, textColor) = expandedText { - let textColorValue: UIColor + if case let .text(_, _, textColor) = item.text { switch textColor { - case .generic: - textColorValue = item.presentationData.theme.list.itemSecondaryTextColor - case .accent: - textColorValue = item.presentationData.theme.list.itemAccentColor - case .constructive: - textColorValue = constructiveColor - case .destructive: - textColorValue = destructiveColor + case .accent: + wavesColor = accentColor + case .destructive: + wavesColor = destructiveColor + default: + break } - expandedStatusAttributedString = NSAttributedString(string: text, font: statusFont, textColor: textColorValue) - } else { - expandedStatusAttributedString = statusAttributedString } let leftInset: CGFloat = 58.0 + params.leftInset @@ -1051,13 +1091,14 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { constrainedWidth = params.width - 24.0 - 10.0 } let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: titleAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: constrainedWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let (statusLayout, statusApply) = makeStatusLayout(TextNodeLayoutArguments(attributedString: statusAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - rightInset - 30.0, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let (expandedStatusLayout, expandedStatusApply) = makeExpandedStatusLayout(TextNodeLayoutArguments(attributedString: expandedStatusAttributedString, backgroundColor: nil, maximumNumberOfLines: 6, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - rightInset - expandedRightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let titleSpacing: CGFloat = statusLayout.size.height == 0.0 ? 0.0 : 1.0 + let (statusLayout, statusApply) = makeStatusLayout(CGSize(width: params.width - leftInset - 8.0 - rightInset - 30.0, height: CGFloat.greatestFiniteMagnitude), item.text, item.transparent && item.style == .list) + let (expandedStatusLayout, expandedStatusApply) = makeExpandedStatusLayout(CGSize(width: params.width - leftInset - 8.0 - rightInset - expandedRightInset, height: CGFloat.greatestFiniteMagnitude), item.expandedText ?? item.text, false) + + let titleSpacing: CGFloat = statusLayout.height == 0.0 ? 0.0 : 1.0 let minHeight: CGFloat = titleLayout.size.height + verticalInset * 2.0 - let rawHeight: CGFloat = verticalInset * 2.0 + titleLayout.size.height + titleSpacing + statusLayout.size.height + let rawHeight: CGFloat = verticalInset * 2.0 + titleLayout.size.height + titleSpacing + statusLayout.height let contentSize: CGSize let insets: UIEdgeInsets @@ -1122,6 +1163,7 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { return (layout, { [weak self] synchronousLoad, animated in if let strongSelf = self { + var hadItem = strongSelf.layoutParams?.0 != nil strongSelf.layoutParams = (item, params, first, last) strongSelf.currentTitle = titleAttributedString?.string strongSelf.wavesColor = wavesColor @@ -1167,7 +1209,7 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { } var extractedRect = CGRect(origin: CGPoint(), size: layout.contentSize).insetBy(dx: 16.0 + params.leftInset, dy: 0.0) - var extractedHeight = extractedRect.height + expandedStatusLayout.size.height - statusLayout.size.height + var extractedHeight = extractedRect.height + expandedStatusLayout.height - statusLayout.height var extractedVerticalOffset: CGFloat = 0.0 if item.peer.smallProfileImage != nil || strongSelf.videoNode != nil { extractedVerticalOffset = extractedRect.width @@ -1209,9 +1251,9 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { strongSelf.accessibilityLabel = titleAttributedString?.string var combinedValueString = "" - if let statusString = statusAttributedString?.string, !statusString.isEmpty { - combinedValueString.append(statusString) - } +// if let statusString = statusAttributedString?.string, !statusString.isEmpty { +// combinedValueString.append(statusString) +// } strongSelf.accessibilityValue = combinedValueString @@ -1222,8 +1264,8 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { } let transition: ContainedViewLayoutTransition - if animated { - transition = ContainedViewLayoutTransition.animated(duration: 0.4, curve: .spring) + if animated && hadItem { + transition = ContainedViewLayoutTransition.animated(duration: 0.3, curve: .easeInOut) } else { transition = .immediate } @@ -1293,8 +1335,8 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode { transition.updateFrame(node: strongSelf.bottomStripeNode, frame: CGRect(origin: CGPoint(x: leftInset, y: contentSize.height + -separatorHeight), size: CGSize(width: layoutSize.width - leftInset, height: separatorHeight))) transition.updateFrame(node: strongSelf.titleNode, frame: titleFrame) - transition.updateFrame(node: strongSelf.statusNode, frame: CGRect(origin: CGPoint(x: leftInset, y: strongSelf.titleNode.frame.maxY + titleSpacing), size: statusLayout.size)) - transition.updateFrame(node: strongSelf.expandedStatusNode, frame: CGRect(origin: CGPoint(x: leftInset, y: strongSelf.titleNode.frame.maxY + titleSpacing), size: expandedStatusLayout.size)) + transition.updateFrame(node: strongSelf.statusNode, frame: CGRect(origin: CGPoint(x: leftInset, y: strongSelf.titleNode.frame.maxY + titleSpacing), size: statusLayout)) + transition.updateFrame(node: strongSelf.expandedStatusNode, frame: CGRect(origin: CGPoint(x: leftInset, y: strongSelf.titleNode.frame.maxY + titleSpacing), size: expandedStatusLayout)) if let currentCredibilityIconImage = currentCredibilityIconImage { let iconNode: ASImageNode diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatTitleNode.swift b/submodules/TelegramCallsUI/Sources/VoiceChatTitleNode.swift index 853a0128e5..5d2569a4d3 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatTitleNode.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatTitleNode.swift @@ -66,6 +66,9 @@ final class VoiceChatTitleNode: ASDisplayNode { } func update(size: CGSize, title: String, subtitle: String, slide: Bool, transition: ContainedViewLayoutTransition) { + guard !size.width.isZero else { + return + } var titleUpdated = false if let previousTitle = self.titleNode.attributedText?.string { titleUpdated = previousTitle != title diff --git a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift index 7c29db19bf..865477bcff 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift @@ -428,3143 +428,3143 @@ public final class PresentationStrings: Equatable { public var AccessDenied_LocationDenied: String { return self._s[211]! } public var Share_AuthTitle: String { return self._s[212]! } public var Month_ShortAugust: String { return self._s[213]! } - public var VoiceChat_VideoPreviewShare: String { return self._s[214]! } public func Notification_PinnedDeletedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[215]!, self._r[215]!, [_0]) + return formatWithArgumentRanges(self._s[214]!, self._r[214]!, [_0]) } - public var Channel_BanUser_PermissionSendMedia: String { return self._s[216]! } - public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[217]! } + public var Channel_BanUser_PermissionSendMedia: String { return self._s[215]! } + public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[216]! } public func PUSH_CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[218]!, self._r[218]!, [_1]) + return formatWithArgumentRanges(self._s[217]!, self._r[217]!, [_1]) } - public var WallpaperSearch_ColorTitle: String { return self._s[220]! } - public var Wallpaper_Search: String { return self._s[221]! } - public var ClearCache_StorageUsage: String { return self._s[222]! } - public var CreatePoll_TextPlaceholder: String { return self._s[223]! } - public var Conversation_EditingMessagePanelTitle: String { return self._s[224]! } - public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[225]! } - public var OldChannels_NoticeCreateText: String { return self._s[226]! } - public var ProfilePhoto_MainVideo: String { return self._s[227]! } - public var VoiceChat_StatusListening: String { return self._s[228]! } - public var InviteLink_DeleteLinkAlert_Text: String { return self._s[229]! } - public var UserInfo_NotificationsDisabled: String { return self._s[230]! } - public var Map_Unknown: String { return self._s[231]! } - public var Notifications_MessageNotificationsAlert: String { return self._s[232]! } - public var Conversation_StopQuiz: String { return self._s[233]! } - public var Checkout_LiabilityAlertTitle: String { return self._s[234]! } + public var WallpaperSearch_ColorTitle: String { return self._s[219]! } + public var Wallpaper_Search: String { return self._s[220]! } + public var ClearCache_StorageUsage: String { return self._s[221]! } + public var CreatePoll_TextPlaceholder: String { return self._s[222]! } + public var Conversation_EditingMessagePanelTitle: String { return self._s[223]! } + public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[224]! } + public var OldChannels_NoticeCreateText: String { return self._s[225]! } + public var ProfilePhoto_MainVideo: String { return self._s[226]! } + public var VoiceChat_StatusListening: String { return self._s[227]! } + public var InviteLink_DeleteLinkAlert_Text: String { return self._s[228]! } + public var UserInfo_NotificationsDisabled: String { return self._s[229]! } + public var Map_Unknown: String { return self._s[230]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[231]! } + public var Conversation_StopQuiz: String { return self._s[232]! } + public var Checkout_LiabilityAlertTitle: String { return self._s[233]! } public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[235]!, self._r[235]!, [_0]) + return formatWithArgumentRanges(self._s[234]!, self._r[234]!, [_0]) } - public var CreatePoll_OptionPlaceholder: String { return self._s[236]! } - public var Conversation_RestrictedStickers: String { return self._s[237]! } - public var MemberSearch_BotSection: String { return self._s[239]! } - public var Channel_Management_AddModeratorHelp: String { return self._s[241]! } - public var Widget_ShortcutsGalleryDescription: String { return self._s[242]! } - public var MaskStickerSettings_Title: String { return self._s[243]! } - public var ShareMenu_Comment: String { return self._s[244]! } - public var GroupInfo_Notifications: String { return self._s[245]! } - public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[246]! } + public var CreatePoll_OptionPlaceholder: String { return self._s[235]! } + public var Conversation_RestrictedStickers: String { return self._s[236]! } + public var MemberSearch_BotSection: String { return self._s[238]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[240]! } + public var Widget_ShortcutsGalleryDescription: String { return self._s[241]! } + public var MaskStickerSettings_Title: String { return self._s[242]! } + public var ShareMenu_Comment: String { return self._s[243]! } + public var GroupInfo_Notifications: String { return self._s[244]! } + public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[245]! } public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[247]!, self._r[247]!, [_0]) + return formatWithArgumentRanges(self._s[246]!, self._r[246]!, [_0]) } - public var Conversation_ContextMenuCopyLink: String { return self._s[248]! } - public var VoiceChat_MutedHelp: String { return self._s[251]! } - public var ChatListFolder_CategoryMuted: String { return self._s[252]! } - public var TwoStepAuth_AddHintDescription: String { return self._s[253]! } + public var Conversation_ContextMenuCopyLink: String { return self._s[247]! } + public var VoiceChat_MutedHelp: String { return self._s[250]! } + public var ChatListFolder_CategoryMuted: String { return self._s[251]! } + public var TwoStepAuth_AddHintDescription: String { return self._s[252]! } public func VoiceOver_Chat_Duration(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[254]!, self._r[254]!, [_0]) + return formatWithArgumentRanges(self._s[253]!, self._r[253]!, [_0]) } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[255]! } - public var BroadcastGroups_LimitAlert_SettingsTip: String { return self._s[256]! } - public var Contacts_SortByPresence: String { return self._s[257]! } - public var Watch_Location_Access: String { return self._s[258]! } - public var WallpaperPreview_CustomColorTopText: String { return self._s[259]! } - public var Passport_Address_TypeBankStatement: String { return self._s[260]! } - public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[261]! } - public var Conversation_ClearPrivateHistory: String { return self._s[262]! } - public var ChatList_Mute: String { return self._s[265]! } - public var Channel_AdminLog_CanDeleteMessagesOfOthers: String { return self._s[266]! } - public var Stats_PostsTitle: String { return self._s[267]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[254]! } + public var BroadcastGroups_LimitAlert_SettingsTip: String { return self._s[255]! } + public var Contacts_SortByPresence: String { return self._s[256]! } + public var Watch_Location_Access: String { return self._s[257]! } + public var WallpaperPreview_CustomColorTopText: String { return self._s[258]! } + public var Passport_Address_TypeBankStatement: String { return self._s[259]! } + public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[260]! } + public var Conversation_ClearPrivateHistory: String { return self._s[261]! } + public var ChatList_Mute: String { return self._s[264]! } + public var Channel_AdminLog_CanDeleteMessagesOfOthers: String { return self._s[265]! } + public var Stats_PostsTitle: String { return self._s[266]! } public func Conversation_AutoremoveTimerSetGroup(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[268]!, self._r[268]!, [_1]) + return formatWithArgumentRanges(self._s[267]!, self._r[267]!, [_1]) } - public var Paint_Masks: String { return self._s[270]! } - public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[273]! } - public var Chat_AttachmentLimitReached: String { return self._s[274]! } - public var StickerPackActionInfo_ArchivedTitle: String { return self._s[275]! } - public var Watch_Stickers_StickerPacks: String { return self._s[277]! } - public var Channel_Setup_Title: String { return self._s[278]! } - public var GroupInfo_Administrators: String { return self._s[279]! } - public var InviteLink_PublicLink: String { return self._s[280]! } - public var InviteLink_DeleteLinkAlert_Action: String { return self._s[282]! } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[283]! } - public var Conversation_ContextMenuDiscuss: String { return self._s[284]! } - public var StickerPack_BuiltinPackName: String { return self._s[285]! } - public var Conversation_GreetingText: String { return self._s[287]! } - public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[289]! } - public var Checkout_ShippingMethod: String { return self._s[291]! } - public var ClearCache_FreeSpace: String { return self._s[292]! } - public var EditTheme_Expand_Preview_IncomingReplyText: String { return self._s[293]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[296]! } + public var Paint_Masks: String { return self._s[269]! } + public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[272]! } + public var Chat_AttachmentLimitReached: String { return self._s[273]! } + public var StickerPackActionInfo_ArchivedTitle: String { return self._s[274]! } + public var Watch_Stickers_StickerPacks: String { return self._s[276]! } + public var Channel_Setup_Title: String { return self._s[277]! } + public var GroupInfo_Administrators: String { return self._s[278]! } + public var InviteLink_PublicLink: String { return self._s[279]! } + public var InviteLink_DeleteLinkAlert_Action: String { return self._s[281]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[282]! } + public var Conversation_ContextMenuDiscuss: String { return self._s[283]! } + public var StickerPack_BuiltinPackName: String { return self._s[284]! } + public var Conversation_GreetingText: String { return self._s[286]! } + public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[288]! } + public var Checkout_ShippingMethod: String { return self._s[290]! } + public var ClearCache_FreeSpace: String { return self._s[291]! } + public var EditTheme_Expand_Preview_IncomingReplyText: String { return self._s[292]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[295]! } public func TwoStepAuth_ConfirmEmailDescription(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[297]!, self._r[297]!, [_1]) + return formatWithArgumentRanges(self._s[296]!, self._r[296]!, [_1]) } - public var Conversation_typing: String { return self._s[298]! } + public var Conversation_typing: String { return self._s[297]! } public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[300]!, self._r[300]!, [_0]) + return formatWithArgumentRanges(self._s[299]!, self._r[299]!, [_0]) } - public var WebSearch_RecentSectionTitle: String { return self._s[301]! } - public var VoiceChat_EndConfirmationTitle: String { return self._s[302]! } - public var VoiceChat_TapToAddPhoto: String { return self._s[303]! } - public var ChatList_UnhideAction: String { return self._s[305]! } - public var PasscodeSettings_6DigitCode: String { return self._s[306]! } - public var CallFeedback_AddComment: String { return self._s[307]! } - public var LoginPassword_PasswordHelp: String { return self._s[308]! } - public var Call_Flip: String { return self._s[309]! } - public var Weekday_ShortWednesday: String { return self._s[311]! } - public var VoiceOver_Chat_PollFinalResults: String { return self._s[312]! } - public var ScheduleVoiceChat_Title: String { return self._s[313]! } - public var PeerInfo_ButtonAddMember: String { return self._s[314]! } - public var Call_Decline: String { return self._s[316]! } - public var VoiceChat_InviteMemberToGroupFirstAdd: String { return self._s[317]! } - public var Join_ChannelsTooMuch: String { return self._s[319]! } + public var WebSearch_RecentSectionTitle: String { return self._s[300]! } + public var VoiceChat_EndConfirmationTitle: String { return self._s[301]! } + public var VoiceChat_TapToAddPhoto: String { return self._s[302]! } + public var ChatList_UnhideAction: String { return self._s[304]! } + public var PasscodeSettings_6DigitCode: String { return self._s[305]! } + public var CallFeedback_AddComment: String { return self._s[306]! } + public var LoginPassword_PasswordHelp: String { return self._s[307]! } + public var Call_Flip: String { return self._s[308]! } + public var Weekday_ShortWednesday: String { return self._s[310]! } + public var VoiceOver_Chat_PollFinalResults: String { return self._s[311]! } + public var ScheduleVoiceChat_Title: String { return self._s[312]! } + public var PeerInfo_ButtonAddMember: String { return self._s[313]! } + public var Call_Decline: String { return self._s[315]! } + public var VoiceChat_InviteMemberToGroupFirstAdd: String { return self._s[316]! } + public var Join_ChannelsTooMuch: String { return self._s[318]! } public func PUSH_CHANNEL_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[320]!, self._r[320]!, [_1]) + return formatWithArgumentRanges(self._s[319]!, self._r[319]!, [_1]) } - public var Passport_Identity_Selfie: String { return self._s[321]! } - public var Privacy_ContactsTitle: String { return self._s[322]! } - public var GroupInfo_InviteLink_Title: String { return self._s[324]! } - public var TwoFactorSetup_Password_PlaceholderPassword: String { return self._s[325]! } + public var Passport_Identity_Selfie: String { return self._s[320]! } + public var Privacy_ContactsTitle: String { return self._s[321]! } + public var GroupInfo_InviteLink_Title: String { return self._s[323]! } + public var TwoFactorSetup_Password_PlaceholderPassword: String { return self._s[324]! } public func Channel_AdminLog_UpdatedParticipantVolume(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[326]!, self._r[326]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[325]!, self._r[325]!, [_1, _2, _3]) } - public var Conversation_OpenFile: String { return self._s[328]! } - public var Map_SetThisPlace: String { return self._s[329]! } - public var Channel_Info_Management: String { return self._s[330]! } - public var Passport_Language_hr: String { return self._s[331]! } - public var VoiceChat_Title: String { return self._s[332]! } - public var EditTheme_Edit_Preview_IncomingText: String { return self._s[336]! } - public var VoiceChat_EditBioSave: String { return self._s[337]! } - public var OpenFile_Proceed: String { return self._s[338]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[340]! } - public var GroupInfo_Permissions_SlowmodeValue_Off: String { return self._s[341]! } - public var Privacy_Calls_P2PContacts: String { return self._s[342]! } - public var Appearance_PickAccentColor: String { return self._s[343]! } - public var MediaPicker_TapToUngroupDescription: String { return self._s[344]! } - public var Localization_EnglishLanguageName: String { return self._s[345]! } - public var Stickers_SuggestStickers: String { return self._s[346]! } - public var Passport_Language_ko: String { return self._s[347]! } - public var Settings_ProxyDisabled: String { return self._s[348]! } - public var PrivacySettings_PasscodeOff: String { return self._s[349]! } - public var Undo_LeftChannel: String { return self._s[350]! } - public var Appearance_AutoNightThemeDisabled: String { return self._s[351]! } - public var TextFormat_Bold: String { return self._s[352]! } - public var Login_InfoTitle: String { return self._s[353]! } - public var Channel_BanUser_PermissionSendPolls: String { return self._s[354]! } - public var Settings_AddAnotherAccount: String { return self._s[355]! } - public var GroupPermission_NewTitle: String { return self._s[356]! } - public var Login_SelectCountry_Title: String { return self._s[357]! } - public var Cache_ServiceFiles: String { return self._s[358]! } + public var Conversation_OpenFile: String { return self._s[327]! } + public var Map_SetThisPlace: String { return self._s[328]! } + public var Channel_Info_Management: String { return self._s[329]! } + public var Passport_Language_hr: String { return self._s[330]! } + public var VoiceChat_Title: String { return self._s[331]! } + public var EditTheme_Edit_Preview_IncomingText: String { return self._s[335]! } + public var VoiceChat_EditBioSave: String { return self._s[336]! } + public var OpenFile_Proceed: String { return self._s[337]! } + public var Conversation_SecretChatContextBotAlert: String { return self._s[339]! } + public var GroupInfo_Permissions_SlowmodeValue_Off: String { return self._s[340]! } + public var Privacy_Calls_P2PContacts: String { return self._s[341]! } + public var Appearance_PickAccentColor: String { return self._s[342]! } + public var MediaPicker_TapToUngroupDescription: String { return self._s[343]! } + public var Localization_EnglishLanguageName: String { return self._s[344]! } + public var Stickers_SuggestStickers: String { return self._s[345]! } + public var Passport_Language_ko: String { return self._s[346]! } + public var Settings_ProxyDisabled: String { return self._s[347]! } + public var PrivacySettings_PasscodeOff: String { return self._s[348]! } + public var Undo_LeftChannel: String { return self._s[349]! } + public var Appearance_AutoNightThemeDisabled: String { return self._s[350]! } + public var TextFormat_Bold: String { return self._s[351]! } + public var Login_InfoTitle: String { return self._s[352]! } + public var Channel_BanUser_PermissionSendPolls: String { return self._s[353]! } + public var Settings_AddAnotherAccount: String { return self._s[354]! } + public var GroupPermission_NewTitle: String { return self._s[355]! } + public var Login_SelectCountry_Title: String { return self._s[356]! } + public var Cache_ServiceFiles: String { return self._s[357]! } public func AutoremoveSetup_TimerValueAfter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[359]!, self._r[359]!, [_0]) + return formatWithArgumentRanges(self._s[358]!, self._r[358]!, [_0]) } - public var Passport_Language_nl: String { return self._s[360]! } - public var Contacts_TopSection: String { return self._s[361]! } - public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[362]! } - public var VoiceChat_StatusInvited: String { return self._s[364]! } - public var Conversation_ContextMenuReport: String { return self._s[365]! } + public var Passport_Language_nl: String { return self._s[359]! } + public var Contacts_TopSection: String { return self._s[360]! } + public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[361]! } + public var VoiceChat_StatusInvited: String { return self._s[363]! } + public var Conversation_ContextMenuReport: String { return self._s[364]! } public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[366]!, self._r[366]!, [_0]) + return formatWithArgumentRanges(self._s[365]!, self._r[365]!, [_0]) } - public var Conversation_Search: String { return self._s[367]! } - public var Group_Setup_HistoryVisibleHelp: String { return self._s[369]! } - public var ReportPeer_AlertSuccess: String { return self._s[371]! } - public var AutoNightTheme_Title: String { return self._s[373]! } + public var Conversation_Search: String { return self._s[366]! } + public var Group_Setup_HistoryVisibleHelp: String { return self._s[368]! } + public var ReportPeer_AlertSuccess: String { return self._s[370]! } + public var AutoNightTheme_Title: String { return self._s[372]! } public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[375]!, self._r[375]!, [_0, _1]) + return formatWithArgumentRanges(self._s[374]!, self._r[374]!, [_0, _1]) } public func Conversation_OpenBotLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[376]!, self._r[376]!, [_0]) + return formatWithArgumentRanges(self._s[375]!, self._r[375]!, [_0]) } - public var Conversation_ShareBotContactConfirmation: String { return self._s[377]! } - public var TwoStepAuth_RecoveryCode: String { return self._s[378]! } - public var GroupInfo_Permissions_BroadcastTitle: String { return self._s[379]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[380]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[376]! } + public var TwoStepAuth_RecoveryCode: String { return self._s[377]! } + public var GroupInfo_Permissions_BroadcastTitle: String { return self._s[378]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[379]! } public func MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[381]!, self._r[381]!, [_1, _2]) + return formatWithArgumentRanges(self._s[380]!, self._r[380]!, [_1, _2]) } public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[382]!, self._r[382]!, [_0]) + return formatWithArgumentRanges(self._s[381]!, self._r[381]!, [_0]) } public func BroadcastGroups_LimitAlert_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[383]!, self._r[383]!, [_0]) + return formatWithArgumentRanges(self._s[382]!, self._r[382]!, [_0]) } - public var Replies_BlockAndDeleteRepliesActionTitle: String { return self._s[385]! } + public var Replies_BlockAndDeleteRepliesActionTitle: String { return self._s[384]! } public func Notification_GroupInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[386]!, self._r[386]!, [_0]) + return formatWithArgumentRanges(self._s[385]!, self._r[385]!, [_0]) } - public var VoiceChat_CopyInviteLink: String { return self._s[387]! } - public var Conversation_InfoGroup: String { return self._s[388]! } + public var VoiceChat_CopyInviteLink: String { return self._s[386]! } + public var Conversation_InfoGroup: String { return self._s[387]! } public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[390]!, self._r[390]!, [_0]) + return formatWithArgumentRanges(self._s[389]!, self._r[389]!, [_0]) } - public var Conversation_ChatBackground: String { return self._s[391]! } - public var PhotoEditor_Set: String { return self._s[392]! } + public var Conversation_ChatBackground: String { return self._s[390]! } + public var PhotoEditor_Set: String { return self._s[391]! } public func Channel_Management_PromotedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[394]!, self._r[394]!, [_0]) + return formatWithArgumentRanges(self._s[393]!, self._r[393]!, [_0]) } - public var IntentsSettings_SuggestedChatsContacts: String { return self._s[395]! } - public var Passport_Phone_Title: String { return self._s[397]! } - public var Conversation_EditingMessageMediaChange: String { return self._s[398]! } - public var Channel_LinkItem: String { return self._s[399]! } - public var VoiceChat_EndConfirmationText: String { return self._s[400]! } + public var IntentsSettings_SuggestedChatsContacts: String { return self._s[394]! } + public var Passport_Phone_Title: String { return self._s[396]! } + public var Conversation_EditingMessageMediaChange: String { return self._s[397]! } + public var Channel_LinkItem: String { return self._s[398]! } + public var VoiceChat_EndConfirmationText: String { return self._s[399]! } public func PUSH_CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[401]!, self._r[401]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[400]!, self._r[400]!, [_1, _2, _3]) } - public var Conversation_DeleteManyMessages: String { return self._s[403]! } - public var Notifications_Badge_IncludeMutedChats: String { return self._s[404]! } - public var Channel_AddUserLeftError: String { return self._s[406]! } - public var AuthSessions_AddedDeviceTitle: String { return self._s[408]! } - public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[409]! } - public var Settings_ProxyConnecting: String { return self._s[410]! } - public var Theme_Colors_Accent: String { return self._s[412]! } - public var Theme_Colors_ColorWallpaperWarning: String { return self._s[413]! } + public var Conversation_DeleteManyMessages: String { return self._s[402]! } + public var Notifications_Badge_IncludeMutedChats: String { return self._s[403]! } + public var Channel_AddUserLeftError: String { return self._s[405]! } + public var AuthSessions_AddedDeviceTitle: String { return self._s[407]! } + public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[408]! } + public var Settings_ProxyConnecting: String { return self._s[409]! } + public var Theme_Colors_Accent: String { return self._s[411]! } + public var Theme_Colors_ColorWallpaperWarning: String { return self._s[412]! } public func PUSH_PHONE_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[415]!, self._r[415]!, [_1]) + return formatWithArgumentRanges(self._s[414]!, self._r[414]!, [_1]) } - public var Passport_Language_lo: String { return self._s[416]! } + public var Passport_Language_lo: String { return self._s[415]! } public func Watch_Time_ShortWeekdayAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[418]!, self._r[418]!, [_1, _2]) + return formatWithArgumentRanges(self._s[417]!, self._r[417]!, [_1, _2]) } - public var Permissions_NotificationsText_v0: String { return self._s[419]! } - public var BroadcastGroups_LimitAlert_Title: String { return self._s[420]! } - public var ChatList_Context_RemoveFromRecents: String { return self._s[421]! } - public var Watch_GroupInfo_Title: String { return self._s[422]! } - public var Settings_AddDevice: String { return self._s[424]! } - public var WallpaperPreview_SwipeColorsTopText: String { return self._s[425]! } + public var Permissions_NotificationsText_v0: String { return self._s[418]! } + public var BroadcastGroups_LimitAlert_Title: String { return self._s[419]! } + public var ChatList_Context_RemoveFromRecents: String { return self._s[420]! } + public var Watch_GroupInfo_Title: String { return self._s[421]! } + public var Settings_AddDevice: String { return self._s[423]! } + public var WallpaperPreview_SwipeColorsTopText: String { return self._s[424]! } public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[426]!, self._r[426]!, [_1]) + return formatWithArgumentRanges(self._s[425]!, self._r[425]!, [_1]) } - public var Conversation_AutoremoveActionEdit: String { return self._s[427]! } - public var TwoStepAuth_Disable: String { return self._s[429]! } + public var Conversation_AutoremoveActionEdit: String { return self._s[426]! } + public var TwoStepAuth_Disable: String { return self._s[428]! } public func Conversation_AddNameToContacts(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[430]!, self._r[430]!, [_0]) + return formatWithArgumentRanges(self._s[429]!, self._r[429]!, [_0]) } public func Time_PreciseDate_m10(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[431]!, self._r[431]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[430]!, self._r[430]!, [_1, _2, _3]) } public func Login_WillSendSms(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[432]!, self._r[432]!, [_0]) + return formatWithArgumentRanges(self._s[431]!, self._r[431]!, [_0]) } - public var Channel_AdminLog_BanReadMessages: String { return self._s[433]! } - public var Undo_ChatDeleted: String { return self._s[434]! } - public var ContactInfo_URLLabelHomepage: String { return self._s[435]! } + public var Channel_AdminLog_BanReadMessages: String { return self._s[432]! } + public var Undo_ChatDeleted: String { return self._s[433]! } + public var ContactInfo_URLLabelHomepage: String { return self._s[434]! } public func PUSH_CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[436]!, self._r[436]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[435]!, self._r[435]!, [_1, _2, _3]) } - public var FastTwoStepSetup_EmailHelp: String { return self._s[437]! } - public var Contacts_SelectAll: String { return self._s[438]! } - public var Privacy_ContactsReset: String { return self._s[439]! } - public var AttachmentMenu_File: String { return self._s[441]! } - public var PasscodeSettings_EncryptData: String { return self._s[442]! } - public var EditTheme_ThemeTemplateAlertText: String { return self._s[443]! } + public var FastTwoStepSetup_EmailHelp: String { return self._s[436]! } + public var Contacts_SelectAll: String { return self._s[437]! } + public var Privacy_ContactsReset: String { return self._s[438]! } + public var AttachmentMenu_File: String { return self._s[440]! } + public var PasscodeSettings_EncryptData: String { return self._s[441]! } + public var EditTheme_ThemeTemplateAlertText: String { return self._s[442]! } public func Privacy_GroupsAndChannels_InviteToChannelError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[445]!, self._r[445]!, [_0, _1]) + return formatWithArgumentRanges(self._s[444]!, self._r[444]!, [_0, _1]) } public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[446]!, self._r[446]!, [_0, _1]) + return formatWithArgumentRanges(self._s[445]!, self._r[445]!, [_0, _1]) } - public var PhotoEditor_ShadowsTint: String { return self._s[448]! } - public var GroupInfo_ChatAdmins: String { return self._s[449]! } - public var ArchivedChats_IntroTitle2: String { return self._s[450]! } - public var Cache_LowDiskSpaceText: String { return self._s[451]! } - public var CreatePoll_Anonymous: String { return self._s[452]! } - public var Report_AdditionalDetailsText: String { return self._s[453]! } - public var Checkout_PaymentMethod_New: String { return self._s[454]! } - public var Invitation_JoinGroup: String { return self._s[455]! } + public var PhotoEditor_ShadowsTint: String { return self._s[447]! } + public var GroupInfo_ChatAdmins: String { return self._s[448]! } + public var ArchivedChats_IntroTitle2: String { return self._s[449]! } + public var Cache_LowDiskSpaceText: String { return self._s[450]! } + public var CreatePoll_Anonymous: String { return self._s[451]! } + public var Report_AdditionalDetailsText: String { return self._s[452]! } + public var Checkout_PaymentMethod_New: String { return self._s[453]! } + public var Invitation_JoinGroup: String { return self._s[454]! } public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[458]!, self._r[458]!, [_0]) + return formatWithArgumentRanges(self._s[457]!, self._r[457]!, [_0]) } - public var CheckoutInfo_SaveInfoHelp: String { return self._s[459]! } - public var Notification_Reply: String { return self._s[461]! } + public var CheckoutInfo_SaveInfoHelp: String { return self._s[458]! } + public var Notification_Reply: String { return self._s[460]! } public func Login_PhoneBannedEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[462]!, self._r[462]!, [_0]) + return formatWithArgumentRanges(self._s[461]!, self._r[461]!, [_0]) } - public var Login_PhoneTitle: String { return self._s[463]! } - public var VoiceChat_UnmuteHelp: String { return self._s[464]! } - public var VoiceOver_Media_PlaybackRateNormal: String { return self._s[465]! } + public var Login_PhoneTitle: String { return self._s[462]! } + public var VoiceChat_UnmuteHelp: String { return self._s[463]! } + public var VoiceOver_Media_PlaybackRateNormal: String { return self._s[464]! } public func PUSH_CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[466]!, self._r[466]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[465]!, self._r[465]!, [_1, _2, _3]) } - public var Appearance_TextSize_Title: String { return self._s[467]! } - public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[469]! } - public var VoiceOver_Navigation_Compose: String { return self._s[470]! } + public var Appearance_TextSize_Title: String { return self._s[466]! } + public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[468]! } + public var VoiceOver_Navigation_Compose: String { return self._s[469]! } public func Channel_AdminLog_MessageChangedAutoremoveTimeoutRemove(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[471]!, self._r[471]!, [_1]) + return formatWithArgumentRanges(self._s[470]!, self._r[470]!, [_1]) } - public var Passport_InfoText: String { return self._s[472]! } - public var ApplyLanguage_ApplyLanguageAction: String { return self._s[473]! } - public var MessagePoll_LabelClosed: String { return self._s[475]! } - public var AttachmentMenu_SendAsFiles: String { return self._s[476]! } - public var KeyCommand_FocusOnInputField: String { return self._s[477]! } - public var Conversation_ContextViewThread: String { return self._s[478]! } - public var ChatImport_SelectionErrorGroupGeneric: String { return self._s[479]! } - public var Privacy_SecretChatsLinkPreviews: String { return self._s[481]! } - public var Permissions_PeopleNearbyAllow_v0: String { return self._s[482]! } - public var Conversation_ContextMenuMention: String { return self._s[484]! } - public var CreatePoll_QuizInfo: String { return self._s[485]! } - public var Appearance_ThemePreview_ChatList_2_Name: String { return self._s[486]! } - public var Username_LinkCopied: String { return self._s[487]! } - public var IntentsSettings_SuggestedAndSpotlightChatsInfo: String { return self._s[488]! } - public var TwoStepAuth_ChangePassword: String { return self._s[489]! } - public var Watch_Suggestion_Thanks: String { return self._s[490]! } - public var Channel_TitleInfo: String { return self._s[491]! } - public var ChatList_ChatTypesSection: String { return self._s[492]! } + public var Passport_InfoText: String { return self._s[471]! } + public var ApplyLanguage_ApplyLanguageAction: String { return self._s[472]! } + public var MessagePoll_LabelClosed: String { return self._s[474]! } + public var AttachmentMenu_SendAsFiles: String { return self._s[475]! } + public var KeyCommand_FocusOnInputField: String { return self._s[476]! } + public var Conversation_ContextViewThread: String { return self._s[477]! } + public var ChatImport_SelectionErrorGroupGeneric: String { return self._s[478]! } + public var Privacy_SecretChatsLinkPreviews: String { return self._s[480]! } + public var Permissions_PeopleNearbyAllow_v0: String { return self._s[481]! } + public var Conversation_ContextMenuMention: String { return self._s[483]! } + public var CreatePoll_QuizInfo: String { return self._s[484]! } + public var Appearance_ThemePreview_ChatList_2_Name: String { return self._s[485]! } + public var Username_LinkCopied: String { return self._s[486]! } + public var IntentsSettings_SuggestedAndSpotlightChatsInfo: String { return self._s[487]! } + public var TwoStepAuth_ChangePassword: String { return self._s[488]! } + public var Watch_Suggestion_Thanks: String { return self._s[489]! } + public var Channel_TitleInfo: String { return self._s[490]! } + public var ChatList_ChatTypesSection: String { return self._s[491]! } public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[493]!, self._r[493]!, [_0]) + return formatWithArgumentRanges(self._s[492]!, self._r[492]!, [_0]) } public func Channel_AdminLog_PollStopped(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[494]!, self._r[494]!, [_0]) + return formatWithArgumentRanges(self._s[493]!, self._r[493]!, [_0]) } public func Channel_AdminLog_MessageRemovedAdminNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[495]!, self._r[495]!, [_1, _2]) + return formatWithArgumentRanges(self._s[494]!, self._r[494]!, [_1, _2]) } - public var AuthSessions_AddDevice_InvalidQRCode: String { return self._s[496]! } + public var AuthSessions_AddDevice_InvalidQRCode: String { return self._s[495]! } public func Call_MicrophoneOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[497]!, self._r[497]!, [_0]) + return formatWithArgumentRanges(self._s[496]!, self._r[496]!, [_0]) } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[498]! } - public var Profile_MessageLifetimeForever: String { return self._s[499]! } - public var ArchivedChats_IntroText1: String { return self._s[500]! } - public var Notifications_ChannelNotificationsPreview: String { return self._s[501]! } - public var Map_PullUpForPlaces: String { return self._s[503]! } - public var UserInfo_TelegramCall: String { return self._s[504]! } - public var Conversation_ShareMyContactInfo: String { return self._s[505]! } - public var ChatList_Tabs_All: String { return self._s[506]! } - public var Notification_PassportValueEmail: String { return self._s[507]! } - public var Notification_VideoCallIncoming: String { return self._s[508]! } - public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[509]! } - public var Channel_Username_InvalidTaken: String { return self._s[510]! } - public var GroupPermission_EditingDisabled: String { return self._s[511]! } - public var InviteLink_PeopleJoinedShortNone: String { return self._s[512]! } - public var ChatContextMenu_TextSelectionTip: String { return self._s[513]! } - public var Passport_Language_pl: String { return self._s[515]! } - public var Call_Accept: String { return self._s[516]! } - public var ChatListFolder_NameSectionHeader: String { return self._s[517]! } - public var InviteLink_ExpiredLinkStatus: String { return self._s[518]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[497]! } + public var Profile_MessageLifetimeForever: String { return self._s[498]! } + public var ArchivedChats_IntroText1: String { return self._s[499]! } + public var Notifications_ChannelNotificationsPreview: String { return self._s[500]! } + public var Map_PullUpForPlaces: String { return self._s[502]! } + public var UserInfo_TelegramCall: String { return self._s[503]! } + public var Conversation_ShareMyContactInfo: String { return self._s[504]! } + public var ChatList_Tabs_All: String { return self._s[505]! } + public var Notification_PassportValueEmail: String { return self._s[506]! } + public var Notification_VideoCallIncoming: String { return self._s[507]! } + public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[508]! } + public var Channel_Username_InvalidTaken: String { return self._s[509]! } + public var GroupPermission_EditingDisabled: String { return self._s[510]! } + public var InviteLink_PeopleJoinedShortNone: String { return self._s[511]! } + public var ChatContextMenu_TextSelectionTip: String { return self._s[512]! } + public var Passport_Language_pl: String { return self._s[514]! } + public var Call_Accept: String { return self._s[515]! } + public var ChatListFolder_NameSectionHeader: String { return self._s[516]! } + public var InviteLink_ExpiredLinkStatus: String { return self._s[517]! } public func Passport_Identity_NativeNameTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[519]!, self._r[519]!, [_0]) + return formatWithArgumentRanges(self._s[518]!, self._r[518]!, [_0]) } - public var ClearCache_Forever: String { return self._s[520]! } - public var VoiceChat_TapToEditTitle: String { return self._s[522]! } + public var ClearCache_Forever: String { return self._s[519]! } + public var VoiceChat_TapToEditTitle: String { return self._s[521]! } public func ChannelInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[523]!, self._r[523]!, [_0]) + return formatWithArgumentRanges(self._s[522]!, self._r[522]!, [_0]) } - public var Group_EditAdmin_RankAdminPlaceholder: String { return self._s[524]! } - public var Calls_SubmitRating: String { return self._s[525]! } - public var Location_LiveLocationRequired_ShareLocation: String { return self._s[526]! } + public var Group_EditAdmin_RankAdminPlaceholder: String { return self._s[523]! } + public var Calls_SubmitRating: String { return self._s[524]! } + public var Location_LiveLocationRequired_ShareLocation: String { return self._s[525]! } public func ChatList_AddedToFolderTooltip(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[527]!, self._r[527]!, [_1, _2]) + return formatWithArgumentRanges(self._s[526]!, self._r[526]!, [_1, _2]) } - public var IntentsSettings_MainAccountInfo: String { return self._s[528]! } - public var Map_Hybrid: String { return self._s[530]! } - public var ChatList_Context_Archive: String { return self._s[531]! } - public var Message_PinnedDocumentMessage: String { return self._s[532]! } - public var State_ConnectingToProxyInfo: String { return self._s[533]! } - public var Passport_Identity_NativeNameGenericTitle: String { return self._s[535]! } - public var Settings_AppLanguage: String { return self._s[536]! } + public var IntentsSettings_MainAccountInfo: String { return self._s[527]! } + public var Map_Hybrid: String { return self._s[529]! } + public var ChatList_Context_Archive: String { return self._s[530]! } + public var Message_PinnedDocumentMessage: String { return self._s[531]! } + public var State_ConnectingToProxyInfo: String { return self._s[532]! } + public var Passport_Identity_NativeNameGenericTitle: String { return self._s[534]! } + public var Settings_AppLanguage: String { return self._s[535]! } public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[537]!, self._r[537]!, [_0]) + return formatWithArgumentRanges(self._s[536]!, self._r[536]!, [_0]) } - public var Notifications_PermissionsEnable: String { return self._s[539]! } - public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[540]! } + public var Notifications_PermissionsEnable: String { return self._s[538]! } + public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[539]! } public func UserInfo_BlockActionTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[541]!, self._r[541]!, [_0]) + return formatWithArgumentRanges(self._s[540]!, self._r[540]!, [_0]) } public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[542]!, self._r[542]!, [_0]) + return formatWithArgumentRanges(self._s[541]!, self._r[541]!, [_0]) } - public var NotificationsSound_Aurora: String { return self._s[545]! } - public var ScheduledMessages_ClearAll: String { return self._s[548]! } + public var NotificationsSound_Aurora: String { return self._s[544]! } + public var ScheduledMessages_ClearAll: String { return self._s[547]! } public func CancelResetAccount_TextSMS(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[549]!, self._r[549]!, [_0]) + return formatWithArgumentRanges(self._s[548]!, self._r[548]!, [_0]) } - public var Settings_BlockedUsers: String { return self._s[551]! } - public var Checkout_TipItem: String { return self._s[552]! } - public var VoiceOver_Keyboard: String { return self._s[554]! } + public var Settings_BlockedUsers: String { return self._s[550]! } + public var Checkout_TipItem: String { return self._s[551]! } + public var VoiceOver_Keyboard: String { return self._s[553]! } public func UserInfo_StartSecretChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[555]!, self._r[555]!, [_0]) + return formatWithArgumentRanges(self._s[554]!, self._r[554]!, [_0]) } - public var Passport_Language_hu: String { return self._s[556]! } + public var Passport_Language_hu: String { return self._s[555]! } public func Conversation_ScheduleMessage_SendTomorrow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[557]!, self._r[557]!, [_0]) + return formatWithArgumentRanges(self._s[556]!, self._r[556]!, [_0]) } - public var StickerPack_Share: String { return self._s[558]! } - public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[559]! } + public var StickerPack_Share: String { return self._s[557]! } + public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[558]! } public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[560]!, self._r[560]!, [_0, _1]) + return formatWithArgumentRanges(self._s[559]!, self._r[559]!, [_0, _1]) } - public var Privacy_ContactsResetConfirmation: String { return self._s[561]! } - public var VoiceChat_EditTitle: String { return self._s[562]! } - public var AppleWatch_ReplyPresets: String { return self._s[563]! } - public var Bot_GenericBotStatus: String { return self._s[564]! } - public var Appearance_ShareThemeColor: String { return self._s[565]! } - public var AuthSessions_AddDevice_UrlLoginHint: String { return self._s[567]! } - public var ReportGroupLocation_Title: String { return self._s[568]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[560]! } + public var VoiceChat_EditTitle: String { return self._s[561]! } + public var AppleWatch_ReplyPresets: String { return self._s[562]! } + public var Bot_GenericBotStatus: String { return self._s[563]! } + public var Appearance_ShareThemeColor: String { return self._s[564]! } + public var AuthSessions_AddDevice_UrlLoginHint: String { return self._s[566]! } + public var ReportGroupLocation_Title: String { return self._s[567]! } public func Conversation_AutoremoveTimerSetUserYou(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[569]!, self._r[569]!, [_1]) + return formatWithArgumentRanges(self._s[568]!, self._r[568]!, [_1]) } public func Activity_RemindAboutUser(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[570]!, self._r[570]!, [_0]) + return formatWithArgumentRanges(self._s[569]!, self._r[569]!, [_0]) } - public var Profile_CreateEncryptedChatError: String { return self._s[571]! } - public var Channel_EditAdmin_TransferOwnership: String { return self._s[572]! } - public var Wallpaper_ErrorNotFound: String { return self._s[573]! } - public var Bot_GenericSupportStatus: String { return self._s[574]! } - public var Activity_UploadingPhoto: String { return self._s[576]! } - public var Intents_ErrorLockedTitle: String { return self._s[577]! } - public var Watch_UserInfo_Title: String { return self._s[579]! } - public var SocksProxySetup_ProxyTelegram: String { return self._s[580]! } - public var Appearance_ThemeDay: String { return self._s[581]! } + public var Profile_CreateEncryptedChatError: String { return self._s[570]! } + public var Channel_EditAdmin_TransferOwnership: String { return self._s[571]! } + public var Wallpaper_ErrorNotFound: String { return self._s[572]! } + public var Bot_GenericSupportStatus: String { return self._s[573]! } + public var Activity_UploadingPhoto: String { return self._s[575]! } + public var Intents_ErrorLockedTitle: String { return self._s[576]! } + public var Watch_UserInfo_Title: String { return self._s[578]! } + public var SocksProxySetup_ProxyTelegram: String { return self._s[579]! } + public var Appearance_ThemeDay: String { return self._s[580]! } public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[582]!, self._r[582]!, [_1]) + return formatWithArgumentRanges(self._s[581]!, self._r[581]!, [_1]) } public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[583]!, self._r[583]!, [_0]) + return formatWithArgumentRanges(self._s[582]!, self._r[582]!, [_0]) } - public var InviteLink_AdditionalLinks: String { return self._s[584]! } - public var Passport_Title: String { return self._s[588]! } + public var InviteLink_AdditionalLinks: String { return self._s[583]! } + public var Passport_Title: String { return self._s[587]! } public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[590]!, self._r[590]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[589]!, self._r[589]!, [_1, _2, _3]) } - public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[591]! } - public var SocksProxySetup_ShareLink: String { return self._s[594]! } - public var AuthSessions_OtherDevices: String { return self._s[595]! } - public var IntentsSettings_SuggestedChatsGroups: String { return self._s[596]! } - public var Watch_MessageView_Reply: String { return self._s[597]! } - public var Camera_FlashOn: String { return self._s[599]! } + public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[590]! } + public var SocksProxySetup_ShareLink: String { return self._s[593]! } + public var AuthSessions_OtherDevices: String { return self._s[594]! } + public var IntentsSettings_SuggestedChatsGroups: String { return self._s[595]! } + public var Watch_MessageView_Reply: String { return self._s[596]! } + public var Camera_FlashOn: String { return self._s[598]! } public func PUSH_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[600]!, self._r[600]!, [_1, _2]) + return formatWithArgumentRanges(self._s[599]!, self._r[599]!, [_1, _2]) } - public var Conversation_ContextMenuBlock: String { return self._s[601]! } - public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[603]! } - public var Privacy_Calls_NeverAllow: String { return self._s[604]! } - public var BroadcastGroups_Cancel: String { return self._s[605]! } - public var SharedMedia_CategoryLinks: String { return self._s[606]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[609]! } - public var Passport_Identity_ScansHelp: String { return self._s[611]! } - public var ShareMenu_CopyShareLink: String { return self._s[612]! } - public var StickerSettings_MaskContextInfo: String { return self._s[613]! } - public var InviteLink_Create_EditTitle: String { return self._s[614]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[615]! } - public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[618]! } - public var ChatImportActivity_Success: String { return self._s[620]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[621]! } - public var NotificationsSound_Popcorn: String { return self._s[622]! } - public var FeatureDisabled_Oops: String { return self._s[623]! } + public var Conversation_ContextMenuBlock: String { return self._s[600]! } + public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[602]! } + public var Privacy_Calls_NeverAllow: String { return self._s[603]! } + public var BroadcastGroups_Cancel: String { return self._s[604]! } + public var SharedMedia_CategoryLinks: String { return self._s[605]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[608]! } + public var Passport_Identity_ScansHelp: String { return self._s[610]! } + public var ShareMenu_CopyShareLink: String { return self._s[611]! } + public var StickerSettings_MaskContextInfo: String { return self._s[612]! } + public var InviteLink_Create_EditTitle: String { return self._s[613]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[614]! } + public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[617]! } + public var ChatImportActivity_Success: String { return self._s[619]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[620]! } + public var NotificationsSound_Popcorn: String { return self._s[621]! } + public var FeatureDisabled_Oops: String { return self._s[622]! } public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[624]!, self._r[624]!, [_0]) + return formatWithArgumentRanges(self._s[623]!, self._r[623]!, [_0]) } - public var Notification_PinnedMessage: String { return self._s[625]! } - public var Tour_Title4: String { return self._s[626]! } + public var Notification_PinnedMessage: String { return self._s[624]! } + public var Tour_Title4: String { return self._s[625]! } public func Notification_VoiceChatInvitationForYou(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[627]!, self._r[627]!, [_1]) + return formatWithArgumentRanges(self._s[626]!, self._r[626]!, [_1]) } - public var Watch_Suggestion_OK: String { return self._s[628]! } - public var Compose_TokenListPlaceholder: String { return self._s[629]! } - public var InviteLink_PermanentLink: String { return self._s[630]! } - public var EditTheme_Edit_TopInfo: String { return self._s[631]! } - public var Gif_NoGifsFound: String { return self._s[632]! } - public var Login_InvalidCountryCode: String { return self._s[633]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[634]! } - public var Call_VoiceOver_VideoCallMissed: String { return self._s[635]! } - public var VoiceChat_ChangeNameTitle: String { return self._s[637]! } + public var Watch_Suggestion_OK: String { return self._s[627]! } + public var Compose_TokenListPlaceholder: String { return self._s[628]! } + public var InviteLink_PermanentLink: String { return self._s[629]! } + public var EditTheme_Edit_TopInfo: String { return self._s[630]! } + public var Gif_NoGifsFound: String { return self._s[631]! } + public var Login_InvalidCountryCode: String { return self._s[632]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[633]! } + public var Call_VoiceOver_VideoCallMissed: String { return self._s[634]! } + public var VoiceChat_ChangeNameTitle: String { return self._s[636]! } public func PUSH_LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[638]!, self._r[638]!, [_1]) + return formatWithArgumentRanges(self._s[637]!, self._r[637]!, [_1]) } - public var Profile_CreateNewContact: String { return self._s[639]! } - public var AutoDownloadSettings_DataUsageLow: String { return self._s[640]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[641]! } - public var Group_Setup_TypePublic: String { return self._s[642]! } - public var Weekday_ShortSaturday: String { return self._s[643]! } + public var Profile_CreateNewContact: String { return self._s[638]! } + public var AutoDownloadSettings_DataUsageLow: String { return self._s[639]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[640]! } + public var Group_Setup_TypePublic: String { return self._s[641]! } + public var Weekday_ShortSaturday: String { return self._s[642]! } public func Time_MonthOfYear_m12(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[644]!, self._r[644]!, [_0]) + return formatWithArgumentRanges(self._s[643]!, self._r[643]!, [_0]) } - public var LiveLocation_MenuStopAll: String { return self._s[645]! } + public var LiveLocation_MenuStopAll: String { return self._s[644]! } public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[646]!, self._r[646]!, [_0]) + return formatWithArgumentRanges(self._s[645]!, self._r[645]!, [_0]) } - public var ChatListFolder_NamePlaceholder: String { return self._s[647]! } - public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[648]! } + public var ChatListFolder_NamePlaceholder: String { return self._s[646]! } + public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[647]! } public func PUSH_CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[649]!, self._r[649]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[648]!, self._r[648]!, [_1, _2, _3]) } - public var VoiceChat_ChatFullAlertText: String { return self._s[650]! } - public var Chat_GenericPsaTooltip: String { return self._s[652]! } - public var ChannelInfo_CreateVoiceChat: String { return self._s[653]! } + public var VoiceChat_ChatFullAlertText: String { return self._s[649]! } + public var Chat_GenericPsaTooltip: String { return self._s[651]! } + public var ChannelInfo_CreateVoiceChat: String { return self._s[652]! } public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[654]!, self._r[654]!, [_0]) + return formatWithArgumentRanges(self._s[653]!, self._r[653]!, [_0]) } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[655]! } - public var Login_PhoneAndCountryHelp: String { return self._s[656]! } - public var SaveIncomingPhotosSettings_From: String { return self._s[658]! } - public var Conversation_JumpToDate: String { return self._s[659]! } - public var AuthSessions_AddDevice: String { return self._s[660]! } - public var Settings_FAQ: String { return self._s[662]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[654]! } + public var Login_PhoneAndCountryHelp: String { return self._s[655]! } + public var SaveIncomingPhotosSettings_From: String { return self._s[657]! } + public var Conversation_JumpToDate: String { return self._s[658]! } + public var AuthSessions_AddDevice: String { return self._s[659]! } + public var Settings_FAQ: String { return self._s[661]! } public func ChatImport_CreateGroupAlertText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[663]!, self._r[663]!, [_0]) + return formatWithArgumentRanges(self._s[662]!, self._r[662]!, [_0]) } - public var Username_Title: String { return self._s[664]! } - public var DialogList_Read: String { return self._s[665]! } - public var Conversation_InstantPagePreview: String { return self._s[666]! } - public var Report_Succeed: String { return self._s[668]! } - public var Login_ResetAccountProtected_Title: String { return self._s[669]! } - public var CallFeedback_ReasonDistortedSpeech: String { return self._s[670]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[671]! } + public var Username_Title: String { return self._s[663]! } + public var DialogList_Read: String { return self._s[664]! } + public var Conversation_InstantPagePreview: String { return self._s[665]! } + public var Report_Succeed: String { return self._s[667]! } + public var Login_ResetAccountProtected_Title: String { return self._s[668]! } + public var CallFeedback_ReasonDistortedSpeech: String { return self._s[669]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[670]! } public func Channel_AdminLog_MessageRankUsername(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[672]!, self._r[672]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[671]!, self._r[671]!, [_1, _2, _3]) } - public var WallpaperPreview_PreviewBottomText: String { return self._s[674]! } - public var Privacy_SecretChatsTitle: String { return self._s[677]! } + public var WallpaperPreview_PreviewBottomText: String { return self._s[673]! } + public var Privacy_SecretChatsTitle: String { return self._s[676]! } public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[678]!, self._r[678]!, [_1, _2]) + return formatWithArgumentRanges(self._s[677]!, self._r[677]!, [_1, _2]) } - public var Checkout_NewCard_SaveInfoHelp: String { return self._s[679]! } - public var Conversation_ClousStorageInfo_Description4: String { return self._s[680]! } - public var PasscodeSettings_TurnPasscodeOn: String { return self._s[681]! } - public var Message_ReplyActionButtonShowReceipt: String { return self._s[682]! } + public var Checkout_NewCard_SaveInfoHelp: String { return self._s[678]! } + public var Conversation_ClousStorageInfo_Description4: String { return self._s[679]! } + public var PasscodeSettings_TurnPasscodeOn: String { return self._s[680]! } + public var Message_ReplyActionButtonShowReceipt: String { return self._s[681]! } public func PrivacyPolicy_AgeVerificationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[683]!, self._r[683]!, [_0]) + return formatWithArgumentRanges(self._s[682]!, self._r[682]!, [_0]) } - public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[685]! } - public var TwoStepAuth_ConfirmationAbort: String { return self._s[686]! } - public var PrivacySettings_LastSeenEverybody: String { return self._s[687]! } - public var CallFeedback_ReasonDropped: String { return self._s[688]! } + public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[684]! } + public var TwoStepAuth_ConfirmationAbort: String { return self._s[685]! } + public var PrivacySettings_LastSeenEverybody: String { return self._s[686]! } + public var CallFeedback_ReasonDropped: String { return self._s[687]! } public func ScheduledMessages_ScheduledDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[689]!, self._r[689]!, [_0]) + return formatWithArgumentRanges(self._s[688]!, self._r[688]!, [_0]) } - public var WebSearch_Images: String { return self._s[690]! } - public var Passport_Identity_Surname: String { return self._s[691]! } - public var Channel_Stickers_CreateYourOwn: String { return self._s[692]! } - public var TwoFactorSetup_Email_Title: String { return self._s[693]! } - public var Cache_ClearEmpty: String { return self._s[694]! } - public var AuthSessions_AddDeviceIntro_Action: String { return self._s[695]! } - public var Theme_Context_Apply: String { return self._s[696]! } - public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[697]! } - public var CallList_DeleteAllForEveryone: String { return self._s[698]! } + public var WebSearch_Images: String { return self._s[689]! } + public var Passport_Identity_Surname: String { return self._s[690]! } + public var Channel_Stickers_CreateYourOwn: String { return self._s[691]! } + public var TwoFactorSetup_Email_Title: String { return self._s[692]! } + public var Cache_ClearEmpty: String { return self._s[693]! } + public var AuthSessions_AddDeviceIntro_Action: String { return self._s[694]! } + public var Theme_Context_Apply: String { return self._s[695]! } + public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[696]! } + public var CallList_DeleteAllForEveryone: String { return self._s[697]! } public func BroadcastGroups_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[699]!, self._r[699]!, [_0]) + return formatWithArgumentRanges(self._s[698]!, self._r[698]!, [_0]) } - public var AutoDownloadSettings_DocumentsTitle: String { return self._s[700]! } + public var AutoDownloadSettings_DocumentsTitle: String { return self._s[699]! } public func NetworkUsageSettings_CellularUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[701]!, self._r[701]!, [_0]) + return formatWithArgumentRanges(self._s[700]!, self._r[700]!, [_0]) } - public var Call_StatusRinging: String { return self._s[702]! } + public var Call_StatusRinging: String { return self._s[701]! } public func Map_DistanceAway(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[703]!, self._r[703]!, [_0]) + return formatWithArgumentRanges(self._s[702]!, self._r[702]!, [_0]) } public func DialogList_SingleTypingSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[704]!, self._r[704]!, [_0]) + return formatWithArgumentRanges(self._s[703]!, self._r[703]!, [_0]) } - public var Cache_ClearNone: String { return self._s[705]! } - public var PrivacyPolicy_Accept: String { return self._s[706]! } - public var Contacts_PhoneNumber: String { return self._s[707]! } - public var Passport_Identity_OneOfTypePassport: String { return self._s[708]! } - public var PhotoEditor_HighlightsTint: String { return self._s[710]! } - public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[711]! } - public var Checkout_PaymentMethod_Title: String { return self._s[714]! } - public var Month_GenAugust: String { return self._s[716]! } - public var DialogList_Draft: String { return self._s[717]! } - public var ChatList_EmptyChatListFilterText: String { return self._s[718]! } - public var PeopleNearby_Description: String { return self._s[719]! } - public var WallpaperPreview_SwipeColorsBottomText: String { return self._s[720]! } - public var VoiceChat_InviteLink_CopyListenerLink: String { return self._s[721]! } - public var VoiceChat_EditTitleRemoveSuccess: String { return self._s[722]! } - public var SettingsSearch_Synonyms_Privacy_Data_TopPeers: String { return self._s[724]! } - public var Watch_Message_ForwardedFrom: String { return self._s[725]! } - public var Notification_Mute1h: String { return self._s[726]! } - public var Appearance_ThemePreview_Chat_3_TextWithLink: String { return self._s[727]! } - public var SettingsSearch_Synonyms_Privacy_AuthSessions: String { return self._s[729]! } - public var Channel_Edit_LinkItem: String { return self._s[730]! } - public var Presence_online: String { return self._s[731]! } - public var AutoDownloadSettings_Title: String { return self._s[732]! } - public var Conversation_MessageDialogRetry: String { return self._s[733]! } - public var SettingsSearch_Synonyms_ChatSettings_OpenLinksIn: String { return self._s[735]! } - public var Channel_About_Placeholder: String { return self._s[737]! } - public var Passport_Language_sl: String { return self._s[738]! } - public var AppleWatch_Title: String { return self._s[740]! } - public var RepliesChat_DescriptionText: String { return self._s[742]! } - public var Stats_Message_PrivateShares: String { return self._s[743]! } - public var Settings_ViewPhoto: String { return self._s[744]! } - public var Conversation_ForwardTooltip_SavedMessages_One: String { return self._s[745]! } - public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[746]! } - public var Cache_ClearProgress: String { return self._s[747]! } - public var Cache_Music: String { return self._s[748]! } - public var Conversation_ContextMenuShare: String { return self._s[750]! } - public var AutoDownloadSettings_Unlimited: String { return self._s[751]! } - public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[752]! } - public var Contacts_PermissionsAllow: String { return self._s[753]! } - public var Passport_Language_vi: String { return self._s[755]! } + public var Cache_ClearNone: String { return self._s[704]! } + public var PrivacyPolicy_Accept: String { return self._s[705]! } + public var Contacts_PhoneNumber: String { return self._s[706]! } + public var Passport_Identity_OneOfTypePassport: String { return self._s[707]! } + public var PhotoEditor_HighlightsTint: String { return self._s[709]! } + public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[710]! } + public var Checkout_PaymentMethod_Title: String { return self._s[713]! } + public var Month_GenAugust: String { return self._s[715]! } + public var DialogList_Draft: String { return self._s[716]! } + public var ChatList_EmptyChatListFilterText: String { return self._s[717]! } + public var PeopleNearby_Description: String { return self._s[718]! } + public var WallpaperPreview_SwipeColorsBottomText: String { return self._s[719]! } + public var VoiceChat_InviteLink_CopyListenerLink: String { return self._s[720]! } + public var VoiceChat_EditTitleRemoveSuccess: String { return self._s[721]! } + public var SettingsSearch_Synonyms_Privacy_Data_TopPeers: String { return self._s[723]! } + public var Watch_Message_ForwardedFrom: String { return self._s[724]! } + public var Notification_Mute1h: String { return self._s[725]! } + public var Appearance_ThemePreview_Chat_3_TextWithLink: String { return self._s[726]! } + public var SettingsSearch_Synonyms_Privacy_AuthSessions: String { return self._s[728]! } + public var Channel_Edit_LinkItem: String { return self._s[729]! } + public var Presence_online: String { return self._s[730]! } + public var AutoDownloadSettings_Title: String { return self._s[731]! } + public var Conversation_MessageDialogRetry: String { return self._s[732]! } + public var SettingsSearch_Synonyms_ChatSettings_OpenLinksIn: String { return self._s[734]! } + public var Channel_About_Placeholder: String { return self._s[736]! } + public var Passport_Language_sl: String { return self._s[737]! } + public var AppleWatch_Title: String { return self._s[739]! } + public var RepliesChat_DescriptionText: String { return self._s[741]! } + public var Stats_Message_PrivateShares: String { return self._s[742]! } + public var Settings_ViewPhoto: String { return self._s[743]! } + public var Conversation_ForwardTooltip_SavedMessages_One: String { return self._s[744]! } + public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[745]! } + public var Cache_ClearProgress: String { return self._s[746]! } + public var Cache_Music: String { return self._s[747]! } + public var Conversation_ContextMenuShare: String { return self._s[749]! } + public var AutoDownloadSettings_Unlimited: String { return self._s[750]! } + public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[751]! } + public var Contacts_PermissionsAllow: String { return self._s[752]! } + public var Passport_Language_vi: String { return self._s[754]! } public func PUSH_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[758]!, self._r[758]!, [_1, _2]) + return formatWithArgumentRanges(self._s[757]!, self._r[757]!, [_1, _2]) } - public var Passport_Language_de: String { return self._s[759]! } - public var Notifications_PermissionsText: String { return self._s[761]! } - public var GroupRemoved_AddToGroup: String { return self._s[762]! } - public var Appearance_ThemePreview_ChatList_4_Text: String { return self._s[763]! } - public var ChangePhoneNumberCode_RequestingACall: String { return self._s[764]! } - public var Login_TermsOfServiceAgree: String { return self._s[765]! } - public var VoiceOver_Navigation_ProxySettings: String { return self._s[766]! } + public var Passport_Language_de: String { return self._s[758]! } + public var Notifications_PermissionsText: String { return self._s[760]! } + public var GroupRemoved_AddToGroup: String { return self._s[761]! } + public var Appearance_ThemePreview_ChatList_4_Text: String { return self._s[762]! } + public var ChangePhoneNumberCode_RequestingACall: String { return self._s[763]! } + public var Login_TermsOfServiceAgree: String { return self._s[764]! } + public var VoiceOver_Navigation_ProxySettings: String { return self._s[765]! } public func PUSH_CHAT_JOINED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[767]!, self._r[767]!, [_1, _2]) + return formatWithArgumentRanges(self._s[766]!, self._r[766]!, [_1, _2]) } - public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[769]! } + public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[768]! } public func PUSH_CHAT_VOICECHAT_START(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[770]!, self._r[770]!, [_1, _2]) + return formatWithArgumentRanges(self._s[769]!, self._r[769]!, [_1, _2]) } - public var ChatListFolder_NameGroups: String { return self._s[771]! } - public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[772]! } - public var VoiceChat_EditDescriptionSave: String { return self._s[773]! } + public var ChatListFolder_NameGroups: String { return self._s[770]! } + public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[771]! } + public var VoiceChat_EditDescriptionSave: String { return self._s[772]! } public func Channel_AdminLog_MessageChangedLinkedGroup(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[774]!, self._r[774]!, [_1, _2]) + return formatWithArgumentRanges(self._s[773]!, self._r[773]!, [_1, _2]) } - public var Watch_Suggestion_TalkLater: String { return self._s[775]! } - public var Checkout_ShippingOption_Title: String { return self._s[776]! } - public var Conversation_TitleRepliesEmpty: String { return self._s[777]! } - public var CreatePoll_TextHeader: String { return self._s[778]! } - public var VoiceOver_Chat_Message: String { return self._s[780]! } - public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[781]! } - public var ContactInfo_Note: String { return self._s[783]! } - public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[784]! } - public var Checkout_NewCard_CardholderNameTitle: String { return self._s[785]! } - public var AutoDownloadSettings_Photos: String { return self._s[786]! } - public var UserInfo_NotificationsDefaultDisabled: String { return self._s[787]! } + public var Watch_Suggestion_TalkLater: String { return self._s[774]! } + public var Checkout_ShippingOption_Title: String { return self._s[775]! } + public var Conversation_TitleRepliesEmpty: String { return self._s[776]! } + public var CreatePoll_TextHeader: String { return self._s[777]! } + public var VoiceOver_Chat_Message: String { return self._s[779]! } + public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[780]! } + public var ContactInfo_Note: String { return self._s[782]! } + public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[783]! } + public var Checkout_NewCard_CardholderNameTitle: String { return self._s[784]! } + public var AutoDownloadSettings_Photos: String { return self._s[785]! } + public var UserInfo_NotificationsDefaultDisabled: String { return self._s[786]! } public func Conversation_ForwardTooltip_Chat_One(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[788]!, self._r[788]!, [_0]) + return formatWithArgumentRanges(self._s[787]!, self._r[787]!, [_0]) } - public var Channel_Info_Subscribers: String { return self._s[789]! } - public var ChatList_DeleteForCurrentUser: String { return self._s[790]! } - public var ChatListFolderSettings_FoldersSection: String { return self._s[791]! } - public var ChannelInfo_ScheduleVoiceChat: String { return self._s[792]! } - public var VoiceOver_ChatList_OutgoingMessage: String { return self._s[793]! } + public var Channel_Info_Subscribers: String { return self._s[788]! } + public var ChatList_DeleteForCurrentUser: String { return self._s[789]! } + public var ChatListFolderSettings_FoldersSection: String { return self._s[790]! } + public var ChannelInfo_ScheduleVoiceChat: String { return self._s[791]! } + public var VoiceOver_ChatList_OutgoingMessage: String { return self._s[792]! } public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[797]!, self._r[797]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[796]!, self._r[796]!, [_1, _2, _3]) } - public var AutoNightTheme_System: String { return self._s[798]! } - public var Call_StatusWaiting: String { return self._s[799]! } - public var GroupInfo_GroupHistoryHidden: String { return self._s[800]! } + public var AutoNightTheme_System: String { return self._s[797]! } + public var Call_StatusWaiting: String { return self._s[798]! } + public var GroupInfo_GroupHistoryHidden: String { return self._s[799]! } public func CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[801]!, self._r[801]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[800]!, self._r[800]!, [_1, _2, _3]) } - public var Conversation_ContextMenuCopy: String { return self._s[803]! } - public var Notifications_MessageNotificationsPreview: String { return self._s[804]! } - public var Notifications_InAppNotificationsVibrate: String { return self._s[805]! } + public var Conversation_ContextMenuCopy: String { return self._s[802]! } + public var Notifications_MessageNotificationsPreview: String { return self._s[803]! } + public var Notifications_InAppNotificationsVibrate: String { return self._s[804]! } public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[806]!, self._r[806]!, [_0]) + return formatWithArgumentRanges(self._s[805]!, self._r[805]!, [_0]) } - public var Group_Status: String { return self._s[808]! } - public var Group_Setup_HistoryVisible: String { return self._s[809]! } - public var Conversation_UploadFileTooLarge: String { return self._s[810]! } - public var Conversation_DiscardVoiceMessageAction: String { return self._s[811]! } - public var Paint_Edit: String { return self._s[812]! } - public var PeerInfo_AutoremoveMessages: String { return self._s[813]! } + public var Group_Status: String { return self._s[807]! } + public var Group_Setup_HistoryVisible: String { return self._s[808]! } + public var Conversation_UploadFileTooLarge: String { return self._s[809]! } + public var Conversation_DiscardVoiceMessageAction: String { return self._s[810]! } + public var Paint_Edit: String { return self._s[811]! } + public var PeerInfo_AutoremoveMessages: String { return self._s[812]! } public func ChatImport_SelectionConfirmationGroupWithoutTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[815]!, self._r[815]!, [_0]) + return formatWithArgumentRanges(self._s[814]!, self._r[814]!, [_0]) } - public var Channel_EditAdmin_CannotEdit: String { return self._s[816]! } - public var Username_InvalidTooShort: String { return self._s[817]! } - public var ClearCache_StorageOtherApps: String { return self._s[819]! } - public var Conversation_ViewMessage: String { return self._s[820]! } - public var GroupInfo_PublicLinkAdd: String { return self._s[822]! } + public var Channel_EditAdmin_CannotEdit: String { return self._s[815]! } + public var Username_InvalidTooShort: String { return self._s[816]! } + public var ClearCache_StorageOtherApps: String { return self._s[818]! } + public var Conversation_ViewMessage: String { return self._s[819]! } + public var GroupInfo_PublicLinkAdd: String { return self._s[821]! } public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[823]!, self._r[823]!, [_0]) + return formatWithArgumentRanges(self._s[822]!, self._r[822]!, [_0]) } - public var CallSettings_Title: String { return self._s[824]! } + public var CallSettings_Title: String { return self._s[823]! } public func Conversation_BotInteractiveUrlAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[825]!, self._r[825]!, [_0]) + return formatWithArgumentRanges(self._s[824]!, self._r[824]!, [_0]) } public func VoiceOver_Chat_ContactFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[828]!, self._r[828]!, [_0]) + return formatWithArgumentRanges(self._s[827]!, self._r[827]!, [_0]) } - public var PUSH_SENDER_YOU: String { return self._s[831]! } + public var PUSH_SENDER_YOU: String { return self._s[830]! } public func Conversation_DeletedFromContacts(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[832]!, self._r[832]!, [_0]) + return formatWithArgumentRanges(self._s[831]!, self._r[831]!, [_0]) } - public var Profile_ShareContactButton: String { return self._s[833]! } - public var GroupInfo_Permissions_SectionTitle: String { return self._s[834]! } + public var Profile_ShareContactButton: String { return self._s[832]! } + public var GroupInfo_Permissions_SectionTitle: String { return self._s[833]! } public func VoiceOver_Chat_StickerFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[835]!, self._r[835]!, [_0]) + return formatWithArgumentRanges(self._s[834]!, self._r[834]!, [_0]) } - public var Map_ShareLiveLocation: String { return self._s[836]! } - public var ChatListFolder_TitleEdit: String { return self._s[837]! } + public var Map_ShareLiveLocation: String { return self._s[835]! } + public var ChatListFolder_TitleEdit: String { return self._s[836]! } public func VoiceOver_Chat_AnimatedStickerFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[838]!, self._r[838]!, [_0]) + return formatWithArgumentRanges(self._s[837]!, self._r[837]!, [_0]) } - public var Passport_Address_Address: String { return self._s[840]! } - public var LastSeen_JustNow: String { return self._s[842]! } + public var Passport_Address_Address: String { return self._s[839]! } + public var LastSeen_JustNow: String { return self._s[841]! } public func SecretImage_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[843]!, self._r[843]!, [_0]) + return formatWithArgumentRanges(self._s[842]!, self._r[842]!, [_0]) } - public var ContactInfo_PhoneLabelOther: String { return self._s[844]! } - public var PasscodeSettings_DoNotMatch: String { return self._s[845]! } - public var Weekday_Today: String { return self._s[848]! } - public var DialogList_Title: String { return self._s[849]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[850]! } - public var Cache_ClearCache: String { return self._s[851]! } - public var CreatePoll_ExplanationInfo: String { return self._s[852]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[854]! } - public var Stats_MessageTitle: String { return self._s[855]! } - public var Passport_Address_Street: String { return self._s[857]! } + public var ContactInfo_PhoneLabelOther: String { return self._s[843]! } + public var PasscodeSettings_DoNotMatch: String { return self._s[844]! } + public var Weekday_Today: String { return self._s[847]! } + public var DialogList_Title: String { return self._s[848]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[849]! } + public var Cache_ClearCache: String { return self._s[850]! } + public var CreatePoll_ExplanationInfo: String { return self._s[851]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[853]! } + public var Stats_MessageTitle: String { return self._s[854]! } + public var Passport_Address_Street: String { return self._s[856]! } public func Channel_AdminLog_MessageRemovedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[858]!, self._r[858]!, [_0]) + return formatWithArgumentRanges(self._s[857]!, self._r[857]!, [_0]) } - public var Channel_AdminLog_ChannelEmptyText: String { return self._s[859]! } + public var Channel_AdminLog_ChannelEmptyText: String { return self._s[858]! } public func Login_PhoneGenericEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[860]!, self._r[860]!, [_0]) + return formatWithArgumentRanges(self._s[859]!, self._r[859]!, [_0]) } - public var TwoStepAuth_Email: String { return self._s[862]! } - public var Conversation_SecretLinkPreviewAlert: String { return self._s[863]! } - public var PrivacySettings_PasscodeOn: String { return self._s[864]! } - public var Camera_SquareMode: String { return self._s[866]! } - public var SocksProxySetup_Port: String { return self._s[867]! } - public var Watch_LastSeen_JustNow: String { return self._s[869]! } + public var TwoStepAuth_Email: String { return self._s[861]! } + public var Conversation_SecretLinkPreviewAlert: String { return self._s[862]! } + public var PrivacySettings_PasscodeOn: String { return self._s[863]! } + public var Camera_SquareMode: String { return self._s[865]! } + public var SocksProxySetup_Port: String { return self._s[866]! } + public var Watch_LastSeen_JustNow: String { return self._s[868]! } public func Location_ProximityAlertSetText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[870]!, self._r[870]!, [_1, _2]) + return formatWithArgumentRanges(self._s[869]!, self._r[869]!, [_1, _2]) } public func PUSH_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[871]!, self._r[871]!, [_1, _2]) + return formatWithArgumentRanges(self._s[870]!, self._r[870]!, [_1, _2]) } public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[872]!, self._r[872]!, [_0]) + return formatWithArgumentRanges(self._s[871]!, self._r[871]!, [_0]) } - public var VoiceChat_CancelVoiceChat: String { return self._s[873]! } - public var EditTheme_Expand_Preview_OutgoingText: String { return self._s[874]! } - public var Channel_AdminLogFilter_EventsTitle: String { return self._s[875]! } - public var Watch_Suggestion_HoldOn: String { return self._s[878]! } + public var VoiceChat_CancelVoiceChat: String { return self._s[872]! } + public var EditTheme_Expand_Preview_OutgoingText: String { return self._s[873]! } + public var Channel_AdminLogFilter_EventsTitle: String { return self._s[874]! } + public var Watch_Suggestion_HoldOn: String { return self._s[877]! } public func PUSH_CHANNEL_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[879]!, self._r[879]!, [_1]) + return formatWithArgumentRanges(self._s[878]!, self._r[878]!, [_1]) } - public var CallSettings_TabIcon: String { return self._s[880]! } - public var ScheduledMessages_SendNow: String { return self._s[881]! } - public var Stats_GroupTopWeekdaysTitle: String { return self._s[882]! } - public var UserInfo_PhoneCall: String { return self._s[883]! } - public var Month_GenMarch: String { return self._s[884]! } - public var Camera_Discard: String { return self._s[885]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[886]! } - public var Passport_RequestedInformation: String { return self._s[887]! } - public var VoiceChat_RecordingTitlePlaceholder: String { return self._s[889]! } + public var CallSettings_TabIcon: String { return self._s[879]! } + public var ScheduledMessages_SendNow: String { return self._s[880]! } + public var Stats_GroupTopWeekdaysTitle: String { return self._s[881]! } + public var UserInfo_PhoneCall: String { return self._s[882]! } + public var Month_GenMarch: String { return self._s[883]! } + public var Camera_Discard: String { return self._s[884]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[885]! } + public var Passport_RequestedInformation: String { return self._s[886]! } + public var VoiceChat_RecordingTitlePlaceholder: String { return self._s[888]! } public func Notification_ProximityYouReached(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[890]!, self._r[890]!, [_1, _2]) + return formatWithArgumentRanges(self._s[889]!, self._r[889]!, [_1, _2]) } - public var Passport_Language_ro: String { return self._s[891]! } + public var Passport_Language_ro: String { return self._s[890]! } public func PUSH_CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[892]!, self._r[892]!, [_1, _2]) + return formatWithArgumentRanges(self._s[891]!, self._r[891]!, [_1, _2]) } - public var AutoDownloadSettings_ResetHelp: String { return self._s[893]! } - public var Passport_Identity_DocumentDetails: String { return self._s[895]! } - public var Passport_Address_ScansHelp: String { return self._s[896]! } - public var Location_LiveLocationRequired_Title: String { return self._s[897]! } - public var ClearCache_StorageCache: String { return self._s[898]! } - public var Theme_Colors_ColorWallpaperWarningProceed: String { return self._s[899]! } - public var Conversation_RestrictedText: String { return self._s[900]! } - public var Notifications_MessageNotifications: String { return self._s[902]! } - public var Passport_Scans: String { return self._s[903]! } + public var AutoDownloadSettings_ResetHelp: String { return self._s[892]! } + public var Passport_Identity_DocumentDetails: String { return self._s[894]! } + public var Passport_Address_ScansHelp: String { return self._s[895]! } + public var Location_LiveLocationRequired_Title: String { return self._s[896]! } + public var ClearCache_StorageCache: String { return self._s[897]! } + public var Theme_Colors_ColorWallpaperWarningProceed: String { return self._s[898]! } + public var Conversation_RestrictedText: String { return self._s[899]! } + public var Notifications_MessageNotifications: String { return self._s[901]! } + public var Passport_Scans: String { return self._s[902]! } public func VoiceChat_StatusStartsIn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[905]!, self._r[905]!, [_0]) + return formatWithArgumentRanges(self._s[904]!, self._r[904]!, [_0]) } - public var TwoStepAuth_SetupHintTitle: String { return self._s[906]! } - public var LogoutOptions_ContactSupportTitle: String { return self._s[907]! } - public var Passport_Identity_SelfieHelp: String { return self._s[908]! } - public var Permissions_NotificationsUnreachableText_v0: String { return self._s[909]! } - public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[910]! } - public var ShareMenu_CopyShareLinkGame: String { return self._s[911]! } - public var PeerInfo_ButtonSearch: String { return self._s[912]! } + public var TwoStepAuth_SetupHintTitle: String { return self._s[905]! } + public var LogoutOptions_ContactSupportTitle: String { return self._s[906]! } + public var Passport_Identity_SelfieHelp: String { return self._s[907]! } + public var Permissions_NotificationsUnreachableText_v0: String { return self._s[908]! } + public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[909]! } + public var ShareMenu_CopyShareLinkGame: String { return self._s[910]! } + public var PeerInfo_ButtonSearch: String { return self._s[911]! } public func Notification_ProximityReachedYou(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[915]!, self._r[915]!, [_1, _2]) + return formatWithArgumentRanges(self._s[914]!, self._r[914]!, [_1, _2]) } - public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[916]! } - public var Passport_FieldIdentityTranslationHelp: String { return self._s[918]! } - public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[919]! } - public var Month_GenSeptember: String { return self._s[920]! } + public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[915]! } + public var Passport_FieldIdentityTranslationHelp: String { return self._s[917]! } + public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[918]! } + public var Month_GenSeptember: String { return self._s[919]! } public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[922]!, self._r[922]!, [_1, _2]) + return formatWithArgumentRanges(self._s[921]!, self._r[921]!, [_1, _2]) } - public var StickerPacksSettings_ArchivedPacks: String { return self._s[923]! } + public var StickerPacksSettings_ArchivedPacks: String { return self._s[922]! } public func Notification_VoiceChatInvitation(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[925]!, self._r[925]!, [_1, _2]) + return formatWithArgumentRanges(self._s[924]!, self._r[924]!, [_1, _2]) } public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[926]!, self._r[926]!, [_0]) + return formatWithArgumentRanges(self._s[925]!, self._r[925]!, [_0]) } public func PUSH_PINNED_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[928]!, self._r[928]!, [_1, _2]) + return formatWithArgumentRanges(self._s[927]!, self._r[927]!, [_1, _2]) } public func PUSH_MESSAGE_VIDEOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[929]!, self._r[929]!, [_1, _2]) + return formatWithArgumentRanges(self._s[928]!, self._r[928]!, [_1, _2]) } - public var Calls_NotNow: String { return self._s[931]! } - public var Settings_ChatFolders: String { return self._s[936]! } - public var Login_PadPhoneHelpTitle: String { return self._s[937]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[938]! } - public var Widget_MessageAutoremoveTimerRemoved: String { return self._s[939]! } - public var VoiceChat_RecordingSaved: String { return self._s[940]! } - public var Settings_ChatBackground: String { return self._s[941]! } + public var Calls_NotNow: String { return self._s[930]! } + public var Settings_ChatFolders: String { return self._s[935]! } + public var Login_PadPhoneHelpTitle: String { return self._s[936]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[937]! } + public var Widget_MessageAutoremoveTimerRemoved: String { return self._s[938]! } + public var VoiceChat_RecordingSaved: String { return self._s[939]! } + public var Settings_ChatBackground: String { return self._s[940]! } public func PUSH_CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[943]!, self._r[943]!, [_1, _2]) + return formatWithArgumentRanges(self._s[942]!, self._r[942]!, [_1, _2]) } - public var ProxyServer_VoiceOver_Active: String { return self._s[944]! } - public var Call_StatusBusy: String { return self._s[945]! } - public var Conversation_MessageDeliveryFailed: String { return self._s[946]! } - public var Login_NetworkError: String { return self._s[948]! } - public var TwoStepAuth_SetupPasswordDescription: String { return self._s[949]! } - public var Privacy_Calls_Integration: String { return self._s[950]! } - public var DialogList_SearchSectionMessages: String { return self._s[951]! } - public var AutoDownloadSettings_VideosTitle: String { return self._s[952]! } - public var Preview_DeletePhoto: String { return self._s[953]! } - public var VoiceChat_Video: String { return self._s[954]! } - public var PrivacySettings_PhoneNumber: String { return self._s[956]! } - public var Forward_ErrorDisabledForChat: String { return self._s[957]! } - public var Watch_Compose_CurrentLocation: String { return self._s[958]! } - public var Settings_CallSettings: String { return self._s[959]! } - public var AutoDownloadSettings_TypePrivateChats: String { return self._s[960]! } - public var Conversation_StickerRemovedFromFavorites: String { return self._s[961]! } - public var ChatList_Context_MarkAllAsRead: String { return self._s[962]! } - public var ChatSettings_AutoPlayAnimations: String { return self._s[963]! } - public var SaveIncomingPhotosSettings_Title: String { return self._s[964]! } - public var OwnershipTransfer_SecurityRequirements: String { return self._s[965]! } - public var Map_LiveLocationFor1Hour: String { return self._s[966]! } + public var ProxyServer_VoiceOver_Active: String { return self._s[943]! } + public var Call_StatusBusy: String { return self._s[944]! } + public var Conversation_MessageDeliveryFailed: String { return self._s[945]! } + public var Login_NetworkError: String { return self._s[947]! } + public var TwoStepAuth_SetupPasswordDescription: String { return self._s[948]! } + public var Privacy_Calls_Integration: String { return self._s[949]! } + public var DialogList_SearchSectionMessages: String { return self._s[950]! } + public var AutoDownloadSettings_VideosTitle: String { return self._s[951]! } + public var Preview_DeletePhoto: String { return self._s[952]! } + public var VoiceChat_Video: String { return self._s[953]! } + public var PrivacySettings_PhoneNumber: String { return self._s[955]! } + public var Forward_ErrorDisabledForChat: String { return self._s[956]! } + public var Watch_Compose_CurrentLocation: String { return self._s[957]! } + public var Settings_CallSettings: String { return self._s[958]! } + public var AutoDownloadSettings_TypePrivateChats: String { return self._s[959]! } + public var Conversation_StickerRemovedFromFavorites: String { return self._s[960]! } + public var ChatList_Context_MarkAllAsRead: String { return self._s[961]! } + public var ChatSettings_AutoPlayAnimations: String { return self._s[962]! } + public var SaveIncomingPhotosSettings_Title: String { return self._s[963]! } + public var OwnershipTransfer_SecurityRequirements: String { return self._s[964]! } + public var Map_LiveLocationFor1Hour: String { return self._s[965]! } public func Privacy_GroupsAndChannels_InviteToGroupError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[967]!, self._r[967]!, [_0, _1]) + return formatWithArgumentRanges(self._s[966]!, self._r[966]!, [_0, _1]) } - public var VoiceChat_MutedByAdmin: String { return self._s[968]! } + public var VoiceChat_MutedByAdmin: String { return self._s[967]! } public func Notification_PinnedLiveLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[969]!, self._r[969]!, [_0]) + return formatWithArgumentRanges(self._s[968]!, self._r[968]!, [_0]) } - public var Conversation_UnvotePoll: String { return self._s[970]! } - public var TwoStepAuth_EnterEmailCode: String { return self._s[971]! } + public var Conversation_UnvotePoll: String { return self._s[969]! } + public var TwoStepAuth_EnterEmailCode: String { return self._s[970]! } public func LOCAL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[972]!, self._r[972]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[971]!, self._r[971]!, [_1, "\(_2)"]) } - public var Passport_InfoTitle: String { return self._s[973]! } + public var Passport_InfoTitle: String { return self._s[972]! } public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[974]!, self._r[974]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[973]!, self._r[973]!, ["\(_0)"]) } - public var AccentColor_Title: String { return self._s[975]! } + public var AccentColor_Title: String { return self._s[974]! } public func PUSH_MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[976]!, self._r[976]!, [_1, _2]) + return formatWithArgumentRanges(self._s[975]!, self._r[975]!, [_1, _2]) } public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[979]!, self._r[979]!, [_0]) + return formatWithArgumentRanges(self._s[978]!, self._r[978]!, [_0]) } - public var AutoDownloadSettings_DataUsageCustom: String { return self._s[980]! } - public var Conversation_ShareBotLocationConfirmation: String { return self._s[981]! } - public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[982]! } - public var VoiceOver_Editing_ClearText: String { return self._s[983]! } - public var Conversation_Unarchive: String { return self._s[984]! } - public var Notification_CallOutgoing: String { return self._s[985]! } - public var Channel_Setup_PublicNoLink: String { return self._s[986]! } - public var Passport_Identity_GenderPlaceholder: String { return self._s[987]! } - public var Message_Animation: String { return self._s[988]! } - public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[989]! } - public var ChatSettings_ConnectionType_Title: String { return self._s[990]! } + public var AutoDownloadSettings_DataUsageCustom: String { return self._s[979]! } + public var Conversation_ShareBotLocationConfirmation: String { return self._s[980]! } + public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[981]! } + public var VoiceOver_Editing_ClearText: String { return self._s[982]! } + public var Conversation_Unarchive: String { return self._s[983]! } + public var Notification_CallOutgoing: String { return self._s[984]! } + public var Channel_Setup_PublicNoLink: String { return self._s[985]! } + public var Passport_Identity_GenderPlaceholder: String { return self._s[986]! } + public var Message_Animation: String { return self._s[987]! } + public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[988]! } + public var ChatSettings_ConnectionType_Title: String { return self._s[989]! } public func Watch_Time_ShortFullAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[991]!, self._r[991]!, [_1, _2]) + return formatWithArgumentRanges(self._s[990]!, self._r[990]!, [_1, _2]) } public func VoiceChat_StatusSpeakingVolume(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[992]!, self._r[992]!, [_0]) + return formatWithArgumentRanges(self._s[991]!, self._r[991]!, [_0]) } - public var Notification_CallBack: String { return self._s[993]! } - public var Appearance_Title: String { return self._s[996]! } - public var NotificationsSound_Glass: String { return self._s[998]! } - public var AutoDownloadSettings_CellularTitle: String { return self._s[1000]! } - public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[1002]! } - public var ChatSearch_SearchPlaceholder: String { return self._s[1003]! } - public var Passport_Identity_AddPassport: String { return self._s[1004]! } - public var GroupPermission_NoAddMembers: String { return self._s[1006]! } - public var ContactList_Context_SendMessage: String { return self._s[1007]! } - public var PhotoEditor_GrainTool: String { return self._s[1008]! } - public var Settings_CopyPhoneNumber: String { return self._s[1009]! } - public var Passport_Address_City: String { return self._s[1010]! } - public var VoiceChat_LeaveAndCancelVoiceChat: String { return self._s[1011]! } - public var ChannelRemoved_RemoveInfo: String { return self._s[1012]! } - public var SocksProxySetup_Password: String { return self._s[1014]! } - public var Settings_Passport: String { return self._s[1015]! } - public var Channel_MessagePhotoUpdated: String { return self._s[1017]! } - public var Stats_LanguagesTitle: String { return self._s[1018]! } - public var ChatList_PeerTypeGroup: String { return self._s[1019]! } - public var Privacy_Calls_P2PHelp: String { return self._s[1020]! } - public var VoiceOver_Chat_PollNoVotes: String { return self._s[1021]! } - public var Embed_PlayingInPIP: String { return self._s[1022]! } - public var BlockedUsers_BlockUser: String { return self._s[1025]! } - public var Login_CancelPhoneVerificationContinue: String { return self._s[1026]! } + public var Notification_CallBack: String { return self._s[992]! } + public var Appearance_Title: String { return self._s[995]! } + public var NotificationsSound_Glass: String { return self._s[997]! } + public var AutoDownloadSettings_CellularTitle: String { return self._s[999]! } + public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[1001]! } + public var ChatSearch_SearchPlaceholder: String { return self._s[1002]! } + public var Passport_Identity_AddPassport: String { return self._s[1003]! } + public var GroupPermission_NoAddMembers: String { return self._s[1005]! } + public var ContactList_Context_SendMessage: String { return self._s[1006]! } + public var PhotoEditor_GrainTool: String { return self._s[1007]! } + public var Settings_CopyPhoneNumber: String { return self._s[1008]! } + public var Passport_Address_City: String { return self._s[1009]! } + public var VoiceChat_LeaveAndCancelVoiceChat: String { return self._s[1010]! } + public var ChannelRemoved_RemoveInfo: String { return self._s[1011]! } + public var SocksProxySetup_Password: String { return self._s[1013]! } + public var Settings_Passport: String { return self._s[1014]! } + public var Channel_MessagePhotoUpdated: String { return self._s[1016]! } + public var Stats_LanguagesTitle: String { return self._s[1017]! } + public var ChatList_PeerTypeGroup: String { return self._s[1018]! } + public var Privacy_Calls_P2PHelp: String { return self._s[1019]! } + public var VoiceOver_Chat_PollNoVotes: String { return self._s[1020]! } + public var Embed_PlayingInPIP: String { return self._s[1021]! } + public var BlockedUsers_BlockUser: String { return self._s[1024]! } + public var Login_CancelPhoneVerificationContinue: String { return self._s[1025]! } public func PUSH_CHANNEL_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1027]!, self._r[1027]!, [_1]) + return formatWithArgumentRanges(self._s[1026]!, self._r[1026]!, [_1]) } - public var AuthSessions_LoggedIn: String { return self._s[1028]! } - public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[1029]! } - public var Activity_UploadingDocument: String { return self._s[1030]! } - public var PeopleNearby_NoMembers: String { return self._s[1031]! } - public var SettingsSearch_Synonyms_Stickers_Masks: String { return self._s[1034]! } - public var ChatSettings_AutoPlayVideos: String { return self._s[1035]! } - public var VoiceOver_Chat_OpenLinkHint: String { return self._s[1036]! } - public var InstantPage_VoiceOver_IncreaseFontSize: String { return self._s[1037]! } - public var Settings_ViewVideo: String { return self._s[1038]! } - public var Map_ShowPlaces: String { return self._s[1040]! } - public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1041]! } - public var InviteLink_Create_Title: String { return self._s[1042]! } - public var Notification_CreatedGroup: String { return self._s[1043]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[1044]! } + public var AuthSessions_LoggedIn: String { return self._s[1027]! } + public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[1028]! } + public var Activity_UploadingDocument: String { return self._s[1029]! } + public var PeopleNearby_NoMembers: String { return self._s[1030]! } + public var SettingsSearch_Synonyms_Stickers_Masks: String { return self._s[1033]! } + public var ChatSettings_AutoPlayVideos: String { return self._s[1034]! } + public var VoiceOver_Chat_OpenLinkHint: String { return self._s[1035]! } + public var InstantPage_VoiceOver_IncreaseFontSize: String { return self._s[1036]! } + public var Settings_ViewVideo: String { return self._s[1037]! } + public var Map_ShowPlaces: String { return self._s[1039]! } + public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1040]! } + public var InviteLink_Create_Title: String { return self._s[1041]! } + public var Notification_CreatedGroup: String { return self._s[1042]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[1043]! } public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1045]!, self._r[1045]!, [_0]) + return formatWithArgumentRanges(self._s[1044]!, self._r[1044]!, [_0]) } - public var Conversation_StatusLeftGroup: String { return self._s[1046]! } - public var Theme_Colors_Messages: String { return self._s[1047]! } - public var AuthSessions_EmptyText: String { return self._s[1048]! } + public var Conversation_StatusLeftGroup: String { return self._s[1045]! } + public var Theme_Colors_Messages: String { return self._s[1046]! } + public var AuthSessions_EmptyText: String { return self._s[1047]! } public func PUSH_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1049]!, self._r[1049]!, [_1]) + return formatWithArgumentRanges(self._s[1048]!, self._r[1048]!, [_1]) } - public var UserInfo_StartSecretChat: String { return self._s[1050]! } - public var ChatListFolderSettings_EditFoldersInfo: String { return self._s[1051]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[1052]! } - public var Conversation_ReportSpamGroupConfirmation: String { return self._s[1053]! } - public var Conversation_PrivateMessageLinkCopied: String { return self._s[1055]! } - public var PeerInfo_PaneFiles: String { return self._s[1056]! } - public var VoiceChat_DisplayAs: String { return self._s[1057]! } - public var PrivacySettings_AutoArchive: String { return self._s[1058]! } - public var Camera_VideoMode: String { return self._s[1059]! } - public var NotificationsSound_Alert: String { return self._s[1060]! } - public var Privacy_Forwards_NeverAllow_Title: String { return self._s[1061]! } - public var Appearance_AutoNightTheme: String { return self._s[1062]! } - public var Passport_Language_he: String { return self._s[1063]! } - public var Passport_InvalidPasswordError: String { return self._s[1064]! } - public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1065]! } - public var UserInfo_InviteBotToGroup: String { return self._s[1066]! } - public var Conversation_SilentBroadcastTooltipOff: String { return self._s[1067]! } - public var Common_TakePhoto: String { return self._s[1068]! } + public var UserInfo_StartSecretChat: String { return self._s[1049]! } + public var ChatListFolderSettings_EditFoldersInfo: String { return self._s[1050]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[1051]! } + public var Conversation_ReportSpamGroupConfirmation: String { return self._s[1052]! } + public var Conversation_PrivateMessageLinkCopied: String { return self._s[1054]! } + public var PeerInfo_PaneFiles: String { return self._s[1055]! } + public var VoiceChat_DisplayAs: String { return self._s[1056]! } + public var PrivacySettings_AutoArchive: String { return self._s[1057]! } + public var Camera_VideoMode: String { return self._s[1058]! } + public var NotificationsSound_Alert: String { return self._s[1059]! } + public var Privacy_Forwards_NeverAllow_Title: String { return self._s[1060]! } + public var Appearance_AutoNightTheme: String { return self._s[1061]! } + public var Passport_Language_he: String { return self._s[1062]! } + public var Passport_InvalidPasswordError: String { return self._s[1063]! } + public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1064]! } + public var UserInfo_InviteBotToGroup: String { return self._s[1065]! } + public var Conversation_SilentBroadcastTooltipOff: String { return self._s[1066]! } + public var Common_TakePhoto: String { return self._s[1067]! } public func Channel_AdminLog_RevokedInviteLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1069]!, self._r[1069]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1068]!, self._r[1068]!, [_1, _2]) } - public var Passport_Email_UseTelegramEmailHelp: String { return self._s[1070]! } - public var ChatList_Context_JoinChannel: String { return self._s[1071]! } - public var MediaPlayer_UnknownArtist: String { return self._s[1072]! } - public var VoiceChat_EditDescriptionText: String { return self._s[1073]! } - public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[1076]! } - public var Channel_OwnershipTransfer_Title: String { return self._s[1077]! } - public var EditTheme_UploadEditedTheme: String { return self._s[1078]! } - public var Settings_SetProfilePhotoOrVideo: String { return self._s[1080]! } - public var Passport_FieldOneOf_Delimeter: String { return self._s[1081]! } - public var MessagePoll_ViewResults: String { return self._s[1082]! } - public var Group_Setup_TypePrivateHelp: String { return self._s[1083]! } + public var Passport_Email_UseTelegramEmailHelp: String { return self._s[1069]! } + public var ChatList_Context_JoinChannel: String { return self._s[1070]! } + public var MediaPlayer_UnknownArtist: String { return self._s[1071]! } + public var VoiceChat_EditDescriptionText: String { return self._s[1072]! } + public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[1075]! } + public var Channel_OwnershipTransfer_Title: String { return self._s[1076]! } + public var EditTheme_UploadEditedTheme: String { return self._s[1077]! } + public var Settings_SetProfilePhotoOrVideo: String { return self._s[1079]! } + public var Passport_FieldOneOf_Delimeter: String { return self._s[1080]! } + public var MessagePoll_ViewResults: String { return self._s[1081]! } + public var Group_Setup_TypePrivateHelp: String { return self._s[1082]! } public func UserInfo_ContactForwardTooltip_Chat_One(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1084]!, self._r[1084]!, [_0]) + return formatWithArgumentRanges(self._s[1083]!, self._r[1083]!, [_0]) } - public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1085]! } - public var Privacy_PaymentsClear_ShippingInfoCleared: String { return self._s[1086]! } - public var ChatList_Search_ShowLess: String { return self._s[1087]! } - public var InviteLink_Create_UsersLimitNoLimit: String { return self._s[1088]! } - public var UserInfo_ShareBot: String { return self._s[1089]! } - public var Privacy_Calls_P2P: String { return self._s[1091]! } - public var WebBrowser_InAppSafari: String { return self._s[1092]! } - public var SharedMedia_EmptyFilesText: String { return self._s[1095]! } - public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[1096]! } - public var GroupInfo_SetSound: String { return self._s[1097]! } - public var Permissions_PeopleNearbyAllowInSettings_v0: String { return self._s[1098]! } + public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1084]! } + public var Privacy_PaymentsClear_ShippingInfoCleared: String { return self._s[1085]! } + public var ChatList_Search_ShowLess: String { return self._s[1086]! } + public var InviteLink_Create_UsersLimitNoLimit: String { return self._s[1087]! } + public var UserInfo_ShareBot: String { return self._s[1088]! } + public var Privacy_Calls_P2P: String { return self._s[1090]! } + public var WebBrowser_InAppSafari: String { return self._s[1091]! } + public var SharedMedia_EmptyFilesText: String { return self._s[1094]! } + public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[1095]! } + public var GroupInfo_SetSound: String { return self._s[1096]! } + public var Permissions_PeopleNearbyAllowInSettings_v0: String { return self._s[1097]! } public func Conversation_AutoremoveRemainingTime(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1099]!, self._r[1099]!, [_0]) + return formatWithArgumentRanges(self._s[1098]!, self._r[1098]!, [_0]) } - public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1100]! } - public var Channel_AdminLogFilter_EventsAll: String { return self._s[1101]! } - public var CallSettings_UseLessData: String { return self._s[1102]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[1103]! } - public var NotificationsSound_Chord: String { return self._s[1104]! } - public var PhotoEditor_CurvesTool: String { return self._s[1105]! } - public var Appearance_ThemePreview_Chat_2_Text: String { return self._s[1106]! } - public var Resolve_ErrorNotFound: String { return self._s[1107]! } - public var Activity_PlayingGame: String { return self._s[1108]! } + public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1099]! } + public var Channel_AdminLogFilter_EventsAll: String { return self._s[1100]! } + public var CallSettings_UseLessData: String { return self._s[1101]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[1102]! } + public var NotificationsSound_Chord: String { return self._s[1103]! } + public var PhotoEditor_CurvesTool: String { return self._s[1104]! } + public var Appearance_ThemePreview_Chat_2_Text: String { return self._s[1105]! } + public var Resolve_ErrorNotFound: String { return self._s[1106]! } + public var Activity_PlayingGame: String { return self._s[1107]! } public func VoiceChat_InvitedPeerText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1112]!, self._r[1112]!, [_0]) + return formatWithArgumentRanges(self._s[1111]!, self._r[1111]!, [_0]) } - public var StickerPacksSettings_AnimatedStickersInfo: String { return self._s[1113]! } + public var StickerPacksSettings_AnimatedStickersInfo: String { return self._s[1112]! } public func PUSH_CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1114]!, self._r[1114]!, [_1]) + return formatWithArgumentRanges(self._s[1113]!, self._r[1113]!, [_1]) } - public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[1115]! } - public var Notification_CallIncoming: String { return self._s[1116]! } - public var Stats_EnabledNotifications: String { return self._s[1117]! } - public var Notification_VoiceChatStartedChannel: String { return self._s[1118]! } - public var Notifications_PermissionsOpenSettings: String { return self._s[1119]! } - public var Checkout_ErrorProviderAccountTimeout: String { return self._s[1120]! } + public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[1114]! } + public var Notification_CallIncoming: String { return self._s[1115]! } + public var Stats_EnabledNotifications: String { return self._s[1116]! } + public var Notification_VoiceChatStartedChannel: String { return self._s[1117]! } + public var Notifications_PermissionsOpenSettings: String { return self._s[1118]! } + public var Checkout_ErrorProviderAccountTimeout: String { return self._s[1119]! } public func Activity_RemindAboutChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1121]!, self._r[1121]!, [_0]) + return formatWithArgumentRanges(self._s[1120]!, self._r[1120]!, [_0]) } - public var VoiceChat_StatusMutedYou: String { return self._s[1122]! } - public var VoiceOver_Chat_ReplyToYourMessage: String { return self._s[1123]! } - public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[1124]! } - public var StickerPacksSettings_Title: String { return self._s[1125]! } + public var VoiceChat_StatusMutedYou: String { return self._s[1121]! } + public var VoiceOver_Chat_ReplyToYourMessage: String { return self._s[1122]! } + public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[1123]! } + public var StickerPacksSettings_Title: String { return self._s[1124]! } public func Channel_AdminLog_MessageGroupPreHistoryVisible(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1126]!, self._r[1126]!, [_0]) + return formatWithArgumentRanges(self._s[1125]!, self._r[1125]!, [_0]) } - public var Watch_NoConnection: String { return self._s[1127]! } - public var EncryptionKey_Title: String { return self._s[1128]! } - public var Widget_AuthRequired: String { return self._s[1129]! } + public var Watch_NoConnection: String { return self._s[1126]! } + public var EncryptionKey_Title: String { return self._s[1127]! } + public var Widget_AuthRequired: String { return self._s[1128]! } public func PUSH_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1130]!, self._r[1130]!, [_1]) + return formatWithArgumentRanges(self._s[1129]!, self._r[1129]!, [_1]) } - public var Notifications_ExceptionsTitle: String { return self._s[1131]! } - public var EditTheme_Expand_TopInfo: String { return self._s[1132]! } + public var Notifications_ExceptionsTitle: String { return self._s[1130]! } + public var EditTheme_Expand_TopInfo: String { return self._s[1131]! } public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1133]!, self._r[1133]!, [_0]) + return formatWithArgumentRanges(self._s[1132]!, self._r[1132]!, [_0]) } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[1135]! } - public var Notifications_GroupNotificationsSound: String { return self._s[1136]! } - public var VoiceChat_SpeakPermissionAdmin: String { return self._s[1137]! } - public var Passport_Email_EnterOtherEmail: String { return self._s[1138]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[1134]! } + public var Notifications_GroupNotificationsSound: String { return self._s[1135]! } + public var VoiceChat_SpeakPermissionAdmin: String { return self._s[1136]! } + public var Passport_Email_EnterOtherEmail: String { return self._s[1137]! } public func VoiceChat_RemovePeerConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1141]!, self._r[1141]!, [_0]) + return formatWithArgumentRanges(self._s[1140]!, self._r[1140]!, [_0]) } - public var Conversation_AddToContacts: String { return self._s[1142]! } - public var AutoDownloadSettings_DataUsageMedium: String { return self._s[1143]! } - public var AuthSessions_LogOutApplications: String { return self._s[1145]! } - public var VoiceChat_LeaveVoiceChat: String { return self._s[1146]! } - public var ChatList_Context_Unpin: String { return self._s[1147]! } - public var PeopleNearby_DiscoverDescription: String { return self._s[1148]! } - public var UserInfo_FakeBotWarning: String { return self._s[1149]! } - public var Notification_MessageLifetime1d: String { return self._s[1150]! } - public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[1151]! } - public var ChatListFolder_CategoryChannels: String { return self._s[1152]! } - public var VoiceOver_Chat_SeenByRecipient: String { return self._s[1153]! } - public var Notifications_PermissionsAllow: String { return self._s[1154]! } - public var Undo_ScheduledMessagesCleared: String { return self._s[1155]! } - public var AutoDownloadSettings_PrivateChats: String { return self._s[1157]! } - public var VoiceChat_ImproveYourProfileText: String { return self._s[1158]! } - public var ApplyLanguage_ChangeLanguageAction: String { return self._s[1159]! } - public var ChatImportActivity_ErrorInvalidChatType: String { return self._s[1160]! } + public var Conversation_AddToContacts: String { return self._s[1141]! } + public var AutoDownloadSettings_DataUsageMedium: String { return self._s[1142]! } + public var AuthSessions_LogOutApplications: String { return self._s[1144]! } + public var VoiceChat_LeaveVoiceChat: String { return self._s[1145]! } + public var ChatList_Context_Unpin: String { return self._s[1146]! } + public var PeopleNearby_DiscoverDescription: String { return self._s[1147]! } + public var UserInfo_FakeBotWarning: String { return self._s[1148]! } + public var Notification_MessageLifetime1d: String { return self._s[1149]! } + public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[1150]! } + public var ChatListFolder_CategoryChannels: String { return self._s[1151]! } + public var VoiceOver_Chat_SeenByRecipient: String { return self._s[1152]! } + public var Notifications_PermissionsAllow: String { return self._s[1153]! } + public var Undo_ScheduledMessagesCleared: String { return self._s[1154]! } + public var AutoDownloadSettings_PrivateChats: String { return self._s[1156]! } + public var VoiceChat_ImproveYourProfileText: String { return self._s[1157]! } + public var ApplyLanguage_ChangeLanguageAction: String { return self._s[1158]! } + public var ChatImportActivity_ErrorInvalidChatType: String { return self._s[1159]! } public func Conversation_ScheduledVoiceChatStartsToday(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1161]!, self._r[1161]!, [_0]) + return formatWithArgumentRanges(self._s[1160]!, self._r[1160]!, [_0]) } public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1162]!, self._r[1162]!, [_0]) + return formatWithArgumentRanges(self._s[1161]!, self._r[1161]!, [_0]) } - public var Conversation_AutoremoveTimerRemovedChannel: String { return self._s[1164]! } - public var Notifications_MessageNotificationsHelp: String { return self._s[1166]! } - public var WallpaperSearch_ColorPink: String { return self._s[1167]! } - public var ContactInfo_PhoneNumberHidden: String { return self._s[1168]! } - public var Passport_Identity_IssueDate: String { return self._s[1170]! } + public var Conversation_AutoremoveTimerRemovedChannel: String { return self._s[1163]! } + public var Notifications_MessageNotificationsHelp: String { return self._s[1165]! } + public var WallpaperSearch_ColorPink: String { return self._s[1166]! } + public var ContactInfo_PhoneNumberHidden: String { return self._s[1167]! } + public var Passport_Identity_IssueDate: String { return self._s[1169]! } public func PUSH_CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1171]!, self._r[1171]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1170]!, self._r[1170]!, [_1, _2]) } - public var ChatList_DeleteForAllSubscribersConfirmationText: String { return self._s[1172]! } - public var Channel_Info_Description: String { return self._s[1173]! } - public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1174]! } - public var Weekday_ShortTuesday: String { return self._s[1175]! } - public var Common_Back: String { return self._s[1176]! } - public var Chat_PinnedMessagesHiddenTitle: String { return self._s[1178]! } - public var ChatListFolder_AddChats: String { return self._s[1179]! } - public var Common_Close: String { return self._s[1181]! } - public var Map_OpenIn: String { return self._s[1182]! } - public var Group_Setup_HistoryTitle: String { return self._s[1183]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[1184]! } - public var Notification_MessageLifetime1h: String { return self._s[1185]! } + public var ChatList_DeleteForAllSubscribersConfirmationText: String { return self._s[1171]! } + public var Channel_Info_Description: String { return self._s[1172]! } + public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1173]! } + public var Weekday_ShortTuesday: String { return self._s[1174]! } + public var Common_Back: String { return self._s[1175]! } + public var Chat_PinnedMessagesHiddenTitle: String { return self._s[1177]! } + public var ChatListFolder_AddChats: String { return self._s[1178]! } + public var Common_Close: String { return self._s[1180]! } + public var Map_OpenIn: String { return self._s[1181]! } + public var Group_Setup_HistoryTitle: String { return self._s[1182]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[1183]! } + public var Notification_MessageLifetime1h: String { return self._s[1184]! } public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1186]!, self._r[1186]!, [_0]) + return formatWithArgumentRanges(self._s[1185]!, self._r[1185]!, [_0]) } - public var Watch_Contacts_NoResults: String { return self._s[1188]! } - public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1189]! } - public var Checkout_Phone: String { return self._s[1190]! } - public var OwnershipTransfer_ComeBackLater: String { return self._s[1191]! } + public var Watch_Contacts_NoResults: String { return self._s[1187]! } + public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1188]! } + public var Checkout_Phone: String { return self._s[1189]! } + public var OwnershipTransfer_ComeBackLater: String { return self._s[1190]! } public func Channel_CommentsGroup_HeaderGroupSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1192]!, self._r[1192]!, [_0]) + return formatWithArgumentRanges(self._s[1191]!, self._r[1191]!, [_0]) } public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1193]!, self._r[1193]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1192]!, self._r[1192]!, ["\(_0)"]) } - public var Conversation_AudioRateTooltipSpeedUp: String { return self._s[1194]! } - public var ChatAdmins_Title: String { return self._s[1195]! } - public var Appearance_ThemePreview_Chat_7_Text: String { return self._s[1196]! } + public var Conversation_AudioRateTooltipSpeedUp: String { return self._s[1193]! } + public var ChatAdmins_Title: String { return self._s[1194]! } + public var Appearance_ThemePreview_Chat_7_Text: String { return self._s[1195]! } public func PUSH_CHANNEL_MESSAGE_POLL(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1197]!, self._r[1197]!, [_1]) + return formatWithArgumentRanges(self._s[1196]!, self._r[1196]!, [_1]) } - public var Common_Done: String { return self._s[1198]! } - public var ChatList_HeaderImportIntoAnExistingGroup: String { return self._s[1199]! } - public var Appearance_ThemeCarouselNight: String { return self._s[1202]! } + public var Common_Done: String { return self._s[1197]! } + public var ChatList_HeaderImportIntoAnExistingGroup: String { return self._s[1198]! } + public var Appearance_ThemeCarouselNight: String { return self._s[1201]! } public func PUSH_PINNED_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1204]!, self._r[1204]!, [_1]) + return formatWithArgumentRanges(self._s[1203]!, self._r[1203]!, [_1]) } - public var InviteLink_Expired: String { return self._s[1206]! } - public var Preview_OpenInInstagram: String { return self._s[1207]! } - public var Wallpaper_SetColor: String { return self._s[1212]! } - public var VoiceOver_Media_PlaybackRate: String { return self._s[1213]! } - public var ChatSettings_Groups: String { return self._s[1214]! } + public var InviteLink_Expired: String { return self._s[1205]! } + public var Preview_OpenInInstagram: String { return self._s[1206]! } + public var Wallpaper_SetColor: String { return self._s[1211]! } + public var VoiceOver_Media_PlaybackRate: String { return self._s[1212]! } + public var ChatSettings_Groups: String { return self._s[1213]! } public func VoiceOver_Chat_VoiceMessageFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1215]!, self._r[1215]!, [_0]) + return formatWithArgumentRanges(self._s[1214]!, self._r[1214]!, [_0]) } - public var Contacts_SortedByName: String { return self._s[1216]! } - public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1217]! } - public var Channel_Management_LabelCreator: String { return self._s[1218]! } - public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1219]! } + public var Contacts_SortedByName: String { return self._s[1215]! } + public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1216]! } + public var Channel_Management_LabelCreator: String { return self._s[1217]! } + public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1218]! } public func PrivacySettings_LastSeenContactsMinusPlus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1220]!, self._r[1220]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1219]!, self._r[1219]!, [_0, _1]) } - public var Group_GroupMembersHeader: String { return self._s[1221]! } - public var Group_PublicLink_Title: String { return self._s[1222]! } - public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[1223]! } - public var VoiceOver_Chat_Photo: String { return self._s[1224]! } - public var TwoFactorSetup_EmailVerification_Placeholder: String { return self._s[1225]! } - public var IntentsSettings_SuggestBy: String { return self._s[1226]! } - public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[1227]! } - public var Appearance_ThemePreview_ChatList_1_Name: String { return self._s[1228]! } - public var PhoneNumberHelp_ChangeNumber: String { return self._s[1229]! } - public var LogoutOptions_SetPasscodeText: String { return self._s[1230]! } - public var Map_OpenInMaps: String { return self._s[1231]! } - public var ContactInfo_PhoneLabelWorkFax: String { return self._s[1232]! } - public var BlockedUsers_Unblock: String { return self._s[1233]! } + public var Group_GroupMembersHeader: String { return self._s[1220]! } + public var Group_PublicLink_Title: String { return self._s[1221]! } + public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[1222]! } + public var VoiceOver_Chat_Photo: String { return self._s[1223]! } + public var TwoFactorSetup_EmailVerification_Placeholder: String { return self._s[1224]! } + public var IntentsSettings_SuggestBy: String { return self._s[1225]! } + public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[1226]! } + public var Appearance_ThemePreview_ChatList_1_Name: String { return self._s[1227]! } + public var PhoneNumberHelp_ChangeNumber: String { return self._s[1228]! } + public var LogoutOptions_SetPasscodeText: String { return self._s[1229]! } + public var Map_OpenInMaps: String { return self._s[1230]! } + public var ContactInfo_PhoneLabelWorkFax: String { return self._s[1231]! } + public var BlockedUsers_Unblock: String { return self._s[1232]! } public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1234]!, self._r[1234]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1233]!, self._r[1233]!, [_1, _2]) } public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1235]!, self._r[1235]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1234]!, self._r[1234]!, [_1, _2]) } - public var ChatImport_CreateGroupAlertTitle: String { return self._s[1237]! } - public var Conversation_Block: String { return self._s[1238]! } - public var VoiceChat_PersonalAccount: String { return self._s[1239]! } - public var Passport_Scans_UploadNew: String { return self._s[1240]! } - public var Share_Title: String { return self._s[1241]! } - public var Conversation_ApplyLocalization: String { return self._s[1242]! } - public var SharedMedia_EmptyLinksText: String { return self._s[1243]! } - public var Settings_NotificationsAndSounds: String { return self._s[1244]! } - public var Stats_ViewsByHoursTitle: String { return self._s[1245]! } - public var PhotoEditor_QualityMedium: String { return self._s[1246]! } - public var Conversation_ContextMenuCancelSending: String { return self._s[1247]! } + public var ChatImport_CreateGroupAlertTitle: String { return self._s[1236]! } + public var Conversation_Block: String { return self._s[1237]! } + public var VoiceChat_PersonalAccount: String { return self._s[1238]! } + public var Passport_Scans_UploadNew: String { return self._s[1239]! } + public var Share_Title: String { return self._s[1240]! } + public var Conversation_ApplyLocalization: String { return self._s[1241]! } + public var SharedMedia_EmptyLinksText: String { return self._s[1242]! } + public var Settings_NotificationsAndSounds: String { return self._s[1243]! } + public var Stats_ViewsByHoursTitle: String { return self._s[1244]! } + public var PhotoEditor_QualityMedium: String { return self._s[1245]! } + public var Conversation_ContextMenuCancelSending: String { return self._s[1246]! } public func PUSH_CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1248]!, self._r[1248]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1247]!, self._r[1247]!, [_1, _2]) } - public var Conversation_RestrictedInline: String { return self._s[1249]! } - public var Passport_Language_tr: String { return self._s[1250]! } - public var Call_Mute: String { return self._s[1251]! } + public var Conversation_RestrictedInline: String { return self._s[1248]! } + public var Passport_Language_tr: String { return self._s[1249]! } + public var Call_Mute: String { return self._s[1250]! } public func Conversation_NoticeInvitedByInGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1252]!, self._r[1252]!, [_0]) + return formatWithArgumentRanges(self._s[1251]!, self._r[1251]!, [_0]) } - public var Passport_Language_bn: String { return self._s[1253]! } - public var Common_Save: String { return self._s[1255]! } - public var AccessDenied_LocationTracking: String { return self._s[1257]! } - public var Month_ShortOctober: String { return self._s[1258]! } - public var AutoDownloadSettings_WiFi: String { return self._s[1259]! } - public var ProfilePhoto_SetMainPhoto: String { return self._s[1261]! } - public var ChangePhoneNumberNumber_NewNumber: String { return self._s[1262]! } + public var Passport_Language_bn: String { return self._s[1252]! } + public var Common_Save: String { return self._s[1254]! } + public var AccessDenied_LocationTracking: String { return self._s[1256]! } + public var Month_ShortOctober: String { return self._s[1257]! } + public var AutoDownloadSettings_WiFi: String { return self._s[1258]! } + public var ProfilePhoto_SetMainPhoto: String { return self._s[1260]! } + public var ChangePhoneNumberNumber_NewNumber: String { return self._s[1261]! } public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1263]!, self._r[1263]!, [_0]) + return formatWithArgumentRanges(self._s[1262]!, self._r[1262]!, [_0]) } - public var Watch_ChannelInfo_Title: String { return self._s[1264]! } - public var State_Updating: String { return self._s[1265]! } - public var Conversation_UnblockUser: String { return self._s[1266]! } - public var Notifications_ChannelNotificationsSound: String { return self._s[1267]! } - public var Map_GetDirections: String { return self._s[1268]! } - public var Watch_Compose_AddContact: String { return self._s[1270]! } - public var Conversation_Dice_u26BD: String { return self._s[1271]! } - public var AccessDenied_PhotosRestricted: String { return self._s[1272]! } + public var Watch_ChannelInfo_Title: String { return self._s[1263]! } + public var State_Updating: String { return self._s[1264]! } + public var Conversation_UnblockUser: String { return self._s[1265]! } + public var Notifications_ChannelNotificationsSound: String { return self._s[1266]! } + public var Map_GetDirections: String { return self._s[1267]! } + public var Watch_Compose_AddContact: String { return self._s[1269]! } + public var Conversation_Dice_u26BD: String { return self._s[1270]! } + public var AccessDenied_PhotosRestricted: String { return self._s[1271]! } public func Channel_AdminLog_MessageRank(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1273]!, self._r[1273]!, [_1]) + return formatWithArgumentRanges(self._s[1272]!, self._r[1272]!, [_1]) } - public var Map_LoadError: String { return self._s[1275]! } - public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[1276]! } - public var PhotoEditor_CropAuto: String { return self._s[1277]! } + public var Map_LoadError: String { return self._s[1274]! } + public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[1275]! } + public var PhotoEditor_CropAuto: String { return self._s[1276]! } public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1280]!, self._r[1280]!, [_0]) + return formatWithArgumentRanges(self._s[1279]!, self._r[1279]!, [_0]) } - public var Username_TooManyPublicUsernamesError: String { return self._s[1282]! } + public var Username_TooManyPublicUsernamesError: String { return self._s[1281]! } public func PUSH_PINNED_GAME(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1283]!, self._r[1283]!, [_1]) + return formatWithArgumentRanges(self._s[1282]!, self._r[1282]!, [_1]) } - public var Settings_PhoneNumber: String { return self._s[1284]! } + public var Settings_PhoneNumber: String { return self._s[1283]! } public func Channel_AdminLog_MessageTransferedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1285]!, self._r[1285]!, [_1]) + return formatWithArgumentRanges(self._s[1284]!, self._r[1284]!, [_1]) } - public var Month_GenJune: String { return self._s[1287]! } - public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[1288]! } - public var ChatListFolder_CategoryRead: String { return self._s[1289]! } - public var LoginPassword_ResetAccount: String { return self._s[1290]! } + public var Month_GenJune: String { return self._s[1286]! } + public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[1287]! } + public var ChatListFolder_CategoryRead: String { return self._s[1288]! } + public var LoginPassword_ResetAccount: String { return self._s[1289]! } public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1291]!, self._r[1291]!, [_0]) + return formatWithArgumentRanges(self._s[1290]!, self._r[1290]!, [_0]) } - public var Call_CameraConfirmationConfirm: String { return self._s[1292]! } - public var Notification_RenamedChannel: String { return self._s[1293]! } + public var Call_CameraConfirmationConfirm: String { return self._s[1291]! } + public var Notification_RenamedChannel: String { return self._s[1292]! } public func Channel_AdminLog_MessageUnpinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1294]!, self._r[1294]!, [_0]) + return formatWithArgumentRanges(self._s[1293]!, self._r[1293]!, [_0]) } - public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[1295]! } - public var IntentsSettings_Title: String { return self._s[1297]! } - public var CallList_DeleteAllForMe: String { return self._s[1298]! } - public var Settings_AppleWatch: String { return self._s[1299]! } - public var Conversation_LinkCopied: String { return self._s[1300]! } - public var DialogList_NoMessagesText: String { return self._s[1301]! } + public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[1294]! } + public var IntentsSettings_Title: String { return self._s[1296]! } + public var CallList_DeleteAllForMe: String { return self._s[1297]! } + public var Settings_AppleWatch: String { return self._s[1298]! } + public var Conversation_LinkCopied: String { return self._s[1299]! } + public var DialogList_NoMessagesText: String { return self._s[1300]! } public func VoiceChat_SendPublicLinkText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1302]!, self._r[1302]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1301]!, self._r[1301]!, [_1, _2]) } - public var GroupPermission_NoChangeInfo: String { return self._s[1303]! } - public var Channel_ErrorAccessDenied: String { return self._s[1305]! } - public var ScheduledMessages_EmptyPlaceholder: String { return self._s[1306]! } + public var GroupPermission_NoChangeInfo: String { return self._s[1302]! } + public var Channel_ErrorAccessDenied: String { return self._s[1304]! } + public var ScheduledMessages_EmptyPlaceholder: String { return self._s[1305]! } public func Message_StickerText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1307]!, self._r[1307]!, [_0]) + return formatWithArgumentRanges(self._s[1306]!, self._r[1306]!, [_0]) } - public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[1308]! } - public var StickerPacksSettings_AnimatedStickers: String { return self._s[1309]! } - public var Month_ShortJanuary: String { return self._s[1310]! } - public var Conversation_UnreadMessages: String { return self._s[1311]! } - public var Conversation_PrivateChannelTooltip: String { return self._s[1313]! } - public var Call_VoiceOver_VideoCallCanceled: String { return self._s[1314]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[1316]! } - public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1317]! } + public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[1307]! } + public var StickerPacksSettings_AnimatedStickers: String { return self._s[1308]! } + public var Month_ShortJanuary: String { return self._s[1309]! } + public var Conversation_UnreadMessages: String { return self._s[1310]! } + public var Conversation_PrivateChannelTooltip: String { return self._s[1312]! } + public var Call_VoiceOver_VideoCallCanceled: String { return self._s[1313]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[1315]! } + public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1316]! } public func Conversation_ShareMyPhoneNumberConfirmation(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1321]!, self._r[1321]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1320]!, self._r[1320]!, [_1, _2]) } - public var Widget_ApplicationLocked: String { return self._s[1322]! } + public var Widget_ApplicationLocked: String { return self._s[1321]! } public func TextFormat_AddLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1323]!, self._r[1323]!, [_0]) + return formatWithArgumentRanges(self._s[1322]!, self._r[1322]!, [_0]) } - public var Common_TakePhotoOrVideo: String { return self._s[1324]! } - public var Passport_Language_ru: String { return self._s[1326]! } - public var MediaPicker_VideoMuteDescription: String { return self._s[1327]! } - public var EditTheme_ErrorLinkTaken: String { return self._s[1328]! } + public var Common_TakePhotoOrVideo: String { return self._s[1323]! } + public var Passport_Language_ru: String { return self._s[1325]! } + public var MediaPicker_VideoMuteDescription: String { return self._s[1326]! } + public var EditTheme_ErrorLinkTaken: String { return self._s[1327]! } public func Group_EditAdmin_RankInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1330]!, self._r[1330]!, [_0]) + return formatWithArgumentRanges(self._s[1329]!, self._r[1329]!, [_0]) } - public var VoiceChat_ShareShort: String { return self._s[1331]! } - public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[1332]! } - public var Conversation_Owner: String { return self._s[1334]! } - public var Settings_FAQ_Intro: String { return self._s[1335]! } - public var PhotoEditor_QualityLow: String { return self._s[1337]! } - public var Widget_GalleryTitle: String { return self._s[1338]! } - public var Call_End: String { return self._s[1339]! } - public var StickerPacksSettings_FeaturedPacks: String { return self._s[1341]! } - public var Privacy_ContactsSyncHelp: String { return self._s[1342]! } - public var OldChannels_NoticeUpgradeText: String { return self._s[1346]! } - public var Conversation_Call: String { return self._s[1348]! } - public var Watch_MessageView_Title: String { return self._s[1349]! } + public var VoiceChat_ShareShort: String { return self._s[1330]! } + public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[1331]! } + public var Conversation_Owner: String { return self._s[1333]! } + public var Settings_FAQ_Intro: String { return self._s[1334]! } + public var PhotoEditor_QualityLow: String { return self._s[1336]! } + public var Widget_GalleryTitle: String { return self._s[1337]! } + public var Call_End: String { return self._s[1338]! } + public var StickerPacksSettings_FeaturedPacks: String { return self._s[1340]! } + public var Privacy_ContactsSyncHelp: String { return self._s[1341]! } + public var OldChannels_NoticeUpgradeText: String { return self._s[1345]! } + public var Conversation_Call: String { return self._s[1347]! } + public var Watch_MessageView_Title: String { return self._s[1348]! } public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1350]!, self._r[1350]!, [_0]) + return formatWithArgumentRanges(self._s[1349]!, self._r[1349]!, [_0]) } - public var Passport_PasswordCompleteSetup: String { return self._s[1351]! } + public var Passport_PasswordCompleteSetup: String { return self._s[1350]! } public func Notification_ChangedGroupVideo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1352]!, self._r[1352]!, [_0]) + return formatWithArgumentRanges(self._s[1351]!, self._r[1351]!, [_0]) } public func TwoFactorSetup_EmailVerification_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1354]!, self._r[1354]!, [_0]) + return formatWithArgumentRanges(self._s[1353]!, self._r[1353]!, [_0]) } - public var Map_Location: String { return self._s[1355]! } - public var Watch_MessageView_ViewOnPhone: String { return self._s[1356]! } - public var Login_CountryCode: String { return self._s[1357]! } - public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[1359]! } - public var ChatState_ConnectingToProxy: String { return self._s[1360]! } - public var Login_CallRequestState3: String { return self._s[1361]! } - public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[1364]! } - public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1365]! } - public var Widget_ChatsGalleryDescription: String { return self._s[1367]! } - public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[1369]! } - public var InstantPage_FontSanFrancisco: String { return self._s[1370]! } - public var Call_StatusEnded: String { return self._s[1371]! } + public var Map_Location: String { return self._s[1354]! } + public var Watch_MessageView_ViewOnPhone: String { return self._s[1355]! } + public var Login_CountryCode: String { return self._s[1356]! } + public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[1358]! } + public var ChatState_ConnectingToProxy: String { return self._s[1359]! } + public var Login_CallRequestState3: String { return self._s[1360]! } + public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[1363]! } + public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1364]! } + public var Widget_ChatsGalleryDescription: String { return self._s[1366]! } + public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[1368]! } + public var InstantPage_FontSanFrancisco: String { return self._s[1369]! } + public var Call_StatusEnded: String { return self._s[1370]! } public func Checkout_SuccessfulTooltip(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1374]!, self._r[1374]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1373]!, self._r[1373]!, [_1, _2]) } - public var MusicPlayer_VoiceNote: String { return self._s[1375]! } - public var ChatImportActivity_ErrorUserBlocked: String { return self._s[1376]! } + public var MusicPlayer_VoiceNote: String { return self._s[1374]! } + public var ChatImportActivity_ErrorUserBlocked: String { return self._s[1375]! } public func PUSH_CHANNEL_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1377]!, self._r[1377]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1376]!, self._r[1376]!, [_1, _2]) } - public var VoiceOver_MessageContextShare: String { return self._s[1378]! } - public var ProfilePhoto_SearchWeb: String { return self._s[1379]! } - public var EditProfile_Title: String { return self._s[1380]! } + public var VoiceOver_MessageContextShare: String { return self._s[1377]! } + public var ProfilePhoto_SearchWeb: String { return self._s[1378]! } + public var EditProfile_Title: String { return self._s[1379]! } public func Notification_PinnedQuizMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1381]!, self._r[1381]!, [_0]) + return formatWithArgumentRanges(self._s[1380]!, self._r[1380]!, [_0]) } - public var VoiceChat_Unmute: String { return self._s[1382]! } - public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[1383]! } - public var NetworkUsageSettings_ResetStats: String { return self._s[1385]! } - public var NetworkUsageSettings_GeneralDataSection: String { return self._s[1386]! } - public var StickerPackActionInfo_AddedTitle: String { return self._s[1387]! } - public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[1388]! } + public var VoiceChat_Unmute: String { return self._s[1381]! } + public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[1382]! } + public var NetworkUsageSettings_ResetStats: String { return self._s[1384]! } + public var NetworkUsageSettings_GeneralDataSection: String { return self._s[1385]! } + public var StickerPackActionInfo_AddedTitle: String { return self._s[1386]! } + public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[1387]! } public func Call_ParticipantVideoVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1389]!, self._r[1389]!, [_0]) + return formatWithArgumentRanges(self._s[1388]!, self._r[1388]!, [_0]) } - public var Location_ProximityNotification_Title: String { return self._s[1390]! } - public var AuthSessions_AddDeviceIntro_Text1: String { return self._s[1391]! } - public var Passport_Identity_LatinNameHelp: String { return self._s[1394]! } - public var AuthSessions_AddDeviceIntro_Text2: String { return self._s[1395]! } - public var Stats_GroupMembersTitle: String { return self._s[1396]! } - public var AuthSessions_AddDeviceIntro_Text3: String { return self._s[1397]! } - public var InviteLink_InviteLinkRevoked: String { return self._s[1398]! } - public var Contacts_PermissionsSuppressWarningText: String { return self._s[1399]! } - public var OpenFile_PotentiallyDangerousContentAlert: String { return self._s[1400]! } - public var Settings_SetUsername: String { return self._s[1401]! } - public var GroupInfo_ActionRestrict: String { return self._s[1402]! } - public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1403]! } + public var Location_ProximityNotification_Title: String { return self._s[1389]! } + public var AuthSessions_AddDeviceIntro_Text1: String { return self._s[1390]! } + public var Passport_Identity_LatinNameHelp: String { return self._s[1393]! } + public var AuthSessions_AddDeviceIntro_Text2: String { return self._s[1394]! } + public var Stats_GroupMembersTitle: String { return self._s[1395]! } + public var AuthSessions_AddDeviceIntro_Text3: String { return self._s[1396]! } + public var InviteLink_InviteLinkRevoked: String { return self._s[1397]! } + public var Contacts_PermissionsSuppressWarningText: String { return self._s[1398]! } + public var OpenFile_PotentiallyDangerousContentAlert: String { return self._s[1399]! } + public var Settings_SetUsername: String { return self._s[1400]! } + public var GroupInfo_ActionRestrict: String { return self._s[1401]! } + public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1402]! } public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1404]!, self._r[1404]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1403]!, self._r[1403]!, [_1, _2, _3]) } - public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[1406]! } - public var Notification_Exceptions_AlwaysOff: String { return self._s[1407]! } - public var Conversation_ContextMenuDelete: String { return self._s[1408]! } - public var Privacy_Calls_WhoCanCallMe: String { return self._s[1409]! } - public var ChatList_PsaAlert_covid: String { return self._s[1412]! } - public var VoiceOver_SilentPostOn: String { return self._s[1413]! } - public var DialogList_Pin: String { return self._s[1414]! } - public var Channel_AdminLog_CanInviteUsersViaLink: String { return self._s[1415]! } - public var PrivacySettings_SecurityTitle: String { return self._s[1416]! } - public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[1417]! } - public var PeopleNearby_Groups: String { return self._s[1418]! } - public var Message_File: String { return self._s[1419]! } - public var Calls_NoCallsPlaceholder: String { return self._s[1420]! } - public var ChatList_GenericPsaLabel: String { return self._s[1423]! } - public var UserInfo_LastNamePlaceholder: String { return self._s[1424]! } - public var IntentsSettings_Reset: String { return self._s[1426]! } - public var Call_ConnectionErrorTitle: String { return self._s[1427]! } - public var PhotoEditor_SaturationTool: String { return self._s[1428]! } - public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[1429]! } - public var SettingsSearch_Synonyms_Stickers_ArchivedPacks: String { return self._s[1430]! } - public var Conversation_SearchNoResults: String { return self._s[1431]! } - public var Channel_DiscussionGroup_PrivateChannel: String { return self._s[1432]! } - public var Map_OpenInWaze: String { return self._s[1433]! } - public var InviteLink_PeopleJoinedNone: String { return self._s[1434]! } - public var WallpaperPreview_Title: String { return self._s[1435]! } + public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[1405]! } + public var Notification_Exceptions_AlwaysOff: String { return self._s[1406]! } + public var Conversation_ContextMenuDelete: String { return self._s[1407]! } + public var Privacy_Calls_WhoCanCallMe: String { return self._s[1408]! } + public var ChatList_PsaAlert_covid: String { return self._s[1411]! } + public var VoiceOver_SilentPostOn: String { return self._s[1412]! } + public var DialogList_Pin: String { return self._s[1413]! } + public var Channel_AdminLog_CanInviteUsersViaLink: String { return self._s[1414]! } + public var PrivacySettings_SecurityTitle: String { return self._s[1415]! } + public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[1416]! } + public var PeopleNearby_Groups: String { return self._s[1417]! } + public var Message_File: String { return self._s[1418]! } + public var Calls_NoCallsPlaceholder: String { return self._s[1419]! } + public var ChatList_GenericPsaLabel: String { return self._s[1422]! } + public var UserInfo_LastNamePlaceholder: String { return self._s[1423]! } + public var IntentsSettings_Reset: String { return self._s[1425]! } + public var Call_ConnectionErrorTitle: String { return self._s[1426]! } + public var PhotoEditor_SaturationTool: String { return self._s[1427]! } + public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[1428]! } + public var SettingsSearch_Synonyms_Stickers_ArchivedPacks: String { return self._s[1429]! } + public var Conversation_SearchNoResults: String { return self._s[1430]! } + public var Channel_DiscussionGroup_PrivateChannel: String { return self._s[1431]! } + public var Map_OpenInWaze: String { return self._s[1432]! } + public var InviteLink_PeopleJoinedNone: String { return self._s[1433]! } + public var WallpaperPreview_Title: String { return self._s[1434]! } public func Passport_AcceptHelp(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1437]!, self._r[1437]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1436]!, self._r[1436]!, [_1, _2]) } - public var AuthSessions_AddDeviceIntro_Title: String { return self._s[1438]! } - public var VoiceOver_Chat_RecordModeVideoMessageInfo: String { return self._s[1439]! } - public var VoiceOver_Chat_ChannelInfo: String { return self._s[1440]! } - public var Conversation_ImageCopied: String { return self._s[1441]! } - public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[1442]! } - public var Notifications_PermissionsUnreachableTitle: String { return self._s[1444]! } - public var Stats_Total: String { return self._s[1447]! } - public var Stats_GroupMessages: String { return self._s[1448]! } - public var TwoFactorSetup_Email_SkipAction: String { return self._s[1449]! } - public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[1450]! } - public var VoiceChat_You: String { return self._s[1451]! } - public var VoiceChat_DisplayAsInfoGroup: String { return self._s[1452]! } - public var Passport_Identity_Translation: String { return self._s[1453]! } - public var Notifications_TextTone: String { return self._s[1456]! } - public var Settings_RemoveConfirmation: String { return self._s[1458]! } - public var ScheduledMessages_Delete: String { return self._s[1459]! } - public var Channel_AdminLog_BanEmbedLinks: String { return self._s[1460]! } - public var Passport_PasswordNext: String { return self._s[1461]! } + public var AuthSessions_AddDeviceIntro_Title: String { return self._s[1437]! } + public var VoiceOver_Chat_RecordModeVideoMessageInfo: String { return self._s[1438]! } + public var VoiceOver_Chat_ChannelInfo: String { return self._s[1439]! } + public var Conversation_ImageCopied: String { return self._s[1440]! } + public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[1441]! } + public var Notifications_PermissionsUnreachableTitle: String { return self._s[1443]! } + public var Stats_Total: String { return self._s[1446]! } + public var Stats_GroupMessages: String { return self._s[1447]! } + public var TwoFactorSetup_Email_SkipAction: String { return self._s[1448]! } + public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[1449]! } + public var VoiceChat_You: String { return self._s[1450]! } + public var VoiceChat_DisplayAsInfoGroup: String { return self._s[1451]! } + public var Passport_Identity_Translation: String { return self._s[1452]! } + public var Notifications_TextTone: String { return self._s[1455]! } + public var Settings_RemoveConfirmation: String { return self._s[1457]! } + public var ScheduledMessages_Delete: String { return self._s[1458]! } + public var Channel_AdminLog_BanEmbedLinks: String { return self._s[1459]! } + public var Passport_PasswordNext: String { return self._s[1460]! } public func PUSH_ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1462]!, self._r[1462]!, [_1]) + return formatWithArgumentRanges(self._s[1461]!, self._r[1461]!, [_1]) } - public var Passport_Address_EditBankStatement: String { return self._s[1463]! } - public var PhotoEditor_ShadowsTool: String { return self._s[1464]! } - public var Notification_VideoCallMissed: String { return self._s[1465]! } - public var AccessDenied_CameraDisabled: String { return self._s[1467]! } - public var AuthSessions_AddDevice_ScanInfo: String { return self._s[1468]! } - public var Notifications_ExceptionsMuted: String { return self._s[1469]! } - public var Conversation_ScheduleMessage_SendWhenOnline: String { return self._s[1470]! } - public var Channel_BlackList_Title: String { return self._s[1471]! } - public var PasscodeSettings_4DigitCode: String { return self._s[1472]! } - public var NotificationsSound_Bamboo: String { return self._s[1473]! } - public var PrivacySettings_LastSeenContacts: String { return self._s[1474]! } - public var Passport_Address_TypeUtilityBill: String { return self._s[1475]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[1476]! } - public var GroupPermission_SectionTitle: String { return self._s[1477]! } - public var InviteLink_ContextRevoke: String { return self._s[1478]! } + public var Passport_Address_EditBankStatement: String { return self._s[1462]! } + public var PhotoEditor_ShadowsTool: String { return self._s[1463]! } + public var Notification_VideoCallMissed: String { return self._s[1464]! } + public var AccessDenied_CameraDisabled: String { return self._s[1466]! } + public var AuthSessions_AddDevice_ScanInfo: String { return self._s[1467]! } + public var Notifications_ExceptionsMuted: String { return self._s[1468]! } + public var Conversation_ScheduleMessage_SendWhenOnline: String { return self._s[1469]! } + public var Channel_BlackList_Title: String { return self._s[1470]! } + public var PasscodeSettings_4DigitCode: String { return self._s[1471]! } + public var NotificationsSound_Bamboo: String { return self._s[1472]! } + public var PrivacySettings_LastSeenContacts: String { return self._s[1473]! } + public var Passport_Address_TypeUtilityBill: String { return self._s[1474]! } + public var Passport_Address_CountryPlaceholder: String { return self._s[1475]! } + public var GroupPermission_SectionTitle: String { return self._s[1476]! } + public var InviteLink_ContextRevoke: String { return self._s[1477]! } public func Notification_InvitedMultiple(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1479]!, self._r[1479]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1478]!, self._r[1478]!, [_0, _1]) } - public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[1480]! } - public var Channel_LeaveChannel: String { return self._s[1481]! } - public var Watch_Notification_Joined: String { return self._s[1482]! } - public var PeerInfo_ButtonMore: String { return self._s[1483]! } - public var Passport_FieldEmailHelp: String { return self._s[1484]! } - public var ChatList_Context_Pin: String { return self._s[1485]! } + public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[1479]! } + public var Channel_LeaveChannel: String { return self._s[1480]! } + public var Watch_Notification_Joined: String { return self._s[1481]! } + public var PeerInfo_ButtonMore: String { return self._s[1482]! } + public var Passport_FieldEmailHelp: String { return self._s[1483]! } + public var ChatList_Context_Pin: String { return self._s[1484]! } public func Time_MonthOfYear_m9(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1486]!, self._r[1486]!, [_0]) + return formatWithArgumentRanges(self._s[1485]!, self._r[1485]!, [_0]) } - public var Group_Location_CreateInThisPlace: String { return self._s[1487]! } - public var PhotoEditor_QualityVeryHigh: String { return self._s[1488]! } - public var Tour_Title5: String { return self._s[1489]! } + public var Group_Location_CreateInThisPlace: String { return self._s[1486]! } + public var PhotoEditor_QualityVeryHigh: String { return self._s[1487]! } + public var Tour_Title5: String { return self._s[1488]! } public func PUSH_CHAT_MESSAGE_FWD(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1490]!, self._r[1490]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1489]!, self._r[1489]!, [_1, _2]) } - public var Passport_Language_en: String { return self._s[1491]! } - public var Checkout_Name: String { return self._s[1492]! } - public var ChatImport_Title: String { return self._s[1493]! } + public var Passport_Language_en: String { return self._s[1490]! } + public var Checkout_Name: String { return self._s[1491]! } + public var ChatImport_Title: String { return self._s[1492]! } public func NetworkUsageSettings_WifiUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1494]!, self._r[1494]!, [_0]) + return formatWithArgumentRanges(self._s[1493]!, self._r[1493]!, [_0]) } - public var PhotoEditor_EnhanceTool: String { return self._s[1495]! } + public var PhotoEditor_EnhanceTool: String { return self._s[1494]! } public func PUSH_CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1496]!, self._r[1496]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1495]!, self._r[1495]!, [_1, _2]) } public func VoiceChat_UserCanNowSpeak(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1497]!, self._r[1497]!, [_0]) + return formatWithArgumentRanges(self._s[1496]!, self._r[1496]!, [_0]) } - public var PeerInfo_CustomizeNotifications: String { return self._s[1498]! } + public var PeerInfo_CustomizeNotifications: String { return self._s[1497]! } public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1499]!, self._r[1499]!, [_0]) + return formatWithArgumentRanges(self._s[1498]!, self._r[1498]!, [_0]) } - public var Group_ErrorSendRestrictedMedia: String { return self._s[1500]! } + public var Group_ErrorSendRestrictedMedia: String { return self._s[1499]! } public func UserInfo_NotificationsDefaultSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1501]!, self._r[1501]!, [_0]) + return formatWithArgumentRanges(self._s[1500]!, self._r[1500]!, [_0]) } - public var Login_UnknownError: String { return self._s[1502]! } - public var Conversation_ImportedMessageHint: String { return self._s[1504]! } + public var Login_UnknownError: String { return self._s[1501]! } + public var Conversation_ImportedMessageHint: String { return self._s[1503]! } public func VoiceChat_ForwardTooltip_Chat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_0]) + return formatWithArgumentRanges(self._s[1504]!, self._r[1504]!, [_0]) } - public var Passport_Identity_TypeDriversLicense: String { return self._s[1507]! } - public var ChatList_AutoarchiveSuggestion_Title: String { return self._s[1508]! } - public var Watch_PhotoView_Title: String { return self._s[1509]! } - public var Appearance_ThemePreview_ChatList_3_Text: String { return self._s[1510]! } - public var Checkout_TotalAmount: String { return self._s[1511]! } - public var ChatList_RemoveFolderAction: String { return self._s[1512]! } + public var Passport_Identity_TypeDriversLicense: String { return self._s[1506]! } + public var ChatList_AutoarchiveSuggestion_Title: String { return self._s[1507]! } + public var Watch_PhotoView_Title: String { return self._s[1508]! } + public var Appearance_ThemePreview_ChatList_3_Text: String { return self._s[1509]! } + public var Checkout_TotalAmount: String { return self._s[1510]! } + public var ChatList_RemoveFolderAction: String { return self._s[1511]! } public func GroupInfo_Permissions_BroadcastConvertInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1513]!, self._r[1513]!, [_0]) + return formatWithArgumentRanges(self._s[1512]!, self._r[1512]!, [_0]) } - public var GroupInfo_SetGroupPhoto: String { return self._s[1514]! } - public var Watch_AppName: String { return self._s[1515]! } + public var GroupInfo_SetGroupPhoto: String { return self._s[1513]! } + public var Watch_AppName: String { return self._s[1514]! } public func PUSH_PINNED_GAME_SCORE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1516]!, self._r[1516]!, [_1]) + return formatWithArgumentRanges(self._s[1515]!, self._r[1515]!, [_1]) } - public var Channel_Username_CheckingUsername: String { return self._s[1517]! } - public var ContactList_Context_Call: String { return self._s[1518]! } - public var ChatList_ReorderTabs: String { return self._s[1519]! } - public var Watch_ChatList_Compose: String { return self._s[1520]! } + public var Channel_Username_CheckingUsername: String { return self._s[1516]! } + public var ContactList_Context_Call: String { return self._s[1517]! } + public var ChatList_ReorderTabs: String { return self._s[1518]! } + public var Watch_ChatList_Compose: String { return self._s[1519]! } public func Conversation_LiveLocationYouAnd(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1521]!, self._r[1521]!, [_0]) + return formatWithArgumentRanges(self._s[1520]!, self._r[1520]!, [_0]) } - public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[1522]! } - public var ArchivedChats_IntroTitle1: String { return self._s[1523]! } + public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[1521]! } + public var ArchivedChats_IntroTitle1: String { return self._s[1522]! } public func PUSH_ENCRYPTION_ACCEPT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1524]!, self._r[1524]!, [_1]) + return formatWithArgumentRanges(self._s[1523]!, self._r[1523]!, [_1]) } - public var Call_StatusRequesting: String { return self._s[1526]! } - public var Checkout_TotalPaidAmount: String { return self._s[1527]! } - public var Weekday_Friday: String { return self._s[1529]! } - public var CreateGroup_ChannelsTooMuch: String { return self._s[1530]! } + public var Call_StatusRequesting: String { return self._s[1525]! } + public var Checkout_TotalPaidAmount: String { return self._s[1526]! } + public var Weekday_Friday: String { return self._s[1528]! } + public var CreateGroup_ChannelsTooMuch: String { return self._s[1529]! } public func ChatImport_SelectionConfirmationUserWithoutTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1531]!, self._r[1531]!, [_0]) + return formatWithArgumentRanges(self._s[1530]!, self._r[1530]!, [_0]) } - public var Watch_ChatList_NoConversationsText: String { return self._s[1532]! } - public var Group_Members_AddMembersHelp: String { return self._s[1533]! } + public var Watch_ChatList_NoConversationsText: String { return self._s[1531]! } + public var Group_Members_AddMembersHelp: String { return self._s[1532]! } public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1534]!, self._r[1534]!, [_0]) + return formatWithArgumentRanges(self._s[1533]!, self._r[1533]!, [_0]) } - public var SecretVideo_Title: String { return self._s[1535]! } + public var SecretVideo_Title: String { return self._s[1534]! } public func Notification_PinnedStickerMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1538]!, self._r[1538]!, [_0]) + return formatWithArgumentRanges(self._s[1537]!, self._r[1537]!, [_0]) } - public var Undo_Undo: String { return self._s[1539]! } - public var Watch_Microphone_Access: String { return self._s[1540]! } + public var Undo_Undo: String { return self._s[1538]! } + public var Watch_Microphone_Access: String { return self._s[1539]! } public func ChatImport_SelectionConfirmationGroupWithTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1541]!, self._r[1541]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1540]!, self._r[1540]!, [_1, _2]) } public func PUSH_CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1542]!, self._r[1542]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1541]!, self._r[1541]!, [_1, _2]) } public func ChatList_Search_NoResultsQueryDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1543]!, self._r[1543]!, [_0]) + return formatWithArgumentRanges(self._s[1542]!, self._r[1542]!, [_0]) } - public var Checkout_NewCard_PostcodeTitle: String { return self._s[1545]! } - public var TwoFactorSetup_Intro_Action: String { return self._s[1546]! } - public var Passport_Language_ne: String { return self._s[1547]! } - public var TwoStepAuth_EmailHelp: String { return self._s[1549]! } - public var Profile_MessageLifetime2s: String { return self._s[1550]! } + public var Checkout_NewCard_PostcodeTitle: String { return self._s[1544]! } + public var TwoFactorSetup_Intro_Action: String { return self._s[1545]! } + public var Passport_Language_ne: String { return self._s[1546]! } + public var TwoStepAuth_EmailHelp: String { return self._s[1548]! } + public var Profile_MessageLifetime2s: String { return self._s[1549]! } public func Conversation_MessageDialogRetryAll(_ _1: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1552]!, self._r[1552]!, ["\(_1)"]) + return formatWithArgumentRanges(self._s[1551]!, self._r[1551]!, ["\(_1)"]) } public func Items_NOfM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1553]!, self._r[1553]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1552]!, self._r[1552]!, [_1, _2]) } - public var VoiceChat_SendPublicLinkSend: String { return self._s[1554]! } - public var Media_LimitedAccessText: String { return self._s[1555]! } + public var VoiceChat_SendPublicLinkSend: String { return self._s[1553]! } + public var Media_LimitedAccessText: String { return self._s[1554]! } public func PUSH_CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1556]!, self._r[1556]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1555]!, self._r[1555]!, [_1, _2]) } - public var GroupPermission_NoPinMessages: String { return self._s[1557]! } + public var GroupPermission_NoPinMessages: String { return self._s[1556]! } public func Notification_VoiceChatStarted(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1558]!, self._r[1558]!, [_1]) + return formatWithArgumentRanges(self._s[1557]!, self._r[1557]!, [_1]) } public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1559]!, self._r[1559]!, [_0]) + return formatWithArgumentRanges(self._s[1558]!, self._r[1558]!, [_0]) } - public var FastTwoStepSetup_HintHelp: String { return self._s[1560]! } - public var VoiceOver_SilentPostOff: String { return self._s[1561]! } - public var WallpaperSearch_ColorRed: String { return self._s[1562]! } - public var Watch_ConnectionDescription: String { return self._s[1563]! } - public var Notification_Exceptions_AddException: String { return self._s[1564]! } - public var LocalGroup_IrrelevantWarning: String { return self._s[1565]! } - public var VoiceOver_MessageContextDelete: String { return self._s[1566]! } - public var LogoutOptions_AlternativeOptionsSection: String { return self._s[1567]! } - public var Passport_PasswordPlaceholder: String { return self._s[1568]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[1569]! } - public var Stats_MessageInteractionsTitle: String { return self._s[1570]! } - public var Appearance_ThemeCarouselClassic: String { return self._s[1571]! } - public var TwoFactorSetup_Email_SkipConfirmationText: String { return self._s[1573]! } - public var Channel_AdminLog_PinMessages: String { return self._s[1574]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[1576]! } - public var Watch_Message_Game: String { return self._s[1577]! } - public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1578]! } - public var PrivacyPolicy_DeclineLastWarning: String { return self._s[1579]! } - public var EditTheme_FileReadError: String { return self._s[1580]! } - public var Group_ErrorAddBlocked: String { return self._s[1581]! } - public var CallSettings_UseLessDataLongDescription: String { return self._s[1582]! } + public var FastTwoStepSetup_HintHelp: String { return self._s[1559]! } + public var VoiceOver_SilentPostOff: String { return self._s[1560]! } + public var WallpaperSearch_ColorRed: String { return self._s[1561]! } + public var Watch_ConnectionDescription: String { return self._s[1562]! } + public var Notification_Exceptions_AddException: String { return self._s[1563]! } + public var LocalGroup_IrrelevantWarning: String { return self._s[1564]! } + public var VoiceOver_MessageContextDelete: String { return self._s[1565]! } + public var LogoutOptions_AlternativeOptionsSection: String { return self._s[1566]! } + public var Passport_PasswordPlaceholder: String { return self._s[1567]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[1568]! } + public var Stats_MessageInteractionsTitle: String { return self._s[1569]! } + public var Appearance_ThemeCarouselClassic: String { return self._s[1570]! } + public var TwoFactorSetup_Email_SkipConfirmationText: String { return self._s[1572]! } + public var Channel_AdminLog_PinMessages: String { return self._s[1573]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[1575]! } + public var Watch_Message_Game: String { return self._s[1576]! } + public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1577]! } + public var PrivacyPolicy_DeclineLastWarning: String { return self._s[1578]! } + public var EditTheme_FileReadError: String { return self._s[1579]! } + public var Group_ErrorAddBlocked: String { return self._s[1580]! } + public var CallSettings_UseLessDataLongDescription: String { return self._s[1581]! } public func PUSH_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1584]!, self._r[1584]!, [_1]) + return formatWithArgumentRanges(self._s[1583]!, self._r[1583]!, [_1]) } - public var GroupRemoved_ViewChannelInfo: String { return self._s[1585]! } + public var GroupRemoved_ViewChannelInfo: String { return self._s[1584]! } public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1586]!, self._r[1586]!, [_0]) + return formatWithArgumentRanges(self._s[1585]!, self._r[1585]!, [_0]) } - public var CheckoutInfo_ShippingInfoAddress2Placeholder: String { return self._s[1587]! } - public var TwoFactorSetup_EmailVerification_Action: String { return self._s[1588]! } + public var CheckoutInfo_ShippingInfoAddress2Placeholder: String { return self._s[1586]! } + public var TwoFactorSetup_EmailVerification_Action: String { return self._s[1587]! } public func Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1589]!, self._r[1589]!, [_0]) + return formatWithArgumentRanges(self._s[1588]!, self._r[1588]!, [_0]) } - public var ConversationProfile_ErrorCreatingConversation: String { return self._s[1590]! } - public var Bot_GroupStatusReadsHistory: String { return self._s[1591]! } - public var PhotoEditor_CurvesRed: String { return self._s[1592]! } - public var InstantPage_TapToOpenLink: String { return self._s[1593]! } - public var InviteLink_PeopleJoinedShortNoneExpired: String { return self._s[1594]! } - public var FastTwoStepSetup_PasswordHelp: String { return self._s[1595]! } - public var Conversation_DiscussionNotStarted: String { return self._s[1596]! } - public var Notification_CallMissedShort: String { return self._s[1597]! } + public var ConversationProfile_ErrorCreatingConversation: String { return self._s[1589]! } + public var Bot_GroupStatusReadsHistory: String { return self._s[1590]! } + public var PhotoEditor_CurvesRed: String { return self._s[1591]! } + public var InstantPage_TapToOpenLink: String { return self._s[1592]! } + public var InviteLink_PeopleJoinedShortNoneExpired: String { return self._s[1593]! } + public var FastTwoStepSetup_PasswordHelp: String { return self._s[1594]! } + public var Conversation_DiscussionNotStarted: String { return self._s[1595]! } + public var Notification_CallMissedShort: String { return self._s[1596]! } public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1598]!, self._r[1598]!, [_0]) + return formatWithArgumentRanges(self._s[1597]!, self._r[1597]!, [_0]) } - public var Conversation_DeleteMessagesForEveryone: String { return self._s[1599]! } - public var VoiceChat_UnpinVideo: String { return self._s[1600]! } - public var Permissions_SiriTitle_v0: String { return self._s[1601]! } - public var GroupInfo_AddUserLeftError: String { return self._s[1602]! } - public var Conversation_SendMessage_SendSilently: String { return self._s[1603]! } - public var Paint_Duplicate: String { return self._s[1604]! } - public var AttachmentMenu_WebSearch: String { return self._s[1605]! } - public var Bot_Stop: String { return self._s[1607]! } - public var Conversation_PrivateChannelTimeLimitedAlertTitle: String { return self._s[1608]! } - public var ReportGroupLocation_Report: String { return self._s[1609]! } - public var Compose_Create: String { return self._s[1610]! } - public var Stats_GroupViewers: String { return self._s[1611]! } - public var AutoDownloadSettings_Channels: String { return self._s[1612]! } - public var PhotoEditor_QualityHigh: String { return self._s[1613]! } - public var VoiceChat_Leave: String { return self._s[1614]! } - public var Call_Speaker: String { return self._s[1615]! } + public var Conversation_DeleteMessagesForEveryone: String { return self._s[1598]! } + public var VoiceChat_UnpinVideo: String { return self._s[1599]! } + public var Permissions_SiriTitle_v0: String { return self._s[1600]! } + public var GroupInfo_AddUserLeftError: String { return self._s[1601]! } + public var Conversation_SendMessage_SendSilently: String { return self._s[1602]! } + public var Paint_Duplicate: String { return self._s[1603]! } + public var AttachmentMenu_WebSearch: String { return self._s[1604]! } + public var Bot_Stop: String { return self._s[1606]! } + public var Conversation_PrivateChannelTimeLimitedAlertTitle: String { return self._s[1607]! } + public var ReportGroupLocation_Report: String { return self._s[1608]! } + public var Compose_Create: String { return self._s[1609]! } + public var Stats_GroupViewers: String { return self._s[1610]! } + public var AutoDownloadSettings_Channels: String { return self._s[1611]! } + public var PhotoEditor_QualityHigh: String { return self._s[1612]! } + public var VoiceChat_Leave: String { return self._s[1613]! } + public var Call_Speaker: String { return self._s[1614]! } public func ChatList_LeaveGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1616]!, self._r[1616]!, [_0]) + return formatWithArgumentRanges(self._s[1615]!, self._r[1615]!, [_0]) } - public var Conversation_CloudStorage_ChatStatus: String { return self._s[1617]! } - public var Chat_AttachmentMultipleFilesDisabled: String { return self._s[1618]! } - public var ChatList_Context_AddToFolder: String { return self._s[1619]! } - public var InviteLink_QRCode_Info: String { return self._s[1620]! } - public var AutoremoveSetup_Title: String { return self._s[1621]! } - public var ChatList_DeleteForAllMembersConfirmationText: String { return self._s[1622]! } - public var Conversation_Unblock: String { return self._s[1623]! } - public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[1624]! } + public var Conversation_CloudStorage_ChatStatus: String { return self._s[1616]! } + public var Chat_AttachmentMultipleFilesDisabled: String { return self._s[1617]! } + public var ChatList_Context_AddToFolder: String { return self._s[1618]! } + public var InviteLink_QRCode_Info: String { return self._s[1619]! } + public var AutoremoveSetup_Title: String { return self._s[1620]! } + public var ChatList_DeleteForAllMembersConfirmationText: String { return self._s[1621]! } + public var Conversation_Unblock: String { return self._s[1622]! } + public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[1623]! } public func Time_PreciseDate_m8(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1625]!, self._r[1625]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1624]!, self._r[1624]!, [_1, _2, _3]) } - public var Conversation_ContextMenuReply: String { return self._s[1626]! } - public var Contacts_SearchLabel: String { return self._s[1627]! } - public var Forward_ErrorPublicQuizDisabledInChannels: String { return self._s[1628]! } - public var Stats_GroupMessagesTitle: String { return self._s[1630]! } - public var Notification_CallCanceled: String { return self._s[1631]! } - public var VoiceOver_Chat_Selected: String { return self._s[1632]! } - public var NotificationsSound_Tremolo: String { return self._s[1634]! } - public var VoiceOver_AuthSessions_CurrentSession: String { return self._s[1635]! } - public var ChatList_Search_NoResultsDescription: String { return self._s[1636]! } - public var AccessDenied_PhotosAndVideos: String { return self._s[1637]! } - public var LogoutOptions_ClearCacheText: String { return self._s[1638]! } + public var Conversation_ContextMenuReply: String { return self._s[1625]! } + public var Contacts_SearchLabel: String { return self._s[1626]! } + public var Forward_ErrorPublicQuizDisabledInChannels: String { return self._s[1627]! } + public var Stats_GroupMessagesTitle: String { return self._s[1629]! } + public var Notification_CallCanceled: String { return self._s[1630]! } + public var VoiceOver_Chat_Selected: String { return self._s[1631]! } + public var NotificationsSound_Tremolo: String { return self._s[1633]! } + public var VoiceOver_AuthSessions_CurrentSession: String { return self._s[1634]! } + public var ChatList_Search_NoResultsDescription: String { return self._s[1635]! } + public var AccessDenied_PhotosAndVideos: String { return self._s[1636]! } + public var LogoutOptions_ClearCacheText: String { return self._s[1637]! } public func VoiceChat_DisplayAsSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1640]!, self._r[1640]!, [_0]) + return formatWithArgumentRanges(self._s[1639]!, self._r[1639]!, [_0]) } - public var VoiceOver_Chat_Sticker: String { return self._s[1641]! } - public var ChatListFolder_NameUnread: String { return self._s[1642]! } - public var PeerInfo_ButtonMessage: String { return self._s[1644]! } - public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[1645]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[1646]! } - public var ChatSettings_Other: String { return self._s[1647]! } - public var UserInfo_NotificationsEnabled: String { return self._s[1648]! } - public var CreatePoll_OptionsHeader: String { return self._s[1649]! } - public var Appearance_RemoveThemeColorConfirmation: String { return self._s[1652]! } - public var Channel_Moderator_Title: String { return self._s[1653]! } + public var VoiceOver_Chat_Sticker: String { return self._s[1640]! } + public var ChatListFolder_NameUnread: String { return self._s[1641]! } + public var PeerInfo_ButtonMessage: String { return self._s[1643]! } + public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[1644]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[1645]! } + public var ChatSettings_Other: String { return self._s[1646]! } + public var UserInfo_NotificationsEnabled: String { return self._s[1647]! } + public var CreatePoll_OptionsHeader: String { return self._s[1648]! } + public var Appearance_RemoveThemeColorConfirmation: String { return self._s[1651]! } + public var Channel_Moderator_Title: String { return self._s[1652]! } public func Conversation_ForwardTooltip_Chat_Many(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1654]!, self._r[1654]!, [_0]) + return formatWithArgumentRanges(self._s[1653]!, self._r[1653]!, [_0]) } public func UserInfo_ContactForwardTooltip_ManyChats_One(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1655]!, self._r[1655]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1654]!, self._r[1654]!, [_0, _1]) } - public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[1656]! } - public var WallpaperColors_Title: String { return self._s[1657]! } - public var InviteLink_InviteLink: String { return self._s[1659]! } - public var PrivacyPolicy_DeclineMessage: String { return self._s[1660]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[1661]! } - public var Your_card_was_declined: String { return self._s[1662]! } - public var SettingsSearch_FAQ: String { return self._s[1664]! } - public var EditTheme_Expand_Preview_IncomingReplyName: String { return self._s[1665]! } - public var Conversation_ReportSpamConfirmation: String { return self._s[1666]! } - public var OwnershipTransfer_SecurityCheck: String { return self._s[1668]! } - public var PrivacySettings_DataSettingsHelp: String { return self._s[1669]! } - public var Settings_About_Help: String { return self._s[1670]! } + public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[1655]! } + public var WallpaperColors_Title: String { return self._s[1656]! } + public var InviteLink_InviteLink: String { return self._s[1658]! } + public var PrivacyPolicy_DeclineMessage: String { return self._s[1659]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[1660]! } + public var Your_card_was_declined: String { return self._s[1661]! } + public var SettingsSearch_FAQ: String { return self._s[1663]! } + public var EditTheme_Expand_Preview_IncomingReplyName: String { return self._s[1664]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[1665]! } + public var OwnershipTransfer_SecurityCheck: String { return self._s[1667]! } + public var PrivacySettings_DataSettingsHelp: String { return self._s[1668]! } + public var Settings_About_Help: String { return self._s[1669]! } public func Channel_DiscussionGroup_HeaderGroupSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1671]!, self._r[1671]!, [_0]) + return formatWithArgumentRanges(self._s[1670]!, self._r[1670]!, [_0]) } - public var Settings_Proxy: String { return self._s[1672]! } - public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[1673]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[1675]! } - public var NotificationsSound_Bell: String { return self._s[1676]! } - public var PrivacySettings_Title: String { return self._s[1678]! } - public var PrivacySettings_DataSettings: String { return self._s[1679]! } - public var ConversationMedia_Title: String { return self._s[1680]! } + public var Settings_Proxy: String { return self._s[1671]! } + public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[1672]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[1674]! } + public var NotificationsSound_Bell: String { return self._s[1675]! } + public var PrivacySettings_Title: String { return self._s[1677]! } + public var PrivacySettings_DataSettings: String { return self._s[1678]! } + public var ConversationMedia_Title: String { return self._s[1679]! } public func Channel_AdminLog_MessageAddedAdminName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1681]!, self._r[1681]!, [_1]) + return formatWithArgumentRanges(self._s[1680]!, self._r[1680]!, [_1]) } public func Conversation_EncryptedPlaceholderTitleIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1682]!, self._r[1682]!, [_0]) + return formatWithArgumentRanges(self._s[1681]!, self._r[1681]!, [_0]) } - public var PrivacySettings_BlockedPeersEmpty: String { return self._s[1683]! } - public var ReportPeer_ReasonPornography: String { return self._s[1685]! } - public var Privacy_Calls: String { return self._s[1687]! } - public var TwoFactorSetup_Email_Text: String { return self._s[1688]! } - public var Conversation_EncryptedDescriptionTitle: String { return self._s[1689]! } + public var PrivacySettings_BlockedPeersEmpty: String { return self._s[1682]! } + public var ReportPeer_ReasonPornography: String { return self._s[1684]! } + public var Privacy_Calls: String { return self._s[1686]! } + public var TwoFactorSetup_Email_Text: String { return self._s[1687]! } + public var Conversation_EncryptedDescriptionTitle: String { return self._s[1688]! } public func VoiceOver_Chat_MusicTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1690]!, self._r[1690]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1689]!, self._r[1689]!, [_1, _2]) } - public var Passport_Identity_FrontSideHelp: String { return self._s[1691]! } - public var InstantPage_VoiceOver_DecreaseFontSize: String { return self._s[1692]! } - public var GroupInfo_Permissions_SlowmodeHeader: String { return self._s[1694]! } - public var ContactList_Context_VideoCall: String { return self._s[1695]! } - public var Settings_SaveIncomingPhotos: String { return self._s[1696]! } - public var Passport_Identity_MiddleName: String { return self._s[1697]! } - public var MessagePoll_QuizNoUsers: String { return self._s[1698]! } + public var Passport_Identity_FrontSideHelp: String { return self._s[1690]! } + public var InstantPage_VoiceOver_DecreaseFontSize: String { return self._s[1691]! } + public var GroupInfo_Permissions_SlowmodeHeader: String { return self._s[1693]! } + public var ContactList_Context_VideoCall: String { return self._s[1694]! } + public var Settings_SaveIncomingPhotos: String { return self._s[1695]! } + public var Passport_Identity_MiddleName: String { return self._s[1696]! } + public var MessagePoll_QuizNoUsers: String { return self._s[1697]! } public func Channel_AdminLog_MutedParticipant(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1699]!, self._r[1699]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1698]!, self._r[1698]!, [_1, _2]) } - public var OldChannels_ChannelFormat: String { return self._s[1700]! } - public var Watch_Message_Call: String { return self._s[1701]! } - public var VoiceChat_OpenChannel: String { return self._s[1702]! } - public var Wallpaper_Title: String { return self._s[1703]! } - public var PasscodeSettings_TurnPasscodeOff: String { return self._s[1704]! } - public var IntentsSettings_SuggestedChatsSavedMessages: String { return self._s[1705]! } - public var ReportGroupLocation_Text: String { return self._s[1706]! } - public var InviteText_URL: String { return self._s[1707]! } - public var ClearCache_StorageServiceFiles: String { return self._s[1708]! } - public var MessageTimer_Custom: String { return self._s[1709]! } - public var Message_PinnedLocationMessage: String { return self._s[1710]! } + public var OldChannels_ChannelFormat: String { return self._s[1699]! } + public var Watch_Message_Call: String { return self._s[1700]! } + public var VoiceChat_OpenChannel: String { return self._s[1701]! } + public var Wallpaper_Title: String { return self._s[1702]! } + public var PasscodeSettings_TurnPasscodeOff: String { return self._s[1703]! } + public var IntentsSettings_SuggestedChatsSavedMessages: String { return self._s[1704]! } + public var ReportGroupLocation_Text: String { return self._s[1705]! } + public var InviteText_URL: String { return self._s[1706]! } + public var ClearCache_StorageServiceFiles: String { return self._s[1707]! } + public var MessageTimer_Custom: String { return self._s[1708]! } + public var Message_PinnedLocationMessage: String { return self._s[1709]! } public func VoiceOver_Chat_ContactOrganization(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1711]!, self._r[1711]!, [_0]) + return formatWithArgumentRanges(self._s[1710]!, self._r[1710]!, [_0]) } - public var EditTheme_UploadNewTheme: String { return self._s[1712]! } - public var ChatImportActivity_ErrorLimitExceeded: String { return self._s[1715]! } + public var EditTheme_UploadNewTheme: String { return self._s[1711]! } + public var ChatImportActivity_ErrorLimitExceeded: String { return self._s[1714]! } public func AutoDownloadSettings_UpToForAll(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1716]!, self._r[1716]!, [_0]) + return formatWithArgumentRanges(self._s[1715]!, self._r[1715]!, [_0]) } - public var Login_CodeSentCall: String { return self._s[1718]! } + public var Login_CodeSentCall: String { return self._s[1717]! } public func Conversation_AutoremoveTimerSetUser(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1719]!, self._r[1719]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1718]!, self._r[1718]!, [_1, _2]) } - public var Conversation_Report: String { return self._s[1720]! } - public var NotificationSettings_ContactJoined: String { return self._s[1721]! } + public var Conversation_Report: String { return self._s[1719]! } + public var NotificationSettings_ContactJoined: String { return self._s[1720]! } public func PUSH_MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1722]!, self._r[1722]!, [_1]) + return formatWithArgumentRanges(self._s[1721]!, self._r[1721]!, [_1]) } - public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[1723]! } - public var BroadcastGroups_IntroText: String { return self._s[1724]! } - public var IntentsSettings_SuggestByAll: String { return self._s[1726]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[1727]! } - public var AuthSessions_Title: String { return self._s[1728]! } + public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[1722]! } + public var BroadcastGroups_IntroText: String { return self._s[1723]! } + public var IntentsSettings_SuggestByAll: String { return self._s[1725]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[1726]! } + public var AuthSessions_Title: String { return self._s[1727]! } public func Notification_VoiceChatEnded(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1729]!, self._r[1729]!, [_0]) + return formatWithArgumentRanges(self._s[1728]!, self._r[1728]!, [_0]) } - public var Settings_Tips: String { return self._s[1730]! } - public var Channel_AdminLog_TitleAllEvents: String { return self._s[1731]! } - public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1732]! } - public var VoiceChat_YouCanNowSpeak: String { return self._s[1735]! } - public var Passport_Address_AddPassportRegistration: String { return self._s[1737]! } + public var Settings_Tips: String { return self._s[1729]! } + public var Channel_AdminLog_TitleAllEvents: String { return self._s[1730]! } + public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1731]! } + public var VoiceChat_YouCanNowSpeak: String { return self._s[1734]! } + public var Passport_Address_AddPassportRegistration: String { return self._s[1736]! } public func UserInfo_LinkForwardTooltip_ManyChats_One(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1738]!, self._r[1738]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1737]!, self._r[1737]!, [_0, _1]) } - public var AutoDownloadSettings_MaxVideoSize: String { return self._s[1739]! } - public var ExplicitContent_AlertTitle: String { return self._s[1740]! } - public var Channel_UpdatePhotoItem: String { return self._s[1742]! } - public var ChatList_AutoarchiveSuggestion_Text: String { return self._s[1744]! } - public var Channel_DiscussionGroup_LinkGroup: String { return self._s[1745]! } + public var AutoDownloadSettings_MaxVideoSize: String { return self._s[1738]! } + public var ExplicitContent_AlertTitle: String { return self._s[1739]! } + public var Channel_UpdatePhotoItem: String { return self._s[1741]! } + public var ChatList_AutoarchiveSuggestion_Text: String { return self._s[1743]! } + public var Channel_DiscussionGroup_LinkGroup: String { return self._s[1744]! } public func Call_BatteryLow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1746]!, self._r[1746]!, [_0]) + return formatWithArgumentRanges(self._s[1745]!, self._r[1745]!, [_0]) } - public var Login_HaveNotReceivedCodeInternal: String { return self._s[1747]! } - public var WallpaperPreview_PatternPaternApply: String { return self._s[1748]! } - public var Notifications_MessageNotificationsSound: String { return self._s[1749]! } - public var CommentsGroup_ErrorAccessDenied: String { return self._s[1750]! } - public var Appearance_AccentColor: String { return self._s[1752]! } - public var GroupInfo_SharedMedia: String { return self._s[1753]! } - public var Login_PhonePlaceholder: String { return self._s[1754]! } - public var Appearance_TextSize_Automatic: String { return self._s[1755]! } - public var EmptyGroupInfo_Line2: String { return self._s[1756]! } + public var Login_HaveNotReceivedCodeInternal: String { return self._s[1746]! } + public var WallpaperPreview_PatternPaternApply: String { return self._s[1747]! } + public var Notifications_MessageNotificationsSound: String { return self._s[1748]! } + public var CommentsGroup_ErrorAccessDenied: String { return self._s[1749]! } + public var Appearance_AccentColor: String { return self._s[1751]! } + public var GroupInfo_SharedMedia: String { return self._s[1752]! } + public var Login_PhonePlaceholder: String { return self._s[1753]! } + public var Appearance_TextSize_Automatic: String { return self._s[1754]! } + public var EmptyGroupInfo_Line2: String { return self._s[1755]! } public func PUSH_CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1757]!, self._r[1757]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1756]!, self._r[1756]!, [_1, _2]) } - public var VoiceChat_TapToAddPhotoOrBio: String { return self._s[1758]! } - public var Conversation_ClearChannel: String { return self._s[1759]! } - public var Appearance_AppIconDefaultX: String { return self._s[1761]! } - public var EditProfile_NameAndPhotoOrVideoHelp: String { return self._s[1762]! } - public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[1763]! } - public var Notifications_GroupNotificationsHelp: String { return self._s[1764]! } + public var VoiceChat_TapToAddPhotoOrBio: String { return self._s[1757]! } + public var Conversation_ClearChannel: String { return self._s[1758]! } + public var Appearance_AppIconDefaultX: String { return self._s[1760]! } + public var EditProfile_NameAndPhotoOrVideoHelp: String { return self._s[1761]! } + public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[1762]! } + public var Notifications_GroupNotificationsHelp: String { return self._s[1763]! } public func PUSH_CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1765]!, self._r[1765]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1764]!, self._r[1764]!, [_1, _2]) } - public var ChatList_EmptyChatListEditFilter: String { return self._s[1766]! } - public var ChatSettings_ConnectionType_UseProxy: String { return self._s[1769]! } - public var Chat_PinnedMessagesHiddenText: String { return self._s[1770]! } + public var ChatList_EmptyChatListEditFilter: String { return self._s[1765]! } + public var ChatSettings_ConnectionType_UseProxy: String { return self._s[1768]! } + public var Chat_PinnedMessagesHiddenText: String { return self._s[1769]! } public func Message_PinnedGenericMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1771]!, self._r[1771]!, [_0]) + return formatWithArgumentRanges(self._s[1770]!, self._r[1770]!, [_0]) } public func Location_ProximityTip(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1772]!, self._r[1772]!, [_0]) + return formatWithArgumentRanges(self._s[1771]!, self._r[1771]!, [_0]) } - public var UserInfo_NotificationsEnable: String { return self._s[1773]! } - public var Checkout_PayWithTouchId: String { return self._s[1774]! } - public var SharedMedia_ViewInChat: String { return self._s[1775]! } + public var UserInfo_NotificationsEnable: String { return self._s[1772]! } + public var Checkout_PayWithTouchId: String { return self._s[1773]! } + public var SharedMedia_ViewInChat: String { return self._s[1774]! } public func Notification_CreatedChatWithTitle(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1776]!, self._r[1776]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1775]!, self._r[1775]!, [_0, _1]) } - public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1777]! } + public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1776]! } public func Channel_DiscussionGroup_PublicChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1778]!, self._r[1778]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1777]!, self._r[1777]!, [_1, _2]) } public func Cache_Clear(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1780]!, self._r[1780]!, [_0]) + return formatWithArgumentRanges(self._s[1779]!, self._r[1779]!, [_0]) } - public var Conversation_PeerNearbyText: String { return self._s[1782]! } - public var Conversation_StopPollConfirmationTitle: String { return self._s[1783]! } - public var PhotoEditor_Skip: String { return self._s[1784]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground_SetColor: String { return self._s[1785]! } - public var ChatList_EmptyChatList: String { return self._s[1786]! } - public var Channel_BanUser_Unban: String { return self._s[1787]! } + public var Conversation_PeerNearbyText: String { return self._s[1781]! } + public var Conversation_StopPollConfirmationTitle: String { return self._s[1782]! } + public var PhotoEditor_Skip: String { return self._s[1783]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground_SetColor: String { return self._s[1784]! } + public var ChatList_EmptyChatList: String { return self._s[1785]! } + public var Channel_BanUser_Unban: String { return self._s[1786]! } public func Message_GenericForwardedPsa(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1788]!, self._r[1788]!, [_0]) + return formatWithArgumentRanges(self._s[1787]!, self._r[1787]!, [_0]) } - public var Appearance_TextSize_Apply: String { return self._s[1789]! } + public var Appearance_TextSize_Apply: String { return self._s[1788]! } public func Conversation_MessageViewCommentsFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1790]!, self._r[1790]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1789]!, self._r[1789]!, [_1, _2]) } - public var Login_InfoFirstNamePlaceholder: String { return self._s[1791]! } - public var VoiceOver_Chat_YourSticker: String { return self._s[1792]! } - public var TwoStepAuth_HintPlaceholder: String { return self._s[1793]! } - public var TwoStepAuth_EmailSkip: String { return self._s[1795]! } - public var ChatList_UndoArchiveMultipleTitle: String { return self._s[1796]! } - public var TwoFactorSetup_Email_SkipConfirmationTitle: String { return self._s[1797]! } + public var Login_InfoFirstNamePlaceholder: String { return self._s[1790]! } + public var VoiceOver_Chat_YourSticker: String { return self._s[1791]! } + public var TwoStepAuth_HintPlaceholder: String { return self._s[1792]! } + public var TwoStepAuth_EmailSkip: String { return self._s[1794]! } + public var ChatList_UndoArchiveMultipleTitle: String { return self._s[1795]! } + public var TwoFactorSetup_Email_SkipConfirmationTitle: String { return self._s[1796]! } public func PUSH_MESSAGE_QUIZ(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1798]!, self._r[1798]!, [_1]) + return formatWithArgumentRanges(self._s[1797]!, self._r[1797]!, [_1]) } - public var VoiceOver_Chat_GoToOriginalMessage: String { return self._s[1800]! } - public var State_WaitingForNetwork: String { return self._s[1801]! } - public var AccessDenied_CameraRestricted: String { return self._s[1802]! } - public var ChatSettings_Appearance: String { return self._s[1803]! } - public var ScheduledMessages_BotActionUnavailable: String { return self._s[1804]! } - public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[1805]! } - public var Channel_DiscussionGroupAdd: String { return self._s[1806]! } - public var Conversation_SelectMessages: String { return self._s[1808]! } - public var Map_NoPlacesNearby: String { return self._s[1809]! } - public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1810]! } - public var GroupRemoved_Title: String { return self._s[1811]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1813]! } - public var VoiceChat_Mute: String { return self._s[1814]! } - public var Paint_Marker: String { return self._s[1815]! } - public var Widget_ChatsGalleryTitle: String { return self._s[1816]! } + public var VoiceOver_Chat_GoToOriginalMessage: String { return self._s[1799]! } + public var State_WaitingForNetwork: String { return self._s[1800]! } + public var AccessDenied_CameraRestricted: String { return self._s[1801]! } + public var ChatSettings_Appearance: String { return self._s[1802]! } + public var ScheduledMessages_BotActionUnavailable: String { return self._s[1803]! } + public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[1804]! } + public var Channel_DiscussionGroupAdd: String { return self._s[1805]! } + public var Conversation_SelectMessages: String { return self._s[1807]! } + public var Map_NoPlacesNearby: String { return self._s[1808]! } + public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1809]! } + public var GroupRemoved_Title: String { return self._s[1810]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1812]! } + public var VoiceChat_Mute: String { return self._s[1813]! } + public var Paint_Marker: String { return self._s[1814]! } + public var Widget_ChatsGalleryTitle: String { return self._s[1815]! } public func AddContact_ContactWillBeSharedAfterMutual(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1817]!, self._r[1817]!, [_1]) + return formatWithArgumentRanges(self._s[1816]!, self._r[1816]!, [_1]) } - public var SocksProxySetup_ShareProxyList: String { return self._s[1818]! } - public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[1819]! } + public var SocksProxySetup_ShareProxyList: String { return self._s[1817]! } + public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[1818]! } public func VoiceOver_Chat_Size(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1820]!, self._r[1820]!, [_0]) + return formatWithArgumentRanges(self._s[1819]!, self._r[1819]!, [_0]) } - public var EditTheme_ErrorInvalidCharacters: String { return self._s[1821]! } - public var Appearance_ThemePreview_ChatList_7_Name: String { return self._s[1822]! } - public var Notifications_GroupNotificationsAlert: String { return self._s[1823]! } - public var SocksProxySetup_ShareQRCode: String { return self._s[1824]! } - public var Compose_NewGroup: String { return self._s[1825]! } + public var EditTheme_ErrorInvalidCharacters: String { return self._s[1820]! } + public var Appearance_ThemePreview_ChatList_7_Name: String { return self._s[1821]! } + public var Notifications_GroupNotificationsAlert: String { return self._s[1822]! } + public var SocksProxySetup_ShareQRCode: String { return self._s[1823]! } + public var Compose_NewGroup: String { return self._s[1824]! } public func Passport_Address_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1826]!, self._r[1826]!, [_0]) + return formatWithArgumentRanges(self._s[1825]!, self._r[1825]!, [_0]) } - public var Location_LiveLocationRequired_Description: String { return self._s[1828]! } - public var Conversation_ClearGroupHistory: String { return self._s[1829]! } - public var GroupInfo_InviteLink_Help: String { return self._s[1832]! } - public var VoiceOver_BotKeyboard: String { return self._s[1833]! } - public var Channel_BanUser_BlockFor: String { return self._s[1834]! } - public var Bot_Start: String { return self._s[1835]! } - public var Your_card_has_expired: String { return self._s[1836]! } - public var Channel_About_Title: String { return self._s[1837]! } - public var VoiceChat_EditTitleTitle: String { return self._s[1838]! } - public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1839]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsExceptions: String { return self._s[1841]! } - public var Conversation_FileDropbox: String { return self._s[1842]! } - public var ChatList_Search_NoResultsFitlerMusic: String { return self._s[1843]! } - public var Month_GenNovember: String { return self._s[1844]! } - public var IntentsSettings_SuggestByShare: String { return self._s[1845]! } + public var Location_LiveLocationRequired_Description: String { return self._s[1827]! } + public var Conversation_ClearGroupHistory: String { return self._s[1828]! } + public var GroupInfo_InviteLink_Help: String { return self._s[1831]! } + public var VoiceOver_BotKeyboard: String { return self._s[1832]! } + public var Channel_BanUser_BlockFor: String { return self._s[1833]! } + public var Bot_Start: String { return self._s[1834]! } + public var Your_card_has_expired: String { return self._s[1835]! } + public var Channel_About_Title: String { return self._s[1836]! } + public var VoiceChat_EditTitleTitle: String { return self._s[1837]! } + public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1838]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsExceptions: String { return self._s[1840]! } + public var Conversation_FileDropbox: String { return self._s[1841]! } + public var ChatList_Search_NoResultsFitlerMusic: String { return self._s[1842]! } + public var Month_GenNovember: String { return self._s[1843]! } + public var IntentsSettings_SuggestByShare: String { return self._s[1844]! } public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1846]!, self._r[1846]!, [_0]) + return formatWithArgumentRanges(self._s[1845]!, self._r[1845]!, [_0]) } - public var StickerPack_Add: String { return self._s[1847]! } - public var Theme_ErrorNotFound: String { return self._s[1848]! } - public var Wallpaper_SearchShort: String { return self._s[1850]! } - public var Channel_BanUser_PermissionsHeader: String { return self._s[1851]! } - public var ConversationProfile_UsersTooMuchError: String { return self._s[1852]! } - public var ChatList_FolderAllChats: String { return self._s[1853]! } - public var VoiceChat_EndConfirmationEnd: String { return self._s[1854]! } - public var Passport_Authorize: String { return self._s[1855]! } + public var StickerPack_Add: String { return self._s[1846]! } + public var Theme_ErrorNotFound: String { return self._s[1847]! } + public var Wallpaper_SearchShort: String { return self._s[1849]! } + public var Channel_BanUser_PermissionsHeader: String { return self._s[1850]! } + public var ConversationProfile_UsersTooMuchError: String { return self._s[1851]! } + public var ChatList_FolderAllChats: String { return self._s[1852]! } + public var VoiceChat_EndConfirmationEnd: String { return self._s[1853]! } + public var Passport_Authorize: String { return self._s[1854]! } public func Channel_AdminLog_MessageChangedLinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1856]!, self._r[1856]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1855]!, self._r[1855]!, [_1, _2]) } - public var GroupInfo_GroupHistoryVisible: String { return self._s[1857]! } + public var GroupInfo_GroupHistoryVisible: String { return self._s[1856]! } public func PUSH_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1858]!, self._r[1858]!, [_1]) + return formatWithArgumentRanges(self._s[1857]!, self._r[1857]!, [_1]) } - public var LocalGroup_ButtonTitle: String { return self._s[1859]! } - public var VoiceOver_Stickers: String { return self._s[1861]! } - public var UserInfo_GroupsInCommon: String { return self._s[1862]! } - public var LoginPassword_Title: String { return self._s[1864]! } - public var Wallpaper_Set: String { return self._s[1865]! } - public var Stats_InteractionsTitle: String { return self._s[1866]! } + public var LocalGroup_ButtonTitle: String { return self._s[1858]! } + public var VoiceOver_Stickers: String { return self._s[1860]! } + public var UserInfo_GroupsInCommon: String { return self._s[1861]! } + public var LoginPassword_Title: String { return self._s[1863]! } + public var Wallpaper_Set: String { return self._s[1864]! } + public var Stats_InteractionsTitle: String { return self._s[1865]! } public func SecretGIF_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1868]!, self._r[1868]!, [_0]) + return formatWithArgumentRanges(self._s[1867]!, self._r[1867]!, [_0]) } - public var Conversation_MessageDialogEdit: String { return self._s[1869]! } - public var Paint_Outlined: String { return self._s[1870]! } + public var Conversation_MessageDialogEdit: String { return self._s[1868]! } + public var Paint_Outlined: String { return self._s[1869]! } public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1871]!, self._r[1871]!, [_0]) + return formatWithArgumentRanges(self._s[1870]!, self._r[1870]!, [_0]) } public func Conversation_SetReminder_RemindTomorrow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1872]!, self._r[1872]!, [_0]) + return formatWithArgumentRanges(self._s[1871]!, self._r[1871]!, [_0]) } - public var Invite_LargeRecipientsCountWarning: String { return self._s[1873]! } - public var Passport_Address_Street1Placeholder: String { return self._s[1874]! } - public var Appearance_ColorThemeNight: String { return self._s[1875]! } - public var ChannelInfo_Stats: String { return self._s[1876]! } - public var Widget_ShortcutsGalleryTitle: String { return self._s[1877]! } - public var TwoStepAuth_RecoveryTitle: String { return self._s[1878]! } - public var MediaPicker_TimerTooltip: String { return self._s[1879]! } - public var ChatImportActivity_ErrorNotAdmin: String { return self._s[1880]! } - public var Common_ChoosePhoto: String { return self._s[1881]! } - public var Media_LimitedAccessTitle: String { return self._s[1882]! } - public var ChatSettings_AutoDownloadVideos: String { return self._s[1883]! } - public var PeerInfo_PaneGroups: String { return self._s[1884]! } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[1886]! } - public var ChangePhoneNumberNumber_Title: String { return self._s[1887]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1888]! } - public var OldChannels_ChannelsHeader: String { return self._s[1889]! } - public var MuteFor_Forever: String { return self._s[1890]! } - public var Passport_Address_PostcodePlaceholder: String { return self._s[1891]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[1893]! } - public var MessagePoll_LabelAnonymous: String { return self._s[1894]! } - public var ContactInfo_Job: String { return self._s[1895]! } - public var Passport_Language_mk: String { return self._s[1896]! } - public var EditTheme_ShortLink: String { return self._s[1897]! } - public var AutoDownloadSettings_PhotosTitle: String { return self._s[1900]! } - public var Month_GenApril: String { return self._s[1902]! } - public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[1904]! } - public var NetworkUsageSettings_TotalSection: String { return self._s[1905]! } - public var EditTheme_Create_Preview_OutgoingText: String { return self._s[1906]! } - public var EditTheme_Title: String { return self._s[1907]! } - public var Conversation_LinkDialogCopy: String { return self._s[1908]! } + public var Invite_LargeRecipientsCountWarning: String { return self._s[1872]! } + public var Passport_Address_Street1Placeholder: String { return self._s[1873]! } + public var Appearance_ColorThemeNight: String { return self._s[1874]! } + public var ChannelInfo_Stats: String { return self._s[1875]! } + public var Widget_ShortcutsGalleryTitle: String { return self._s[1876]! } + public var TwoStepAuth_RecoveryTitle: String { return self._s[1877]! } + public var MediaPicker_TimerTooltip: String { return self._s[1878]! } + public var ChatImportActivity_ErrorNotAdmin: String { return self._s[1879]! } + public var Common_ChoosePhoto: String { return self._s[1880]! } + public var Media_LimitedAccessTitle: String { return self._s[1881]! } + public var ChatSettings_AutoDownloadVideos: String { return self._s[1882]! } + public var PeerInfo_PaneGroups: String { return self._s[1883]! } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[1885]! } + public var ChangePhoneNumberNumber_Title: String { return self._s[1886]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1887]! } + public var OldChannels_ChannelsHeader: String { return self._s[1888]! } + public var MuteFor_Forever: String { return self._s[1889]! } + public var Passport_Address_PostcodePlaceholder: String { return self._s[1890]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[1892]! } + public var MessagePoll_LabelAnonymous: String { return self._s[1893]! } + public var ContactInfo_Job: String { return self._s[1894]! } + public var Passport_Language_mk: String { return self._s[1895]! } + public var EditTheme_ShortLink: String { return self._s[1896]! } + public var AutoDownloadSettings_PhotosTitle: String { return self._s[1899]! } + public var Month_GenApril: String { return self._s[1901]! } + public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[1903]! } + public var NetworkUsageSettings_TotalSection: String { return self._s[1904]! } + public var EditTheme_Create_Preview_OutgoingText: String { return self._s[1905]! } + public var EditTheme_Title: String { return self._s[1906]! } + public var Conversation_LinkDialogCopy: String { return self._s[1907]! } public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1909]!, self._r[1909]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1908]!, self._r[1908]!, [_1, _2]) } - public var Passport_ForgottenPassword: String { return self._s[1910]! } - public var WallpaperSearch_Recent: String { return self._s[1911]! } - public var ChatSettings_Title: String { return self._s[1916]! } - public var Appearance_ReduceMotionInfo: String { return self._s[1917]! } + public var Passport_ForgottenPassword: String { return self._s[1909]! } + public var WallpaperSearch_Recent: String { return self._s[1910]! } + public var ChatSettings_Title: String { return self._s[1915]! } + public var Appearance_ReduceMotionInfo: String { return self._s[1916]! } public func StickerPackActionInfo_AddedText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1918]!, self._r[1918]!, [_0]) + return formatWithArgumentRanges(self._s[1917]!, self._r[1917]!, [_0]) } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[1919]! } - public var LastSeen_WithinAMonth: String { return self._s[1920]! } - public var VoiceChat_Live: String { return self._s[1921]! } - public var PeerInfo_ButtonCall: String { return self._s[1922]! } - public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[1923]! } - public var Group_Username_InvalidStartsWithNumber: String { return self._s[1924]! } - public var Call_AudioRouteHide: String { return self._s[1925]! } - public var DialogList_SavedMessages: String { return self._s[1926]! } - public var ChatList_Context_Mute: String { return self._s[1927]! } - public var Conversation_StatusKickedFromChannel: String { return self._s[1928]! } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[1918]! } + public var LastSeen_WithinAMonth: String { return self._s[1919]! } + public var VoiceChat_Live: String { return self._s[1920]! } + public var PeerInfo_ButtonCall: String { return self._s[1921]! } + public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[1922]! } + public var Group_Username_InvalidStartsWithNumber: String { return self._s[1923]! } + public var Call_AudioRouteHide: String { return self._s[1924]! } + public var DialogList_SavedMessages: String { return self._s[1925]! } + public var ChatList_Context_Mute: String { return self._s[1926]! } + public var Conversation_StatusKickedFromChannel: String { return self._s[1927]! } public func Notification_Exceptions_MutedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1929]!, self._r[1929]!, [_0]) + return formatWithArgumentRanges(self._s[1928]!, self._r[1928]!, [_0]) } - public var VoiceChat_StatusMutedForYou: String { return self._s[1930]! } - public var Passport_Language_et: String { return self._s[1931]! } - public var Conversation_MessageLeaveCommentShort: String { return self._s[1932]! } - public var PhotoEditor_CropReset: String { return self._s[1933]! } - public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[1934]! } - public var SocksProxySetup_HostnamePlaceholder: String { return self._s[1935]! } - public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[1936]! } - public var WallpaperSearch_ColorWhite: String { return self._s[1939]! } - public var Channel_AdminLog_CanEditMessages: String { return self._s[1941]! } - public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[1942]! } - public var Channel_Username_InvalidStartsWithNumber: String { return self._s[1944]! } - public var CheckoutInfo_ReceiverInfoName: String { return self._s[1946]! } - public var Map_YouAreHere: String { return self._s[1948]! } - public var Core_ServiceUserStatus: String { return self._s[1949]! } - public var Channel_Setup_TypePrivateHelp: String { return self._s[1952]! } - public var VoiceChat_StartRecording: String { return self._s[1953]! } - public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[1954]! } - public var MediaPicker_Videos: String { return self._s[1956]! } - public var Map_LiveLocationFor15Minutes: String { return self._s[1958]! } - public var Passport_Identity_TranslationsHelp: String { return self._s[1959]! } - public var SharedMedia_CategoryMedia: String { return self._s[1960]! } + public var VoiceChat_StatusMutedForYou: String { return self._s[1929]! } + public var Passport_Language_et: String { return self._s[1930]! } + public var Conversation_MessageLeaveCommentShort: String { return self._s[1931]! } + public var PhotoEditor_CropReset: String { return self._s[1932]! } + public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[1933]! } + public var SocksProxySetup_HostnamePlaceholder: String { return self._s[1934]! } + public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[1935]! } + public var WallpaperSearch_ColorWhite: String { return self._s[1938]! } + public var Channel_AdminLog_CanEditMessages: String { return self._s[1940]! } + public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[1941]! } + public var Channel_Username_InvalidStartsWithNumber: String { return self._s[1943]! } + public var CheckoutInfo_ReceiverInfoName: String { return self._s[1945]! } + public var Map_YouAreHere: String { return self._s[1947]! } + public var Core_ServiceUserStatus: String { return self._s[1948]! } + public var Channel_Setup_TypePrivateHelp: String { return self._s[1951]! } + public var VoiceChat_StartRecording: String { return self._s[1952]! } + public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[1953]! } + public var MediaPicker_Videos: String { return self._s[1955]! } + public var Map_LiveLocationFor15Minutes: String { return self._s[1957]! } + public var Passport_Identity_TranslationsHelp: String { return self._s[1958]! } + public var SharedMedia_CategoryMedia: String { return self._s[1959]! } public func MediaPicker_Nof(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1961]!, self._r[1961]!, [_0]) + return formatWithArgumentRanges(self._s[1960]!, self._r[1960]!, [_0]) } - public var ChatSettings_AutoPlayGifs: String { return self._s[1962]! } - public var Passport_Identity_CountryPlaceholder: String { return self._s[1963]! } - public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[1964]! } - public var Conversation_JoinVoiceChatAsListener: String { return self._s[1965]! } - public var Notification_Exceptions_RemoveFromExceptions: String { return self._s[1966]! } + public var ChatSettings_AutoPlayGifs: String { return self._s[1961]! } + public var Passport_Identity_CountryPlaceholder: String { return self._s[1962]! } + public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[1963]! } + public var Conversation_JoinVoiceChatAsListener: String { return self._s[1964]! } + public var Notification_Exceptions_RemoveFromExceptions: String { return self._s[1965]! } public func Chat_SlowmodeTooltip(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1967]!, self._r[1967]!, [_0]) + return formatWithArgumentRanges(self._s[1966]!, self._r[1966]!, [_0]) } - public var Web_Error: String { return self._s[1968]! } - public var PhotoEditor_SkinTool: String { return self._s[1969]! } - public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[1970]! } - public var AutoremoveSetup_TimerInfoChat: String { return self._s[1971]! } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[1973]! } - public var PasscodeSettings_Help: String { return self._s[1974]! } - public var Appearance_ColorTheme: String { return self._s[1975]! } + public var Web_Error: String { return self._s[1967]! } + public var PhotoEditor_SkinTool: String { return self._s[1968]! } + public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[1969]! } + public var AutoremoveSetup_TimerInfoChat: String { return self._s[1970]! } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[1972]! } + public var PasscodeSettings_Help: String { return self._s[1973]! } + public var Appearance_ColorTheme: String { return self._s[1974]! } public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1976]!, self._r[1976]!, [_0]) + return formatWithArgumentRanges(self._s[1975]!, self._r[1975]!, [_0]) } - public var InviteLink_DeleteAllRevokedLinks: String { return self._s[1977]! } + public var InviteLink_DeleteAllRevokedLinks: String { return self._s[1976]! } public func PUSH_PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1978]!, self._r[1978]!, [_1]) + return formatWithArgumentRanges(self._s[1977]!, self._r[1977]!, [_1]) } - public var InviteLink_QRCode_Title: String { return self._s[1979]! } - public var GroupInfo_LeftStatus: String { return self._s[1980]! } - public var EditTheme_Preview: String { return self._s[1981]! } - public var Watch_Suggestion_WhatsUp: String { return self._s[1982]! } + public var InviteLink_QRCode_Title: String { return self._s[1978]! } + public var GroupInfo_LeftStatus: String { return self._s[1979]! } + public var EditTheme_Preview: String { return self._s[1980]! } + public var Watch_Suggestion_WhatsUp: String { return self._s[1981]! } public func AutoDownloadSettings_PreloadVideoInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1983]!, self._r[1983]!, [_0]) + return formatWithArgumentRanges(self._s[1982]!, self._r[1982]!, [_0]) } - public var NotificationsSound_Keys: String { return self._s[1984]! } - public var VoiceChat_StatusWantsToSpeak: String { return self._s[1985]! } - public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1986]! } - public var ChatList_Context_MarkAsUnread: String { return self._s[1987]! } - public var DialogList_AdNoticeAlert: String { return self._s[1988]! } - public var UserInfo_Invite: String { return self._s[1989]! } - public var Checkout_Email: String { return self._s[1990]! } - public var Stats_GroupActionsTitle: String { return self._s[1991]! } - public var Coub_TapForSound: String { return self._s[1992]! } - public var Conversation_AutoremoveTimerRemovedUserYou: String { return self._s[1993]! } - public var Theme_ThemeChangedText: String { return self._s[1994]! } - public var Call_ExternalCallInProgressMessage: String { return self._s[1995]! } - public var AutoremoveSetup_TimerInfoChannel: String { return self._s[1996]! } - public var Settings_ApplyProxyAlertEnable: String { return self._s[1997]! } - public var ScheduledMessages_ScheduledToday: String { return self._s[1998]! } - public var Channel_AdminLog_DefaultRestrictionsUpdated: String { return self._s[1999]! } + public var NotificationsSound_Keys: String { return self._s[1983]! } + public var VoiceChat_StatusWantsToSpeak: String { return self._s[1984]! } + public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1985]! } + public var ChatList_Context_MarkAsUnread: String { return self._s[1986]! } + public var DialogList_AdNoticeAlert: String { return self._s[1987]! } + public var UserInfo_Invite: String { return self._s[1988]! } + public var Checkout_Email: String { return self._s[1989]! } + public var Stats_GroupActionsTitle: String { return self._s[1990]! } + public var Coub_TapForSound: String { return self._s[1991]! } + public var Conversation_AutoremoveTimerRemovedUserYou: String { return self._s[1992]! } + public var Theme_ThemeChangedText: String { return self._s[1993]! } + public var Call_ExternalCallInProgressMessage: String { return self._s[1994]! } + public var AutoremoveSetup_TimerInfoChannel: String { return self._s[1995]! } + public var Settings_ApplyProxyAlertEnable: String { return self._s[1996]! } + public var ScheduledMessages_ScheduledToday: String { return self._s[1997]! } + public var Channel_AdminLog_DefaultRestrictionsUpdated: String { return self._s[1998]! } public func VoiceChat_InviteMemberToChannelFirstText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2000]!, self._r[2000]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1999]!, self._r[1999]!, [_1, _2]) } - public var Call_ReportIncludeLogDescription: String { return self._s[2001]! } - public var Settings_FrequentlyAskedQuestions: String { return self._s[2003]! } - public var Call_VoiceOver_VoiceCallMissed: String { return self._s[2004]! } - public var Channel_MessagePhotoRemoved: String { return self._s[2005]! } - public var Passport_Email_Delete: String { return self._s[2006]! } + public var Call_ReportIncludeLogDescription: String { return self._s[2000]! } + public var Settings_FrequentlyAskedQuestions: String { return self._s[2002]! } + public var Call_VoiceOver_VoiceCallMissed: String { return self._s[2003]! } + public var Channel_MessagePhotoRemoved: String { return self._s[2004]! } + public var Passport_Email_Delete: String { return self._s[2005]! } public func PUSH_PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2007]!, self._r[2007]!, [_1]) + return formatWithArgumentRanges(self._s[2006]!, self._r[2006]!, [_1]) } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2008]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2007]! } public func Conversation_AutoremoveTimerRemovedUser(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2009]!, self._r[2009]!, [_1]) + return formatWithArgumentRanges(self._s[2008]!, self._r[2008]!, [_1]) } - public var Channel_AdminLog_CanAddAdmins: String { return self._s[2010]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[2012]! } - public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[2013]! } - public var Common_of: String { return self._s[2014]! } - public var VoiceChat_CreateNewVoiceChatText: String { return self._s[2015]! } - public var VoiceChat_StartRecordingStart: String { return self._s[2016]! } - public var PeerInfo_ButtonUnmute: String { return self._s[2019]! } + public var Channel_AdminLog_CanAddAdmins: String { return self._s[2009]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[2011]! } + public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[2012]! } + public var Common_of: String { return self._s[2013]! } + public var VoiceChat_CreateNewVoiceChatText: String { return self._s[2014]! } + public var VoiceChat_StartRecordingStart: String { return self._s[2015]! } + public var PeerInfo_ButtonUnmute: String { return self._s[2018]! } public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2020]!, self._r[2020]!, [_0]) + return formatWithArgumentRanges(self._s[2019]!, self._r[2019]!, [_0]) } - public var Privacy_ContactsReset_ContactsDeleted: String { return self._s[2021]! } - public var ChatList_AddChatsToFolder: String { return self._s[2022]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2023]! } - public var Settings_Title: String { return self._s[2025]! } - public var AutoDownloadSettings_Contacts: String { return self._s[2027]! } - public var Appearance_BubbleCornersSetting: String { return self._s[2028]! } - public var InviteLink_OtherAdminsLinks: String { return self._s[2029]! } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2030]! } - public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[2032]! } - public var WallpaperPreview_CropBottomText: String { return self._s[2033]! } - public var SecretTimer_VideoDescription: String { return self._s[2034]! } - public var VoiceOver_Chat_AnimatedSticker: String { return self._s[2035]! } - public var WallpaperPreview_Blurred: String { return self._s[2036]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2037]! } - public var ChatListFolder_ExcludedSectionHeader: String { return self._s[2039]! } - public var Conversation_CancelForwardSelectChat: String { return self._s[2040]! } - public var DialogList_PasscodeLockHelp: String { return self._s[2041]! } - public var SocksProxySetup_SecretPlaceholder: String { return self._s[2042]! } - public var NetworkUsageSettings_CallDataSection: String { return self._s[2043]! } - public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2044]! } - public var Passport_FieldAddressTranslationHelp: String { return self._s[2045]! } - public var SocksProxySetup_Connection: String { return self._s[2046]! } - public var Passport_Address_TypePassportRegistration: String { return self._s[2047]! } - public var Contacts_PermissionsAllowInSettings: String { return self._s[2048]! } - public var Conversation_Unpin: String { return self._s[2049]! } - public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[2050]! } - public var TwoFactorSetup_Hint_Placeholder: String { return self._s[2051]! } - public var Call_ReportSkip: String { return self._s[2052]! } + public var Privacy_ContactsReset_ContactsDeleted: String { return self._s[2020]! } + public var ChatList_AddChatsToFolder: String { return self._s[2021]! } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2022]! } + public var Settings_Title: String { return self._s[2024]! } + public var AutoDownloadSettings_Contacts: String { return self._s[2026]! } + public var Appearance_BubbleCornersSetting: String { return self._s[2027]! } + public var InviteLink_OtherAdminsLinks: String { return self._s[2028]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2029]! } + public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[2031]! } + public var WallpaperPreview_CropBottomText: String { return self._s[2032]! } + public var SecretTimer_VideoDescription: String { return self._s[2033]! } + public var VoiceOver_Chat_AnimatedSticker: String { return self._s[2034]! } + public var WallpaperPreview_Blurred: String { return self._s[2035]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2036]! } + public var ChatListFolder_ExcludedSectionHeader: String { return self._s[2038]! } + public var Conversation_CancelForwardSelectChat: String { return self._s[2039]! } + public var DialogList_PasscodeLockHelp: String { return self._s[2040]! } + public var SocksProxySetup_SecretPlaceholder: String { return self._s[2041]! } + public var NetworkUsageSettings_CallDataSection: String { return self._s[2042]! } + public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2043]! } + public var Passport_FieldAddressTranslationHelp: String { return self._s[2044]! } + public var SocksProxySetup_Connection: String { return self._s[2045]! } + public var Passport_Address_TypePassportRegistration: String { return self._s[2046]! } + public var Contacts_PermissionsAllowInSettings: String { return self._s[2047]! } + public var Conversation_Unpin: String { return self._s[2048]! } + public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[2049]! } + public var TwoFactorSetup_Hint_Placeholder: String { return self._s[2050]! } + public var Call_ReportSkip: String { return self._s[2051]! } public func VoiceOver_Chat_PhotoFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2053]!, self._r[2053]!, [_0]) + return formatWithArgumentRanges(self._s[2052]!, self._r[2052]!, [_0]) } public func VoiceOver_Chat_Caption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2055]!, self._r[2055]!, [_0]) + return formatWithArgumentRanges(self._s[2054]!, self._r[2054]!, [_0]) } - public var AutoNightTheme_Automatic: String { return self._s[2056]! } - public var Passport_Language_az: String { return self._s[2058]! } + public var AutoNightTheme_Automatic: String { return self._s[2055]! } + public var Passport_Language_az: String { return self._s[2057]! } public func Conversation_AutoremoveChanged(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2059]!, self._r[2059]!, [_0]) + return formatWithArgumentRanges(self._s[2058]!, self._r[2058]!, [_0]) } - public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[2060]! } - public var Watch_UserInfo_Unmute: String { return self._s[2061]! } - public var Channel_Stickers_YourStickers: String { return self._s[2062]! } - public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2063]! } - public var PeerInfo_AutoremoveMessagesDisabled: String { return self._s[2064]! } - public var Tour_Text1: String { return self._s[2065]! } - public var Common_Delete: String { return self._s[2066]! } - public var Settings_EditPhoto: String { return self._s[2067]! } - public var Common_Edit: String { return self._s[2068]! } - public var ShareMenu_ShareTo: String { return self._s[2070]! } - public var Passport_Identity_ExpiryDate: String { return self._s[2071]! } + public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[2059]! } + public var Watch_UserInfo_Unmute: String { return self._s[2060]! } + public var Channel_Stickers_YourStickers: String { return self._s[2061]! } + public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2062]! } + public var PeerInfo_AutoremoveMessagesDisabled: String { return self._s[2063]! } + public var Tour_Text1: String { return self._s[2064]! } + public var Common_Delete: String { return self._s[2065]! } + public var Settings_EditPhoto: String { return self._s[2066]! } + public var Common_Edit: String { return self._s[2067]! } + public var ShareMenu_ShareTo: String { return self._s[2069]! } + public var Passport_Identity_ExpiryDate: String { return self._s[2070]! } public func Channel_AdminLog_MutedNewMembers(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2072]!, self._r[2072]!, [_1]) + return formatWithArgumentRanges(self._s[2071]!, self._r[2071]!, [_1]) } - public var Preview_DeleteGif: String { return self._s[2073]! } - public var WallpaperPreview_PatternPaternDiscard: String { return self._s[2074]! } - public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2075]! } - public var Conversation_ViewReply: String { return self._s[2076]! } - public var Stats_LoadingText: String { return self._s[2077]! } - public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[2078]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2079]! } - public var Channel_AdminLog_CanChangeInfo: String { return self._s[2080]! } + public var Preview_DeleteGif: String { return self._s[2072]! } + public var WallpaperPreview_PatternPaternDiscard: String { return self._s[2073]! } + public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2074]! } + public var Conversation_ViewReply: String { return self._s[2075]! } + public var Stats_LoadingText: String { return self._s[2076]! } + public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[2077]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2078]! } + public var Channel_AdminLog_CanChangeInfo: String { return self._s[2079]! } public func Passport_Phone_UseTelegramNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2081]!, self._r[2081]!, [_0]) + return formatWithArgumentRanges(self._s[2080]!, self._r[2080]!, [_0]) } public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2082]!, self._r[2082]!, [_0]) + return formatWithArgumentRanges(self._s[2081]!, self._r[2081]!, [_0]) } public func VoiceOver_Chat_VideoMessageFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2084]!, self._r[2084]!, [_0]) + return formatWithArgumentRanges(self._s[2083]!, self._r[2083]!, [_0]) } - public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[2085]! } - public var InviteLink_Share: String { return self._s[2087]! } + public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[2084]! } + public var InviteLink_Share: String { return self._s[2086]! } public func Conversation_ImportProgress(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2089]!, self._r[2089]!, [_0]) + return formatWithArgumentRanges(self._s[2088]!, self._r[2088]!, [_0]) } - public var IntentsSettings_MainAccount: String { return self._s[2090]! } - public var Group_MessagePhotoRemoved: String { return self._s[2093]! } - public var Conversation_ContextMenuSelect: String { return self._s[2094]! } - public var GroupInfo_Permissions_Exceptions: String { return self._s[2096]! } - public var GroupRemoved_UsersSectionTitle: String { return self._s[2097]! } - public var Contacts_PermissionsEnable: String { return self._s[2098]! } - public var Channel_EditAdmin_PermissionDeleteMessagesOfOthers: String { return self._s[2099]! } - public var Common_NotNow: String { return self._s[2100]! } - public var Notification_CreatedChannel: String { return self._s[2101]! } - public var Stats_ViewsBySourceTitle: String { return self._s[2103]! } - public var InviteLink_ContextShare: String { return self._s[2104]! } - public var Appearance_AppIconClassic: String { return self._s[2105]! } - public var PhotoEditor_QualityTool: String { return self._s[2106]! } - public var ClearCache_ClearCache: String { return self._s[2107]! } - public var TwoFactorSetup_Password_PlaceholderConfirmPassword: String { return self._s[2108]! } - public var AutoDownloadSettings_Videos: String { return self._s[2109]! } - public var GroupPermission_Duration: String { return self._s[2110]! } - public var ChatList_Read: String { return self._s[2111]! } + public var IntentsSettings_MainAccount: String { return self._s[2089]! } + public var Group_MessagePhotoRemoved: String { return self._s[2092]! } + public var Conversation_ContextMenuSelect: String { return self._s[2093]! } + public var GroupInfo_Permissions_Exceptions: String { return self._s[2095]! } + public var GroupRemoved_UsersSectionTitle: String { return self._s[2096]! } + public var Contacts_PermissionsEnable: String { return self._s[2097]! } + public var Channel_EditAdmin_PermissionDeleteMessagesOfOthers: String { return self._s[2098]! } + public var Common_NotNow: String { return self._s[2099]! } + public var Notification_CreatedChannel: String { return self._s[2100]! } + public var Stats_ViewsBySourceTitle: String { return self._s[2102]! } + public var InviteLink_ContextShare: String { return self._s[2103]! } + public var Appearance_AppIconClassic: String { return self._s[2104]! } + public var PhotoEditor_QualityTool: String { return self._s[2105]! } + public var ClearCache_ClearCache: String { return self._s[2106]! } + public var TwoFactorSetup_Password_PlaceholderConfirmPassword: String { return self._s[2107]! } + public var AutoDownloadSettings_Videos: String { return self._s[2108]! } + public var GroupPermission_Duration: String { return self._s[2109]! } + public var ChatList_Read: String { return self._s[2110]! } public func Group_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2112]!, self._r[2112]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2111]!, self._r[2111]!, [_1, _2]) } public func ScheduleVoiceChat_ScheduleTomorrow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2113]!, self._r[2113]!, [_0]) + return formatWithArgumentRanges(self._s[2112]!, self._r[2112]!, [_0]) } - public var CallFeedback_Send: String { return self._s[2114]! } - public var Channel_Stickers_Searching: String { return self._s[2115]! } - public var ScheduledMessages_ReminderNotification: String { return self._s[2116]! } - public var FastTwoStepSetup_HintSection: String { return self._s[2117]! } - public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2118]! } - public var EditTheme_CreateTitle: String { return self._s[2120]! } - public var Application_Name: String { return self._s[2121]! } - public var Paint_Stickers: String { return self._s[2122]! } - public var Appearance_ThemePreview_Chat_1_Text: String { return self._s[2123]! } - public var Call_StatusFailed: String { return self._s[2124]! } - public var Stickers_FavoriteStickers: String { return self._s[2125]! } - public var ClearCache_Clear: String { return self._s[2126]! } - public var Passport_Language_mn: String { return self._s[2127]! } - public var WallpaperPreview_PreviewTopText: String { return self._s[2128]! } - public var LogoutOptions_ClearCacheTitle: String { return self._s[2129]! } - public var Call_VoiceOver_VideoCallOutgoing: String { return self._s[2131]! } - public var TwoFactorSetup_Hint_Text: String { return self._s[2133]! } - public var WallpaperPreview_PatternIntensity: String { return self._s[2134]! } - public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[2135]! } - public var Passport_Address_AddBankStatement: String { return self._s[2136]! } + public var CallFeedback_Send: String { return self._s[2113]! } + public var Channel_Stickers_Searching: String { return self._s[2114]! } + public var ScheduledMessages_ReminderNotification: String { return self._s[2115]! } + public var FastTwoStepSetup_HintSection: String { return self._s[2116]! } + public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2117]! } + public var EditTheme_CreateTitle: String { return self._s[2119]! } + public var Application_Name: String { return self._s[2120]! } + public var Paint_Stickers: String { return self._s[2121]! } + public var Appearance_ThemePreview_Chat_1_Text: String { return self._s[2122]! } + public var Call_StatusFailed: String { return self._s[2123]! } + public var Stickers_FavoriteStickers: String { return self._s[2124]! } + public var ClearCache_Clear: String { return self._s[2125]! } + public var Passport_Language_mn: String { return self._s[2126]! } + public var WallpaperPreview_PreviewTopText: String { return self._s[2127]! } + public var LogoutOptions_ClearCacheTitle: String { return self._s[2128]! } + public var Call_VoiceOver_VideoCallOutgoing: String { return self._s[2130]! } + public var TwoFactorSetup_Hint_Text: String { return self._s[2132]! } + public var WallpaperPreview_PatternIntensity: String { return self._s[2133]! } + public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[2134]! } + public var Passport_Address_AddBankStatement: String { return self._s[2135]! } public func Conversation_TitleRepliesFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2139]!, self._r[2139]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2138]!, self._r[2138]!, [_1, _2]) } - public var ChatListFolderSettings_RecommendedNewFolder: String { return self._s[2140]! } - public var UserInfo_ShareContact: String { return self._s[2141]! } - public var Passport_Identity_NamePlaceholder: String { return self._s[2142]! } - public var Channel_ErrorAdminsTooMuch: String { return self._s[2144]! } - public var Call_RateCall: String { return self._s[2145]! } - public var Contacts_AccessDeniedError: String { return self._s[2146]! } - public var Invite_ChannelsTooMuch: String { return self._s[2147]! } - public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[2148]! } - public var Channel_BanUser_PermissionReadMessages: String { return self._s[2149]! } - public var InviteLink_Create_TimeLimitInfo: String { return self._s[2150]! } - public var Cache_NoLimit: String { return self._s[2153]! } - public var Conversation_EmptyPlaceholder: String { return self._s[2154]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2158]! } - public var Notification_Exceptions_MessagePreviewAlwaysOff: String { return self._s[2159]! } - public var GroupRemoved_RemoveInfo: String { return self._s[2160]! } - public var Privacy_PaymentsClear_AllInfoCleared: String { return self._s[2161]! } - public var Privacy_Calls_IntegrationHelp: String { return self._s[2162]! } + public var ChatListFolderSettings_RecommendedNewFolder: String { return self._s[2139]! } + public var UserInfo_ShareContact: String { return self._s[2140]! } + public var Passport_Identity_NamePlaceholder: String { return self._s[2141]! } + public var Channel_ErrorAdminsTooMuch: String { return self._s[2143]! } + public var Call_RateCall: String { return self._s[2144]! } + public var Contacts_AccessDeniedError: String { return self._s[2145]! } + public var Invite_ChannelsTooMuch: String { return self._s[2146]! } + public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[2147]! } + public var Channel_BanUser_PermissionReadMessages: String { return self._s[2148]! } + public var InviteLink_Create_TimeLimitInfo: String { return self._s[2149]! } + public var Cache_NoLimit: String { return self._s[2152]! } + public var Conversation_EmptyPlaceholder: String { return self._s[2153]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2157]! } + public var Notification_Exceptions_MessagePreviewAlwaysOff: String { return self._s[2158]! } + public var GroupRemoved_RemoveInfo: String { return self._s[2159]! } + public var Privacy_PaymentsClear_AllInfoCleared: String { return self._s[2160]! } + public var Privacy_Calls_IntegrationHelp: String { return self._s[2161]! } public func PUSH_VIDEO_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2163]!, self._r[2163]!, [_1]) + return formatWithArgumentRanges(self._s[2162]!, self._r[2162]!, [_1]) } - public var VoiceOver_Media_PlaybackRateFast: String { return self._s[2164]! } - public var Theme_ThemeChanged: String { return self._s[2165]! } - public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2167]! } - public var AutoDownloadSettings_MediaTypes: String { return self._s[2168]! } + public var VoiceOver_Media_PlaybackRateFast: String { return self._s[2163]! } + public var Theme_ThemeChanged: String { return self._s[2164]! } + public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2166]! } + public var AutoDownloadSettings_MediaTypes: String { return self._s[2167]! } public func Notification_PinnedDocumentMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2169]!, self._r[2169]!, [_0]) + return formatWithArgumentRanges(self._s[2168]!, self._r[2168]!, [_0]) } - public var Channel_AdminLog_InfoPanelTitle: String { return self._s[2170]! } - public var Passport_Language_da: String { return self._s[2172]! } - public var Chat_SlowmodeSendError: String { return self._s[2173]! } - public var Application_Update: String { return self._s[2175]! } - public var SocksProxySetup_SaveProxy: String { return self._s[2176]! } + public var Channel_AdminLog_InfoPanelTitle: String { return self._s[2169]! } + public var Passport_Language_da: String { return self._s[2171]! } + public var Chat_SlowmodeSendError: String { return self._s[2172]! } + public var Application_Update: String { return self._s[2174]! } + public var SocksProxySetup_SaveProxy: String { return self._s[2175]! } public func PUSH_AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2177]!, self._r[2177]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2176]!, self._r[2176]!, [_1, _2]) } - public var Privacy_AddNewPeer: String { return self._s[2179]! } - public var Channel_DiscussionGroup_MakeHistoryPublicProceed: String { return self._s[2181]! } - public var Channel_Members_Title: String { return self._s[2182]! } - public var StickerPacks_ActionDelete: String { return self._s[2183]! } - public var Conversation_ScheduledVoiceChat: String { return self._s[2184]! } - public var Settings_LogoutConfirmationText: String { return self._s[2186]! } - public var Chat_UnsendMyMessages: String { return self._s[2187]! } - public var PeerInfo_ReportProfilePhoto: String { return self._s[2188]! } - public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2190]! } - public var ChatListFilter_AddChatsTitle: String { return self._s[2191]! } - public var Passport_FloodError: String { return self._s[2192]! } - public var NotificationSettings_ContactJoinedInfo: String { return self._s[2193]! } - public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[2194]! } - public var CallSettings_TabIconDescription: String { return self._s[2195]! } - public var Group_Setup_HistoryHeader: String { return self._s[2197]! } + public var Privacy_AddNewPeer: String { return self._s[2178]! } + public var Channel_DiscussionGroup_MakeHistoryPublicProceed: String { return self._s[2180]! } + public var Channel_Members_Title: String { return self._s[2181]! } + public var StickerPacks_ActionDelete: String { return self._s[2182]! } + public var Conversation_ScheduledVoiceChat: String { return self._s[2183]! } + public var Settings_LogoutConfirmationText: String { return self._s[2185]! } + public var Chat_UnsendMyMessages: String { return self._s[2186]! } + public var PeerInfo_ReportProfilePhoto: String { return self._s[2187]! } + public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2189]! } + public var ChatListFilter_AddChatsTitle: String { return self._s[2190]! } + public var Passport_FloodError: String { return self._s[2191]! } + public var NotificationSettings_ContactJoinedInfo: String { return self._s[2192]! } + public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[2193]! } + public var CallSettings_TabIconDescription: String { return self._s[2194]! } + public var Group_Setup_HistoryHeader: String { return self._s[2196]! } public func Channel_AdminLog_AllowedNewMembersToSpeak(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2198]!, self._r[2198]!, [_1]) + return formatWithArgumentRanges(self._s[2197]!, self._r[2197]!, [_1]) } - public var TwoStepAuth_EmailTitle: String { return self._s[2199]! } - public var GroupInfo_Permissions_Removed: String { return self._s[2200]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[2201]! } - public var Contacts_Title: String { return self._s[2203]! } + public var TwoStepAuth_EmailTitle: String { return self._s[2198]! } + public var GroupInfo_Permissions_Removed: String { return self._s[2199]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[2200]! } + public var Contacts_Title: String { return self._s[2202]! } public func Notification_Invited(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2204]!, self._r[2204]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2203]!, self._r[2203]!, [_0, _1]) } - public var ChatList_PeerTypeBot: String { return self._s[2207]! } + public var ChatList_PeerTypeBot: String { return self._s[2206]! } public func Channel_AdminLog_SetSlowmode(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2208]!, self._r[2208]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2207]!, self._r[2207]!, [_1, _2]) } - public var Appearance_ThemePreview_Chat_6_Text: String { return self._s[2209]! } + public var Appearance_ThemePreview_Chat_6_Text: String { return self._s[2208]! } public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2210]!, self._r[2210]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2209]!, self._r[2209]!, [_1, _2, _3]) } - public var Camera_PhotoMode: String { return self._s[2212]! } + public var Camera_PhotoMode: String { return self._s[2211]! } public func PUSH_MESSAGE_GAME_SCORE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2213]!, self._r[2213]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2212]!, self._r[2212]!, [_1, _2, _3]) } - public var ContactInfo_PhoneLabelPager: String { return self._s[2214]! } - public var SettingsSearch_Synonyms_FAQ: String { return self._s[2215]! } - public var Call_CallAgain: String { return self._s[2216]! } - public var TwoStepAuth_PasswordSet: String { return self._s[2217]! } - public var VoiceChat_EditDescriptionPlaceholder: String { return self._s[2218]! } + public var ContactInfo_PhoneLabelPager: String { return self._s[2213]! } + public var SettingsSearch_Synonyms_FAQ: String { return self._s[2214]! } + public var Call_CallAgain: String { return self._s[2215]! } + public var TwoStepAuth_PasswordSet: String { return self._s[2216]! } + public var VoiceChat_EditDescriptionPlaceholder: String { return self._s[2217]! } public func Channel_Management_RestrictedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2219]!, self._r[2219]!, [_0]) + return formatWithArgumentRanges(self._s[2218]!, self._r[2218]!, [_0]) } - public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[2220]! } - public var ClearCache_FreeSpaceDescription: String { return self._s[2221]! } - public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2222]! } - public var Group_LeaveGroup: String { return self._s[2223]! } - public var Channel_Setup_LinkTypePrivate: String { return self._s[2225]! } - public var GroupInfo_LabelAdmin: String { return self._s[2227]! } - public var CheckoutInfo_ErrorStateInvalid: String { return self._s[2229]! } - public var Notification_PassportValuePersonalDetails: String { return self._s[2230]! } + public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[2219]! } + public var ClearCache_FreeSpaceDescription: String { return self._s[2220]! } + public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2221]! } + public var Group_LeaveGroup: String { return self._s[2222]! } + public var Channel_Setup_LinkTypePrivate: String { return self._s[2224]! } + public var GroupInfo_LabelAdmin: String { return self._s[2226]! } + public var CheckoutInfo_ErrorStateInvalid: String { return self._s[2228]! } + public var Notification_PassportValuePersonalDetails: String { return self._s[2229]! } public func WebSearch_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2231]!, self._r[2231]!, [_0]) + return formatWithArgumentRanges(self._s[2230]!, self._r[2230]!, [_0]) } - public var Stats_GroupNewMembersBySourceTitle: String { return self._s[2232]! } - public var Appearance_Preview: String { return self._s[2233]! } - public var VoiceOver_Chat_Contact: String { return self._s[2234]! } - public var Passport_Language_th: String { return self._s[2235]! } - public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[2237]! } - public var LastSeen_Offline: String { return self._s[2240]! } - public var Map_OpenInHereMaps: String { return self._s[2241]! } - public var SettingsSearch_Synonyms_Data_AutoplayVideos: String { return self._s[2242]! } - public var InviteLink_ContextEdit: String { return self._s[2244]! } - public var AutoDownloadSettings_Reset: String { return self._s[2245]! } - public var Conversation_SendMessage_SetReminder: String { return self._s[2246]! } - public var Channel_AdminLog_EmptyMessageText: String { return self._s[2247]! } + public var Stats_GroupNewMembersBySourceTitle: String { return self._s[2231]! } + public var Appearance_Preview: String { return self._s[2232]! } + public var VoiceOver_Chat_Contact: String { return self._s[2233]! } + public var Passport_Language_th: String { return self._s[2234]! } + public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[2236]! } + public var LastSeen_Offline: String { return self._s[2239]! } + public var Map_OpenInHereMaps: String { return self._s[2240]! } + public var SettingsSearch_Synonyms_Data_AutoplayVideos: String { return self._s[2241]! } + public var InviteLink_ContextEdit: String { return self._s[2243]! } + public var AutoDownloadSettings_Reset: String { return self._s[2244]! } + public var Conversation_SendMessage_SetReminder: String { return self._s[2245]! } + public var Channel_AdminLog_EmptyMessageText: String { return self._s[2246]! } public func AddContact_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2248]!, self._r[2248]!, [_0]) + return formatWithArgumentRanges(self._s[2247]!, self._r[2247]!, [_0]) } public func AuthCode_Alert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2249]!, self._r[2249]!, [_0]) + return formatWithArgumentRanges(self._s[2248]!, self._r[2248]!, [_0]) } - public var Passport_Identity_EditDriversLicense: String { return self._s[2250]! } - public var ChatListFolder_NameNonMuted: String { return self._s[2251]! } - public var Username_Placeholder: String { return self._s[2252]! } + public var Passport_Identity_EditDriversLicense: String { return self._s[2249]! } + public var ChatListFolder_NameNonMuted: String { return self._s[2250]! } + public var Username_Placeholder: String { return self._s[2251]! } public func PUSH_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2253]!, self._r[2253]!, [_1]) + return formatWithArgumentRanges(self._s[2252]!, self._r[2252]!, [_1]) } - public var Passport_Language_it: String { return self._s[2254]! } - public var Checkout_NewCard_SaveInfo: String { return self._s[2255]! } + public var Passport_Language_it: String { return self._s[2253]! } + public var Checkout_NewCard_SaveInfo: String { return self._s[2254]! } public func Channel_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2256]!, self._r[2256]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2255]!, self._r[2255]!, [_1, _2]) } - public var NotificationsSound_Pulse: String { return self._s[2257]! } - public var VoiceOver_DismissContextMenu: String { return self._s[2259]! } - public var MessagePoll_NoVotes: String { return self._s[2262]! } - public var Message_Wallpaper: String { return self._s[2263]! } - public var Conversation_JoinVoiceChat: String { return self._s[2264]! } - public var Appearance_Other: String { return self._s[2265]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[2267]! } - public var Group_PublicLink_Placeholder: String { return self._s[2271]! } - public var Appearance_ThemePreview_ChatList_2_Text: String { return self._s[2272]! } - public var VoiceOver_Recording_StopAndPreview: String { return self._s[2273]! } - public var ChatListFolder_NameBots: String { return self._s[2274]! } - public var Conversation_StopPollConfirmation: String { return self._s[2275]! } - public var UserInfo_DeleteContact: String { return self._s[2276]! } + public var NotificationsSound_Pulse: String { return self._s[2256]! } + public var VoiceOver_DismissContextMenu: String { return self._s[2258]! } + public var MessagePoll_NoVotes: String { return self._s[2261]! } + public var Message_Wallpaper: String { return self._s[2262]! } + public var Conversation_JoinVoiceChat: String { return self._s[2263]! } + public var Appearance_Other: String { return self._s[2264]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[2266]! } + public var Group_PublicLink_Placeholder: String { return self._s[2270]! } + public var Appearance_ThemePreview_ChatList_2_Text: String { return self._s[2271]! } + public var VoiceOver_Recording_StopAndPreview: String { return self._s[2272]! } + public var ChatListFolder_NameBots: String { return self._s[2273]! } + public var Conversation_StopPollConfirmation: String { return self._s[2274]! } + public var UserInfo_DeleteContact: String { return self._s[2275]! } public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2277]!, self._r[2277]!, [_0]) + return formatWithArgumentRanges(self._s[2276]!, self._r[2276]!, [_0]) } - public var Wallpaper_Wallpaper: String { return self._s[2279]! } + public var Wallpaper_Wallpaper: String { return self._s[2278]! } public func PUSH_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2280]!, self._r[2280]!, [_1]) + return formatWithArgumentRanges(self._s[2279]!, self._r[2279]!, [_1]) } - public var LoginPassword_ForgotPassword: String { return self._s[2281]! } - public var FeaturedStickerPacks_Title: String { return self._s[2282]! } - public var Paint_Pen: String { return self._s[2283]! } - public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2284]! } - public var ChatListFolderSettings_Info: String { return self._s[2285]! } - public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2286]! } - public var PhotoEditor_CurvesAll: String { return self._s[2288]! } + public var LoginPassword_ForgotPassword: String { return self._s[2280]! } + public var FeaturedStickerPacks_Title: String { return self._s[2281]! } + public var Paint_Pen: String { return self._s[2282]! } + public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2283]! } + public var ChatListFolderSettings_Info: String { return self._s[2284]! } + public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2285]! } + public var PhotoEditor_CurvesAll: String { return self._s[2287]! } public func Time_PreciseDate_m12(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2290]!, self._r[2290]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2289]!, self._r[2289]!, [_1, _2, _3]) } - public var Passport_Address_TypeRentalAgreement: String { return self._s[2292]! } - public var Message_ImageExpired: String { return self._s[2293]! } - public var Call_ConnectionErrorMessage: String { return self._s[2294]! } - public var SearchImages_NoImagesFound: String { return self._s[2296]! } - public var PeerInfo_PaneGifs: String { return self._s[2297]! } - public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2298]! } - public var EnterPasscode_RepeatNewPasscode: String { return self._s[2299]! } - public var PhotoEditor_VignetteTool: String { return self._s[2300]! } - public var Passport_Language_dz: String { return self._s[2301]! } - public var Notifications_ChannelNotificationsHelp: String { return self._s[2302]! } - public var Conversation_BlockUser: String { return self._s[2303]! } - public var GroupPermission_PermissionDisabledByDefault: String { return self._s[2306]! } - public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2308]! } + public var Passport_Address_TypeRentalAgreement: String { return self._s[2291]! } + public var Message_ImageExpired: String { return self._s[2292]! } + public var Call_ConnectionErrorMessage: String { return self._s[2293]! } + public var SearchImages_NoImagesFound: String { return self._s[2295]! } + public var PeerInfo_PaneGifs: String { return self._s[2296]! } + public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2297]! } + public var EnterPasscode_RepeatNewPasscode: String { return self._s[2298]! } + public var PhotoEditor_VignetteTool: String { return self._s[2299]! } + public var Passport_Language_dz: String { return self._s[2300]! } + public var Notifications_ChannelNotificationsHelp: String { return self._s[2301]! } + public var Conversation_BlockUser: String { return self._s[2302]! } + public var GroupPermission_PermissionDisabledByDefault: String { return self._s[2305]! } + public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2307]! } public func Time_MonthOfYear_m8(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2309]!, self._r[2309]!, [_0]) + return formatWithArgumentRanges(self._s[2308]!, self._r[2308]!, [_0]) } - public var KeyCommand_NewMessage: String { return self._s[2310]! } - public var EditTheme_Edit_Preview_IncomingReplyText: String { return self._s[2313]! } + public var KeyCommand_NewMessage: String { return self._s[2309]! } + public var EditTheme_Edit_Preview_IncomingReplyText: String { return self._s[2312]! } public func PUSH_CHAT_MESSAGE_GEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2315]!, self._r[2315]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2314]!, self._r[2314]!, [_1, _2]) } - public var ContactList_Context_StartSecretChat: String { return self._s[2316]! } - public var VoiceOver_Chat_File: String { return self._s[2317]! } - public var ChatList_EditFolder: String { return self._s[2319]! } - public var Appearance_BubbleCorners_Title: String { return self._s[2320]! } - public var PeerInfo_PaneAudio: String { return self._s[2321]! } - public var ChatListFolder_CategoryContacts: String { return self._s[2323]! } - public var VoiceOver_ScheduledMessages: String { return self._s[2324]! } + public var ContactList_Context_StartSecretChat: String { return self._s[2315]! } + public var VoiceOver_Chat_File: String { return self._s[2316]! } + public var ChatList_EditFolder: String { return self._s[2318]! } + public var Appearance_BubbleCorners_Title: String { return self._s[2319]! } + public var PeerInfo_PaneAudio: String { return self._s[2320]! } + public var ChatListFolder_CategoryContacts: String { return self._s[2322]! } + public var VoiceOver_ScheduledMessages: String { return self._s[2323]! } public func Login_InvalidPhoneEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2325]!, self._r[2325]!, [_1, _2, _3, _4, _5]) + return formatWithArgumentRanges(self._s[2324]!, self._r[2324]!, [_1, _2, _3, _4, _5]) } - public var ChatList_PeerTypeChannel: String { return self._s[2326]! } - public var VoiceOver_Navigation_Search: String { return self._s[2327]! } - public var Settings_Search: String { return self._s[2328]! } - public var WallpaperSearch_ColorYellow: String { return self._s[2329]! } - public var Login_PhoneBannedError: String { return self._s[2330]! } - public var KeyCommand_JumpToNextChat: String { return self._s[2331]! } - public var Passport_Language_fa: String { return self._s[2332]! } - public var Settings_About: String { return self._s[2333]! } - public var AutoDownloadSettings_MaxFileSize: String { return self._s[2334]! } - public var Channel_AdminLog_InfoPanelChannelAlertText: String { return self._s[2335]! } - public var AutoDownloadSettings_DataUsageHigh: String { return self._s[2336]! } + public var ChatList_PeerTypeChannel: String { return self._s[2325]! } + public var VoiceOver_Navigation_Search: String { return self._s[2326]! } + public var Settings_Search: String { return self._s[2327]! } + public var WallpaperSearch_ColorYellow: String { return self._s[2328]! } + public var Login_PhoneBannedError: String { return self._s[2329]! } + public var KeyCommand_JumpToNextChat: String { return self._s[2330]! } + public var Passport_Language_fa: String { return self._s[2331]! } + public var Settings_About: String { return self._s[2332]! } + public var AutoDownloadSettings_MaxFileSize: String { return self._s[2333]! } + public var Channel_AdminLog_InfoPanelChannelAlertText: String { return self._s[2334]! } + public var AutoDownloadSettings_DataUsageHigh: String { return self._s[2335]! } public func PUSH_CHAT_MESSAGE_TEXT(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2337]!, self._r[2337]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2336]!, self._r[2336]!, [_1, _2, _3]) } - public var Common_OK: String { return self._s[2338]! } - public var Contacts_SortBy: String { return self._s[2339]! } - public var AutoNightTheme_PreferredTheme: String { return self._s[2340]! } + public var Common_OK: String { return self._s[2337]! } + public var Contacts_SortBy: String { return self._s[2338]! } + public var AutoNightTheme_PreferredTheme: String { return self._s[2339]! } public func AutoDownloadSettings_OnFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2342]!, self._r[2342]!, [_0]) + return formatWithArgumentRanges(self._s[2341]!, self._r[2341]!, [_0]) } - public var CallFeedback_IncludeLogs: String { return self._s[2345]! } + public var CallFeedback_IncludeLogs: String { return self._s[2344]! } public func External_OpenIn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2346]!, self._r[2346]!, [_0]) + return formatWithArgumentRanges(self._s[2345]!, self._r[2345]!, [_0]) } - public var Passcode_AppLockedAlert: String { return self._s[2348]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2349]! } - public var Channel_NotificationLoading: String { return self._s[2351]! } - public var Passport_Identity_DocumentNumber: String { return self._s[2352]! } - public var VoiceOver_Chat_PagePreview: String { return self._s[2353]! } - public var VoiceOver_Chat_OpenHint: String { return self._s[2354]! } - public var Weekday_ShortFriday: String { return self._s[2355]! } - public var Conversation_TitleMute: String { return self._s[2356]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2357]! } - public var ScheduledMessages_PollUnavailable: String { return self._s[2358]! } - public var DialogList_LanguageTooltip: String { return self._s[2360]! } - public var BroadcastGroups_IntroTitle: String { return self._s[2361]! } - public var Channel_AdminLogFilter_EventsPinned: String { return self._s[2362]! } + public var Passcode_AppLockedAlert: String { return self._s[2347]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2348]! } + public var Channel_NotificationLoading: String { return self._s[2350]! } + public var Passport_Identity_DocumentNumber: String { return self._s[2351]! } + public var VoiceOver_Chat_PagePreview: String { return self._s[2352]! } + public var VoiceOver_Chat_OpenHint: String { return self._s[2353]! } + public var Weekday_ShortFriday: String { return self._s[2354]! } + public var Conversation_TitleMute: String { return self._s[2355]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2356]! } + public var ScheduledMessages_PollUnavailable: String { return self._s[2357]! } + public var DialogList_LanguageTooltip: String { return self._s[2359]! } + public var BroadcastGroups_IntroTitle: String { return self._s[2360]! } + public var Channel_AdminLogFilter_EventsPinned: String { return self._s[2361]! } public func DialogList_SingleUploadingVideoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2363]!, self._r[2363]!, [_0]) + return formatWithArgumentRanges(self._s[2362]!, self._r[2362]!, [_0]) } - public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[2365]! } - public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[2366]! } - public var Settings_EditVideo: String { return self._s[2367]! } - public var VoiceOver_Common_Off: String { return self._s[2368]! } - public var Stickers_FrequentlyUsed: String { return self._s[2369]! } - public var GroupPermission_Title: String { return self._s[2370]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[2371]! } - public var Appearance_ThemeCarouselDay: String { return self._s[2372]! } + public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[2364]! } + public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[2365]! } + public var Settings_EditVideo: String { return self._s[2366]! } + public var VoiceOver_Common_Off: String { return self._s[2367]! } + public var Stickers_FrequentlyUsed: String { return self._s[2368]! } + public var GroupPermission_Title: String { return self._s[2369]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[2370]! } + public var Appearance_ThemeCarouselDay: String { return self._s[2371]! } public func PUSH_CHAT_MESSAGE_AUDIO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2373]!, self._r[2373]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2372]!, self._r[2372]!, [_1, _2]) } - public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2374]! } - public var Tour_Title6: String { return self._s[2375]! } - public var EmptyGroupInfo_Title: String { return self._s[2376]! } + public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2373]! } + public var Tour_Title6: String { return self._s[2374]! } + public var EmptyGroupInfo_Title: String { return self._s[2375]! } public func Channel_AdminLog_MessageToggleSignaturesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2377]!, self._r[2377]!, [_0]) + return formatWithArgumentRanges(self._s[2376]!, self._r[2376]!, [_0]) } - public var Passport_Language_sk: String { return self._s[2378]! } - public var VoiceOver_Chat_YourAnonymousPoll: String { return self._s[2379]! } - public var Preview_SaveToCameraRoll: String { return self._s[2380]! } + public var Passport_Language_sk: String { return self._s[2377]! } + public var VoiceOver_Chat_YourAnonymousPoll: String { return self._s[2378]! } + public var Preview_SaveToCameraRoll: String { return self._s[2379]! } public func VoiceChat_YouCanNowSpeakIn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2381]!, self._r[2381]!, [_0]) + return formatWithArgumentRanges(self._s[2380]!, self._r[2380]!, [_0]) } - public var LogoutOptions_SetPasscodeTitle: String { return self._s[2382]! } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2383]! } - public var Conversation_ContextMenuMore: String { return self._s[2384]! } - public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[2385]! } - public var Channel_AdminLog_CanBeAnonymous: String { return self._s[2386]! } - public var CallFeedback_ReasonSilentLocal: String { return self._s[2388]! } + public var LogoutOptions_SetPasscodeTitle: String { return self._s[2381]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2382]! } + public var Conversation_ContextMenuMore: String { return self._s[2383]! } + public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[2384]! } + public var Channel_AdminLog_CanBeAnonymous: String { return self._s[2385]! } + public var CallFeedback_ReasonSilentLocal: String { return self._s[2387]! } public func Channel_AdminLog_UnmutedMutedParticipant(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2389]!, self._r[2389]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2388]!, self._r[2388]!, [_1, _2]) } - public var UserInfo_NotificationsDisable: String { return self._s[2390]! } + public var UserInfo_NotificationsDisable: String { return self._s[2389]! } public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2392]!, self._r[2392]!, [_0]) + return formatWithArgumentRanges(self._s[2391]!, self._r[2391]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_Bio: String { return self._s[2393]! } + public var SettingsSearch_Synonyms_EditProfile_Bio: String { return self._s[2392]! } public func Date_ChatDateHeader(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2395]!, self._r[2395]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2394]!, self._r[2394]!, [_1, _2]) } - public var WallpaperSearch_ColorPrefix: String { return self._s[2396]! } + public var WallpaperSearch_ColorPrefix: String { return self._s[2395]! } public func Message_ForwardedPsa_covid(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2397]!, self._r[2397]!, [_0]) + return formatWithArgumentRanges(self._s[2396]!, self._r[2396]!, [_0]) } - public var Conversation_RestrictedMedia: String { return self._s[2399]! } - public var Group_MessageVideoUpdated: String { return self._s[2400]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2401]! } - public var GroupInfo_DeleteAndExit: String { return self._s[2402]! } - public var TwoFactorSetup_Email_Action: String { return self._s[2403]! } - public var Media_ShareThisVideo: String { return self._s[2405]! } - public var DialogList_Replies: String { return self._s[2407]! } + public var Conversation_RestrictedMedia: String { return self._s[2398]! } + public var Group_MessageVideoUpdated: String { return self._s[2399]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2400]! } + public var GroupInfo_DeleteAndExit: String { return self._s[2401]! } + public var TwoFactorSetup_Email_Action: String { return self._s[2402]! } + public var Media_ShareThisVideo: String { return self._s[2404]! } + public var DialogList_Replies: String { return self._s[2406]! } public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2408]!, self._r[2408]!, [_0]) + return formatWithArgumentRanges(self._s[2407]!, self._r[2407]!, [_0]) } - public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2409]! } - public var Watch_Suggestion_OnMyWay: String { return self._s[2410]! } - public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2411]! } + public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2408]! } + public var Watch_Suggestion_OnMyWay: String { return self._s[2409]! } + public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2410]! } public func PUSH_PINNED_POLL(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2412]!, self._r[2412]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2411]!, self._r[2411]!, [_1, _2]) } public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2413]!, self._r[2413]!, [_0]) + return formatWithArgumentRanges(self._s[2412]!, self._r[2412]!, [_0]) } - public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[2414]! } - public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2415]! } - public var ChatList_Search_NoResultsFitlerMedia: String { return self._s[2416]! } - public var Channel_Members_InviteLink: String { return self._s[2417]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[2418]! } - public var WatchRemote_AlertText: String { return self._s[2419]! } + public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[2413]! } + public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2414]! } + public var ChatList_Search_NoResultsFitlerMedia: String { return self._s[2415]! } + public var Channel_Members_InviteLink: String { return self._s[2416]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[2417]! } + public var WatchRemote_AlertText: String { return self._s[2418]! } public func Channel_DiscussionGroup_PrivateChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2420]!, self._r[2420]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2419]!, self._r[2419]!, [_1, _2]) } - public var Conversation_Pin: String { return self._s[2421]! } - public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[2422]! } - public var Stickers_RemoveFromFavorites: String { return self._s[2423]! } - public var Conversation_CancelForwardTitle: String { return self._s[2424]! } + public var Conversation_Pin: String { return self._s[2420]! } + public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[2421]! } + public var Stickers_RemoveFromFavorites: String { return self._s[2422]! } + public var Conversation_CancelForwardTitle: String { return self._s[2423]! } public func Notification_PinnedPollMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2425]!, self._r[2425]!, [_0]) + return formatWithArgumentRanges(self._s[2424]!, self._r[2424]!, [_0]) } - public var Appearance_AppIconFilled: String { return self._s[2426]! } - public var StickerPack_ErrorNotFound: String { return self._s[2427]! } + public var Appearance_AppIconFilled: String { return self._s[2425]! } + public var StickerPack_ErrorNotFound: String { return self._s[2426]! } public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2428]!, self._r[2428]!, [_1]) + return formatWithArgumentRanges(self._s[2427]!, self._r[2427]!, [_1]) } - public var Passport_Identity_AddIdentityCard: String { return self._s[2429]! } + public var Passport_Identity_AddIdentityCard: String { return self._s[2428]! } public func PUSH_CHANNEL_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2431]!, self._r[2431]!, [_1]) + return formatWithArgumentRanges(self._s[2430]!, self._r[2430]!, [_1]) } - public var Call_Camera: String { return self._s[2432]! } - public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2433]! } - public var Group_Location_Info: String { return self._s[2434]! } - public var Watch_LastSeen_WithinAMonth: String { return self._s[2435]! } - public var UserInfo_NotificationsDefaultEnabled: String { return self._s[2436]! } + public var Call_Camera: String { return self._s[2431]! } + public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2432]! } + public var Group_Location_Info: String { return self._s[2433]! } + public var Watch_LastSeen_WithinAMonth: String { return self._s[2434]! } + public var UserInfo_NotificationsDefaultEnabled: String { return self._s[2435]! } public func DialogList_PinLimitError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2437]!, self._r[2437]!, [_0]) + return formatWithArgumentRanges(self._s[2436]!, self._r[2436]!, [_0]) } - public var Weekday_Yesterday: String { return self._s[2438]! } - public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[2439]! } - public var InviteLink_Create_UsersLimit: String { return self._s[2440]! } + public var Weekday_Yesterday: String { return self._s[2437]! } + public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[2438]! } + public var InviteLink_Create_UsersLimit: String { return self._s[2439]! } public func Notification_VoiceChatScheduledTodayChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2441]!, self._r[2441]!, [_0]) + return formatWithArgumentRanges(self._s[2440]!, self._r[2440]!, [_0]) } - public var ArchivedPacksAlert_Title: String { return self._s[2442]! } - public var PeerInfo_PaneMembers: String { return self._s[2443]! } - public var PhotoEditor_SelectCoverFrame: String { return self._s[2444]! } + public var ArchivedPacksAlert_Title: String { return self._s[2441]! } + public var PeerInfo_PaneMembers: String { return self._s[2442]! } + public var PhotoEditor_SelectCoverFrame: String { return self._s[2443]! } public func Location_ProximityAlertSetTextGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2445]!, self._r[2445]!, [_0]) + return formatWithArgumentRanges(self._s[2444]!, self._r[2444]!, [_0]) } - public var ContactInfo_PhoneLabelMain: String { return self._s[2446]! } + public var ContactInfo_PhoneLabelMain: String { return self._s[2445]! } public func Time_PreciseDate_m7(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2447]!, self._r[2447]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2446]!, self._r[2446]!, [_1, _2, _3]) } - public var TwoFactorSetup_EmailVerification_ChangeAction: String { return self._s[2448]! } - public var Channel_DiscussionGroup: String { return self._s[2449]! } - public var EditTheme_Edit_Preview_IncomingReplyName: String { return self._s[2450]! } - public var InviteLink_Create_TimeLimit: String { return self._s[2452]! } - public var Channel_EditAdmin_PermissionsHeader: String { return self._s[2453]! } - public var VoiceOver_MessageContextForward: String { return self._s[2454]! } - public var SocksProxySetup_TypeNone: String { return self._s[2455]! } - public var CreatePoll_MultipleChoiceQuizAlert: String { return self._s[2457]! } - public var ProfilePhoto_OpenInEditor: String { return self._s[2459]! } - public var WallpaperSearch_ColorPurple: String { return self._s[2460]! } - public var ChatListFolder_IncludeChatsTitle: String { return self._s[2461]! } - public var Group_Username_InvalidTooShort: String { return self._s[2462]! } - public var Location_ProximityNotification_DistanceM: String { return self._s[2463]! } - public var VoiceChat_EditTitleText: String { return self._s[2464]! } + public var TwoFactorSetup_EmailVerification_ChangeAction: String { return self._s[2447]! } + public var Channel_DiscussionGroup: String { return self._s[2448]! } + public var EditTheme_Edit_Preview_IncomingReplyName: String { return self._s[2449]! } + public var InviteLink_Create_TimeLimit: String { return self._s[2451]! } + public var Channel_EditAdmin_PermissionsHeader: String { return self._s[2452]! } + public var VoiceOver_MessageContextForward: String { return self._s[2453]! } + public var SocksProxySetup_TypeNone: String { return self._s[2454]! } + public var CreatePoll_MultipleChoiceQuizAlert: String { return self._s[2456]! } + public var ProfilePhoto_OpenInEditor: String { return self._s[2458]! } + public var WallpaperSearch_ColorPurple: String { return self._s[2459]! } + public var ChatListFolder_IncludeChatsTitle: String { return self._s[2460]! } + public var Group_Username_InvalidTooShort: String { return self._s[2461]! } + public var Location_ProximityNotification_DistanceM: String { return self._s[2462]! } + public var VoiceChat_EditTitleText: String { return self._s[2463]! } public func Login_EmailPhoneBody(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2465]!, self._r[2465]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[2464]!, self._r[2464]!, [_0, _1, _2]) } - public var Passport_Language_tk: String { return self._s[2466]! } - public var ConvertToSupergroup_Title: String { return self._s[2467]! } - public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[2468]! } - public var Cache_KeepMediaHelp: String { return self._s[2469]! } - public var Channel_Management_Title: String { return self._s[2470]! } + public var Passport_Language_tk: String { return self._s[2465]! } + public var ConvertToSupergroup_Title: String { return self._s[2466]! } + public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[2467]! } + public var Cache_KeepMediaHelp: String { return self._s[2468]! } + public var Channel_Management_Title: String { return self._s[2469]! } public func PUSH_MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2471]!, self._r[2471]!, [_1]) + return formatWithArgumentRanges(self._s[2470]!, self._r[2470]!, [_1]) } - public var Conversation_ForwardChats: String { return self._s[2472]! } - public var Passport_Language_bg: String { return self._s[2473]! } - public var SocksProxySetup_TypeSocks: String { return self._s[2474]! } - public var Permissions_PrivacyPolicy: String { return self._s[2475]! } - public var VoiceOver_Chat_YourMusic: String { return self._s[2476]! } - public var SettingsSearch_Synonyms_Notifications_ResetAllNotifications: String { return self._s[2477]! } - public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2478]! } - public var Conversation_ContextMenuOpenChannel: String { return self._s[2479]! } - public var Report_AdditionalDetailsPlaceholder: String { return self._s[2480]! } - public var Activity_UploadingVideo: String { return self._s[2481]! } - public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[2483]! } - public var Widget_LongTapToEdit: String { return self._s[2484]! } - public var VoiceChat_InviteLink_Listener: String { return self._s[2486]! } - public var SocksProxySetup_Credentials: String { return self._s[2487]! } - public var Preview_SaveGif: String { return self._s[2488]! } - public var Cache_Photos: String { return self._s[2489]! } - public var Channel_AdminLogFilter_EventsCalls: String { return self._s[2490]! } - public var Conversation_ContextMenuCancelEditing: String { return self._s[2491]! } - public var Contacts_FailedToSendInvitesMessage: String { return self._s[2492]! } + public var Conversation_ForwardChats: String { return self._s[2471]! } + public var Passport_Language_bg: String { return self._s[2472]! } + public var SocksProxySetup_TypeSocks: String { return self._s[2473]! } + public var Permissions_PrivacyPolicy: String { return self._s[2474]! } + public var VoiceOver_Chat_YourMusic: String { return self._s[2475]! } + public var SettingsSearch_Synonyms_Notifications_ResetAllNotifications: String { return self._s[2476]! } + public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2477]! } + public var Conversation_ContextMenuOpenChannel: String { return self._s[2478]! } + public var Report_AdditionalDetailsPlaceholder: String { return self._s[2479]! } + public var Activity_UploadingVideo: String { return self._s[2480]! } + public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[2482]! } + public var Widget_LongTapToEdit: String { return self._s[2483]! } + public var VoiceChat_InviteLink_Listener: String { return self._s[2485]! } + public var SocksProxySetup_Credentials: String { return self._s[2486]! } + public var Preview_SaveGif: String { return self._s[2487]! } + public var Cache_Photos: String { return self._s[2488]! } + public var Channel_AdminLogFilter_EventsCalls: String { return self._s[2489]! } + public var Conversation_ContextMenuCancelEditing: String { return self._s[2490]! } + public var Contacts_FailedToSendInvitesMessage: String { return self._s[2491]! } public func VoiceChat_RemoveAndBanPeerConfirmation(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2493]!, self._r[2493]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2492]!, self._r[2492]!, [_1, _2]) } - public var Passport_Language_lt: String { return self._s[2494]! } - public var Passport_DeleteDocument: String { return self._s[2496]! } - public var GroupInfo_SetGroupPhotoStop: String { return self._s[2497]! } + public var Passport_Language_lt: String { return self._s[2493]! } + public var Passport_DeleteDocument: String { return self._s[2495]! } + public var GroupInfo_SetGroupPhotoStop: String { return self._s[2496]! } public func Location_ProximityNotification_NotifyLong(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2498]!, self._r[2498]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2497]!, self._r[2497]!, [_1, _2]) } - public var AccessDenied_VideoMessageMicrophone: String { return self._s[2499]! } + public var AccessDenied_VideoMessageMicrophone: String { return self._s[2498]! } public func PeopleNearby_VisibleUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2500]!, self._r[2500]!, [_0]) + return formatWithArgumentRanges(self._s[2499]!, self._r[2499]!, [_0]) } - public var AccessDenied_VideoCallCamera: String { return self._s[2501]! } + public var AccessDenied_VideoCallCamera: String { return self._s[2500]! } public func Channel_AdminLog_MessageDeleted(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2502]!, self._r[2502]!, [_0]) + return formatWithArgumentRanges(self._s[2501]!, self._r[2501]!, [_0]) } - public var PhotoEditor_SharpenTool: String { return self._s[2503]! } + public var PhotoEditor_SharpenTool: String { return self._s[2502]! } public func PUSH_CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2504]!, self._r[2504]!, [_1]) + return formatWithArgumentRanges(self._s[2503]!, self._r[2503]!, [_1]) } - public var DialogList_Unpin: String { return self._s[2505]! } - public var Stickers_NoStickersFound: String { return self._s[2506]! } - public var UserInfo_AddContact: String { return self._s[2508]! } + public var DialogList_Unpin: String { return self._s[2504]! } + public var Stickers_NoStickersFound: String { return self._s[2505]! } + public var UserInfo_AddContact: String { return self._s[2507]! } public func AddContact_SharedContactExceptionInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2510]!, self._r[2510]!, [_0]) + return formatWithArgumentRanges(self._s[2509]!, self._r[2509]!, [_0]) } public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2511]!, self._r[2511]!, [_0]) + return formatWithArgumentRanges(self._s[2510]!, self._r[2510]!, [_0]) } - public var CallFeedback_VideoReasonDistorted: String { return self._s[2512]! } - public var Tour_Text2: String { return self._s[2513]! } + public var CallFeedback_VideoReasonDistorted: String { return self._s[2511]! } + public var Tour_Text2: String { return self._s[2512]! } public func Conversation_TitleCommentsFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2515]!, self._r[2515]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2514]!, self._r[2514]!, [_1, _2]) } - public var InviteLink_DeleteAllRevokedLinksAlert_Text: String { return self._s[2517]! } - public var Paint_Delete: String { return self._s[2518]! } + public var InviteLink_DeleteAllRevokedLinksAlert_Text: String { return self._s[2516]! } + public var Paint_Delete: String { return self._s[2517]! } public func Call_VoiceChatInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2519]!, self._r[2519]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2518]!, self._r[2518]!, [_1, _2]) } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2520]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2519]! } public func PrivacySettings_LastSeenEverybodyMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2522]!, self._r[2522]!, [_0]) + return formatWithArgumentRanges(self._s[2521]!, self._r[2521]!, [_0]) } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[2523]! } - public var Notification_CallOutgoingShort: String { return self._s[2524]! } - public var Checkout_PasswordEntry_Title: String { return self._s[2525]! } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[2526]! } - public var Notification_MessageLifetime1m: String { return self._s[2527]! } - public var BlockedUsers_AddNew: String { return self._s[2529]! } - public var FastTwoStepSetup_EmailSection: String { return self._s[2530]! } - public var Settings_SaveEditedPhotos: String { return self._s[2531]! } - public var GroupInfo_GroupNamePlaceholder: String { return self._s[2532]! } - public var Channel_AboutItem: String { return self._s[2533]! } - public var GroupInfo_InviteLink_RevokeLink: String { return self._s[2534]! } - public var Privacy_Calls_P2PNever: String { return self._s[2536]! } - public var Passport_Language_uk: String { return self._s[2537]! } - public var NetworkUsageSettings_Wifi: String { return self._s[2538]! } - public var Conversation_Moderate_Report: String { return self._s[2539]! } - public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2540]! } - public var VoiceOver_Chat_SeenByRecipients: String { return self._s[2541]! } - public var Permissions_SiriText_v0: String { return self._s[2542]! } - public var Theme_Colors_Background: String { return self._s[2543]! } - public var Notification_CallMissed: String { return self._s[2544]! } - public var Stats_ZoomOut: String { return self._s[2545]! } - public var Profile_AddToExisting: String { return self._s[2546]! } - public var Passport_FieldAddressUploadHelp: String { return self._s[2549]! } - public var VoiceChat_RemovePeerRemove: String { return self._s[2550]! } - public var Undo_DeletedChannel: String { return self._s[2551]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[2522]! } + public var Notification_CallOutgoingShort: String { return self._s[2523]! } + public var Checkout_PasswordEntry_Title: String { return self._s[2524]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[2525]! } + public var Notification_MessageLifetime1m: String { return self._s[2526]! } + public var BlockedUsers_AddNew: String { return self._s[2528]! } + public var FastTwoStepSetup_EmailSection: String { return self._s[2529]! } + public var Settings_SaveEditedPhotos: String { return self._s[2530]! } + public var GroupInfo_GroupNamePlaceholder: String { return self._s[2531]! } + public var Channel_AboutItem: String { return self._s[2532]! } + public var GroupInfo_InviteLink_RevokeLink: String { return self._s[2533]! } + public var Privacy_Calls_P2PNever: String { return self._s[2535]! } + public var Passport_Language_uk: String { return self._s[2536]! } + public var NetworkUsageSettings_Wifi: String { return self._s[2537]! } + public var Conversation_Moderate_Report: String { return self._s[2538]! } + public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2539]! } + public var VoiceOver_Chat_SeenByRecipients: String { return self._s[2540]! } + public var Permissions_SiriText_v0: String { return self._s[2541]! } + public var Theme_Colors_Background: String { return self._s[2542]! } + public var Notification_CallMissed: String { return self._s[2543]! } + public var Stats_ZoomOut: String { return self._s[2544]! } + public var Profile_AddToExisting: String { return self._s[2545]! } + public var Passport_FieldAddressUploadHelp: String { return self._s[2548]! } + public var VoiceChat_RemovePeerRemove: String { return self._s[2549]! } + public var Undo_DeletedChannel: String { return self._s[2550]! } public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2552]!, self._r[2552]!, [_0]) + return formatWithArgumentRanges(self._s[2551]!, self._r[2551]!, [_0]) } - public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2553]! } - public var Map_LiveLocationGroupDescription: String { return self._s[2554]! } - public var Passport_InfoFAQ_URL: String { return self._s[2555]! } - public var IntentsSettings_SuggestedChats: String { return self._s[2558]! } + public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2552]! } + public var Map_LiveLocationGroupDescription: String { return self._s[2553]! } + public var Passport_InfoFAQ_URL: String { return self._s[2554]! } + public var IntentsSettings_SuggestedChats: String { return self._s[2557]! } public func PUSH_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2559]!, self._r[2559]!, [_1]) + return formatWithArgumentRanges(self._s[2558]!, self._r[2558]!, [_1]) } - public var State_connecting: String { return self._s[2560]! } - public var Passport_Identity_Country: String { return self._s[2561]! } - public var Passport_PasswordDescription: String { return self._s[2562]! } - public var ChatList_PsaLabel_covid: String { return self._s[2563]! } + public var State_connecting: String { return self._s[2559]! } + public var Passport_Identity_Country: String { return self._s[2560]! } + public var Passport_PasswordDescription: String { return self._s[2561]! } + public var ChatList_PsaLabel_covid: String { return self._s[2562]! } public func PUSH_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2564]!, self._r[2564]!, [_1]) + return formatWithArgumentRanges(self._s[2563]!, self._r[2563]!, [_1]) } - public var Contacts_AddPeopleNearby: String { return self._s[2565]! } - public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[2566]! } - public var ClearCache_Description: String { return self._s[2567]! } - public var Localization_LanguageName: String { return self._s[2568]! } + public var Contacts_AddPeopleNearby: String { return self._s[2564]! } + public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[2565]! } + public var ClearCache_Description: String { return self._s[2566]! } + public var Localization_LanguageName: String { return self._s[2567]! } public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2569]!, self._r[2569]!, [_0]) + return formatWithArgumentRanges(self._s[2568]!, self._r[2568]!, [_0]) } - public var Conversation_AddMembers: String { return self._s[2570]! } - public var ChatList_TabIconFoldersTooltipEmptyFolders: String { return self._s[2571]! } - public var UserInfo_CreateNewContact: String { return self._s[2572]! } - public var Channel_Stickers_NotFound: String { return self._s[2574]! } - public var Message_FakeAccount: String { return self._s[2575]! } - public var Watch_Message_Poll: String { return self._s[2576]! } - public var Group_Members_Title: String { return self._s[2577]! } - public var Privacy_Forwards_WhoCanForward: String { return self._s[2578]! } + public var Conversation_AddMembers: String { return self._s[2569]! } + public var ChatList_TabIconFoldersTooltipEmptyFolders: String { return self._s[2570]! } + public var UserInfo_CreateNewContact: String { return self._s[2571]! } + public var Channel_Stickers_NotFound: String { return self._s[2573]! } + public var Message_FakeAccount: String { return self._s[2574]! } + public var Watch_Message_Poll: String { return self._s[2575]! } + public var Group_Members_Title: String { return self._s[2576]! } + public var Privacy_Forwards_WhoCanForward: String { return self._s[2577]! } public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2579]!, self._r[2579]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2578]!, self._r[2578]!, [_0, _1]) } - public var VoiceChat_CancelConfirmationText: String { return self._s[2580]! } - public var BroadcastGroups_Convert: String { return self._s[2581]! } - public var Login_InfoDeletePhoto: String { return self._s[2582]! } - public var Appearance_ThemePreview_ChatList_6_Name: String { return self._s[2583]! } - public var InstantPage_FeedbackButton: String { return self._s[2584]! } - public var Appearance_PreviewReplyText: String { return self._s[2585]! } - public var Passport_FieldPhoneHelp: String { return self._s[2586]! } - public var Group_ErrorAddTooMuchBots: String { return self._s[2587]! } - public var Media_SendingOptionsTooltip: String { return self._s[2588]! } - public var ScheduledMessages_ScheduledOnline: String { return self._s[2589]! } - public var Notifications_Badge: String { return self._s[2590]! } - public var VoiceOver_Chat_VideoMessage: String { return self._s[2591]! } - public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2592]! } + public var VoiceChat_CancelConfirmationText: String { return self._s[2579]! } + public var BroadcastGroups_Convert: String { return self._s[2580]! } + public var Login_InfoDeletePhoto: String { return self._s[2581]! } + public var Appearance_ThemePreview_ChatList_6_Name: String { return self._s[2582]! } + public var InstantPage_FeedbackButton: String { return self._s[2583]! } + public var Appearance_PreviewReplyText: String { return self._s[2584]! } + public var Passport_FieldPhoneHelp: String { return self._s[2585]! } + public var Group_ErrorAddTooMuchBots: String { return self._s[2586]! } + public var Media_SendingOptionsTooltip: String { return self._s[2587]! } + public var ScheduledMessages_ScheduledOnline: String { return self._s[2588]! } + public var Notifications_Badge: String { return self._s[2589]! } + public var VoiceOver_Chat_VideoMessage: String { return self._s[2590]! } + public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2591]! } public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2594]!, self._r[2594]!, [_0]) + return formatWithArgumentRanges(self._s[2593]!, self._r[2593]!, [_0]) } - public var Passport_InfoLearnMore: String { return self._s[2595]! } - public var EnterPasscode_EnterTitle: String { return self._s[2596]! } - public var Appearance_EditTheme: String { return self._s[2597]! } - public var EditTheme_Expand_BottomInfo: String { return self._s[2598]! } - public var Stats_FollowersTitle: String { return self._s[2599]! } - public var Passport_Identity_SurnamePlaceholder: String { return self._s[2600]! } - public var Channel_Subscribers_Title: String { return self._s[2601]! } - public var Group_ErrorSupergroupConversionNotPossible: String { return self._s[2602]! } - public var ChatImportActivity_ErrorGeneric: String { return self._s[2603]! } - public var EditTheme_ThemeTemplateAlertTitle: String { return self._s[2604]! } - public var EditTheme_Create_Preview_IncomingText: String { return self._s[2605]! } - public var Conversation_AddToReadingList: String { return self._s[2606]! } - public var VoiceChat_EditBioPlaceholder: String { return self._s[2607]! } + public var Passport_InfoLearnMore: String { return self._s[2594]! } + public var EnterPasscode_EnterTitle: String { return self._s[2595]! } + public var Appearance_EditTheme: String { return self._s[2596]! } + public var EditTheme_Expand_BottomInfo: String { return self._s[2597]! } + public var Stats_FollowersTitle: String { return self._s[2598]! } + public var Passport_Identity_SurnamePlaceholder: String { return self._s[2599]! } + public var Channel_Subscribers_Title: String { return self._s[2600]! } + public var Group_ErrorSupergroupConversionNotPossible: String { return self._s[2601]! } + public var ChatImportActivity_ErrorGeneric: String { return self._s[2602]! } + public var EditTheme_ThemeTemplateAlertTitle: String { return self._s[2603]! } + public var EditTheme_Create_Preview_IncomingText: String { return self._s[2604]! } + public var Conversation_AddToReadingList: String { return self._s[2605]! } + public var VoiceChat_EditBioPlaceholder: String { return self._s[2606]! } public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2608]!, self._r[2608]!, [_0]) + return formatWithArgumentRanges(self._s[2607]!, self._r[2607]!, [_0]) } - public var Group_AdminLog_EmptyText: String { return self._s[2609]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[2610]! } - public var Watch_Location_Current: String { return self._s[2611]! } - public var PrivacyPolicy_Title: String { return self._s[2612]! } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2619]! } - public var Channel_TypeSetup_Title: String { return self._s[2623]! } - public var Appearance_PreviewReplyAuthor: String { return self._s[2624]! } - public var Passport_Language_ja: String { return self._s[2625]! } - public var ReportPeer_ReasonSpam: String { return self._s[2626]! } - public var Widget_GalleryDescription: String { return self._s[2627]! } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[2628]! } - public var VoiceChat_ChangePhoto: String { return self._s[2630]! } - public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[2631]! } - public var Channel_AdminLog_ChangeInfo: String { return self._s[2632]! } - public var ChatListFolder_NameNonContacts: String { return self._s[2633]! } + public var Group_AdminLog_EmptyText: String { return self._s[2608]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[2609]! } + public var Watch_Location_Current: String { return self._s[2610]! } + public var PrivacyPolicy_Title: String { return self._s[2611]! } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2618]! } + public var Channel_TypeSetup_Title: String { return self._s[2622]! } + public var Appearance_PreviewReplyAuthor: String { return self._s[2623]! } + public var Passport_Language_ja: String { return self._s[2624]! } + public var ReportPeer_ReasonSpam: String { return self._s[2625]! } + public var Widget_GalleryDescription: String { return self._s[2626]! } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[2627]! } + public var VoiceChat_ChangePhoto: String { return self._s[2629]! } + public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[2630]! } + public var Channel_AdminLog_ChangeInfo: String { return self._s[2631]! } + public var ChatListFolder_NameNonContacts: String { return self._s[2632]! } public func InviteLink_ExpiresIn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2634]!, self._r[2634]!, [_0]) + return formatWithArgumentRanges(self._s[2633]!, self._r[2633]!, [_0]) } - public var Call_Audio: String { return self._s[2635]! } - public var PhotoEditor_CurvesGreen: String { return self._s[2636]! } - public var ChatList_Search_NoResultsFitlerFiles: String { return self._s[2637]! } - public var Settings_PrivacySettings: String { return self._s[2638]! } - public var InviteLink_UsageLimitReached: String { return self._s[2639]! } - public var Stats_Followers: String { return self._s[2640]! } - public var Notifications_AddExceptionTitle: String { return self._s[2641]! } - public var TwoFactorSetup_Password_Title: String { return self._s[2642]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2643]! } - public var OldChannels_NoticeText: String { return self._s[2644]! } - public var Conversation_SavedMessages: String { return self._s[2645]! } - public var Intents_ErrorLockedText: String { return self._s[2646]! } + public var Call_Audio: String { return self._s[2634]! } + public var PhotoEditor_CurvesGreen: String { return self._s[2635]! } + public var ChatList_Search_NoResultsFitlerFiles: String { return self._s[2636]! } + public var Settings_PrivacySettings: String { return self._s[2637]! } + public var InviteLink_UsageLimitReached: String { return self._s[2638]! } + public var Stats_Followers: String { return self._s[2639]! } + public var Notifications_AddExceptionTitle: String { return self._s[2640]! } + public var TwoFactorSetup_Password_Title: String { return self._s[2641]! } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2642]! } + public var OldChannels_NoticeText: String { return self._s[2643]! } + public var Conversation_SavedMessages: String { return self._s[2644]! } + public var Intents_ErrorLockedText: String { return self._s[2645]! } public func Conversation_PeerNearbyTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2648]!, self._r[2648]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2647]!, self._r[2647]!, [_1, _2]) } - public var Passport_Address_TypeResidentialAddress: String { return self._s[2649]! } - public var Appearance_ThemeNightBlue: String { return self._s[2650]! } - public var Notification_ChannelInviterSelf: String { return self._s[2651]! } - public var Conversation_ForwardTooltip_SavedMessages_Many: String { return self._s[2652]! } - public var InviteLink_Create_TimeLimitExpiryDateNever: String { return self._s[2654]! } - public var Watch_UserInfo_Service: String { return self._s[2655]! } - public var ChatList_Context_Back: String { return self._s[2656]! } - public var Passport_Email_Title: String { return self._s[2657]! } - public var Stats_GroupTopAdmin_Promote: String { return self._s[2658]! } + public var Passport_Address_TypeResidentialAddress: String { return self._s[2648]! } + public var Appearance_ThemeNightBlue: String { return self._s[2649]! } + public var Notification_ChannelInviterSelf: String { return self._s[2650]! } + public var Conversation_ForwardTooltip_SavedMessages_Many: String { return self._s[2651]! } + public var InviteLink_Create_TimeLimitExpiryDateNever: String { return self._s[2653]! } + public var Watch_UserInfo_Service: String { return self._s[2654]! } + public var ChatList_Context_Back: String { return self._s[2655]! } + public var Passport_Email_Title: String { return self._s[2656]! } + public var Stats_GroupTopAdmin_Promote: String { return self._s[2657]! } public func PUSH_PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2659]!, self._r[2659]!, [_1]) + return formatWithArgumentRanges(self._s[2658]!, self._r[2658]!, [_1]) } - public var Conversation_UnsupportedMedia: String { return self._s[2660]! } - public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2661]! } - public var Privacy_TopPeersHelp: String { return self._s[2663]! } - public var Privacy_Forwards_AlwaysLink: String { return self._s[2664]! } - public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2665]! } - public var Permissions_NotificationsTitle_v0: String { return self._s[2666]! } + public var Conversation_UnsupportedMedia: String { return self._s[2659]! } + public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2660]! } + public var Privacy_TopPeersHelp: String { return self._s[2662]! } + public var Privacy_Forwards_AlwaysLink: String { return self._s[2663]! } + public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2664]! } + public var Permissions_NotificationsTitle_v0: String { return self._s[2665]! } public func Location_ProximityNotification_AlreadyClose(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2667]!, self._r[2667]!, [_0]) + return formatWithArgumentRanges(self._s[2666]!, self._r[2666]!, [_0]) } - public var Notification_PassportValueProofOfAddress: String { return self._s[2668]! } - public var Map_Map: String { return self._s[2669]! } - public var WallpaperSearch_ColorBlue: String { return self._s[2670]! } - public var Privacy_Calls_CustomShareHelp: String { return self._s[2671]! } - public var PhotoEditor_BlurToolRadial: String { return self._s[2672]! } - public var ChatList_Search_FilterMusic: String { return self._s[2673]! } - public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[2674]! } - public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[2675]! } - public var Settings_LogoutConfirmationTitle: String { return self._s[2677]! } + public var Notification_PassportValueProofOfAddress: String { return self._s[2667]! } + public var Map_Map: String { return self._s[2668]! } + public var WallpaperSearch_ColorBlue: String { return self._s[2669]! } + public var Privacy_Calls_CustomShareHelp: String { return self._s[2670]! } + public var PhotoEditor_BlurToolRadial: String { return self._s[2671]! } + public var ChatList_Search_FilterMusic: String { return self._s[2672]! } + public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[2673]! } + public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[2674]! } + public var Settings_LogoutConfirmationTitle: String { return self._s[2676]! } public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2678]!, self._r[2678]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2677]!, self._r[2677]!, [_1, _2]) } public func Notification_ChangedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2679]!, self._r[2679]!, [_0]) + return formatWithArgumentRanges(self._s[2678]!, self._r[2678]!, [_0]) } - public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2680]! } - public var Group_Username_CreatePublicLinkHelp: String { return self._s[2681]! } - public var VoiceOver_ChatList_MessageEmpty: String { return self._s[2683]! } - public var GroupInfo_Location: String { return self._s[2684]! } - public var Passport_Language_ka: String { return self._s[2685]! } + public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2679]! } + public var Group_Username_CreatePublicLinkHelp: String { return self._s[2680]! } + public var VoiceOver_ChatList_MessageEmpty: String { return self._s[2682]! } + public var GroupInfo_Location: String { return self._s[2683]! } + public var Passport_Language_ka: String { return self._s[2684]! } public func TwoStepAuth_SetupPendingEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2686]!, self._r[2686]!, [_0]) + return formatWithArgumentRanges(self._s[2685]!, self._r[2685]!, [_0]) } - public var Conversation_ContextMenuOpenChannelProfile: String { return self._s[2687]! } - public var ChatImport_SelectionConfirmationAlertTitle: String { return self._s[2689]! } - public var ScheduledMessages_ClearAllConfirmation: String { return self._s[2691]! } - public var DialogList_SearchSectionRecent: String { return self._s[2692]! } - public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[2693]! } - public var Conversation_Timer_Send: String { return self._s[2694]! } + public var Conversation_ContextMenuOpenChannelProfile: String { return self._s[2686]! } + public var ChatImport_SelectionConfirmationAlertTitle: String { return self._s[2688]! } + public var ScheduledMessages_ClearAllConfirmation: String { return self._s[2690]! } + public var DialogList_SearchSectionRecent: String { return self._s[2691]! } + public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[2692]! } + public var Conversation_Timer_Send: String { return self._s[2693]! } public func VoiceOver_ScrollStatus(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2696]!, self._r[2696]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2695]!, self._r[2695]!, [_1, _2]) } - public var ChatState_Updating: String { return self._s[2697]! } - public var ChannelMembers_WhoCanAddMembers: String { return self._s[2698]! } - public var ChannelInfo_DeleteGroup: String { return self._s[2699]! } - public var TwoStepAuth_RecoveryFailed: String { return self._s[2700]! } - public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2701]! } - public var InviteLink_Create_TimeLimitExpiryTime: String { return self._s[2702]! } - public var ChannelInfo_InviteLink_RevokeAlert_Text: String { return self._s[2703]! } - public var ChatList_Search_NoResults: String { return self._s[2704]! } - public var ChatListFolderSettings_AddRecommended: String { return self._s[2706]! } - public var ChangePhoneNumberCode_Called: String { return self._s[2707]! } - public var PeerInfo_GroupAboutItem: String { return self._s[2708]! } - public var VoiceOver_SelfDestructTimerOff: String { return self._s[2710]! } + public var ChatState_Updating: String { return self._s[2696]! } + public var ChannelMembers_WhoCanAddMembers: String { return self._s[2697]! } + public var ChannelInfo_DeleteGroup: String { return self._s[2698]! } + public var TwoStepAuth_RecoveryFailed: String { return self._s[2699]! } + public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2700]! } + public var InviteLink_Create_TimeLimitExpiryTime: String { return self._s[2701]! } + public var ChannelInfo_InviteLink_RevokeAlert_Text: String { return self._s[2702]! } + public var ChatList_Search_NoResults: String { return self._s[2703]! } + public var ChatListFolderSettings_AddRecommended: String { return self._s[2705]! } + public var ChangePhoneNumberCode_Called: String { return self._s[2706]! } + public var PeerInfo_GroupAboutItem: String { return self._s[2707]! } + public var VoiceOver_SelfDestructTimerOff: String { return self._s[2709]! } public func Channel_AdminLog_DeletedInviteLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2711]!, self._r[2711]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2710]!, self._r[2710]!, [_1, _2]) } public func LiveLocationUpdated_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2712]!, self._r[2712]!, [_0]) + return formatWithArgumentRanges(self._s[2711]!, self._r[2711]!, [_0]) } - public var PrivacySettings_AuthSessions: String { return self._s[2713]! } - public var Passport_Address_Postcode: String { return self._s[2714]! } - public var VoiceOver_Chat_YourVideoMessage: String { return self._s[2715]! } + public var PrivacySettings_AuthSessions: String { return self._s[2712]! } + public var Passport_Address_Postcode: String { return self._s[2713]! } + public var VoiceOver_Chat_YourVideoMessage: String { return self._s[2714]! } public func VoiceChat_ForwardTooltip_ManyChats(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2716]!, self._r[2716]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2715]!, self._r[2715]!, [_0, _1]) } - public var Passport_Address_Street2Placeholder: String { return self._s[2717]! } - public var Group_Location_Title: String { return self._s[2718]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadReset: String { return self._s[2719]! } - public var PeopleNearby_UsersEmpty: String { return self._s[2720]! } - public var Conversation_ContextMenuSpeak: String { return self._s[2722]! } - public var SettingsSearch_Synonyms_Data_Title: String { return self._s[2723]! } + public var Passport_Address_Street2Placeholder: String { return self._s[2716]! } + public var Group_Location_Title: String { return self._s[2717]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadReset: String { return self._s[2718]! } + public var PeopleNearby_UsersEmpty: String { return self._s[2719]! } + public var Conversation_ContextMenuSpeak: String { return self._s[2721]! } + public var SettingsSearch_Synonyms_Data_Title: String { return self._s[2722]! } public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2725]!, self._r[2725]!, [_0]) + return formatWithArgumentRanges(self._s[2724]!, self._r[2724]!, [_0]) } - public var Proxy_TooltipUnavailable: String { return self._s[2726]! } - public var Map_Search: String { return self._s[2727]! } - public var VoiceChat_CancelConfirmationTitle: String { return self._s[2728]! } - public var AutoDownloadSettings_TypeContacts: String { return self._s[2729]! } - public var Conversation_SearchByName_Prefix: String { return self._s[2730]! } + public var Proxy_TooltipUnavailable: String { return self._s[2725]! } + public var Map_Search: String { return self._s[2726]! } + public var VoiceChat_CancelConfirmationTitle: String { return self._s[2727]! } + public var AutoDownloadSettings_TypeContacts: String { return self._s[2728]! } + public var Conversation_SearchByName_Prefix: String { return self._s[2729]! } public func Channel_AdminLog_MessageToggleSignaturesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2731]!, self._r[2731]!, [_0]) + return formatWithArgumentRanges(self._s[2730]!, self._r[2730]!, [_0]) } - public var TwoStepAuth_EmailAddSuccess: String { return self._s[2732]! } - public var ProfilePhoto_MainPhoto: String { return self._s[2733]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2734]! } - public var SharedMedia_EmptyMusicText: String { return self._s[2735]! } - public var ChatSettings_AutoDownloadPhotos: String { return self._s[2736]! } - public var NetworkUsageSettings_BytesReceived: String { return self._s[2737]! } - public var Channel_AdminLog_EmptyText: String { return self._s[2738]! } - public var Channel_BanUser_PermissionSendMessages: String { return self._s[2739]! } - public var Undo_ChatDeletedForBothSides: String { return self._s[2740]! } - public var Notifications_GroupNotifications: String { return self._s[2741]! } - public var AccessDenied_SaveMedia: String { return self._s[2742]! } - public var InviteLink_Create_Revoke: String { return self._s[2743]! } - public var GroupInfo_LabelOwner: String { return self._s[2744]! } - public var Passport_Language_id: String { return self._s[2746]! } - public var ChatSettings_AutoDownloadTitle: String { return self._s[2747]! } - public var Conversation_UnpinMessageAlert: String { return self._s[2748]! } + public var TwoStepAuth_EmailAddSuccess: String { return self._s[2731]! } + public var ProfilePhoto_MainPhoto: String { return self._s[2732]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2733]! } + public var SharedMedia_EmptyMusicText: String { return self._s[2734]! } + public var ChatSettings_AutoDownloadPhotos: String { return self._s[2735]! } + public var NetworkUsageSettings_BytesReceived: String { return self._s[2736]! } + public var Channel_AdminLog_EmptyText: String { return self._s[2737]! } + public var Channel_BanUser_PermissionSendMessages: String { return self._s[2738]! } + public var Undo_ChatDeletedForBothSides: String { return self._s[2739]! } + public var Notifications_GroupNotifications: String { return self._s[2740]! } + public var AccessDenied_SaveMedia: String { return self._s[2741]! } + public var InviteLink_Create_Revoke: String { return self._s[2742]! } + public var GroupInfo_LabelOwner: String { return self._s[2743]! } + public var Passport_Language_id: String { return self._s[2745]! } + public var ChatSettings_AutoDownloadTitle: String { return self._s[2746]! } + public var Conversation_UnpinMessageAlert: String { return self._s[2747]! } public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2749]!, self._r[2749]!, [_0]) + return formatWithArgumentRanges(self._s[2748]!, self._r[2748]!, [_0]) } public func Call_RemoteVideoPaused(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2750]!, self._r[2750]!, [_0]) + return formatWithArgumentRanges(self._s[2749]!, self._r[2749]!, [_0]) } - public var TwoFactorSetup_Done_Text: String { return self._s[2751]! } + public var TwoFactorSetup_Done_Text: String { return self._s[2750]! } public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2752]!, self._r[2752]!, [_0]) + return formatWithArgumentRanges(self._s[2751]!, self._r[2751]!, [_0]) } - public var NetworkUsageSettings_BytesSent: String { return self._s[2753]! } - public var Conversation_AudioRateTooltipNormal: String { return self._s[2754]! } - public var VoiceChat_EditDescriptionSuccess: String { return self._s[2755]! } - public var OwnershipTransfer_Transfer: String { return self._s[2756]! } + public var NetworkUsageSettings_BytesSent: String { return self._s[2752]! } + public var Conversation_AudioRateTooltipNormal: String { return self._s[2753]! } + public var VoiceChat_EditDescriptionSuccess: String { return self._s[2754]! } + public var OwnershipTransfer_Transfer: String { return self._s[2755]! } public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2757]!, self._r[2757]!, [_0]) + return formatWithArgumentRanges(self._s[2756]!, self._r[2756]!, [_0]) } - public var Passport_Language_pt: String { return self._s[2758]! } - public var PrivacySettings_WebSessions: String { return self._s[2759]! } - public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[2761]! } - public var TwoFactorSetup_Hint_Title: String { return self._s[2762]! } + public var Passport_Language_pt: String { return self._s[2757]! } + public var PrivacySettings_WebSessions: String { return self._s[2758]! } + public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[2760]! } + public var TwoFactorSetup_Hint_Title: String { return self._s[2761]! } public func Notification_Joined(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2763]!, self._r[2763]!, [_0]) + return formatWithArgumentRanges(self._s[2762]!, self._r[2762]!, [_0]) } - public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[2764]! } - public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2765]! } - public var AutoNightTheme_Scheduled: String { return self._s[2766]! } - public var CreatePoll_ExplanationHeader: String { return self._s[2767]! } - public var Calls_TabTitle: String { return self._s[2768]! } - public var VoiceChat_RecordingInProgress: String { return self._s[2769]! } - public var ChatList_UndoArchiveHiddenText: String { return self._s[2770]! } - public var Notification_VideoCallCanceled: String { return self._s[2771]! } - public var Login_CodeSentInternal: String { return self._s[2772]! } - public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[2773]! } - public var Call_RecordingDisabledMessage: String { return self._s[2775]! } + public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[2763]! } + public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2764]! } + public var AutoNightTheme_Scheduled: String { return self._s[2765]! } + public var CreatePoll_ExplanationHeader: String { return self._s[2766]! } + public var Calls_TabTitle: String { return self._s[2767]! } + public var VoiceChat_RecordingInProgress: String { return self._s[2768]! } + public var ChatList_UndoArchiveHiddenText: String { return self._s[2769]! } + public var Notification_VideoCallCanceled: String { return self._s[2770]! } + public var Login_CodeSentInternal: String { return self._s[2771]! } + public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[2772]! } + public var Call_RecordingDisabledMessage: String { return self._s[2774]! } public func VoiceChat_RemovedPeerText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2776]!, self._r[2776]!, [_0]) + return formatWithArgumentRanges(self._s[2775]!, self._r[2775]!, [_0]) } - public var Conversation_UsersTooMuchError: String { return self._s[2778]! } - public var AutoDownloadSettings_TypeChannels: String { return self._s[2779]! } - public var Channel_Info_Stickers: String { return self._s[2780]! } - public var Passport_DeleteAddressConfirmation: String { return self._s[2781]! } + public var Conversation_UsersTooMuchError: String { return self._s[2777]! } + public var AutoDownloadSettings_TypeChannels: String { return self._s[2778]! } + public var Channel_Info_Stickers: String { return self._s[2779]! } + public var Passport_DeleteAddressConfirmation: String { return self._s[2780]! } public func Conversation_PeerNearbyDistance(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2782]!, self._r[2782]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2781]!, self._r[2781]!, [_1, _2]) } - public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[2783]! } + public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[2782]! } public func Call_StatusOngoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2784]!, self._r[2784]!, [_0]) + return formatWithArgumentRanges(self._s[2783]!, self._r[2783]!, [_0]) } - public var Passport_DiscardMessageTitle: String { return self._s[2785]! } - public var Call_VoiceOver_VideoCallIncoming: String { return self._s[2786]! } - public var Localization_LanguageOther: String { return self._s[2787]! } - public var Conversation_EncryptionCanceled: String { return self._s[2788]! } - public var ChatSettings_AutomaticPhotoDownload: String { return self._s[2789]! } - public var ReportPeer_ReasonFake: String { return self._s[2791]! } + public var Passport_DiscardMessageTitle: String { return self._s[2784]! } + public var Call_VoiceOver_VideoCallIncoming: String { return self._s[2785]! } + public var Localization_LanguageOther: String { return self._s[2786]! } + public var Conversation_EncryptionCanceled: String { return self._s[2787]! } + public var ChatSettings_AutomaticPhotoDownload: String { return self._s[2788]! } + public var ReportPeer_ReasonFake: String { return self._s[2790]! } public func Notification_SecretChatMessageScreenshot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2792]!, self._r[2792]!, [_0]) + return formatWithArgumentRanges(self._s[2791]!, self._r[2791]!, [_0]) } - public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[2794]! } - public var SocksProxySetup_SavedProxies: String { return self._s[2795]! } - public var InviteLink_Create_UsersLimitNumberOfUsers: String { return self._s[2796]! } + public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[2793]! } + public var SocksProxySetup_SavedProxies: String { return self._s[2794]! } + public var InviteLink_Create_UsersLimitNumberOfUsers: String { return self._s[2795]! } public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2797]!, self._r[2797]!, [_1]) + return formatWithArgumentRanges(self._s[2796]!, self._r[2796]!, [_1]) } - public var Conversation_ScamWarning: String { return self._s[2799]! } - public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[2800]! } - public var LocalGroup_Title: String { return self._s[2801]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsAlert: String { return self._s[2803]! } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[2804]! } - public var VoiceChat_SelectAccount: String { return self._s[2805]! } - public var Login_PhoneFloodError: String { return self._s[2806]! } - public var Conversation_PinMessageAlert_PinAndNotifyMembers: String { return self._s[2807]! } - public var Username_InvalidTaken: String { return self._s[2809]! } - public var SocksProxySetup_AddProxy: String { return self._s[2811]! } - public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[2812]! } - public var MediaPicker_UngroupDescription: String { return self._s[2813]! } - public var Login_CodeExpired: String { return self._s[2814]! } - public var Localization_ChooseLanguage: String { return self._s[2815]! } - public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[2816]! } + public var Conversation_ScamWarning: String { return self._s[2798]! } + public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[2799]! } + public var LocalGroup_Title: String { return self._s[2800]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsAlert: String { return self._s[2802]! } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[2803]! } + public var VoiceChat_SelectAccount: String { return self._s[2804]! } + public var Login_PhoneFloodError: String { return self._s[2805]! } + public var Conversation_PinMessageAlert_PinAndNotifyMembers: String { return self._s[2806]! } + public var Username_InvalidTaken: String { return self._s[2808]! } + public var SocksProxySetup_AddProxy: String { return self._s[2810]! } + public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[2811]! } + public var MediaPicker_UngroupDescription: String { return self._s[2812]! } + public var Login_CodeExpired: String { return self._s[2813]! } + public var Localization_ChooseLanguage: String { return self._s[2814]! } + public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[2815]! } public func ChangePhone_ErrorOccupied(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2817]!, self._r[2817]!, [_0]) + return formatWithArgumentRanges(self._s[2816]!, self._r[2816]!, [_0]) } public func Channel_DiscussionGroup_HeaderSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2818]!, self._r[2818]!, [_0]) + return formatWithArgumentRanges(self._s[2817]!, self._r[2817]!, [_0]) } - public var ReportPeer_ReasonOther_Title: String { return self._s[2820]! } - public var Conversation_ScheduleMessage_Title: String { return self._s[2821]! } + public var ReportPeer_ReasonOther_Title: String { return self._s[2819]! } + public var Conversation_ScheduleMessage_Title: String { return self._s[2820]! } public func VoiceChat_UserInvited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2822]!, self._r[2822]!, [_0]) + return formatWithArgumentRanges(self._s[2821]!, self._r[2821]!, [_0]) } - public var PeerInfo_ButtonDiscuss: String { return self._s[2823]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[2824]! } - public var Call_StatusNoAnswer: String { return self._s[2825]! } - public var ScheduledMessages_DeleteMany: String { return self._s[2827]! } - public var Channel_DiscussionGroupInfo: String { return self._s[2828]! } - public var Conversation_UnarchiveDone: String { return self._s[2829]! } - public var LogoutOptions_AddAccountText: String { return self._s[2830]! } - public var Message_PinnedContactMessage: String { return self._s[2831]! } + public var PeerInfo_ButtonDiscuss: String { return self._s[2822]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[2823]! } + public var Call_StatusNoAnswer: String { return self._s[2824]! } + public var ScheduledMessages_DeleteMany: String { return self._s[2826]! } + public var Channel_DiscussionGroupInfo: String { return self._s[2827]! } + public var Conversation_UnarchiveDone: String { return self._s[2828]! } + public var LogoutOptions_AddAccountText: String { return self._s[2829]! } + public var Message_PinnedContactMessage: String { return self._s[2830]! } public func ChatList_DeleteAndLeaveGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2832]!, self._r[2832]!, [_0]) + return formatWithArgumentRanges(self._s[2831]!, self._r[2831]!, [_0]) } - public var VoiceChat_EditBioTitle: String { return self._s[2834]! } + public var VoiceChat_EditBioTitle: String { return self._s[2833]! } public func FileSize_GB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2835]!, self._r[2835]!, [_0]) + return formatWithArgumentRanges(self._s[2834]!, self._r[2834]!, [_0]) } - public var Stats_GroupLanguagesTitle: String { return self._s[2836]! } - public var Passport_FieldAddressHelp: String { return self._s[2837]! } + public var Stats_GroupLanguagesTitle: String { return self._s[2835]! } + public var Passport_FieldAddressHelp: String { return self._s[2836]! } public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2838]!, self._r[2838]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2837]!, self._r[2837]!, [_1, _2]) } - public var ChatSettings_OpenLinksIn: String { return self._s[2840]! } - public var TwoFactorSetup_Hint_SkipAction: String { return self._s[2841]! } - public var Message_Photo: String { return self._s[2842]! } - public var Media_LimitedAccessManage: String { return self._s[2844]! } - public var MediaPicker_AddCaption: String { return self._s[2845]! } - public var LogoutOptions_Title: String { return self._s[2846]! } + public var ChatSettings_OpenLinksIn: String { return self._s[2839]! } + public var TwoFactorSetup_Hint_SkipAction: String { return self._s[2840]! } + public var Message_Photo: String { return self._s[2841]! } + public var Media_LimitedAccessManage: String { return self._s[2843]! } + public var MediaPicker_AddCaption: String { return self._s[2844]! } + public var LogoutOptions_Title: String { return self._s[2845]! } public func PUSH_PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2847]!, self._r[2847]!, [_1]) + return formatWithArgumentRanges(self._s[2846]!, self._r[2846]!, [_1]) } - public var Conversation_StatusKickedFromGroup: String { return self._s[2848]! } - public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[2849]! } - public var ChatList_DeleteSavedMessagesConfirmationTitle: String { return self._s[2850]! } - public var Channel_AdminLogFilter_Title: String { return self._s[2851]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[2852]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[2853]! } - public var Notifications_MessageNotificationsExceptions: String { return self._s[2854]! } - public var ChannelIntro_Title: String { return self._s[2855]! } - public var Stats_Message_Views: String { return self._s[2856]! } - public var Stickers_Install: String { return self._s[2857]! } + public var Conversation_StatusKickedFromGroup: String { return self._s[2847]! } + public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[2848]! } + public var ChatList_DeleteSavedMessagesConfirmationTitle: String { return self._s[2849]! } + public var Channel_AdminLogFilter_Title: String { return self._s[2850]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[2851]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[2852]! } + public var Notifications_MessageNotificationsExceptions: String { return self._s[2853]! } + public var ChannelIntro_Title: String { return self._s[2854]! } + public var Stats_Message_Views: String { return self._s[2855]! } + public var Stickers_Install: String { return self._s[2856]! } public func VoiceOver_Chat_FileFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2858]!, self._r[2858]!, [_0]) + return formatWithArgumentRanges(self._s[2857]!, self._r[2857]!, [_0]) } - public var EditTheme_Create_Preview_IncomingReplyText: String { return self._s[2859]! } - public var Conversation_SwipeToReplyHintTitle: String { return self._s[2861]! } - public var Settings_Username: String { return self._s[2864]! } - public var FastTwoStepSetup_Title: String { return self._s[2865]! } - public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2866]! } - public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[2867]! } - public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2869]! } - public var CallFeedback_ReasonEcho: String { return self._s[2870]! } + public var EditTheme_Create_Preview_IncomingReplyText: String { return self._s[2858]! } + public var Conversation_SwipeToReplyHintTitle: String { return self._s[2860]! } + public var Settings_Username: String { return self._s[2863]! } + public var FastTwoStepSetup_Title: String { return self._s[2864]! } + public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2865]! } + public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[2866]! } + public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2868]! } + public var CallFeedback_ReasonEcho: String { return self._s[2869]! } public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2871]!, self._r[2871]!, [_0]) + return formatWithArgumentRanges(self._s[2870]!, self._r[2870]!, [_0]) } - public var Conversation_OpenBotLinkTitle: String { return self._s[2872]! } - public var SocksProxySetup_Title: String { return self._s[2873]! } - public var CallFeedback_Success: String { return self._s[2874]! } - public var WallpaperPreview_SwipeTopText: String { return self._s[2876]! } - public var InstantPage_AutoNightTheme: String { return self._s[2878]! } - public var Watch_Conversation_Reply: String { return self._s[2879]! } - public var VoiceChat_Share: String { return self._s[2881]! } - public var VoiceChat_AddPhoto: String { return self._s[2882]! } - public var Chat_PanelUnpinAllMessages: String { return self._s[2883]! } - public var WallpaperPreview_Pattern: String { return self._s[2884]! } - public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[2885]! } + public var Conversation_OpenBotLinkTitle: String { return self._s[2871]! } + public var SocksProxySetup_Title: String { return self._s[2872]! } + public var CallFeedback_Success: String { return self._s[2873]! } + public var WallpaperPreview_SwipeTopText: String { return self._s[2875]! } + public var InstantPage_AutoNightTheme: String { return self._s[2877]! } + public var Watch_Conversation_Reply: String { return self._s[2878]! } + public var VoiceChat_Share: String { return self._s[2880]! } + public var VoiceChat_AddPhoto: String { return self._s[2881]! } + public var Chat_PanelUnpinAllMessages: String { return self._s[2882]! } + public var WallpaperPreview_Pattern: String { return self._s[2883]! } + public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[2884]! } public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2886]!, self._r[2886]!, [_0]) + return formatWithArgumentRanges(self._s[2885]!, self._r[2885]!, [_0]) } - public var AutoDownloadSettings_TypeGroupChats: String { return self._s[2887]! } - public var VoiceOver_Chat_GroupInfo: String { return self._s[2888]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[2890]! } - public var Update_Title: String { return self._s[2891]! } - public var Conversation_ShareMyPhoneNumber: String { return self._s[2892]! } - public var WallpaperPreview_CropTopText: String { return self._s[2895]! } - public var Channel_EditMessageErrorGeneric: String { return self._s[2896]! } - public var AccessDenied_LocationAlwaysDenied: String { return self._s[2897]! } - public var ChatListFolder_DiscardCancel: String { return self._s[2898]! } - public var Message_PinnedPhotoMessage: String { return self._s[2899]! } - public var Appearance_ThemeDayClassic: String { return self._s[2900]! } - public var VoiceChat_ChangeName: String { return self._s[2901]! } - public var SocksProxySetup_ProxySocks5: String { return self._s[2903]! } - public var VoiceChat_DisplayAsInfo: String { return self._s[2905]! } - public var AccessDenied_Wallpapers: String { return self._s[2910]! } + public var AutoDownloadSettings_TypeGroupChats: String { return self._s[2886]! } + public var VoiceOver_Chat_GroupInfo: String { return self._s[2887]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[2889]! } + public var Update_Title: String { return self._s[2890]! } + public var Conversation_ShareMyPhoneNumber: String { return self._s[2891]! } + public var WallpaperPreview_CropTopText: String { return self._s[2894]! } + public var Channel_EditMessageErrorGeneric: String { return self._s[2895]! } + public var AccessDenied_LocationAlwaysDenied: String { return self._s[2896]! } + public var ChatListFolder_DiscardCancel: String { return self._s[2897]! } + public var Message_PinnedPhotoMessage: String { return self._s[2898]! } + public var Appearance_ThemeDayClassic: String { return self._s[2899]! } + public var VoiceChat_ChangeName: String { return self._s[2900]! } + public var SocksProxySetup_ProxySocks5: String { return self._s[2902]! } + public var VoiceChat_DisplayAsInfo: String { return self._s[2904]! } + public var AccessDenied_Wallpapers: String { return self._s[2909]! } public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2911]!, self._r[2911]!, [_0]) + return formatWithArgumentRanges(self._s[2910]!, self._r[2910]!, [_0]) } - public var Weekday_Sunday: String { return self._s[2912]! } - public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[2914]! } - public var PeopleNearby_MakeVisibleDescription: String { return self._s[2915]! } - public var AccessDenied_LocationDisabled: String { return self._s[2916]! } - public var Tour_Text3: String { return self._s[2917]! } - public var AuthSessions_AddDevice_ScanTitle: String { return self._s[2918]! } + public var Weekday_Sunday: String { return self._s[2911]! } + public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[2913]! } + public var PeopleNearby_MakeVisibleDescription: String { return self._s[2914]! } + public var AccessDenied_LocationDisabled: String { return self._s[2915]! } + public var Tour_Text3: String { return self._s[2916]! } + public var AuthSessions_AddDevice_ScanTitle: String { return self._s[2917]! } public func Time_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2919]!, self._r[2919]!, [_0]) + return formatWithArgumentRanges(self._s[2918]!, self._r[2918]!, [_0]) } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2920]! } - public var Conversation_ClearCache: String { return self._s[2921]! } - public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[2922]! } - public var ChatList_Tabs_AllChats: String { return self._s[2923]! } - public var DialogList_RecentTitlePeople: String { return self._s[2924]! } - public var Stickers_AddToFavorites: String { return self._s[2925]! } - public var ChatList_Context_RemoveFromFolder: String { return self._s[2926]! } - public var VoiceChat_CancelSpeakRequest: String { return self._s[2927]! } - public var Settings_RemoveVideo: String { return self._s[2928]! } - public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2929]! } - public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[2930]! } - public var VoiceOver_Chat_YourFile: String { return self._s[2931]! } - public var SettingsSearch_Synonyms_Privacy_Forwards: String { return self._s[2933]! } - public var Group_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[2934]! } - public var VoiceChat_TapToAddBio: String { return self._s[2935]! } - public var Channel_AdminLog_AddMembers: String { return self._s[2936]! } - public var Map_SendThisLocation: String { return self._s[2938]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[2940]! } - public var IntentsSettings_SuggestedChatsPrivateChats: String { return self._s[2941]! } - public var CloudStorage_Title: String { return self._s[2942]! } - public var TwoFactorSetup_Password_Action: String { return self._s[2943]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[2944]! } - public var Passport_Address_EditTemporaryRegistration: String { return self._s[2946]! } - public var Undo_LeftGroup: String { return self._s[2947]! } - public var Conversation_StopLiveLocation: String { return self._s[2948]! } - public var NotificationSettings_ShowNotificationsFromAccountsSection: String { return self._s[2949]! } - public var Message_PinnedInvoice: String { return self._s[2950]! } - public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[2951]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2919]! } + public var Conversation_ClearCache: String { return self._s[2920]! } + public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[2921]! } + public var ChatList_Tabs_AllChats: String { return self._s[2922]! } + public var DialogList_RecentTitlePeople: String { return self._s[2923]! } + public var Stickers_AddToFavorites: String { return self._s[2924]! } + public var ChatList_Context_RemoveFromFolder: String { return self._s[2925]! } + public var VoiceChat_CancelSpeakRequest: String { return self._s[2926]! } + public var Settings_RemoveVideo: String { return self._s[2927]! } + public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2928]! } + public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[2929]! } + public var VoiceOver_Chat_YourFile: String { return self._s[2930]! } + public var SettingsSearch_Synonyms_Privacy_Forwards: String { return self._s[2932]! } + public var Group_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[2933]! } + public var VoiceChat_TapToAddBio: String { return self._s[2934]! } + public var Channel_AdminLog_AddMembers: String { return self._s[2935]! } + public var Map_SendThisLocation: String { return self._s[2937]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[2939]! } + public var IntentsSettings_SuggestedChatsPrivateChats: String { return self._s[2940]! } + public var CloudStorage_Title: String { return self._s[2941]! } + public var TwoFactorSetup_Password_Action: String { return self._s[2942]! } + public var TwoStepAuth_ConfirmationText: String { return self._s[2943]! } + public var Passport_Address_EditTemporaryRegistration: String { return self._s[2945]! } + public var Undo_LeftGroup: String { return self._s[2946]! } + public var Conversation_StopLiveLocation: String { return self._s[2947]! } + public var NotificationSettings_ShowNotificationsFromAccountsSection: String { return self._s[2948]! } + public var Message_PinnedInvoice: String { return self._s[2949]! } + public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[2950]! } public func PUSH_CHAT_MESSAGE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2953]!, self._r[2953]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2952]!, self._r[2952]!, [_1, _2]) } public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2954]!, self._r[2954]!, [_0]) + return formatWithArgumentRanges(self._s[2953]!, self._r[2953]!, [_0]) } - public var Weekday_Tuesday: String { return self._s[2955]! } - public var ChangePhoneNumberCode_Code: String { return self._s[2956]! } - public var VoiceOver_Chat_YourMessage: String { return self._s[2957]! } - public var Calls_CallTabDescription: String { return self._s[2958]! } - public var ChatImport_SelectionErrorNotAdmin: String { return self._s[2959]! } - public var SocksProxySetup_UseProxy: String { return self._s[2961]! } - public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2962]! } - public var PasscodeSettings_AlphanumericCode: String { return self._s[2963]! } - public var VoiceOver_Chat_YourVideo: String { return self._s[2964]! } - public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[2966]! } - public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2967]! } - public var Exceptions_AddToExceptions: String { return self._s[2968]! } - public var UserInfo_Title: String { return self._s[2969]! } - public var Passport_DeleteDocumentConfirmation: String { return self._s[2971]! } - public var VoiceChat_EditDescription: String { return self._s[2973]! } - public var ChatList_Unmute: String { return self._s[2974]! } - public var SettingsSearch_Synonyms_Privacy_Data_ContactsSync: String { return self._s[2975]! } + public var Weekday_Tuesday: String { return self._s[2954]! } + public var ChangePhoneNumberCode_Code: String { return self._s[2955]! } + public var VoiceOver_Chat_YourMessage: String { return self._s[2956]! } + public var Calls_CallTabDescription: String { return self._s[2957]! } + public var ChatImport_SelectionErrorNotAdmin: String { return self._s[2958]! } + public var SocksProxySetup_UseProxy: String { return self._s[2960]! } + public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2961]! } + public var PasscodeSettings_AlphanumericCode: String { return self._s[2962]! } + public var VoiceOver_Chat_YourVideo: String { return self._s[2963]! } + public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[2965]! } + public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2966]! } + public var Exceptions_AddToExceptions: String { return self._s[2967]! } + public var UserInfo_Title: String { return self._s[2968]! } + public var Passport_DeleteDocumentConfirmation: String { return self._s[2970]! } + public var VoiceChat_EditDescription: String { return self._s[2972]! } + public var ChatList_Unmute: String { return self._s[2973]! } + public var SettingsSearch_Synonyms_Privacy_Data_ContactsSync: String { return self._s[2974]! } public func Channel_AdminLog_MessageChangedAutoremoveTimeoutSet(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2976]!, self._r[2976]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2975]!, self._r[2975]!, [_1, _2]) } - public var Stats_GroupTopPostersTitle: String { return self._s[2977]! } - public var Username_CheckingUsername: String { return self._s[2979]! } - public var WallpaperColors_SetCustomColor: String { return self._s[2980]! } - public var PeerSelection_ImportIntoNewGroup: String { return self._s[2984]! } - public var Location_ProximityAlertSetTitle: String { return self._s[2985]! } - public var AuthSessions_AddedDeviceTerminate: String { return self._s[2986]! } - public var Conversation_JoinVoiceChatAsSpeaker: String { return self._s[2987]! } - public var Privacy_ProfilePhoto_CustomHelp: String { return self._s[2988]! } - public var Settings_ChangePhoneNumber: String { return self._s[2989]! } - public var PeerInfo_PaneLinks: String { return self._s[2990]! } - public var Appearance_ThemePreview_ChatList_1_Text: String { return self._s[2993]! } - public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[2995]! } + public var Stats_GroupTopPostersTitle: String { return self._s[2976]! } + public var Username_CheckingUsername: String { return self._s[2978]! } + public var WallpaperColors_SetCustomColor: String { return self._s[2979]! } + public var PeerSelection_ImportIntoNewGroup: String { return self._s[2983]! } + public var Location_ProximityAlertSetTitle: String { return self._s[2984]! } + public var AuthSessions_AddedDeviceTerminate: String { return self._s[2985]! } + public var Conversation_JoinVoiceChatAsSpeaker: String { return self._s[2986]! } + public var Privacy_ProfilePhoto_CustomHelp: String { return self._s[2987]! } + public var Settings_ChangePhoneNumber: String { return self._s[2988]! } + public var PeerInfo_PaneLinks: String { return self._s[2989]! } + public var Appearance_ThemePreview_ChatList_1_Text: String { return self._s[2992]! } + public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[2994]! } public func PUSH_CHAT_VOICECHAT_INVITE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2996]!, self._r[2996]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2995]!, self._r[2995]!, [_1, _2]) } - public var LogoutOptions_ChangePhoneNumberText: String { return self._s[2997]! } - public var VoiceOver_Media_PlaybackPause: String { return self._s[2998]! } - public var VoiceChat_CancelConfirmationEnd: String { return self._s[2999]! } - public var BroadcastGroups_ConfirmationAlert_Title: String { return self._s[3000]! } - public var Stats_FollowersBySourceTitle: String { return self._s[3002]! } + public var LogoutOptions_ChangePhoneNumberText: String { return self._s[2996]! } + public var VoiceOver_Media_PlaybackPause: String { return self._s[2997]! } + public var VoiceChat_CancelConfirmationEnd: String { return self._s[2998]! } + public var BroadcastGroups_ConfirmationAlert_Title: String { return self._s[2999]! } + public var Stats_FollowersBySourceTitle: String { return self._s[3001]! } public func Conversation_ScheduleMessage_SendOn(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3003]!, self._r[3003]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3002]!, self._r[3002]!, [_0, _1]) } - public var Compose_NewEncryptedChatTitle: String { return self._s[3004]! } - public var Channel_CommentsGroup_Header: String { return self._s[3006]! } + public var Compose_NewEncryptedChatTitle: String { return self._s[3003]! } + public var Channel_CommentsGroup_Header: String { return self._s[3005]! } public func ShareFileTip_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3010]!, self._r[3010]!, [_0]) + return formatWithArgumentRanges(self._s[3009]!, self._r[3009]!, [_0]) } public func PUSH_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3011]!, self._r[3011]!, [_1]) + return formatWithArgumentRanges(self._s[3010]!, self._r[3010]!, [_1]) } - public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3013]! } + public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3012]! } public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3014]!, self._r[3014]!, [_0]) + return formatWithArgumentRanges(self._s[3013]!, self._r[3013]!, [_0]) } - public var Conversation_ReportMessages: String { return self._s[3015]! } - public var Conversation_OpenBotLinkOpen: String { return self._s[3016]! } - public var VoiceOver_Chat_RecordModeVoiceMessage: String { return self._s[3017]! } - public var PrivacySettings_LastSeen: String { return self._s[3019]! } - public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[3020]! } - public var Theme_Colors_Proceed: String { return self._s[3021]! } - public var UserInfo_ScamBotWarning: String { return self._s[3022]! } - public var LogoutOptions_LogOut: String { return self._s[3024]! } - public var Conversation_SendMessage: String { return self._s[3025]! } - public var Conversation_CancelForwardCancelForward: String { return self._s[3026]! } - public var VoiceChat_Scheduled: String { return self._s[3028]! } - public var Passport_Address_Region: String { return self._s[3029]! } - public var MediaPicker_CameraRoll: String { return self._s[3031]! } + public var Conversation_ReportMessages: String { return self._s[3014]! } + public var Conversation_OpenBotLinkOpen: String { return self._s[3015]! } + public var VoiceOver_Chat_RecordModeVoiceMessage: String { return self._s[3016]! } + public var PrivacySettings_LastSeen: String { return self._s[3018]! } + public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[3019]! } + public var Theme_Colors_Proceed: String { return self._s[3020]! } + public var UserInfo_ScamBotWarning: String { return self._s[3021]! } + public var LogoutOptions_LogOut: String { return self._s[3023]! } + public var Conversation_SendMessage: String { return self._s[3024]! } + public var Conversation_CancelForwardCancelForward: String { return self._s[3025]! } + public var VoiceChat_Scheduled: String { return self._s[3027]! } + public var Passport_Address_Region: String { return self._s[3028]! } + public var MediaPicker_CameraRoll: String { return self._s[3030]! } public func VoiceOver_Chat_ForwardedFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3033]!, self._r[3033]!, [_0]) + return formatWithArgumentRanges(self._s[3032]!, self._r[3032]!, [_0]) } - public var Call_ReportSend: String { return self._s[3035]! } - public var VoiceOver_ChatList_Message: String { return self._s[3036]! } - public var Month_ShortJune: String { return self._s[3037]! } - public var AutoDownloadSettings_GroupChats: String { return self._s[3038]! } + public var Call_ReportSend: String { return self._s[3034]! } + public var VoiceOver_ChatList_Message: String { return self._s[3035]! } + public var Month_ShortJune: String { return self._s[3036]! } + public var AutoDownloadSettings_GroupChats: String { return self._s[3037]! } public func Channel_AdminLog_CaptionEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3041]!, self._r[3041]!, [_0]) + return formatWithArgumentRanges(self._s[3040]!, self._r[3040]!, [_0]) } - public var TwoStepAuth_DisableSuccess: String { return self._s[3042]! } - public var Cache_KeepMedia: String { return self._s[3043]! } + public var TwoStepAuth_DisableSuccess: String { return self._s[3041]! } + public var Cache_KeepMedia: String { return self._s[3042]! } public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3044]!, self._r[3044]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3043]!, self._r[3043]!, [_1, _2, _3]) } - public var Appearance_LargeEmoji: String { return self._s[3045]! } + public var Appearance_LargeEmoji: String { return self._s[3044]! } public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3046]!, self._r[3046]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[3045]!, self._r[3045]!, [_1, _2, _3, _4, _5, _6]) } - public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[3047]! } - public var Privacy_PaymentsClear_PaymentInfoCleared: String { return self._s[3048]! } - public var Call_CameraConfirmationText: String { return self._s[3049]! } + public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[3046]! } + public var Privacy_PaymentsClear_PaymentInfoCleared: String { return self._s[3047]! } + public var Call_CameraConfirmationText: String { return self._s[3048]! } public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3051]!, self._r[3051]!, [_0]) + return formatWithArgumentRanges(self._s[3050]!, self._r[3050]!, [_0]) } - public var DialogList_SearchSectionChats: String { return self._s[3052]! } - public var VoiceOver_MessageContextReport: String { return self._s[3054]! } - public var VoiceChat_RemovePeer: String { return self._s[3055]! } - public var ChatListFolder_ExcludeChatsTitle: String { return self._s[3056]! } - public var InviteLink_ContextCopy: String { return self._s[3057]! } - public var NotificationsSound_Tritone: String { return self._s[3059]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[3062]! } - public var Stats_GroupTopAdmin_Actions: String { return self._s[3063]! } - public var PeerInfo_AddToContacts: String { return self._s[3064]! } - public var VoiceChat_OpenChat: String { return self._s[3065]! } - public var AccessDenied_Title: String { return self._s[3066]! } - public var InviteLink_QRCode_InfoChannel: String { return self._s[3067]! } - public var Tour_Title1: String { return self._s[3068]! } - public var VoiceOver_AttachMedia: String { return self._s[3069]! } + public var DialogList_SearchSectionChats: String { return self._s[3051]! } + public var VoiceOver_MessageContextReport: String { return self._s[3053]! } + public var VoiceChat_RemovePeer: String { return self._s[3054]! } + public var ChatListFolder_ExcludeChatsTitle: String { return self._s[3055]! } + public var InviteLink_ContextCopy: String { return self._s[3056]! } + public var NotificationsSound_Tritone: String { return self._s[3058]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[3061]! } + public var Stats_GroupTopAdmin_Actions: String { return self._s[3062]! } + public var PeerInfo_AddToContacts: String { return self._s[3063]! } + public var VoiceChat_OpenChat: String { return self._s[3064]! } + public var AccessDenied_Title: String { return self._s[3065]! } + public var InviteLink_QRCode_InfoChannel: String { return self._s[3066]! } + public var Tour_Title1: String { return self._s[3067]! } + public var VoiceOver_AttachMedia: String { return self._s[3068]! } public func SharedMedia_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3071]!, self._r[3071]!, [_0]) + return formatWithArgumentRanges(self._s[3070]!, self._r[3070]!, [_0]) } - public var Chat_Gifs_SavedSectionHeader: String { return self._s[3072]! } - public var Privacy_DeleteDrafts_DraftsDeleted: String { return self._s[3073]! } - public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[3074]! } + public var Chat_Gifs_SavedSectionHeader: String { return self._s[3071]! } + public var Privacy_DeleteDrafts_DraftsDeleted: String { return self._s[3072]! } + public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[3073]! } public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3075]!, self._r[3075]!, [_0]) + return formatWithArgumentRanges(self._s[3074]!, self._r[3074]!, [_0]) } - public var Channel_AdminLog_MessagePreviousLink: String { return self._s[3076]! } - public var OldChannels_Title: String { return self._s[3077]! } - public var LoginPassword_FloodError: String { return self._s[3078]! } - public var ChatImportActivity_InProgress: String { return self._s[3080]! } - public var Checkout_ErrorPaymentFailed: String { return self._s[3081]! } + public var Channel_AdminLog_MessagePreviousLink: String { return self._s[3075]! } + public var OldChannels_Title: String { return self._s[3076]! } + public var LoginPassword_FloodError: String { return self._s[3077]! } + public var ChatImportActivity_InProgress: String { return self._s[3079]! } + public var Checkout_ErrorPaymentFailed: String { return self._s[3080]! } public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3082]!, self._r[3082]!, [_0]) + return formatWithArgumentRanges(self._s[3081]!, self._r[3081]!, [_0]) } - public var VoiceOver_Media_PlaybackPlay: String { return self._s[3085]! } - public var Passport_CorrectErrors: String { return self._s[3087]! } + public var VoiceOver_Media_PlaybackPlay: String { return self._s[3084]! } + public var Passport_CorrectErrors: String { return self._s[3086]! } public func PUSH_CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3088]!, self._r[3088]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3087]!, self._r[3087]!, [_1, _2]) } - public var ChatListFolderSettings_Title: String { return self._s[3089]! } + public var ChatListFolderSettings_Title: String { return self._s[3088]! } public func AutoDownloadSettings_UpToFor(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3090]!, self._r[3090]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3089]!, self._r[3089]!, [_1, _2]) } - public var PhotoEditor_HighlightsTool: String { return self._s[3091]! } - public var Contacts_NotRegisteredSection: String { return self._s[3094]! } + public var PhotoEditor_HighlightsTool: String { return self._s[3090]! } + public var Contacts_NotRegisteredSection: String { return self._s[3093]! } public func Call_VoiceChatInProgressCallMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3095]!, self._r[3095]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3094]!, self._r[3094]!, [_1, _2]) } public func PUSH_PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3096]!, self._r[3096]!, [_1]) + return formatWithArgumentRanges(self._s[3095]!, self._r[3095]!, [_1]) } - public var InviteLink_Create_UsersLimitInfo: String { return self._s[3097]! } - public var User_DeletedAccount: String { return self._s[3098]! } - public var Conversation_ViewContactDetails: String { return self._s[3099]! } - public var Conversation_Dice_u1F3B3: String { return self._s[3100]! } - public var WebSearch_GIFs: String { return self._s[3101]! } - public var ChatList_DeleteSavedMessagesConfirmationAction: String { return self._s[3102]! } - public var Appearance_PreviewOutgoingText: String { return self._s[3103]! } - public var Calls_CallTabTitle: String { return self._s[3104]! } - public var Call_VoiceChatInProgressTitle: String { return self._s[3105]! } - public var Checkout_OptionalTipItem: String { return self._s[3106]! } + public var InviteLink_Create_UsersLimitInfo: String { return self._s[3096]! } + public var User_DeletedAccount: String { return self._s[3097]! } + public var Conversation_ViewContactDetails: String { return self._s[3098]! } + public var Conversation_Dice_u1F3B3: String { return self._s[3099]! } + public var WebSearch_GIFs: String { return self._s[3100]! } + public var ChatList_DeleteSavedMessagesConfirmationAction: String { return self._s[3101]! } + public var Appearance_PreviewOutgoingText: String { return self._s[3102]! } + public var Calls_CallTabTitle: String { return self._s[3103]! } + public var Call_VoiceChatInProgressTitle: String { return self._s[3104]! } + public var Checkout_OptionalTipItem: String { return self._s[3105]! } public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3107]!, self._r[3107]!, [_0]) + return formatWithArgumentRanges(self._s[3106]!, self._r[3106]!, [_0]) } - public var Channel_Status: String { return self._s[3108]! } - public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[3110]! } - public var VoiceOver_Chat_OptionSelected: String { return self._s[3111]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[3112]! } + public var Channel_Status: String { return self._s[3107]! } + public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[3109]! } + public var VoiceOver_Chat_OptionSelected: String { return self._s[3110]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[3111]! } public func ClearCache_Success(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3113]!, self._r[3113]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3112]!, self._r[3112]!, [_0, _1]) } - public var Passport_Identity_ExpiryDateNone: String { return self._s[3115]! } - public var Your_cards_expiration_month_is_invalid: String { return self._s[3117]! } - public var Month_ShortDecember: String { return self._s[3118]! } - public var Username_Help: String { return self._s[3119]! } - public var Login_InfoAvatarAdd: String { return self._s[3120]! } - public var Month_ShortMay: String { return self._s[3121]! } - public var DialogList_UnknownPinLimitError: String { return self._s[3122]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[3123]! } - public var TwoStepAuth_EnabledSuccess: String { return self._s[3124]! } - public var VoiceChat_AskedToSpeak: String { return self._s[3125]! } - public var Weekday_ShortSunday: String { return self._s[3126]! } - public var Channel_Username_InvalidTooShort: String { return self._s[3127]! } - public var AuthSessions_TerminateSession: String { return self._s[3128]! } - public var Passport_Identity_FilesTitle: String { return self._s[3129]! } + public var Passport_Identity_ExpiryDateNone: String { return self._s[3114]! } + public var Your_cards_expiration_month_is_invalid: String { return self._s[3116]! } + public var Month_ShortDecember: String { return self._s[3117]! } + public var Username_Help: String { return self._s[3118]! } + public var Login_InfoAvatarAdd: String { return self._s[3119]! } + public var Month_ShortMay: String { return self._s[3120]! } + public var DialogList_UnknownPinLimitError: String { return self._s[3121]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[3122]! } + public var TwoStepAuth_EnabledSuccess: String { return self._s[3123]! } + public var VoiceChat_AskedToSpeak: String { return self._s[3124]! } + public var Weekday_ShortSunday: String { return self._s[3125]! } + public var Channel_Username_InvalidTooShort: String { return self._s[3126]! } + public var AuthSessions_TerminateSession: String { return self._s[3127]! } + public var Passport_Identity_FilesTitle: String { return self._s[3128]! } public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3130]!, self._r[3130]!, [_0]) + return formatWithArgumentRanges(self._s[3129]!, self._r[3129]!, [_0]) } - public var PeopleNearby_MakeVisible: String { return self._s[3132]! } + public var PeopleNearby_MakeVisible: String { return self._s[3131]! } public func Conversation_RestrictedMediaTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3133]!, self._r[3133]!, [_0]) + return formatWithArgumentRanges(self._s[3132]!, self._r[3132]!, [_0]) } - public var Widget_UpdatedAt: String { return self._s[3134]! } + public var Widget_UpdatedAt: String { return self._s[3133]! } public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3135]!, self._r[3135]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3134]!, self._r[3134]!, [_1, _2]) } public func GroupInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3136]!, self._r[3136]!, [_0]) + return formatWithArgumentRanges(self._s[3135]!, self._r[3135]!, [_0]) } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[3137]! } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[3136]! } + public var VoiceChat_VideoPreviewShareScreen: String { return self._s[3137]! } public var Conversation_ContextMenuForward: String { return self._s[3139]! } public var Channel_AdminLog_CanManageCalls: String { return self._s[3140]! } public func PUSH_CHAT_MESSAGE_QUIZ(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { @@ -5492,747 +5492,747 @@ public final class PresentationStrings: Equatable { public func LOCAL_CHAT_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[4940]!, self._r[4940]!, [_1, "\(_2)"]) } + public var VoiceChat_VideoPreviewShareCamera: String { return self._s[4941]! } public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4941]!, self._r[4941]!, [_0, _1]) + return formatWithArgumentRanges(self._s[4942]!, self._r[4942]!, [_0, _1]) } - public var Passport_Identity_TypePassport: String { return self._s[4942]! } - public var CreatePoll_QuizOptionsHeader: String { return self._s[4944]! } - public var Common_No: String { return self._s[4945]! } - public var Conversation_SendMessage_ScheduleMessage: String { return self._s[4946]! } - public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[4947]! } - public var Settings_AboutEmpty: String { return self._s[4948]! } - public var TwoStepAuth_FloodError: String { return self._s[4950]! } - public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[4951]! } + public var Passport_Identity_TypePassport: String { return self._s[4943]! } + public var CreatePoll_QuizOptionsHeader: String { return self._s[4945]! } + public var Common_No: String { return self._s[4946]! } + public var Conversation_SendMessage_ScheduleMessage: String { return self._s[4947]! } + public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[4948]! } + public var Settings_AboutEmpty: String { return self._s[4949]! } + public var TwoStepAuth_FloodError: String { return self._s[4951]! } + public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[4952]! } public func Notification_VoiceChatScheduledChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4952]!, self._r[4952]!, [_0]) + return formatWithArgumentRanges(self._s[4953]!, self._r[4953]!, [_0]) } public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4954]!, self._r[4954]!, [_1]) + return formatWithArgumentRanges(self._s[4955]!, self._r[4955]!, [_1]) } - public var Notification_Exceptions_MessagePreviewAlwaysOn: String { return self._s[4957]! } - public var Conversation_Edit: String { return self._s[4958]! } - public var CheckoutInfo_SaveInfo: String { return self._s[4960]! } - public var VoiceOver_Chat_AnonymousPoll: String { return self._s[4961]! } - public var Call_CameraTooltip: String { return self._s[4963]! } - public var InstantPage_FeedbackButtonShort: String { return self._s[4964]! } - public var Contacts_InviteToTelegram: String { return self._s[4965]! } - public var Notifications_ResetAllNotifications: String { return self._s[4966]! } - public var Calls_NewCall: String { return self._s[4967]! } - public var VoiceOver_Chat_Music: String { return self._s[4970]! } - public var Channel_AdminLogFilter_EventsInviteLinks: String { return self._s[4971]! } - public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[4972]! } - public var Channel_Edit_AboutItem: String { return self._s[4973]! } - public var Message_VideoExpired: String { return self._s[4974]! } - public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[4975]! } + public var Notification_Exceptions_MessagePreviewAlwaysOn: String { return self._s[4958]! } + public var Conversation_Edit: String { return self._s[4959]! } + public var CheckoutInfo_SaveInfo: String { return self._s[4961]! } + public var VoiceOver_Chat_AnonymousPoll: String { return self._s[4962]! } + public var Call_CameraTooltip: String { return self._s[4964]! } + public var InstantPage_FeedbackButtonShort: String { return self._s[4965]! } + public var Contacts_InviteToTelegram: String { return self._s[4966]! } + public var Notifications_ResetAllNotifications: String { return self._s[4967]! } + public var Calls_NewCall: String { return self._s[4968]! } + public var VoiceOver_Chat_Music: String { return self._s[4971]! } + public var Channel_AdminLogFilter_EventsInviteLinks: String { return self._s[4972]! } + public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[4973]! } + public var Channel_Edit_AboutItem: String { return self._s[4974]! } + public var Message_VideoExpired: String { return self._s[4975]! } + public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[4976]! } public func PUSH_CHAT_RETURNED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4976]!, self._r[4976]!, [_1, _2]) + return formatWithArgumentRanges(self._s[4977]!, self._r[4977]!, [_1, _2]) } - public var NotificationsSound_Input: String { return self._s[4978]! } - public var Notifications_ClassicTones: String { return self._s[4979]! } - public var Conversation_StatusTyping: String { return self._s[4980]! } - public var Checkout_ErrorProviderAccountInvalid: String { return self._s[4981]! } - public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[4982]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[4983]! } - public var Conversation_MessageLeaveComment: String { return self._s[4984]! } - public var UserInfo_TapToCall: String { return self._s[4985]! } - public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[4986]! } + public var NotificationsSound_Input: String { return self._s[4979]! } + public var Notifications_ClassicTones: String { return self._s[4980]! } + public var Conversation_StatusTyping: String { return self._s[4981]! } + public var Checkout_ErrorProviderAccountInvalid: String { return self._s[4982]! } + public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[4983]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[4984]! } + public var Conversation_MessageLeaveComment: String { return self._s[4985]! } + public var UserInfo_TapToCall: String { return self._s[4986]! } + public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[4987]! } public func ScheduleVoiceChat_ScheduleOn(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4987]!, self._r[4987]!, [_0, _1]) + return formatWithArgumentRanges(self._s[4988]!, self._r[4988]!, [_0, _1]) } - public var Conversation_ClearAll: String { return self._s[4989]! } - public var UserInfo_NotificationsDefault: String { return self._s[4990]! } - public var Location_ProximityGroupTip: String { return self._s[4991]! } - public var Map_ChooseAPlace: String { return self._s[4992]! } - public var GroupInfo_AddParticipantTitle: String { return self._s[4994]! } - public var ChatList_PeerTypeNonContact: String { return self._s[4995]! } - public var Conversation_SlideToCancel: String { return self._s[4996]! } - public var Month_ShortJuly: String { return self._s[4997]! } - public var SocksProxySetup_ProxyType: String { return self._s[4998]! } + public var Conversation_ClearAll: String { return self._s[4990]! } + public var UserInfo_NotificationsDefault: String { return self._s[4991]! } + public var Location_ProximityGroupTip: String { return self._s[4992]! } + public var Map_ChooseAPlace: String { return self._s[4993]! } + public var GroupInfo_AddParticipantTitle: String { return self._s[4995]! } + public var ChatList_PeerTypeNonContact: String { return self._s[4996]! } + public var Conversation_SlideToCancel: String { return self._s[4997]! } + public var Month_ShortJuly: String { return self._s[4998]! } + public var SocksProxySetup_ProxyType: String { return self._s[4999]! } public func ChatList_DeleteChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[4999]!, self._r[4999]!, [_0]) + return formatWithArgumentRanges(self._s[5000]!, self._r[5000]!, [_0]) } - public var StickerPacks_ActionArchive: String { return self._s[5000]! } - public var ChatList_EditFolders: String { return self._s[5001]! } - public var TwoStepAuth_SetPasswordHelp: String { return self._s[5002]! } - public var ScheduledMessages_RemindersTitle: String { return self._s[5004]! } + public var StickerPacks_ActionArchive: String { return self._s[5001]! } + public var ChatList_EditFolders: String { return self._s[5002]! } + public var TwoStepAuth_SetPasswordHelp: String { return self._s[5003]! } + public var ScheduledMessages_RemindersTitle: String { return self._s[5005]! } public func GroupPermission_ApplyAlertText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[5005]!, self._r[5005]!, [_0]) + return formatWithArgumentRanges(self._s[5006]!, self._r[5006]!, [_0]) } - public var Permissions_PeopleNearbyTitle_v0: String { return self._s[5006]! } - public var Your_cards_expiration_year_is_invalid: String { return self._s[5007]! } - public var UserInfo_ShareMyContactInfo: String { return self._s[5009]! } + public var Permissions_PeopleNearbyTitle_v0: String { return self._s[5007]! } + public var Your_cards_expiration_year_is_invalid: String { return self._s[5008]! } + public var UserInfo_ShareMyContactInfo: String { return self._s[5010]! } public func Conversation_ScheduledVoiceChatStartsOnShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[5011]!, self._r[5011]!, [_0]) + return formatWithArgumentRanges(self._s[5012]!, self._r[5012]!, [_0]) } - public var Passport_DeleteAddress: String { return self._s[5012]! } - public var Passport_DeletePassportConfirmation: String { return self._s[5013]! } - public var Passport_Identity_ReverseSide: String { return self._s[5014]! } - public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[5016]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[5017]! } - public var InviteLink_CreatedBy: String { return self._s[5018]! } - public var Passport_FieldAddress: String { return self._s[5019]! } - public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[5020]! } - public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[5023]! } - public var VoiceChat_Panel_TapToJoin: String { return self._s[5024]! } - public var Map_Home: String { return self._s[5025]! } - public var PollResults_Title: String { return self._s[5028]! } + public var Passport_DeleteAddress: String { return self._s[5013]! } + public var Passport_DeletePassportConfirmation: String { return self._s[5014]! } + public var Passport_Identity_ReverseSide: String { return self._s[5015]! } + public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[5017]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[5018]! } + public var InviteLink_CreatedBy: String { return self._s[5019]! } + public var Passport_FieldAddress: String { return self._s[5020]! } + public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[5021]! } + public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[5024]! } + public var VoiceChat_Panel_TapToJoin: String { return self._s[5025]! } + public var Map_Home: String { return self._s[5026]! } + public var PollResults_Title: String { return self._s[5029]! } public func InviteLink_OtherPermanentLinkInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[5029]!, self._r[5029]!, [_1, _2]) + return formatWithArgumentRanges(self._s[5030]!, self._r[5030]!, [_1, _2]) } - public var ArchivedChats_IntroText2: String { return self._s[5031]! } - public var VoiceChat_VideoPreviewTitle: String { return self._s[5032]! } - public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[5033]! } - public var VoiceOver_Chat_ContactPhoneNumber: String { return self._s[5034]! } - public var VoiceChat_Muted: String { return self._s[5036]! } - public var CallFeedback_ReasonSilentRemote: String { return self._s[5037]! } - public var Passport_Identity_AddPersonalDetails: String { return self._s[5038]! } - public var Conversation_AutoremoveActionEnable: String { return self._s[5040]! } - public var Group_Info_AdminLog: String { return self._s[5041]! } - public var ChatSettings_AutoPlayTitle: String { return self._s[5042]! } - public var Appearance_Animations: String { return self._s[5043]! } - public var Appearance_TextSizeSetting: String { return self._s[5044]! } - public func OldChannels_GroupFormat(_ value: Int32) -> String { + public var ArchivedChats_IntroText2: String { return self._s[5032]! } + public var VoiceChat_VideoPreviewTitle: String { return self._s[5033]! } + public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[5034]! } + public var VoiceOver_Chat_ContactPhoneNumber: String { return self._s[5035]! } + public var VoiceChat_Muted: String { return self._s[5037]! } + public var CallFeedback_ReasonSilentRemote: String { return self._s[5038]! } + public var Passport_Identity_AddPersonalDetails: String { return self._s[5039]! } + public var Conversation_AutoremoveActionEnable: String { return self._s[5041]! } + public var Group_Info_AdminLog: String { return self._s[5042]! } + public var ChatSettings_AutoPlayTitle: String { return self._s[5043]! } + public var Appearance_Animations: String { return self._s[5044]! } + public var Appearance_TextSizeSetting: String { return self._s[5045]! } + public func ScheduledIn_Months(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notification_GameScoreExtended(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Days(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_ContactPhoneNumberCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Seconds(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Days(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAudios(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_StickerCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Contacts_InviteContacts(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) - } - public func OldChannels_InactiveMonth(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendVideo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_DeleteConfirmation(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_MessageMusic(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPhotos(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_ContactEmailCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, _0, _1) - } - public func ScheduledIn_Weeks(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_TitleComments(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ChatList_MessageFiles(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func Stats_MessageForwards(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LastSeen_HoursAgo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_SelectedMessages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceChat_Status_Members(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, _2, _1, _3) } public func StickerPack_AddMaskCount(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) } - public func VoiceOver_Chat_UnreadMessages(_ value: Int32) -> String { + public func Conversation_SelectedMessages(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) } public func InstantPage_Views(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupShowMoreTopAdmins(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareItem(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Chat_MessagesUnpinned(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_AutoremoveRemainingDays(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) - } - public func GroupInfo_ParticipantCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupTopAdminKicks(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_Search_Messages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupTopPosterMessages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) - } - public func UserCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusOnline(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) - } - public func OldChannels_InactiveWeek(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_DOCS_FIX1(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func PUSH_CHANNEL_MESSAGE_DOCS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func OldChannels_InactiveYear(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Minutes(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Theme_UsersCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) - } - public func InviteLink_InviteLinks(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) - } - public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupShowMoreTopPosters(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_PollVotes(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PollResults_ShowMore(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedGifs(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPacks_DeleteStickerPacksConfirmation(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func Call_ShortSeconds(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) - } - public func InviteLink_PeopleJoinedShort(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPolls(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_SharePhoto(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Days(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareVideo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Invitation_Members(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Years(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PeopleNearby_ShowMorePeople(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Passport_Scans(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Seconds(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSimple(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func MessageTimer_Months(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Months(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Years(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func GroupInfo_ShowMoreMembers(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedMessages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) - } - public func InviteLink_PeopleRemaining(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Hours(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue) - } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Photo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_MessageVideos(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceChat_InviteLink_InviteListeners(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func InviteLink_PeopleJoined(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessagePoll_VotedCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_File(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Chat_TitlePinnedMessages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_DeletedChats(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedFiles(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Days(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupTopInviterInvites(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ScheduledIn_Hours(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[108 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[109 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func InviteLink_PeopleCanJoin(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[110 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Stats_GroupTopAdminBans(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[111 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteFor_Hours(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[112 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_TitleReplies(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[113 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessagePoll_QuizCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[114 * 6 + Int(form.rawValue)]!, stringValue) - } - public func InviteText_ContactsCountText(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[115 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) } public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[116 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) } - public func SharedMedia_Link(_ value: Int32) -> String { + public func Call_ShortMinutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[117 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) } - public func Map_ETAMinutes(_ value: Int32) -> String { + public func ChatList_DeleteConfirmation(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[118 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) } - public func QuickSend_Photos(_ value: Int32) -> String { + public func MuteExpires_Minutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[119 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notifications_Exceptions(_ value: Int32) -> String { + public func Stats_GroupTopPosterChars(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[120 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) } - public func SharedMedia_Generic(_ value: Int32) -> String { + public func Stats_GroupTopAdminKicks(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[121 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedStickers(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[122 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPacks_ArchiveStickerPacksConfirmation(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[123 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedVideoMessages(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[124 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteFor_Days(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[125 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[126 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_FILES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[127 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func MessageTimer_Weeks(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[128 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, _1, _2) } public func ChatListFilter_ShowMoreChats(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[129 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) + } + public func InviteLink_PeopleRemaining(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LastSeen_MinutesAgo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_GroupTopAdminBans(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Minutes(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Seconds(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Days(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_MessagePhotos(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusSubscribers(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ScheduledIn_Seconds(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Theme_UsersCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Years(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_MessageViews(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) + } + public func GroupInfo_ShowMoreMembers(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_PollVotes(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) } public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[130 * 6 + Int(form.rawValue)]!, _1, _2) + return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, _1, _2) } - public func Stats_GroupTopAdminDeletions(_ value: Int32) -> String { + public func Stats_GroupTopInviterInvites(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_StickerCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Generic(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Chat_MessagesUnpinned(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func OldChannels_Leave(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortWeeks(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_DOCS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Passport_Scans(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_ContextMenuSelectAll(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) + } + public func OldChannels_GroupFormat(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessagePoll_QuizCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAMinutes(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Call_Days(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Invitation_Members(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedContacts(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) + } + public func InviteLink_PeopleJoinedShort(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddStickerCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) + } + public func GroupInfo_ParticipantCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PollResults_ShowMore(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortDays(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) + } + public func OldChannels_InactiveMonth(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_MessageVideos(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) + } + public func OldChannels_InactiveWeek(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_MessageMusic(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceChat_Panel_Members(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Hours(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_File(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteFor_Days(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_DOCS_FIX1(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func SharedMedia_Video(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Contacts_ImportersCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_MessageViewComments(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortHours(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreExtended(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_GroupShowMoreTopInviters(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_FILES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func VoiceOver_Chat_ContactEmailCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_Search_Messages(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func SharedMedia_Link(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_ShortSeconds(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Photo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ScheduledIn_Hours(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_AutoremoveRemainingDays(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_PollOptionCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusOnline(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendGif(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideos(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_GroupTopPosterMessages(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_ContactPhoneNumberCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_MessagesSelected(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_ContextViewReplies(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_SelectedChats(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideoMessages(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) + } + public func QuickSend_Photos(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_GroupShowMoreTopPosters(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ScheduledIn_Weeks(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPacks_DeleteStickerPacksConfirmation(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_MessageForwards(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) + } + public func InviteLink_PeopleCanJoin(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessagePoll_VotedCount(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[108 * 6 + Int(form.rawValue)]!, stringValue) + } + public func OldChannels_InactiveYear(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[109 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_Exceptions(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[110 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_ShareVideo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[111 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Hours(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[112 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ScheduledIn_Years(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[113 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedPhotos(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[114 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_SharePhoto(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[115 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_UnreadMessages(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[116 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_TitleComments(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[117 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LastSeen_HoursAgo(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[118 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceChat_Status_Members(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[119 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_MessageFiles(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[120 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_DeletedChats(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[121 * 6 + Int(form.rawValue)]!, stringValue) + } + public func InviteLink_PeopleJoined(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[122 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendItem(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[123 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_TitleReplies(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[124 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[125 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[126 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[127 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Stats_GroupShowMoreTopAdmins(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[128 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Hours(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[129 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPacks_ArchiveStickerPacksConfirmation(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[130 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAHours(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[131 * 6 + Int(form.rawValue)]!, stringValue) @@ -6242,212 +6242,213 @@ public final class PresentationStrings: Equatable { let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[132 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_ShortDays(_ value: Int32) -> String { + public func ScheduledIn_Days(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[133 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_StatusMembers(_ value: Int32) -> String { + public func Contacts_InviteContacts(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[134 * 6 + Int(form.rawValue)]!, stringValue) } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + public func Conversation_StatusMembers(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[135 * 6 + Int(form.rawValue)]!, stringValue) } - public func VoiceChat_InviteLink_InviteSpeakers(_ value: Int32) -> String { + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[136 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + public func Notification_GameScoreSimple(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[137 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[138 * 6 + Int(form.rawValue)]!, _1, _2) + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[138 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_ContextMenuSelectAll(_ value: Int32) -> String { + public func MuteFor_Hours(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[139 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = getPluralizationForm(self.lc, selector) return String(format: self._ps[140 * 6 + Int(form.rawValue)]!, _1, _2) } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[141 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[141 * 6 + Int(form.rawValue)]!, _2, _1, _3) } - public func SharedMedia_Video(_ value: Int32) -> String { + public func ForwardedFiles(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[142 * 6 + Int(form.rawValue)]!, stringValue) } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[143 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[144 * 6 + Int(form.rawValue)]!, _1, _2) + public func ForwardedPolls(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[144 * 6 + Int(form.rawValue)]!, stringValue) } - public func VoiceChat_Panel_Members(_ value: Int32) -> String { + public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[145 * 6 + Int(form.rawValue)]!, stringValue) } - public func Stats_GroupShowMoreTopInviters(_ value: Int32) -> String { + public func AttachmentMenu_SendVideo(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[146 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedVideos(_ value: Int32) -> String { + public func Media_ShareItem(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[147 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedContacts(_ value: Int32) -> String { + public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[148 * 6 + Int(form.rawValue)]!, stringValue) } - public func Map_ETAHours(_ value: Int32) -> String { + public func ForwardedMessages(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[149 * 6 + Int(form.rawValue)]!, stringValue) } - public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { + public func InviteText_ContactsCountText(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[150 * 6 + Int(form.rawValue)]!, stringValue) } - public func ChatList_SelectedChats(_ value: Int32) -> String { + public func ForwardedStickers(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[151 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_MessageViewComments(_ value: Int32) -> String { + public func Call_Minutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[152 * 6 + Int(form.rawValue)]!, stringValue) } - public func ChatList_MessagePhotos(_ value: Int32) -> String { + public func MessageTimer_Seconds(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[153 * 6 + Int(form.rawValue)]!, stringValue) } - public func Call_Hours(_ value: Int32) -> String { + public func ForwardedGifs(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[154 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_ContextViewReplies(_ value: Int32) -> String { + public func Chat_TitlePinnedMessages(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[155 * 6 + Int(form.rawValue)]!, stringValue) } - public func Contacts_ImportersCount(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[156 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[156 * 6 + Int(form.rawValue)]!, _1, _2) } - public func VoiceOver_Chat_MessagesSelected(_ value: Int32) -> String { + public func MessageTimer_Weeks(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[157 * 6 + Int(form.rawValue)]!, stringValue) } - public func MuteExpires_Minutes(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[158 * 6 + Int(form.rawValue)]!, stringValue) } - public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + public func Stats_GroupTopAdminDeletions(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[159 * 6 + Int(form.rawValue)]!, stringValue) } - public func OldChannels_Leave(_ value: Int32) -> String { - let form = getPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[160 * 6 + Int(form.rawValue)]!, stringValue) + public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { + let form = getPluralizationForm(self.lc, selector) + return String(format: self._ps[160 * 6 + Int(form.rawValue)]!, _0, _1) } - public func Stats_MessageViews(_ value: Int32) -> String { + public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[161 * 6 + Int(form.rawValue)]!, stringValue) } - public func Call_ShortMinutes(_ value: Int32) -> String { + public func VoiceChat_InviteLink_InviteSpeakers(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[162 * 6 + Int(form.rawValue)]!, stringValue) } - public func VoiceOver_Chat_PollOptionCount(_ value: Int32) -> String { + public func MessageTimer_Months(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[163 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Seconds(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[164 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_ShortHours(_ value: Int32) -> String { + public func InviteLink_InviteLinks(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[165 * 6 + Int(form.rawValue)]!, stringValue) } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { + public func UserCount(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[166 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[167 * 6 + Int(form.rawValue)]!, _2, _1, _3) + public func VoiceChat_InviteLink_InviteListeners(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[167 * 6 + Int(form.rawValue)]!, stringValue) } - public func Stats_GroupTopPosterChars(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[168 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Minutes(_ value: Int32) -> String { + public func ScheduledIn_Minutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[169 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_ShortWeeks(_ value: Int32) -> String { + public func ForwardedAudios(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[170 * 6 + Int(form.rawValue)]!, stringValue) } - public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + public func MessageTimer_Days(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[171 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = getPluralizationForm(self.lc, selector) - return String(format: self._ps[172 * 6 + Int(form.rawValue)]!, _1, _2) + public func PeopleNearby_ShowMorePeople(_ value: Int32) -> String { + let form = getPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[172 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Hours(_ value: Int32) -> String { + public func Watch_UserInfo_Mute(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[173 * 6 + Int(form.rawValue)]!, stringValue) } - public func Call_Minutes(_ value: Int32) -> String { + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[174 * 6 + Int(form.rawValue)]!, stringValue) } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { let form = getPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[175 * 6 + Int(form.rawValue)]!, stringValue) diff --git a/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/Contents.json index 360b4f2588..795a18ba91 100644 --- a/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/Contents.json +++ b/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/Contents.json @@ -1,17 +1,8 @@ { "images" : [ { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "airpods-b515@3x.png", - "idiom" : "universal", - "scale" : "3x" + "filename" : "ic_call_airpodsmax.pdf", + "idiom" : "universal" } ], "info" : { diff --git a/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/airpods-b515@3x.png b/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/airpods-b515@3x.png deleted file mode 100644 index cf735b34c9..0000000000 Binary files a/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/airpods-b515@3x.png and /dev/null differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/ic_call_airpodsmax.pdf b/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/ic_call_airpodsmax.pdf new file mode 100644 index 0000000000..3661b17240 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Call/CallAirpodsMaxButton.imageset/ic_call_airpodsmax.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/Contents.json index 958ae1e032..e6f1b93d3e 100644 --- a/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/Contents.json +++ b/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_call_flip.pdf", + "filename" : "ic_cam_flip.pdf", "idiom" : "universal" } ], diff --git a/submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/volsmall.pdf b/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_cam_flip.pdf similarity index 69% rename from submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/volsmall.pdf rename to submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_cam_flip.pdf index 49993ba2bf..5084218a29 100644 Binary files a/submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/volsmall.pdf and b/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_cam_flip.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/Video.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/Contents.json similarity index 74% rename from submodules/TelegramUI/Images.xcassets/Call/Video.imageset/Contents.json rename to submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/Contents.json index c01e0f97c1..a12e93d182 100644 --- a/submodules/TelegramUI/Images.xcassets/Call/Video.imageset/Contents.json +++ b/submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_vc_camera.pdf", + "filename" : "ic_voicesharing.pdf", "idiom" : "universal" } ], diff --git a/submodules/TelegramUI/Images.xcassets/Call/Video.imageset/ic_vc_camera.pdf b/submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/ic_voicesharing.pdf similarity index 64% rename from submodules/TelegramUI/Images.xcassets/Call/Video.imageset/ic_vc_camera.pdf rename to submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/ic_voicesharing.pdf index 0fdb8285cc..e19c33373d 100644 Binary files a/submodules/TelegramUI/Images.xcassets/Call/Video.imageset/ic_vc_camera.pdf and b/submodules/TelegramUI/Images.xcassets/Call/StatusScreen.imageset/ic_voicesharing.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/Contents.json similarity index 75% rename from submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/Contents.json rename to submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/Contents.json index affbec4133..9acec56798 100644 --- a/submodules/TelegramUI/Images.xcassets/Call/Volume.imageset/Contents.json +++ b/submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "volsmall.pdf", + "filename" : "ic_voicecamera.pdf", "idiom" : "universal" } ], diff --git a/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_call_flip.pdf b/submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/ic_voicecamera.pdf similarity index 59% rename from submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_call_flip.pdf rename to submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/ic_voicecamera.pdf index 3a34ee5aa7..9302da2be7 100644 Binary files a/submodules/TelegramUI/Images.xcassets/Call/CallSwitchCameraButton.imageset/ic_call_flip.pdf and b/submodules/TelegramUI/Images.xcassets/Call/StatusVideo.imageset/ic_voicecamera.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/Contents.json new file mode 100644 index 0000000000..7f670ccc62 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_voicevolumeon.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/ic_voicevolumeon.pdf b/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/ic_voicevolumeon.pdf new file mode 100644 index 0000000000..c6c6fd8475 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Call/StatusVolume.imageset/ic_voicevolumeon.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/Contents.json new file mode 100644 index 0000000000..95ca49b9d3 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_voicevolumeoff.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/ic_voicevolumeoff.pdf b/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/ic_voicevolumeoff.pdf new file mode 100644 index 0000000000..bcc068ce30 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Call/StatusVolumeOff.imageset/ic_voicevolumeoff.pdf differ diff --git a/submodules/TelegramUI/Resources/PresentationStrings.mapping b/submodules/TelegramUI/Resources/PresentationStrings.mapping index 4989794867..55f2253cdb 100644 Binary files a/submodules/TelegramUI/Resources/PresentationStrings.mapping and b/submodules/TelegramUI/Resources/PresentationStrings.mapping differ diff --git a/submodules/TelegramUI/Sources/AccountContext.swift b/submodules/TelegramUI/Sources/AccountContext.swift index 5e5e1ab5c3..34ea3cd855 100644 --- a/submodules/TelegramUI/Sources/AccountContext.swift +++ b/submodules/TelegramUI/Sources/AccountContext.swift @@ -112,7 +112,7 @@ public final class AccountContextImpl: AccountContext { public let engine: TelegramEngine public let fetchManager: FetchManager - private let prefetchManager: PrefetchManager? + public let prefetchManager: PrefetchManager? public var keyShortcutsController: KeyShortcutsController? @@ -172,7 +172,7 @@ public final class AccountContextImpl: AccountContext { } self.fetchManager = FetchManagerImpl(postbox: account.postbox, storeManager: self.downloadedMediaStoreManager) if sharedContext.applicationBindings.isMainApp && !temp { - self.prefetchManager = PrefetchManager(sharedContext: sharedContext, account: account, fetchManager: self.fetchManager) + self.prefetchManager = PrefetchManagerImpl(sharedContext: sharedContext, account: account, engine: self.engine, fetchManager: self.fetchManager) self.wallpaperUploadManager = WallpaperUploadManagerImpl(sharedContext: sharedContext, account: account, presentationData: sharedContext.presentationData) self.themeUpdateManager = ThemeUpdateManagerImpl(sharedContext: sharedContext, account: account) } else { diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index b3a1805c55..042d093469 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -418,7 +418,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G private var importStateDisposable: Disposable? - public init(context: AccountContext, chatLocation: ChatLocation, chatLocationContextHolder: Atomic = Atomic(value: nil), subject: ChatControllerSubject? = nil, botStart: ChatControllerInitialBotStart? = nil, mode: ChatControllerPresentationMode = .standard(previewing: false), peekData: ChatPeekTimeout? = nil, peerNearbyData: ChatPeerNearbyData? = nil, greetingData: ChatGreetingData? = nil) { + public init(context: AccountContext, chatLocation: ChatLocation, chatLocationContextHolder: Atomic = Atomic(value: nil), subject: ChatControllerSubject? = nil, botStart: ChatControllerInitialBotStart? = nil, mode: ChatControllerPresentationMode = .standard(previewing: false), peekData: ChatPeekTimeout? = nil, peerNearbyData: ChatPeerNearbyData? = nil) { let _ = ChatControllerCount.modify { value in return value + 1 } @@ -463,7 +463,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G self.stickerSettings = ChatInterfaceStickerSettings(loopAnimatedStickers: false) - self.presentationInterfaceState = ChatPresentationInterfaceState(chatWallpaper: self.presentationData.chatWallpaper, theme: self.presentationData.theme, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameDisplayOrder: self.presentationData.nameDisplayOrder, limitsConfiguration: context.currentLimitsConfiguration.with { $0 }, fontSize: self.presentationData.chatFontSize, bubbleCorners: self.presentationData.chatBubbleCorners, accountPeerId: context.account.peerId, mode: mode, chatLocation: chatLocation, subject: subject, peerNearbyData: peerNearbyData, greetingData: greetingData, pendingUnpinnedAllMessages: false, activeGroupCallInfo: nil, hasActiveGroupCall: false, importState: nil) + self.presentationInterfaceState = ChatPresentationInterfaceState(chatWallpaper: self.presentationData.chatWallpaper, theme: self.presentationData.theme, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameDisplayOrder: self.presentationData.nameDisplayOrder, limitsConfiguration: context.currentLimitsConfiguration.with { $0 }, fontSize: self.presentationData.chatFontSize, bubbleCorners: self.presentationData.chatBubbleCorners, accountPeerId: context.account.peerId, mode: mode, chatLocation: chatLocation, subject: subject, peerNearbyData: peerNearbyData, greetingData: context.prefetchManager?.preloadedGreetingSticker, pendingUnpinnedAllMessages: false, activeGroupCallInfo: nil, hasActiveGroupCall: false, importState: nil) self.presentationInterfaceStatePromise = ValuePromise(self.presentationInterfaceState) var mediaAccessoryPanelVisibility = MediaAccessoryPanelVisibility.none diff --git a/submodules/TelegramUI/Sources/ChatEmptyNode.swift b/submodules/TelegramUI/Sources/ChatEmptyNode.swift index 18976ae21f..1baaa5ff45 100644 --- a/submodules/TelegramUI/Sources/ChatEmptyNode.swift +++ b/submodules/TelegramUI/Sources/ChatEmptyNode.swift @@ -161,7 +161,7 @@ private final class ChatEmptyNodeGreetingChatContent: ASDisplayNode, ChatEmptyNo } else if !self.didSetupSticker { let sticker: Signal if let preloadedSticker = interfaceState.greetingData?.sticker { - sticker = .single(preloadedSticker) + sticker = preloadedSticker } else { sticker = self.context.engine.stickers.randomGreetingSticker() |> map { item -> TelegramMediaFile? in @@ -338,7 +338,7 @@ private final class ChatEmptyNodeNearbyChatContent: ASDisplayNode, ChatEmptyNode } else if !self.didSetupSticker { let sticker: Signal if let preloadedSticker = interfaceState.greetingData?.sticker { - sticker = .single(preloadedSticker) + sticker = preloadedSticker } else { sticker = self.context.engine.stickers.randomGreetingSticker() |> map { item -> TelegramMediaFile? in @@ -876,6 +876,7 @@ final class ChatEmptyNode: ASDisplayNode { node = ChatEmptyNodeNearbyChatContent(context: self.context, interaction: self.interaction) case .greeting: node = ChatEmptyNodeGreetingChatContent(context: self.context, interaction: self.interaction) + self.context.prefetchManager?.prepareNextGreetingSticker() } self.content = (contentType, node) self.addSubnode(node) diff --git a/submodules/TelegramUI/Sources/NavigateToChatController.swift b/submodules/TelegramUI/Sources/NavigateToChatController.swift index 4f6e15974f..fe5d204ab5 100644 --- a/submodules/TelegramUI/Sources/NavigateToChatController.swift +++ b/submodules/TelegramUI/Sources/NavigateToChatController.swift @@ -71,7 +71,7 @@ public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParam }) } } else { - controller = ChatControllerImpl(context: params.context, chatLocation: params.chatLocation, chatLocationContextHolder: params.chatLocationContextHolder, subject: params.subject, botStart: params.botStart, peekData: params.peekData, peerNearbyData: params.peerNearbyData, greetingData: params.greetingData) + controller = ChatControllerImpl(context: params.context, chatLocation: params.chatLocation, chatLocationContextHolder: params.chatLocationContextHolder, subject: params.subject, botStart: params.botStart, peekData: params.peekData, peerNearbyData: params.peerNearbyData) } controller.purposefulAction = params.purposefulAction if let search = params.activateMessageSearch { diff --git a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoScreen.swift b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoScreen.swift index 0755dbe75a..ff14e45412 100644 --- a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoScreen.swift +++ b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoScreen.swift @@ -1532,9 +1532,6 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD private var groupMembersSearchContext: GroupMembersSearchContext? - private let preloadedSticker = Promise(nil) - private let preloadStickerDisposable = MetaDisposable() - private let displayAsPeersPromise = Promise<[FoundPeer]>([]) fileprivate let accountsAndPeers = Promise<[(Account, Peer, Int32)]>() @@ -2838,24 +2835,7 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD if let _ = nearbyPeerDistance { self.preloadHistoryDisposable.set(self.context.account.addAdditionalPreloadHistoryPeerId(peerId: peerId)) - self.preloadedSticker.set(.single(nil) - |> then(context.engine.stickers.randomGreetingSticker() - |> map { item in - return item?.file - })) - - self.preloadStickerDisposable.set((self.preloadedSticker.get() - |> mapToSignal { sticker -> Signal in - if let sticker = sticker { - let _ = freeMediaFileInteractiveFetched(account: context.account, fileReference: .standalone(media: sticker)).start() - return chatMessageAnimationData(postbox: context.account.postbox, resource: sticker.resource, fitzModifier: nil, width: 384, height: 384, synchronousLoad: false) - |> mapToSignal { _ -> Signal in - return .complete() - } - } else { - return .complete() - } - }).start()) + self.context.prefetchManager?.prepareNextGreetingSticker() } } @@ -2870,7 +2850,6 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD self.selectAddMemberDisposable.dispose() self.addMemberDisposable.dispose() self.preloadHistoryDisposable.dispose() - self.preloadStickerDisposable.dispose() self.resolvePeerByNameDisposable?.dispose() self.navigationActionDisposable.dispose() self.enqueueMediaMessageDisposable.dispose() @@ -3356,24 +3335,18 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD switch key { case .message: if let navigationController = controller.navigationController as? NavigationController { - let _ = (self.preloadedSticker.get() - |> take(1) - |> deliverOnMainQueue).start(next: { [weak self] sticker in - if let strongSelf = self { - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(strongSelf.peerId), keepStack: strongSelf.nearbyPeerDistance != nil ? .always : .default, peerNearbyData: strongSelf.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), greetingData: strongSelf.nearbyPeerDistance != nil ? sticker.flatMap({ ChatGreetingData(sticker: $0) }) : nil, completion: { _ in - if strongSelf.nearbyPeerDistance != nil { - var viewControllers = navigationController.viewControllers - viewControllers = viewControllers.filter { controller in - if controller is PeerInfoScreen { - return false - } - return true - } - navigationController.setViewControllers(viewControllers, animated: false) + self.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: self.context, chatLocation: .peer(self.peerId), keepStack: self.nearbyPeerDistance != nil ? .always : .default, peerNearbyData: self.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), completion: { [weak self] _ in + if let strongSelf = self, strongSelf.nearbyPeerDistance != nil { + var viewControllers = navigationController.viewControllers + viewControllers = viewControllers.filter { controller in + if controller is PeerInfoScreen { + return false } - })) + return true + } + navigationController.setViewControllers(viewControllers, animated: false) } - }) + })) } case .discussion: if let cachedData = self.data?.cachedData as? CachedChannelData, case let .known(maybeLinkedDiscussionPeerId) = cachedData.linkedDiscussionPeerId, let linkedDiscussionPeerId = maybeLinkedDiscussionPeerId { @@ -3773,24 +3746,18 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD private func openChatWithMessageSearch() { if let navigationController = (self.controller?.navigationController as? NavigationController) { - let _ = (self.preloadedSticker.get() - |> take(1) - |> deliverOnMainQueue).start(next: { [weak self] sticker in - if let strongSelf = self { - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(strongSelf.peerId), keepStack: strongSelf.nearbyPeerDistance != nil ? .always : .default, activateMessageSearch: (.everything, ""), peerNearbyData: strongSelf.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), greetingData: strongSelf.nearbyPeerDistance != nil ? sticker.flatMap({ ChatGreetingData(sticker: $0) }) : nil, completion: { _ in - if strongSelf.nearbyPeerDistance != nil { - var viewControllers = navigationController.viewControllers - viewControllers = viewControllers.filter { controller in - if controller is PeerInfoScreen { - return false - } - return true - } - navigationController.setViewControllers(viewControllers, animated: false) + self.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: self.context, chatLocation: .peer(self.peerId), keepStack: self.nearbyPeerDistance != nil ? .always : .default, activateMessageSearch: (.everything, ""), peerNearbyData: self.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), completion: { [weak self] _ in + if let strongSelf = self, strongSelf.nearbyPeerDistance != nil { + var viewControllers = navigationController.viewControllers + viewControllers = viewControllers.filter { controller in + if controller is PeerInfoScreen { + return false } - })) + return true + } + navigationController.setViewControllers(viewControllers, animated: false) } - }) + })) } } @@ -4233,24 +4200,18 @@ private final class PeerInfoScreenNode: ViewControllerTracingNode, UIScrollViewD private func openChat() { if let navigationController = self.controller?.navigationController as? NavigationController { - let _ = (self.preloadedSticker.get() - |> take(1) - |> deliverOnMainQueue).start(next: { [weak self] sticker in - if let strongSelf = self { - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(strongSelf.peerId), keepStack: strongSelf.nearbyPeerDistance != nil ? .always : .default, peerNearbyData: strongSelf.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), greetingData: strongSelf.nearbyPeerDistance != nil ? sticker.flatMap({ ChatGreetingData(sticker: $0) }) : nil, completion: { _ in - if strongSelf.nearbyPeerDistance != nil { - var viewControllers = navigationController.viewControllers - viewControllers = viewControllers.filter { controller in - if controller is PeerInfoScreen { - return false - } - return true - } - navigationController.setViewControllers(viewControllers, animated: false) + self.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: self.context, chatLocation: .peer(self.peerId), keepStack: self.nearbyPeerDistance != nil ? .always : .default, peerNearbyData: self.nearbyPeerDistance.flatMap({ ChatPeerNearbyData(distance: $0) }), completion: { [weak self] _ in + if let strongSelf = self, strongSelf.nearbyPeerDistance != nil { + var viewControllers = navigationController.viewControllers + viewControllers = viewControllers.filter { controller in + if controller is PeerInfoScreen { + return false } - })) + return true + } + navigationController.setViewControllers(viewControllers, animated: false) } - }) + })) } } diff --git a/submodules/TelegramUI/Sources/PrefetchManager.swift b/submodules/TelegramUI/Sources/PrefetchManager.swift index 9ea80fb61b..88d8f64684 100644 --- a/submodules/TelegramUI/Sources/PrefetchManager.swift +++ b/submodules/TelegramUI/Sources/PrefetchManager.swift @@ -6,6 +6,7 @@ import SyncCore import TelegramUIPreferences import AccountContext import PhotoResources +import StickerResources import Emoji import UniversalMediaPlayer @@ -21,18 +22,23 @@ public enum PrefetchMediaItem { case animatedEmojiSticker(TelegramMediaFile) } -private final class PrefetchManagerImpl { +private final class PrefetchManagerInnerImpl { private let queue: Queue private let account: Account + private let engine: TelegramEngine private let fetchManager: FetchManager private var listDisposable: Disposable? private var contexts: [MediaId: PrefetchMediaContext] = [:] - - init(queue: Queue, sharedContext: SharedAccountContext, account: Account, fetchManager: FetchManager) { + + private let preloadGreetingStickerDisposable = MetaDisposable() + fileprivate let preloadedGreetingStickerPromise = Promise(nil) + + init(queue: Queue, sharedContext: SharedAccountContext, account: Account, engine: TelegramEngine, fetchManager: FetchManager) { self.queue = queue self.account = account + self.engine = engine self.fetchManager = fetchManager let networkType = account.networkType @@ -226,18 +232,63 @@ private final class PrefetchManagerImpl { } } } + + fileprivate func prepareNextGreetingSticker() { + let account = self.account + let engine = self.engine + self.preloadedGreetingStickerPromise.set(.single(nil) + |> then(engine.stickers.randomGreetingSticker() + |> map { item in + return item?.file + })) + + self.preloadGreetingStickerDisposable.set((self.preloadedGreetingStickerPromise.get() + |> mapToSignal { sticker -> Signal in + if let sticker = sticker { + let _ = freeMediaFileInteractiveFetched(account: account, fileReference: .standalone(media: sticker)).start() + return chatMessageAnimationData(postbox: account.postbox, resource: sticker.resource, fitzModifier: nil, width: 384, height: 384, synchronousLoad: false) + |> mapToSignal { _ -> Signal in + return .complete() + } + } else { + return .complete() + } + }).start()) + } } -final class PrefetchManager { +final class PrefetchManagerImpl: PrefetchManager { private let queue: Queue - private let impl: QueueLocalObject + private let impl: QueueLocalObject + private let uuid = Atomic(value: UUID()) - init(sharedContext: SharedAccountContext, account: Account, fetchManager: FetchManager) { + init(sharedContext: SharedAccountContext, account: Account, engine: TelegramEngine, fetchManager: FetchManager) { let queue = Queue.mainQueue() self.queue = queue self.impl = QueueLocalObject(queue: queue, generate: { - return PrefetchManagerImpl(queue: queue, sharedContext: sharedContext, account: account, fetchManager: fetchManager) + return PrefetchManagerInnerImpl(queue: queue, sharedContext: sharedContext, account: account, engine: engine, fetchManager: fetchManager) }) } + + var preloadedGreetingSticker: ChatGreetingData { + let signal: Signal = Signal { subscriber in + let disposable = MetaDisposable() + self.impl.with { impl in + disposable.set((impl.preloadedGreetingStickerPromise.get() |> take(1)).start(next: { file in + subscriber.putNext(file) + subscriber.putCompletion() + })) + } + return disposable + } + return ChatGreetingData(uuid: uuid.with { $0 }, sticker: signal) + } + + func prepareNextGreetingSticker() { + let _ = uuid.swap(UUID()) + self.impl.with { impl in + impl.prepareNextGreetingSticker() + } + } } diff --git a/submodules/TgVoipWebrtc/tgcalls b/submodules/TgVoipWebrtc/tgcalls index 4c6ae0a13d..94a9c7b4e4 160000 --- a/submodules/TgVoipWebrtc/tgcalls +++ b/submodules/TgVoipWebrtc/tgcalls @@ -1 +1 @@ -Subproject commit 4c6ae0a13d9360d9ed51e78e4b79513bbedf5525 +Subproject commit 94a9c7b4e49c943d1ca108e35779739ad99d695a