diff --git a/TelegramUI.xcodeproj/project.pbxproj b/TelegramUI.xcodeproj/project.pbxproj index 747f6d95b7..75ad3c7d43 100644 --- a/TelegramUI.xcodeproj/project.pbxproj +++ b/TelegramUI.xcodeproj/project.pbxproj @@ -94,6 +94,7 @@ D01776BC1F1E21AF0044446D /* RadialStatusBackgroundNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01776BB1F1E21AF0044446D /* RadialStatusBackgroundNode.swift */; }; D01776BE1F1E76920044446D /* PeerMediaCollectionSectionsNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01776BD1F1E76920044446D /* PeerMediaCollectionSectionsNode.swift */; }; D01847801FFBD12E00075256 /* ChatListPresentationData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D018477F1FFBD12E00075256 /* ChatListPresentationData.swift */; }; + D01848E821A03BDA00B6DEBD /* ChatSearchState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01848E721A03BDA00B6DEBD /* ChatSearchState.swift */; }; D0185E882089ED5F005E1A6C /* ProxyListSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0185E872089ED5F005E1A6C /* ProxyListSettingsController.swift */; }; D0185E8A208A01AF005E1A6C /* ProxySettingsActionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0185E89208A01AF005E1A6C /* ProxySettingsActionItem.swift */; }; D0185E8C208A025A005E1A6C /* ProxySettingsServerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0185E8B208A025A005E1A6C /* ProxySettingsServerItem.swift */; }; @@ -1194,6 +1195,7 @@ D0177B7F1DFAE18500A5083A /* MediaPlayerTimeTextNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediaPlayerTimeTextNode.swift; sourceTree = ""; }; D0177B831DFB095000A5083A /* FileMediaResourceStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileMediaResourceStatus.swift; sourceTree = ""; }; D018477F1FFBD12E00075256 /* ChatListPresentationData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatListPresentationData.swift; sourceTree = ""; }; + D01848E721A03BDA00B6DEBD /* ChatSearchState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatSearchState.swift; sourceTree = ""; }; D0185E872089ED5F005E1A6C /* ProxyListSettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProxyListSettingsController.swift; sourceTree = ""; }; D0185E89208A01AF005E1A6C /* ProxySettingsActionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProxySettingsActionItem.swift; sourceTree = ""; }; D0185E8B208A025A005E1A6C /* ProxySettingsServerItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProxySettingsServerItem.swift; sourceTree = ""; }; @@ -4213,6 +4215,7 @@ D0D2686A1D788F6600C422DA /* Title Accessory Panels */, D0F69E441D6B8B850046BCD6 /* History Navigation */, D044A0FA20BDC40C00326FAC /* CachedChannelAdmins.swift */, + D01848E721A03BDA00B6DEBD /* ChatSearchState.swift */, ); name = Chat; sourceTree = ""; @@ -4874,6 +4877,7 @@ D0EC6CB81EB9F58800EBF1C3 /* RMIntroViewController.m in Sources */, D0EC6CB91EB9F58800EBF1C3 /* RMLoginViewController.m in Sources */, D0E9BA631F055AD200F079A4 /* BotPaymentCardInputItemNode.swift in Sources */, + D01848E821A03BDA00B6DEBD /* ChatSearchState.swift in Sources */, D0EC6CBA1EB9F58800EBF1C3 /* RMRootViewController.m in Sources */, D0E412CA206A5B0B00BEE4A2 /* FormControllerTextInputItem.swift in Sources */, D0208ADC1FA346A4001F0D5F /* RaiseToListen.swift in Sources */, diff --git a/TelegramUI/AuthorizationSequenceCodeEntryController.swift b/TelegramUI/AuthorizationSequenceCodeEntryController.swift index 8df663c733..f131d45c28 100644 --- a/TelegramUI/AuthorizationSequenceCodeEntryController.swift +++ b/TelegramUI/AuthorizationSequenceCodeEntryController.swift @@ -83,6 +83,11 @@ final class AuthorizationSequenceCodeEntryController: ViewController { func updateData(number: String, codeType: SentAuthorizationCodeType, nextType: AuthorizationCodeNextType?, timeout: Int32?, termsOfService: (UnauthorizedAccountTermsOfService, Bool)?) { self.termsOfService = termsOfService if self.data?.0 != number || self.data?.1 != codeType || self.data?.2 != nextType || self.data?.3 != timeout { + if case .otherSession = codeType { + self.title = number + } else { + self.title = nil + } self.data = (number, codeType, nextType, timeout) if self.isNodeLoaded { self.controllerNode.updateData(number: number, codeType: codeType, nextType: nextType, timeout: timeout) diff --git a/TelegramUI/AuthorizationSequenceCodeEntryControllerNode.swift b/TelegramUI/AuthorizationSequenceCodeEntryControllerNode.swift index a6506d3381..cb35ddb3f6 100644 --- a/TelegramUI/AuthorizationSequenceCodeEntryControllerNode.swift +++ b/TelegramUI/AuthorizationSequenceCodeEntryControllerNode.swift @@ -17,11 +17,11 @@ func authorizationCurrentOptionText(_ type: SentAuthorizationCodeType, strings: } } -func authorizationNextOptionText(_ type: AuthorizationCodeNextType?, timeout: Int32?, strings: PresentationStrings, primaryColor: UIColor, accentColor: UIColor) -> (NSAttributedString, Bool) { - if let type = type, let timeout = timeout { +func authorizationNextOptionText(currentType: SentAuthorizationCodeType, nextType: AuthorizationCodeNextType?, timeout: Int32?, strings: PresentationStrings, primaryColor: UIColor, accentColor: UIColor) -> (NSAttributedString, Bool) { + if let nextType = nextType, let timeout = timeout { let minutes = timeout / 60 let seconds = timeout % 60 - switch type { + switch nextType { case .sms: if timeout <= 0 { return (NSAttributedString(string: strings.Login_CodeSentSms, font: Font.regular(16.0), textColor: primaryColor, paragraphAlignment: .center), false) @@ -37,7 +37,12 @@ func authorizationNextOptionText(_ type: AuthorizationCodeNextType?, timeout: In } } } else { - return (NSAttributedString(string: strings.Login_HaveNotReceivedCodeInternal, font: Font.regular(16.0), textColor: accentColor, paragraphAlignment: .center), true) + switch currentType { + case .otherSession: + return (NSAttributedString(string: strings.Login_SendCodeViaSms, font: Font.regular(16.0), textColor: accentColor, paragraphAlignment: .center), true) + default: + return (NSAttributedString(string: strings.Login_HaveNotReceivedCodeInternal, font: Font.regular(16.0), textColor: accentColor, paragraphAlignment: .center), true) + } } } @@ -47,7 +52,7 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF private let strings: PresentationStrings private let theme: AuthorizationTheme - private let titleNode: ASTextNode + private let titleNode: ImmediateTextNode private let titleIconNode: ASImageNode private let currentOptionNode: ASTextNode private let nextOptionNode: HighlightableButtonNode @@ -64,7 +69,11 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF var phoneNumber: String = "" { didSet { - self.titleNode.attributedText = NSAttributedString(string: self.phoneNumber, font: Font.light(30.0), textColor: self.theme.primaryColor) + if self.phoneNumber != oldValue { + if let (layout, navigationHeight) = self.layoutArguments { + self.containerLayoutUpdated(layout, navigationBarHeight: navigationHeight, transition: .immediate) + } + } } } @@ -86,7 +95,9 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF self.strings = strings self.theme = theme - self.titleNode = ASTextNode() + self.titleNode = ImmediateTextNode() + self.titleNode.maximumNumberOfLines = 0 + self.titleNode.textAlignment = .center self.titleNode.isUserInteractionEnabled = false self.titleNode.displaysAsynchronously = false @@ -125,7 +136,7 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF self.nextOptionNode = HighlightableButtonNode() self.nextOptionNode.displaysAsynchronously = false - let (nextOptionText, nextOptionActive) = authorizationNextOptionText(AuthorizationCodeNextType.call, timeout: 60, strings: self.strings, primaryColor: self.theme.primaryColor, accentColor: self.theme.accentColor) + let (nextOptionText, nextOptionActive) = authorizationNextOptionText(currentType: .sms(length: 5), nextType: .call, timeout: 60, strings: self.strings, primaryColor: self.theme.primaryColor, accentColor: self.theme.accentColor) self.nextOptionNode.setAttributedTitle(nextOptionText, for: []) self.nextOptionNode.isUserInteractionEnabled = nextOptionActive @@ -206,7 +217,7 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF if let strongSelf = self { if let currentTimeoutTime = strongSelf.currentTimeoutTime, currentTimeoutTime > 0 { strongSelf.currentTimeoutTime = currentTimeoutTime - 1 - let (nextOptionText, nextOptionActive) = authorizationNextOptionText(nextType, timeout:strongSelf.currentTimeoutTime, strings: strongSelf.strings, primaryColor: strongSelf.theme.primaryColor, accentColor: strongSelf.theme.accentColor) + let (nextOptionText, nextOptionActive) = authorizationNextOptionText(currentType: codeType, nextType: nextType, timeout:strongSelf.currentTimeoutTime, strings: strongSelf.strings, primaryColor: strongSelf.theme.primaryColor, accentColor: strongSelf.theme.accentColor) strongSelf.nextOptionNode.setAttributedTitle(nextOptionText, for: []) strongSelf.nextOptionNode.isUserInteractionEnabled = nextOptionActive @@ -224,7 +235,7 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF self.currentTimeoutTime = nil self.countdownDisposable.set(nil) } - let (nextOptionText, nextOptionActive) = authorizationNextOptionText(nextType, timeout: self.currentTimeoutTime, strings: self.strings, primaryColor: self.theme.primaryColor, accentColor: self.theme.accentColor) + let (nextOptionText, nextOptionActive) = authorizationNextOptionText(currentType: codeType, nextType: nextType, timeout: self.currentTimeoutTime, strings: self.strings, primaryColor: self.theme.primaryColor, accentColor: self.theme.accentColor) self.nextOptionNode.setAttributedTitle(nextOptionText, for: []) self.nextOptionNode.isUserInteractionEnabled = nextOptionActive } @@ -236,12 +247,26 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF insets.top = navigationBarHeight if max(layout.size.width, layout.size.height) > 1023.0 { - self.titleNode.attributedText = NSAttributedString(string: self.phoneNumber, font: Font.light(40.0), textColor: self.theme.primaryColor) + if let codeType = self.codeType, case .otherSession = codeType { + self.titleNode.attributedText = NSAttributedString(string: self.strings.Login_CheckOtherSessionMessages, font: Font.medium(32.0), textColor: self.theme.primaryColor) + } else { + self.titleNode.attributedText = NSAttributedString(string: self.phoneNumber, font: Font.light(40.0), textColor: self.theme.primaryColor) + } } else { - self.titleNode.attributedText = NSAttributedString(string: self.phoneNumber, font: Font.light(30.0), textColor: self.theme.primaryColor) + if let codeType = self.codeType, case .otherSession = codeType { + let fontSize: CGFloat + if layout.size.width > 330.0 { + fontSize = 22.0 + } else { + fontSize = 18.0 + } + self.titleNode.attributedText = NSAttributedString(string: self.strings.Login_CheckOtherSessionMessages, font: Font.semibold(fontSize), textColor: self.theme.primaryColor) + } else { + self.titleNode.attributedText = NSAttributedString(string: self.phoneNumber, font: Font.light(30.0), textColor: self.theme.primaryColor) + } } - let titleSize = self.titleNode.measure(CGSize(width: layout.size.width, height: CGFloat.greatestFiniteMagnitude)) + let titleSize = self.titleNode.updateLayout(CGSize(width: layout.size.width, height: CGFloat.greatestFiniteMagnitude)) let currentOptionSize = self.currentOptionNode.measure(CGSize(width: layout.size.width - 28.0, height: CGFloat.greatestFiniteMagnitude)) let nextOptionSize = self.nextOptionNode.measure(CGSize(width: layout.size.width, height: CGFloat.greatestFiniteMagnitude)) @@ -250,7 +275,7 @@ final class AuthorizationSequenceCodeEntryControllerNode: ASDisplayNode, UITextF if let codeType = self.codeType, case .otherSession = codeType { self.titleIconNode.isHidden = false items.append(AuthorizationLayoutItem(node: self.titleIconNode, size: self.titleIconNode.image!.size, spacingBefore: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) - items.append(AuthorizationLayoutItem(node: self.titleNode, size: titleSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 10.0, maxValue: 10.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) + items.append(AuthorizationLayoutItem(node: self.titleNode, size: titleSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 18.0, maxValue: 18.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) items.append(AuthorizationLayoutItem(node: self.currentOptionNode, size: currentOptionSize, spacingBefore: AuthorizationLayoutItemSpacing(weight: 10.0, maxValue: 10.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) items.append(AuthorizationLayoutItem(node: self.codeField, size: CGSize(width: layout.size.width - 88.0, height: 44.0), spacingBefore: AuthorizationLayoutItemSpacing(weight: 40.0, maxValue: 100.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) items.append(AuthorizationLayoutItem(node: self.codeSeparatorNode, size: CGSize(width: layout.size.width - 88.0, height: UIScreenPixel), spacingBefore: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0), spacingAfter: AuthorizationLayoutItemSpacing(weight: 0.0, maxValue: 0.0))) diff --git a/TelegramUI/AuthorizationSequenceController.swift b/TelegramUI/AuthorizationSequenceController.swift index 4f27ad21d4..1acfcfe382 100644 --- a/TelegramUI/AuthorizationSequenceController.swift +++ b/TelegramUI/AuthorizationSequenceController.swift @@ -296,6 +296,12 @@ public final class AuthorizationSequenceController: NavigationController { text = strongSelf.strings.Login_InvalidCodeError case .generic: text = strongSelf.strings.Login_UnknownError + case .codeExpired: + let account = strongSelf.account + let _ = (strongSelf.account.postbox.transaction { transaction -> Void in + transaction.setState(UnauthorizedAccountState(isTestingEnvironment: account.testingEnvironment, masterDatacenterId: account.masterDatacenterId, contents: .empty)) + }).start() + return } controller.present(standardTextAlertController(theme: AlertControllerTheme(authTheme: strongSelf.theme), title: nil, text: text, actions: [TextAlertAction(type: .defaultAction, title: strongSelf.strings.Common_OK, action: {})]), in: .window(.root)) diff --git a/TelegramUI/ChangePhoneNumberCodeController.swift b/TelegramUI/ChangePhoneNumberCodeController.swift index d8953dbcef..0d67bf9c16 100644 --- a/TelegramUI/ChangePhoneNumberCodeController.swift +++ b/TelegramUI/ChangePhoneNumberCodeController.swift @@ -132,7 +132,7 @@ private func changePhoneNumberCodeControllerEntries(presentationData: Presentati entries.append(.codeEntry(presentationData.theme, state.codeText)) var text = authorizationCurrentOptionText(codeData.type, strings: presentationData.strings, primaryColor: presentationData.theme.list.itemPrimaryTextColor, accentColor: presentationData.theme.list.itemAccentColor).string if let nextType = codeData.nextType { - text += "\n\n" + authorizationNextOptionText(nextType, timeout: timeout, strings: presentationData.strings, primaryColor: .black, accentColor: .black).0.string + text += "\n\n" + authorizationNextOptionText(currentType: codeData.type, nextType: nextType, timeout: timeout, strings: presentationData.strings, primaryColor: .black, accentColor: .black).0.string } entries.append(.codeInfo(presentationData.theme, text)) diff --git a/TelegramUI/ChatController.swift b/TelegramUI/ChatController.swift index a3ac21116e..651de33b64 100644 --- a/TelegramUI/ChatController.swift +++ b/TelegramUI/ChatController.swift @@ -131,7 +131,7 @@ public final class ChatController: TelegramController, KeyShortcutResponder, UID private var searchQuerySuggestionState: (ChatPresentationInputQuery?, Disposable)? private var urlPreviewQueryState: (String?, Disposable)? private var editingUrlPreviewQueryState: (String?, Disposable)? - private var searchState: (String, SearchMessagesLocation)? + private var searchState: ChatSearchState? private var recordingModeFeedback: HapticFeedback? private var recorderFeedback: HapticFeedback? @@ -4136,98 +4136,152 @@ public final class ChatController: TelegramController, KeyShortcutResponder, UID } private func updateSearch(_ interfaceState: ChatPresentationInterfaceState) -> ChatPresentationInterfaceState? { - var queryAndLocation: (String, SearchMessagesLocation)? + let limit: Int32 = 100 + + var derivedSearchState: ChatSearchState? if let search = interfaceState.search { + func loadMoreIndexFromResultsState(_ resultsState: ChatSearchResultsState?) -> MessageIndex? { + guard let resultsState = resultsState, let currentId = resultsState.currentId else { + return nil + } + if let index = resultsState.messageIndices.index(where: { $0.id == currentId }) { + if index <= limit / 2 { + return resultsState.messageIndices.first + } + } + return nil + } switch search.domain { case .everything: switch self.chatLocation { case let .peer(peerId): - queryAndLocation = (search.query, .peer(peerId: peerId, fromId: nil, tags: nil)) + derivedSearchState = ChatSearchState(query: search.query, location: .peer(peerId: peerId, fromId: nil, tags: nil), loadMoreIndex: loadMoreIndexFromResultsState(search.resultsState)) case let .group(groupId): - queryAndLocation = (search.query, .group(groupId)) + derivedSearchState = ChatSearchState(query: search.query, location: .group(groupId), loadMoreIndex: loadMoreIndexFromResultsState(search.resultsState)) } case .members: - queryAndLocation = nil + derivedSearchState = nil case let .member(peer): switch self.chatLocation { case let .peer(peerId): - queryAndLocation = (search.query, .peer(peerId: peerId, fromId: peer.id, tags: nil)) + derivedSearchState = ChatSearchState(query: search.query, location: .peer(peerId: peerId, fromId: peer.id, tags: nil), loadMoreIndex: loadMoreIndexFromResultsState(search.resultsState)) case .group: - queryAndLocation = nil + derivedSearchState = nil } } } - if queryAndLocation?.0 != self.searchState?.0 || queryAndLocation?.1 != self.searchState?.1 { - self.searchState = queryAndLocation - if let (query, location) = queryAndLocation { - var queryIsEmpty = false - if query.isEmpty { - if case let .peer(_, fromId, _) = location { - if fromId == nil { + if derivedSearchState != self.searchState { + let previousSearchState = self.searchState + self.searchState = derivedSearchState + if let searchState = derivedSearchState { + if previousSearchState?.query != searchState.query || previousSearchState?.location != searchState.location { + var queryIsEmpty = false + if searchState.query.isEmpty { + if case let .peer(_, fromId, _) = searchState.location { + if fromId == nil { + queryIsEmpty = true + } + } else { queryIsEmpty = true } - } else { - queryIsEmpty = true } - } - - if queryIsEmpty { - self.searching.set(false) - self.searchDisposable?.set(nil) - if let data = interfaceState.search { - return interfaceState.updatedSearch(data.withUpdatedResultsState(nil)) - } - } else { - self.searching.set(true) - let searchDisposable: MetaDisposable - if let current = self.searchDisposable { - searchDisposable = current - } else { - searchDisposable = MetaDisposable() - self.searchDisposable = searchDisposable - } - let limit: Int32 = 100 - searchDisposable.set((searchMessages(account: self.account, location: location, query: query, limit: limit) - |> map { ($0.0, $0.2) } - |> delay(0.2, queue: Queue.mainQueue()) - |> deliverOnMainQueue).start(next: { [weak self] results, totalCount in - guard let strongSelf = self else { - return + + if queryIsEmpty { + self.searching.set(false) + self.searchDisposable?.set(nil) + if let data = interfaceState.search { + return interfaceState.updatedSearch(data.withUpdatedResultsState(nil)) } - let complete = results.count >= Int(totalCount) - var navigateIndex: MessageIndex? - strongSelf.updateChatPresentationInterfaceState(animated: true, interactive: true, { current in - if let data = current.search { - let messageIndices = results.map({ MessageIndex($0) }).sorted() - var currentIndex = messageIndices.last - if let previousResultId = data.resultsState?.currentId { - for index in messageIndices { - if index.id >= previousResultId { - currentIndex = index - break + } else { + self.searching.set(true) + let searchDisposable: MetaDisposable + if let current = self.searchDisposable { + searchDisposable = current + } else { + searchDisposable = MetaDisposable() + self.searchDisposable = searchDisposable + } + searchDisposable.set((searchMessages(account: self.account, location: searchState.location, query: searchState.query, limit: limit) + |> map { ($0.0, $0.2) } + |> delay(0.2, queue: Queue.mainQueue()) + |> deliverOnMainQueue).start(next: { [weak self] results, totalCount in + guard let strongSelf = self else { + return + } + let complete = results.count >= Int(totalCount) + var navigateIndex: MessageIndex? + strongSelf.updateChatPresentationInterfaceState(animated: true, interactive: true, { current in + if let data = current.search { + let messageIndices = results.map({ MessageIndex($0) }).sorted() + var currentIndex = messageIndices.last + if let previousResultId = data.resultsState?.currentId { + for index in messageIndices { + if index.id >= previousResultId { + currentIndex = index + break + } } } + navigateIndex = currentIndex + return current.updatedSearch(data.withUpdatedResultsState(ChatSearchResultsState(messageIndices: messageIndices, currentId: currentIndex?.id, totalCount: totalCount, complete: complete))) + } else { + return current + } + }) + if let navigateIndex = navigateIndex { + switch strongSelf.chatLocation { + case .peer: + strongSelf.navigateToMessage(from: nil, to: .id(navigateIndex.id)) + case .group: + strongSelf.navigateToMessage(from: nil, to: .index(navigateIndex)) } - navigateIndex = currentIndex - return current.updatedSearch(data.withUpdatedResultsState(ChatSearchResultsState(messageIndices: messageIndices, currentId: currentIndex?.id, totalCount: totalCount, complete: complete))) - } else { - return current } - }) - if let navigateIndex = navigateIndex { - switch strongSelf.chatLocation { - case .peer: - strongSelf.navigateToMessage(from: nil, to: .id(navigateIndex.id)) - case .group: - strongSelf.navigateToMessage(from: nil, to: .index(navigateIndex)) + }, completed: { [weak self] in + if let strongSelf = self { + strongSelf.searching.set(false) } + })) + } + } else if previousSearchState?.loadMoreIndex != searchState.loadMoreIndex { + if let loadMoreIndex = searchState.loadMoreIndex { + self.searching.set(true) + let searchDisposable: MetaDisposable + if let current = self.searchDisposable { + searchDisposable = current + } else { + searchDisposable = MetaDisposable() + self.searchDisposable = searchDisposable } - }, completed: { [weak self] in - if let strongSelf = self { - strongSelf.searching.set(false) - } - })) + searchDisposable.set((searchMessages(account: self.account, location: searchState.location, query: searchState.query, lowerBound: loadMoreIndex, limit: limit) + |> map { ($0.0, $0.2) } + |> delay(0.2, queue: Queue.mainQueue()) + |> deliverOnMainQueue).start(next: { [weak self] results, totalCount in + guard let strongSelf = self else { + return + } + let complete = results.count != 0 + strongSelf.updateChatPresentationInterfaceState(animated: true, interactive: true, { current in + if let data = current.search, let previousResultsState = data.resultsState { + let previousSet = Set(previousResultsState.messageIndices) + let messageIndices = results.map({ MessageIndex($0) }).sorted() + var mergedIndices = messageIndices.filter({ !previousSet.contains($0) }) + mergedIndices.append(contentsOf: previousResultsState.messageIndices) + + return current.updatedSearch(data.withUpdatedResultsState(ChatSearchResultsState(messageIndices: mergedIndices, currentId: previousResultsState.currentId, totalCount: totalCount, complete: complete))) + } else { + return current + } + }) + }, completed: { [weak self] in + if let strongSelf = self { + strongSelf.searching.set(false) + } + })) + } else { + self.searching.set(false) + self.searchDisposable?.set(nil) + } } } else { self.searching.set(false) @@ -4237,8 +4291,6 @@ public final class ChatController: TelegramController, KeyShortcutResponder, UID return interfaceState.updatedSearch(data.withUpdatedResultsState(nil)) } } - } else if let (query, location) = self.searchState, let search = interfaceState.search, let resultsState = search.resultsState, !resultsState.complete { - } return nil } diff --git a/TelegramUI/ChatMessageWebpageBubbleContentNode.swift b/TelegramUI/ChatMessageWebpageBubbleContentNode.swift index 9ce4ef6548..7bdc5b5e35 100644 --- a/TelegramUI/ChatMessageWebpageBubbleContentNode.swift +++ b/TelegramUI/ChatMessageWebpageBubbleContentNode.swift @@ -351,18 +351,27 @@ final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContentNode { override func updateHiddenMedia(_ media: [Media]?) -> Bool { if let media = media { var updatedMedia = media - for item in media { - if let webpage = item as? TelegramMediaWebpage, let current = self.webPage, webpage.isEqual(to: current) { - var mediaList: [Media] = [webpage] - if case let .Loaded(content) = webpage.content { + if let current = self.webPage, case let .Loaded(content) = current.content { + for item in media { + if let webpage = item as? TelegramMediaWebpage, webpage.id == current.id { + var mediaList: [Media] = [webpage] if let image = content.image { mediaList.append(image) } if let file = content.file { mediaList.append(file) } + updatedMedia = mediaList + } else if let id = item.id, content.file?.id == id || content.image?.id == id { + var mediaList: [Media] = [current] + if let image = content.image { + mediaList.append(image) + } + if let file = content.file { + mediaList.append(file) + } + updatedMedia = mediaList } - updatedMedia = mediaList } } return self.contentNode.updateHiddenMedia(updatedMedia) @@ -379,8 +388,15 @@ final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContentNode { if let result = self.contentNode.transitionNode(media: media) { return result } - if let webpage = media as? TelegramMediaWebpage, let current = self.webPage, webpage.isEqual(to: current) { - if case let .Loaded(content) = webpage.content { + if let current = self.webPage, case let .Loaded(content) = current.content { + if let webpage = media as? TelegramMediaWebpage, webpage.id == current.id { + if let image = content.image, let result = self.contentNode.transitionNode(media: image) { + return result + } + if let file = content.file, let result = self.contentNode.transitionNode(media: file) { + return result + } + } else if let id = media.id, id == content.file?.id || id == content.image?.id { if let image = content.image, let result = self.contentNode.transitionNode(media: image) { return result } diff --git a/TelegramUI/ChatSearchState.swift b/TelegramUI/ChatSearchState.swift new file mode 100644 index 0000000000..671715622c --- /dev/null +++ b/TelegramUI/ChatSearchState.swift @@ -0,0 +1,9 @@ +import Foundation +import Postbox +import TelegramCore + +struct ChatSearchState: Equatable { + let query: String + let location: SearchMessagesLocation + let loadMoreIndex: MessageIndex? +} diff --git a/TelegramUI/GalleryController.swift b/TelegramUI/GalleryController.swift index c699e0ecea..cf37d43008 100644 --- a/TelegramUI/GalleryController.swift +++ b/TelegramUI/GalleryController.swift @@ -46,22 +46,22 @@ private func galleryMediaForMedia(media: Media) -> Media? { return nil } -private func mediaForMessage(message: Message) -> Media? { +private func mediaForMessage(message: Message) -> (Media, TelegramMediaImage?)? { for media in message.media { if let result = galleryMediaForMedia(media: media) { - return result + return (result, nil) } else if let webpage = media as? TelegramMediaWebpage { switch webpage.content { case let .Loaded(content): if let embedUrl = content.embedUrl, !embedUrl.isEmpty { - return webpage + return (webpage, nil) } else if let file = content.file { if let result = galleryMediaForMedia(media: file) { - return result + return (result, content.image) } } else if let image = content.image { if let result = galleryMediaForMedia(media: image) { - return result + return (result, nil) } } case .Pending: @@ -125,17 +125,17 @@ func galleryCaptionStringWithAppliedEntities(_ text: String, entities: [MessageT func galleryItemForEntry(account: Account, presentationData: PresentationData, entry: MessageHistoryEntry, streamVideos: Bool, loopVideos: Bool = false, hideControls: Bool = false, playbackCompleted: @escaping () -> Void = {}, openUrl: @escaping (String) -> Void = { _ in }, openUrlOptions: @escaping (String) -> Void = { _ in }) -> GalleryItem? { switch entry { case let .MessageEntry(message, _, location, _): - if let media = mediaForMessage(message: message) { + if let (media, mediaImage) = mediaForMessage(message: message) { if let _ = media as? TelegramMediaImage { return ChatImageGalleryItem(account: account, presentationData: presentationData, message: message, location: location, openUrl: openUrl, openUrlOptions: openUrlOptions) } else if let file = media as? TelegramMediaFile { if file.isVideo { let content: UniversalVideoContent if file.isAnimated { - content = NativeVideoContent(id: .message(message.id, message.stableId + 1, file.fileId), fileReference: .message(message: MessageReference(message), media: file), streamVideo: false, loopVideo: true, enableSound: false) + content = NativeVideoContent(id: .message(message.id, message.stableId + 1, file.fileId), fileReference: .message(message: MessageReference(message), media: file), imageReference: mediaImage.flatMap({ ImageMediaReference.message(message: MessageReference(message), media: $0) }), streamVideo: false, loopVideo: true, enableSound: false) } else { if true || (file.mimeType == "video/mpeg4" || file.mimeType == "video/mov" || file.mimeType == "video/mp4") { - content = NativeVideoContent(id: .message(message.id, message.stableId, file.fileId), fileReference: .message(message: MessageReference(message), media: file), streamVideo: true, loopVideo: loopVideos) + content = NativeVideoContent(id: .message(message.id, message.stableId, file.fileId), fileReference: .message(message: MessageReference(message), media: file), imageReference: mediaImage.flatMap({ ImageMediaReference.message(message: MessageReference(message), media: $0) }), streamVideo: true, loopVideo: loopVideos) } else { content = PlatformVideoContent(id: .message(message.id, message.stableId, file.fileId), fileReference: .message(message: MessageReference(message), media: file), streamVideo: streamVideos, loopVideo: loopVideos) } @@ -565,7 +565,7 @@ class GalleryController: ViewController { if let centralItemNode = self.galleryNode.pager.centralItemNode(), let presentationArguments = self.presentationArguments as? GalleryControllerPresentationArguments { if case let .MessageEntry(message, _, _, _) = self.entries[centralItemNode.index] { - if let media = mediaForMessage(message: message), let transitionArguments = presentationArguments.transitionArguments(message.id, media), !forceAway { + if let (media, _) = mediaForMessage(message: message), let transitionArguments = presentationArguments.transitionArguments(message.id, media), !forceAway { animatedOutNode = false centralItemNode.animateOut(to: transitionArguments.transitionNode, addToTransitionSurface: transitionArguments.addToTransitionSurface, completion: { animatedOutNode = true @@ -603,7 +603,7 @@ class GalleryController: ViewController { if let strongSelf = self { if let centralItemNode = strongSelf.galleryNode.pager.centralItemNode(), let presentationArguments = strongSelf.presentationArguments as? GalleryControllerPresentationArguments { if case let .MessageEntry(message, _, _, _) = strongSelf.entries[centralItemNode.index] { - if let media = mediaForMessage(message: message), let transitionArguments = presentationArguments.transitionArguments(message.id, media) { + if let (media, _) = mediaForMessage(message: message), let transitionArguments = presentationArguments.transitionArguments(message.id, media) { return (transitionArguments.transitionNode, transitionArguments.addToTransitionSurface) } } @@ -663,7 +663,7 @@ class GalleryController: ViewController { if let strongSelf = self { var hiddenItem: (MessageId, Media)? if let index = index { - if case let .MessageEntry(message, _, _, _) = strongSelf.entries[index], let media = mediaForMessage(message: message) { + if case let .MessageEntry(message, _, _, _) = strongSelf.entries[index], let (media, _) = mediaForMessage(message: message) { hiddenItem = (message.id, media) } @@ -711,7 +711,7 @@ class GalleryController: ViewController { self.centralItemNavigationStyle.set(centralItemNode.navigationStyle()) self.centralItemFooterContentNode.set(centralItemNode.footerContent()) - if let media = mediaForMessage(message: message) { + if let (media, _) = mediaForMessage(message: message) { if let presentationArguments = self.presentationArguments as? GalleryControllerPresentationArguments, let transitionArguments = presentationArguments.transitionArguments(message.id, media) { nodeAnimatesItself = true centralItemNode.activateAsInitial() diff --git a/TelegramUI/MediaManager.swift b/TelegramUI/MediaManager.swift index 90d026a0b8..5b6da29987 100644 --- a/TelegramUI/MediaManager.swift +++ b/TelegramUI/MediaManager.swift @@ -26,6 +26,11 @@ private let sharedAudioSession: ManagedAudioSession = { return audioSession }() +enum SharedMediaPlayerItemPlaybackStateOrLoading: Equatable { + case state(SharedMediaPlayerItemPlaybackState) + case loading +} + private struct GlobalControlOptions: OptionSet { var rawValue: Int32 @@ -70,12 +75,16 @@ public final class MediaManager: NSObject { didSet { if self.voiceMediaPlayer !== oldValue { if let voiceMediaPlayer = self.voiceMediaPlayer { - self.voiceMediaPlayerStateValue.set(voiceMediaPlayer.playbackState |> map { state in - if let state = state, case let .item(item) = state { - return item - } else { + self.voiceMediaPlayerStateValue.set(voiceMediaPlayer.playbackState + |> map { state -> SharedMediaPlayerItemPlaybackStateOrLoading? in + guard let state = state else { return nil } + if case let .item(item) = state { + return .state(item) + } else { + return .loading + } } |> deliverOnMainQueue) } else { self.voiceMediaPlayerStateValue.set(.single(nil)) @@ -83,8 +92,8 @@ public final class MediaManager: NSObject { } } } - private let voiceMediaPlayerStateValue = Promise(nil) - var voiceMediaPlayerState: Signal { + private let voiceMediaPlayerStateValue = Promise(nil) + var voiceMediaPlayerState: Signal { return self.voiceMediaPlayerStateValue.get() } @@ -92,12 +101,16 @@ public final class MediaManager: NSObject { didSet { if self.musicMediaPlayer !== oldValue { if let musicMediaPlayer = self.musicMediaPlayer { - self.musicMediaPlayerStateValue.set(musicMediaPlayer.playbackState |> map { state in - if let state = state, case let .item(item) = state { - return item - } else { + self.musicMediaPlayerStateValue.set(musicMediaPlayer.playbackState + |> map { state -> SharedMediaPlayerItemPlaybackStateOrLoading? in + guard let state = state else { return nil } + if case let .item(item) = state { + return .state(item) + } else { + return .loading + } } |> deliverOnMainQueue) } else { self.musicMediaPlayerStateValue.set(.single(nil)) @@ -105,13 +118,13 @@ public final class MediaManager: NSObject { } } } - private let musicMediaPlayerStateValue = Promise(nil) - var musicMediaPlayerState: Signal { + private let musicMediaPlayerStateValue = Promise(nil) + var musicMediaPlayerState: Signal { return self.musicMediaPlayerStateValue.get() } - private let globalMediaPlayerStateValue = Promise<(SharedMediaPlayerItemPlaybackState, MediaManagerPlayerType)?>() - var globalMediaPlayerState: Signal<(SharedMediaPlayerItemPlaybackState, MediaManagerPlayerType)?, NoError> { + private let globalMediaPlayerStateValue = Promise<(SharedMediaPlayerItemPlaybackStateOrLoading, MediaManagerPlayerType)?>() + var globalMediaPlayerState: Signal<(SharedMediaPlayerItemPlaybackStateOrLoading, MediaManagerPlayerType)?, NoError> { return self.globalMediaPlayerStateValue.get() } @@ -144,8 +157,8 @@ public final class MediaManager: NSObject { super.init() - let combinedPlayersSignal: Signal<(SharedMediaPlayerItemPlaybackState, MediaManagerPlayerType)?, NoError> = combineLatest(queue: Queue.mainQueue(), self.voiceMediaPlayerState, self.musicMediaPlayerState) - |> map { voice, music -> (SharedMediaPlayerItemPlaybackState, MediaManagerPlayerType)? in + let combinedPlayersSignal: Signal<(SharedMediaPlayerItemPlaybackStateOrLoading, MediaManagerPlayerType)?, NoError> = combineLatest(queue: Queue.mainQueue(), self.voiceMediaPlayerState, self.musicMediaPlayerState) + |> map { voice, music -> (SharedMediaPlayerItemPlaybackStateOrLoading, MediaManagerPlayerType)? in if let voice = voice { return (voice, .voice) } else if let music = music { @@ -154,7 +167,8 @@ public final class MediaManager: NSObject { return nil } } - self.globalMediaPlayerStateValue.set(combinedPlayersSignal |> distinctUntilChanged(isEqual: { lhs, rhs in + self.globalMediaPlayerStateValue.set(combinedPlayersSignal + |> distinctUntilChanged(isEqual: { lhs, rhs in return lhs?.0 == rhs?.0 && lhs?.1 == rhs?.1 })) @@ -200,7 +214,7 @@ public final class MediaManager: NSObject { self.globalControlsDisposable.set((self.globalMediaPlayerState |> deliverOnMainQueue).start(next: { stateAndType in var updatedGlobalControlOptions = GlobalControlOptions() - if let (state, type) = stateAndType { + if let (stateOrLoading, type) = stateAndType, case let .state(state) = stateOrLoading { if type == .music { updatedGlobalControlOptions.insert(.previous) updatedGlobalControlOptions.insert(.next) @@ -214,7 +228,7 @@ public final class MediaManager: NSObject { } } - if let (state, type) = stateAndType, type == .music, let displayData = state.item.displayData { + if let (stateOrLoading, type) = stateAndType, type == .music, case let .state(state) = stateOrLoading, let displayData = state.item.displayData { if previousDisplayData != displayData { previousDisplayData = displayData @@ -356,7 +370,7 @@ public final class MediaManager: NSObject { let shouldKeepAudioSession: Signal = combineLatest(queue: Queue.mainQueue(), self.globalMediaPlayerState, inForeground) |> map { stateAndType, inForeground -> Bool in var isPlaying = false - if let (state, _) = stateAndType { + if let (stateOrLoading, _) = stateAndType, case let .state(state) = stateOrLoading { switch state.status.status { case .playing: isPlaying = true @@ -484,15 +498,16 @@ public final class MediaManager: NSObject { } func filteredPlaylistState(playlistId: SharedMediaPlaylistId, itemId: SharedMediaPlaylistItemId, type: MediaManagerPlayerType) -> Signal { - let signal: Signal + let signal: Signal switch type { case .voice: signal = self.voiceMediaPlayerState case .music: signal = self.musicMediaPlayerState } - return signal |> map { state in - if let state = state { + return signal + |> map { stateOrLoading in + if let stateOrLoading = stateOrLoading, case let .state(state) = stateOrLoading { if state.playlistId.isEqual(to: playlistId) && state.item.id.isEqual(to: itemId) { return state } diff --git a/TelegramUI/OverlayPlayerControlsNode.swift b/TelegramUI/OverlayPlayerControlsNode.swift index 52b778ec1f..857a8216fb 100644 --- a/TelegramUI/OverlayPlayerControlsNode.swift +++ b/TelegramUI/OverlayPlayerControlsNode.swift @@ -100,7 +100,7 @@ final class OverlayPlayerControlsNode: ASDisplayNode { private var validLayout: (width: CGFloat, leftInset: CGFloat, rightInset: CGFloat, maxHeight: CGFloat)? - init(postbox: Postbox, theme: PresentationTheme, status: Signal) { + init(postbox: Postbox, theme: PresentationTheme, status: Signal) { self.postbox = postbox self.theme = theme @@ -179,7 +179,7 @@ final class OverlayPlayerControlsNode: ASDisplayNode { self.addSubnode(self.separatorNode) let mappedStatus = combineLatest(status, self.scrubberNode.scrubbingTimestamp) |> map { value, scrubbingTimestamp -> MediaPlayerStatus in - if let value = value { + if let valueOrLoading = value, case let .state(value) = valueOrLoading { return MediaPlayerStatus(generationTimestamp: value.status.generationTimestamp, duration: value.status.duration, dimensions: value.status.dimensions, timestamp: scrubbingTimestamp ?? value.status.timestamp, baseRate: value.status.baseRate, seekId: value.status.seekId, status: value.status.status) } else { return MediaPlayerStatus(generationTimestamp: 0.0, duration: 0.0, dimensions: CGSize(), timestamp: 0.0, baseRate: 1.0, seekId: 0, status: .paused) @@ -189,15 +189,20 @@ final class OverlayPlayerControlsNode: ASDisplayNode { self.leftDurationLabel.status = mappedStatus self.rightDurationLabel.status = mappedStatus - self.statusDisposable = (status |> deliverOnMainQueue).start(next: { [weak self] value in + self.statusDisposable = (status + |> deliverOnMainQueue).start(next: { [weak self] value in if let strongSelf = self { - if !areSharedMediaPlaylistItemIdsEqual(value?.item.id, strongSelf.currentItemId) { - strongSelf.currentItemId = value?.item.id + var valueItemId: SharedMediaPlaylistItemId? + if let value = value, case let .state(state) = value { + valueItemId = state.item.id + } + if !areSharedMediaPlaylistItemIdsEqual(valueItemId, strongSelf.currentItemId) { + strongSelf.currentItemId = valueItemId strongSelf.scrubberNode.ignoreSeekId = nil } strongSelf.shareNode.isHidden = false var displayData: SharedMediaPlaybackDisplayData? - if let value = value { + if let valueOrLoading = value, case let .state(value) = valueOrLoading { let isPaused: Bool switch value.status.status { case .playing: @@ -259,7 +264,7 @@ final class OverlayPlayerControlsNode: ASDisplayNode { strongSelf.displayData = displayData strongSelf.updateLabels(transition: .immediate) - if let source = value?.item.playbackData?.source { + if let valueOrLoading = value, case let .state(value) = valueOrLoading, let source = value.item.playbackData?.source { switch source { case let .telegramFile(fileReference): strongSelf.currentFileReference = fileReference diff --git a/TelegramUI/PhotoResources.swift b/TelegramUI/PhotoResources.swift index 1f3a49feaa..cdb90aee55 100644 --- a/TelegramUI/PhotoResources.swift +++ b/TelegramUI/PhotoResources.swift @@ -1520,7 +1520,7 @@ func internalMediaGridMessageVideo(postbox: Postbox, videoReference: FileMediaRe c.interpolationQuality = .medium c.draw(blurredImage.cgImage!, in: CGRect(origin: CGPoint(x: arguments.drawingRect.minX + (arguments.drawingRect.width - filledSize.width) / 2.0, y: arguments.drawingRect.minY + (arguments.drawingRect.height - filledSize.height) / 2.0), size: filledSize)) c.setBlendMode(.normal) - c.setFillColor((arguments.emptyColor ?? UIColor.white).withAlphaComponent(0.5).cgColor) + c.setFillColor((arguments.emptyColor ?? UIColor.white).withAlphaComponent(0.05).cgColor) c.fill(arguments.drawingRect) c.setBlendMode(.copy) } diff --git a/TelegramUI/PresentationStrings.swift b/TelegramUI/PresentationStrings.swift index b64e5d3a86..8fff41e0fe 100644 --- a/TelegramUI/PresentationStrings.swift +++ b/TelegramUI/PresentationStrings.swift @@ -1617,1601 +1617,1603 @@ public final class PresentationStrings { public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[1380]! } public var Conversation_MessageDialogDelete: String { return self._s[1383]! } public var Appearance_PreviewOutgoingText: String { return self._s[1384]! } - public var Username_Placeholder: String { return self._s[1385]! } + public var Login_CheckOtherSessionMessages: String { return self._s[1385]! } + public var Username_Placeholder: String { return self._s[1386]! } public func Notification_PinnedDeletedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1386]!, self._r[1386]!, [_0]) - } - public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1387]!, self._r[1387]!, [_0]) } - public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[1388]! } - public var UserInfo_BotHelp: String { return self._s[1389]! } - public var TwoStepAuth_PasswordSet: String { return self._s[1390]! } + public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1388]!, self._r[1388]!, [_0]) + } + public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[1389]! } + public var UserInfo_BotHelp: String { return self._s[1390]! } + public var TwoStepAuth_PasswordSet: String { return self._s[1391]! } public func CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1391]!, self._r[1391]!, [_1]) + return formatWithArgumentRanges(self._s[1392]!, self._r[1392]!, [_1]) } - public var EnterPasscode_TouchId: String { return self._s[1392]! } - public var AuthSessions_LoggedInWithTelegram: String { return self._s[1393]! } - public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[1396]! } - public var ChatAdmins_Title: String { return self._s[1397]! } - public var ChannelMembers_WhoCanAddMembers: String { return self._s[1398]! } - public var Passport_Language_ar: String { return self._s[1399]! } - public var PasscodeSettings_Help: String { return self._s[1400]! } - public var Conversation_EditingMessagePanelTitle: String { return self._s[1401]! } - public var Settings_AboutEmpty: String { return self._s[1402]! } + public var EnterPasscode_TouchId: String { return self._s[1393]! } + public var AuthSessions_LoggedInWithTelegram: String { return self._s[1394]! } + public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[1397]! } + public var ChatAdmins_Title: String { return self._s[1398]! } + public var ChannelMembers_WhoCanAddMembers: String { return self._s[1399]! } + public var Passport_Language_ar: String { return self._s[1400]! } + public var PasscodeSettings_Help: String { return self._s[1401]! } + public var Conversation_EditingMessagePanelTitle: String { return self._s[1402]! } + public var Settings_AboutEmpty: String { return self._s[1403]! } public func NetworkUsageSettings_CellularUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1403]!, self._r[1403]!, [_0]) + return formatWithArgumentRanges(self._s[1404]!, self._r[1404]!, [_0]) } - public var GroupInfo_ConvertToSupergroup: String { return self._s[1404]! } + public var GroupInfo_ConvertToSupergroup: String { return self._s[1405]! } public func Notification_PinnedContactMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1405]!, self._r[1405]!, [_0]) + return formatWithArgumentRanges(self._s[1406]!, self._r[1406]!, [_0]) } - public var CallSettings_UseLessDataLongDescription: String { return self._s[1406]! } - public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1407]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[1408]! } - public var Channel_Moderator_AccessLevelRevoke: String { return self._s[1409]! } - public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[1410]! } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[1411]! } - public var GroupInfo_InviteLink_RevokeLink: String { return self._s[1413]! } - public var Checkout_PaymentMethod_Title: String { return self._s[1414]! } - public var Conversation_Unmute: String { return self._s[1415]! } - public var AutoDownloadSettings_DocumentsTitle: String { return self._s[1416]! } - public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[1418]! } - public var Notifications_MessageNotifications: String { return self._s[1419]! } - public var Passport_ForgottenPassword: String { return self._s[1421]! } - public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1422]! } - public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1423]! } - public var Passport_Identity_TranslationHelp: String { return self._s[1424]! } + public var CallSettings_UseLessDataLongDescription: String { return self._s[1407]! } + public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1408]! } + public var Conversation_SecretChatContextBotAlert: String { return self._s[1409]! } + public var Channel_Moderator_AccessLevelRevoke: String { return self._s[1410]! } + public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[1411]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[1412]! } + public var GroupInfo_InviteLink_RevokeLink: String { return self._s[1414]! } + public var Checkout_PaymentMethod_Title: String { return self._s[1415]! } + public var Conversation_Unmute: String { return self._s[1416]! } + public var AutoDownloadSettings_DocumentsTitle: String { return self._s[1417]! } + public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[1419]! } + public var Notifications_MessageNotifications: String { return self._s[1420]! } + public var Passport_ForgottenPassword: String { return self._s[1422]! } + public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1423]! } + public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1424]! } + public var Passport_Identity_TranslationHelp: String { return self._s[1425]! } public func Update_AppVersion(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1425]!, self._r[1425]!, [_0]) + return formatWithArgumentRanges(self._s[1426]!, self._r[1426]!, [_0]) } public func DialogList_MultipleTyping(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1426]!, self._r[1426]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1427]!, self._r[1427]!, [_0, _1]) } - public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[1427]! } - public var Conversation_ClousStorageInfo_Description2: String { return self._s[1428]! } + public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[1428]! } + public var Conversation_ClousStorageInfo_Description2: String { return self._s[1429]! } public func Time_MonthOfYear_m5(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1429]!, self._r[1429]!, [_0]) + return formatWithArgumentRanges(self._s[1430]!, self._r[1430]!, [_0]) } - public var Map_Hybrid: String { return self._s[1430]! } - public var Channel_Setup_Title: String { return self._s[1431]! } - public var MediaPicker_TimerTooltip: String { return self._s[1432]! } - public var Activity_UploadingVideo: String { return self._s[1433]! } - public var Channel_Info_Management: String { return self._s[1434]! } + public var Map_Hybrid: String { return self._s[1431]! } + public var Channel_Setup_Title: String { return self._s[1432]! } + public var MediaPicker_TimerTooltip: String { return self._s[1433]! } + public var Activity_UploadingVideo: String { return self._s[1434]! } + public var Channel_Info_Management: String { return self._s[1435]! } public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1435]!, self._r[1435]!, [_0]) + return formatWithArgumentRanges(self._s[1436]!, self._r[1436]!, [_0]) } - public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1436]! } + public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1437]! } public func Notification_MessageLifetimeChangedOutgoing(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1437]!, self._r[1437]!, [_1]) + return formatWithArgumentRanges(self._s[1438]!, self._r[1438]!, [_1]) } - public var PhotoEditor_QualityVeryLow: String { return self._s[1438]! } - public var Stickers_AddToFavorites: String { return self._s[1439]! } - public var Month_ShortFebruary: String { return self._s[1440]! } - public var Notifications_AddExceptionTitle: String { return self._s[1441]! } - public var Conversation_ForwardTitle: String { return self._s[1442]! } - public var Settings_FAQ_URL: String { return self._s[1443]! } - public var Activity_RecordingVideoMessage: String { return self._s[1444]! } - public var SharedMedia_EmptyFilesText: String { return self._s[1445]! } + public var PhotoEditor_QualityVeryLow: String { return self._s[1439]! } + public var Stickers_AddToFavorites: String { return self._s[1440]! } + public var Month_ShortFebruary: String { return self._s[1441]! } + public var Notifications_AddExceptionTitle: String { return self._s[1442]! } + public var Conversation_ForwardTitle: String { return self._s[1443]! } + public var Settings_FAQ_URL: String { return self._s[1444]! } + public var Activity_RecordingVideoMessage: String { return self._s[1445]! } + public var SharedMedia_EmptyFilesText: String { return self._s[1446]! } public func Contacts_AccessDeniedHelpLandscape(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1446]!, self._r[1446]!, [_0]) + return formatWithArgumentRanges(self._s[1447]!, self._r[1447]!, [_0]) } - public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1447]! } - public var Contacts_AccessDeniedHelpON: String { return self._s[1448]! } - public var Passport_Identity_AddInternalPassport: String { return self._s[1449]! } - public var NetworkUsageSettings_ResetStats: String { return self._s[1450]! } - public var Share_AuthDescription: String { return self._s[1451]! } + public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1448]! } + public var Contacts_AccessDeniedHelpON: String { return self._s[1449]! } + public var Passport_Identity_AddInternalPassport: String { return self._s[1450]! } + public var NetworkUsageSettings_ResetStats: String { return self._s[1451]! } + public var Share_AuthDescription: String { return self._s[1452]! } public func CHAT_MESSAGE_PHOTOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1452]!, self._r[1452]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1453]!, self._r[1453]!, [_1, _2, _3]) } public func PrivacySettings_LastSeenContactsMinusPlus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1453]!, self._r[1453]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1454]!, self._r[1454]!, [_0, _1]) } - public var Channel_AdminLog_EmptyMessageText: String { return self._s[1454]! } + public var Channel_AdminLog_EmptyMessageText: String { return self._s[1455]! } public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1455]!, self._r[1455]!, [_0]) + return formatWithArgumentRanges(self._s[1456]!, self._r[1456]!, [_0]) } - public var SocksProxySetup_TypeSocks: String { return self._s[1456]! } - public var Profile_MessageLifetimeForever: String { return self._s[1457]! } - public var MediaPicker_UngroupDescription: String { return self._s[1458]! } + public var SocksProxySetup_TypeSocks: String { return self._s[1457]! } + public var Profile_MessageLifetimeForever: String { return self._s[1458]! } + public var MediaPicker_UngroupDescription: String { return self._s[1459]! } public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1459]!, self._r[1459]!, [_0]) + return formatWithArgumentRanges(self._s[1460]!, self._r[1460]!, [_0]) } - public var SocksProxySetup_Username: String { return self._s[1460]! } - public var Conversation_Edit: String { return self._s[1461]! } - public var TwoStepAuth_ResetAccountHelp: String { return self._s[1462]! } - public var Month_GenDecember: String { return self._s[1463]! } + public var SocksProxySetup_Username: String { return self._s[1461]! } + public var Conversation_Edit: String { return self._s[1462]! } + public var TwoStepAuth_ResetAccountHelp: String { return self._s[1463]! } + public var Month_GenDecember: String { return self._s[1464]! } public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1465]!, self._r[1465]!, [_0]) + return formatWithArgumentRanges(self._s[1466]!, self._r[1466]!, [_0]) } - public var Channel_ErrorAddBlocked: String { return self._s[1466]! } - public var Conversation_Unpin: String { return self._s[1467]! } - public var Call_RecordingDisabledMessage: String { return self._s[1469]! } - public var Passport_Address_TypeUtilityBill: String { return self._s[1470]! } - public var Conversation_UnblockUser: String { return self._s[1471]! } - public var Conversation_Unblock: String { return self._s[1472]! } + public var Channel_ErrorAddBlocked: String { return self._s[1467]! } + public var Conversation_Unpin: String { return self._s[1468]! } + public var Call_RecordingDisabledMessage: String { return self._s[1470]! } + public var Passport_Address_TypeUtilityBill: String { return self._s[1471]! } + public var Conversation_UnblockUser: String { return self._s[1472]! } + public var Conversation_Unblock: String { return self._s[1473]! } public func CHANNEL_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1473]!, self._r[1473]!, [_1]) + return formatWithArgumentRanges(self._s[1474]!, self._r[1474]!, [_1]) } - public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[1476]! } - public var AutoNightTheme_ScheduleSection: String { return self._s[1477]! } - public var Appearance_ThemeNightBlue: String { return self._s[1478]! } + public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[1477]! } + public var AutoNightTheme_ScheduleSection: String { return self._s[1478]! } + public var Appearance_ThemeNightBlue: String { return self._s[1479]! } public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1479]!, self._r[1479]!, [_0]) + return formatWithArgumentRanges(self._s[1480]!, self._r[1480]!, [_0]) } - public var Channel_Username_InvalidTooShort: String { return self._s[1480]! } - public var Conversation_ViewGroup: String { return self._s[1481]! } - public var Watch_LastSeen_WithinAWeek: String { return self._s[1482]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[1483]! } - public var Profile_MessageLifetime1w: String { return self._s[1484]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[1487]! } - public var DialogList_TabTitle: String { return self._s[1488]! } - public var UserInfo_GenericPhoneLabel: String { return self._s[1489]! } + public var Channel_Username_InvalidTooShort: String { return self._s[1481]! } + public var Conversation_ViewGroup: String { return self._s[1482]! } + public var Watch_LastSeen_WithinAWeek: String { return self._s[1483]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[1484]! } + public var Profile_MessageLifetime1w: String { return self._s[1485]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[1488]! } + public var DialogList_TabTitle: String { return self._s[1489]! } + public var UserInfo_GenericPhoneLabel: String { return self._s[1490]! } public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1490]!, self._r[1490]!, [_1]) + return formatWithArgumentRanges(self._s[1491]!, self._r[1491]!, [_1]) } - public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[1491]! } + public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[1492]! } public func Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1492]!, self._r[1492]!, [_0]) + return formatWithArgumentRanges(self._s[1493]!, self._r[1493]!, [_0]) } - public var Map_StopLiveLocation: String { return self._s[1493]! } - public var Message_LiveLocation: String { return self._s[1494]! } - public var NetworkUsageSettings_Title: String { return self._s[1496]! } - public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[1497]! } - public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[1498]! } - public var Wallpaper_Wallpaper: String { return self._s[1499]! } - public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1500]! } - public var SharedMedia_TitleLink: String { return self._s[1502]! } + public var Map_StopLiveLocation: String { return self._s[1494]! } + public var Message_LiveLocation: String { return self._s[1495]! } + public var NetworkUsageSettings_Title: String { return self._s[1497]! } + public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[1498]! } + public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[1499]! } + public var Wallpaper_Wallpaper: String { return self._s[1500]! } + public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1501]! } + public var SharedMedia_TitleLink: String { return self._s[1503]! } public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1504]!, self._r[1504]!, [_1]) + return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_1]) } public func Channel_AdminLog_MessageGroupPreHistoryHidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_0]) + return formatWithArgumentRanges(self._s[1506]!, self._r[1506]!, [_0]) } - public var Channel_JoinChannel: String { return self._s[1506]! } - public var StickerPack_Add: String { return self._s[1507]! } - public var Group_ErrorNotMutualContact: String { return self._s[1509]! } - public var AccessDenied_LocationDisabled: String { return self._s[1512]! } - public var Login_UnknownError: String { return self._s[1513]! } - public var Presence_online: String { return self._s[1514]! } - public var DialogList_Title: String { return self._s[1516]! } - public var Stickers_Install: String { return self._s[1519]! } - public var SearchImages_NoImagesFound: String { return self._s[1522]! } + public var Channel_JoinChannel: String { return self._s[1507]! } + public var StickerPack_Add: String { return self._s[1508]! } + public var Group_ErrorNotMutualContact: String { return self._s[1510]! } + public var AccessDenied_LocationDisabled: String { return self._s[1513]! } + public var Login_UnknownError: String { return self._s[1514]! } + public var Presence_online: String { return self._s[1515]! } + public var DialogList_Title: String { return self._s[1517]! } + public var Stickers_Install: String { return self._s[1520]! } + public var SearchImages_NoImagesFound: String { return self._s[1523]! } public func Watch_Time_ShortTodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1524]!, self._r[1524]!, [_0]) + return formatWithArgumentRanges(self._s[1525]!, self._r[1525]!, [_0]) } - public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[1525]! } - public var Passport_Identity_ExpiryDate: String { return self._s[1526]! } - public var UserInfo_GroupsInCommon: String { return self._s[1527]! } - public var Message_PinnedContactMessage: String { return self._s[1528]! } - public var AccessDenied_CameraDisabled: String { return self._s[1529]! } + public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[1526]! } + public var Passport_Identity_ExpiryDate: String { return self._s[1527]! } + public var UserInfo_GroupsInCommon: String { return self._s[1528]! } + public var Message_PinnedContactMessage: String { return self._s[1529]! } + public var AccessDenied_CameraDisabled: String { return self._s[1530]! } public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1530]!, self._r[1530]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1531]!, self._r[1531]!, [_1, _2, _3]) } - public var Passport_Email_EnterOtherEmail: String { return self._s[1531]! } + public var Passport_Email_EnterOtherEmail: String { return self._s[1532]! } public func LiveLocationUpdated_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1532]!, self._r[1532]!, [_0]) + return formatWithArgumentRanges(self._s[1533]!, self._r[1533]!, [_0]) } - public var NotificationsSound_Note: String { return self._s[1534]! } - public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1536]! } - public var PrivacyPolicy_Title: String { return self._s[1539]! } - public var Month_GenMarch: String { return self._s[1540]! } - public var Watch_UserInfo_Unmute: String { return self._s[1541]! } - public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[1542]! } - public var Common_Delete: String { return self._s[1543]! } - public var Username_Title: String { return self._s[1544]! } - public var Login_PhoneFloodError: String { return self._s[1545]! } - public var Channel_AdminLog_InfoPanelTitle: String { return self._s[1546]! } + public var NotificationsSound_Note: String { return self._s[1535]! } + public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1537]! } + public var PrivacyPolicy_Title: String { return self._s[1540]! } + public var Month_GenMarch: String { return self._s[1541]! } + public var Watch_UserInfo_Unmute: String { return self._s[1542]! } + public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[1543]! } + public var Common_Delete: String { return self._s[1544]! } + public var Username_Title: String { return self._s[1545]! } + public var Login_PhoneFloodError: String { return self._s[1546]! } + public var Channel_AdminLog_InfoPanelTitle: String { return self._s[1547]! } public func CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1547]!, self._r[1547]!, [_1]) + return formatWithArgumentRanges(self._s[1548]!, self._r[1548]!, [_1]) } public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1548]!, self._r[1548]!, [_0]) + return formatWithArgumentRanges(self._s[1549]!, self._r[1549]!, [_0]) } - public var Group_ErrorAddTooMuchBots: String { return self._s[1549]! } + public var Group_ErrorAddTooMuchBots: String { return self._s[1550]! } public func Notification_CallFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1550]!, self._r[1550]!, [_1, _2]) - } - public func CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1551]!, self._r[1551]!, [_1, _2]) } + public func CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1552]!, self._r[1552]!, [_1, _2]) + } public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1553]!, self._r[1553]!, [_0]) + return formatWithArgumentRanges(self._s[1554]!, self._r[1554]!, [_0]) } - public var Appearance_PickAccentColor: String { return self._s[1554]! } - public var Passport_Identity_EditDriversLicense: String { return self._s[1555]! } - public var Passport_Identity_AddPassport: String { return self._s[1556]! } - public var UserInfo_ShareBot: String { return self._s[1557]! } - public var Settings_ProxyConnected: String { return self._s[1558]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[1559]! } - public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1560]! } - public var TwoStepAuth_EmailSkip: String { return self._s[1562]! } - public var Conversation_ViewContactDetails: String { return self._s[1563]! } - public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[1564]! } - public var Conversation_JumpToDate: String { return self._s[1565]! } - public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[1566]! } - public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1568]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[1569]! } - public var Message_Photo: String { return self._s[1571]! } - public var Conversation_ReportSpam: String { return self._s[1572]! } - public var Camera_FlashAuto: String { return self._s[1573]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[1575]! } - public var Call_ConnectionErrorMessage: String { return self._s[1576]! } - public var Stickers_FrequentlyUsed: String { return self._s[1577]! } - public var LastSeen_ALongTimeAgo: String { return self._s[1579]! } - public var Passport_Identity_ReverseSide: String { return self._s[1580]! } - public var DialogList_SearchSectionGlobal: String { return self._s[1581]! } - public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[1582]! } - public var GroupInfo_AddUserLeftError: String { return self._s[1583]! } - public var Appearance_ThemeDay: String { return self._s[1584]! } - public var GroupInfo_GroupType: String { return self._s[1585]! } - public var Watch_Suggestion_OnMyWay: String { return self._s[1586]! } - public var Checkout_NewCard_PaymentCard: String { return self._s[1587]! } + public var Appearance_PickAccentColor: String { return self._s[1555]! } + public var Passport_Identity_EditDriversLicense: String { return self._s[1556]! } + public var Passport_Identity_AddPassport: String { return self._s[1557]! } + public var UserInfo_ShareBot: String { return self._s[1558]! } + public var Settings_ProxyConnected: String { return self._s[1559]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[1560]! } + public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1561]! } + public var TwoStepAuth_EmailSkip: String { return self._s[1563]! } + public var Conversation_ViewContactDetails: String { return self._s[1564]! } + public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[1565]! } + public var Conversation_JumpToDate: String { return self._s[1566]! } + public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[1567]! } + public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1569]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[1570]! } + public var Message_Photo: String { return self._s[1572]! } + public var Conversation_ReportSpam: String { return self._s[1573]! } + public var Camera_FlashAuto: String { return self._s[1574]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[1576]! } + public var Call_ConnectionErrorMessage: String { return self._s[1577]! } + public var Stickers_FrequentlyUsed: String { return self._s[1578]! } + public var LastSeen_ALongTimeAgo: String { return self._s[1580]! } + public var Passport_Identity_ReverseSide: String { return self._s[1581]! } + public var DialogList_SearchSectionGlobal: String { return self._s[1582]! } + public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[1583]! } + public var GroupInfo_AddUserLeftError: String { return self._s[1584]! } + public var Appearance_ThemeDay: String { return self._s[1585]! } + public var GroupInfo_GroupType: String { return self._s[1586]! } + public var Watch_Suggestion_OnMyWay: String { return self._s[1587]! } + public var Checkout_NewCard_PaymentCard: String { return self._s[1588]! } public func DialogList_SearchSubtitleFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1588]!, self._r[1588]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1589]!, self._r[1589]!, [_1, _2]) } - public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1589]! } + public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1590]! } public func Conversation_RestrictedInlineTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1590]!, self._r[1590]!, [_0]) + return formatWithArgumentRanges(self._s[1591]!, self._r[1591]!, [_0]) } - public var UserInfo_NotificationsDisabled: String { return self._s[1591]! } + public var UserInfo_NotificationsDisabled: String { return self._s[1592]! } public func CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1592]!, self._r[1592]!, [_1]) + return formatWithArgumentRanges(self._s[1593]!, self._r[1593]!, [_1]) } - public var NotificationsSound_Bamboo: String { return self._s[1594]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[1595]! } + public var NotificationsSound_Bamboo: String { return self._s[1595]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[1596]! } public func Channel_AdminLog_MessageGroupPreHistoryVisible(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1596]!, self._r[1596]!, [_0]) + return formatWithArgumentRanges(self._s[1597]!, self._r[1597]!, [_0]) } - public var BlockedUsers_LeavePrefix: String { return self._s[1598]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[1599]! } - public var Group_Setup_HistoryHeader: String { return self._s[1600]! } - public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1603]! } + public var BlockedUsers_LeavePrefix: String { return self._s[1599]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[1600]! } + public var Group_Setup_HistoryHeader: String { return self._s[1601]! } + public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1604]! } public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1604]!, self._r[1604]!, [_0]) + return formatWithArgumentRanges(self._s[1605]!, self._r[1605]!, [_0]) } public func MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1605]!, self._r[1605]!, [_1]) + return formatWithArgumentRanges(self._s[1606]!, self._r[1606]!, [_1]) } - public var DialogList_EncryptionProcessing: String { return self._s[1606]! } - public var GroupInfo_GroupHistory: String { return self._s[1608]! } - public var Conversation_ApplyLocalization: String { return self._s[1609]! } - public var FastTwoStepSetup_Title: String { return self._s[1610]! } - public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[1611]! } - public var Passport_Address_EditRentalAgreement: String { return self._s[1612]! } - public var Conversation_DeleteManyMessages: String { return self._s[1614]! } - public var CancelResetAccount_Title: String { return self._s[1615]! } - public var Notification_CallOutgoingShort: String { return self._s[1616]! } - public var SharedMedia_TitleAll: String { return self._s[1618]! } - public var Conversation_SlideToCancel: String { return self._s[1619]! } - public var AuthSessions_TerminateSession: String { return self._s[1620]! } - public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[1621]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[1622]! } - public var Channel_Members_Title: String { return self._s[1623]! } - public var Channel_AdminLog_CanDeleteMessages: String { return self._s[1624]! } - public var Privacy_DeleteDrafts: String { return self._s[1625]! } - public var Group_Setup_TypePrivateHelp: String { return self._s[1626]! } + public var DialogList_EncryptionProcessing: String { return self._s[1607]! } + public var GroupInfo_GroupHistory: String { return self._s[1609]! } + public var Conversation_ApplyLocalization: String { return self._s[1610]! } + public var FastTwoStepSetup_Title: String { return self._s[1611]! } + public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[1612]! } + public var Passport_Address_EditRentalAgreement: String { return self._s[1613]! } + public var Conversation_DeleteManyMessages: String { return self._s[1615]! } + public var CancelResetAccount_Title: String { return self._s[1616]! } + public var Notification_CallOutgoingShort: String { return self._s[1617]! } + public var SharedMedia_TitleAll: String { return self._s[1619]! } + public var Conversation_SlideToCancel: String { return self._s[1620]! } + public var AuthSessions_TerminateSession: String { return self._s[1621]! } + public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[1622]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[1623]! } + public var Channel_Members_Title: String { return self._s[1624]! } + public var Channel_AdminLog_CanDeleteMessages: String { return self._s[1625]! } + public var Privacy_DeleteDrafts: String { return self._s[1626]! } + public var Group_Setup_TypePrivateHelp: String { return self._s[1627]! } public func Notification_PinnedVideoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1627]!, self._r[1627]!, [_0]) + return formatWithArgumentRanges(self._s[1628]!, self._r[1628]!, [_0]) } - public var Conversation_ContextMenuStickerPackAdd: String { return self._s[1628]! } - public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[1629]! } - public var Channel_AdminLogFilter_EventsPinned: String { return self._s[1631]! } + public var Conversation_ContextMenuStickerPackAdd: String { return self._s[1629]! } + public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[1630]! } + public var Channel_AdminLogFilter_EventsPinned: String { return self._s[1632]! } public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1633]!, self._r[1633]!, [_0]) + return formatWithArgumentRanges(self._s[1634]!, self._r[1634]!, [_0]) } - public var SharedMedia_CategoryOther: String { return self._s[1634]! } - public var Passport_Address_Address: String { return self._s[1635]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[1636]! } - public var Preview_DeletePhoto: String { return self._s[1639]! } - public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[1640]! } - public var PasscodeSettings_TurnPasscodeOn: String { return self._s[1641]! } - public var AuthSessions_LogOutApplicationsHelp: String { return self._s[1642]! } - public var Passport_FieldOneOf_Delimeter: String { return self._s[1644]! } + public var SharedMedia_CategoryOther: String { return self._s[1635]! } + public var Passport_Address_Address: String { return self._s[1636]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[1637]! } + public var Preview_DeletePhoto: String { return self._s[1640]! } + public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[1641]! } + public var PasscodeSettings_TurnPasscodeOn: String { return self._s[1642]! } + public var AuthSessions_LogOutApplicationsHelp: String { return self._s[1643]! } + public var Passport_FieldOneOf_Delimeter: String { return self._s[1645]! } public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1645]!, self._r[1645]!, [_0]) + return formatWithArgumentRanges(self._s[1646]!, self._r[1646]!, [_0]) } - public var DialogList_Unpin: String { return self._s[1646]! } - public var GroupInfo_SetGroupPhoto: String { return self._s[1648]! } - public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[1649]! } - public var ConvertToSupergroup_Title: String { return self._s[1651]! } + public var DialogList_Unpin: String { return self._s[1647]! } + public var GroupInfo_SetGroupPhoto: String { return self._s[1649]! } + public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[1650]! } + public var ConvertToSupergroup_Title: String { return self._s[1652]! } public func CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1652]!, self._r[1652]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1653]!, self._r[1653]!, [_1, _2]) } - public var Notification_CallCanceledShort: String { return self._s[1653]! } - public var Channel_Setup_TypeHeader: String { return self._s[1654]! } + public var Notification_CallCanceledShort: String { return self._s[1654]! } + public var Channel_Setup_TypeHeader: String { return self._s[1655]! } public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1655]!, self._r[1655]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[1656]!, self._r[1656]!, [_1, _2, _3, _4, _5, _6]) } public func Channel_AdminLog_MessageRemovedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1656]!, self._r[1656]!, [_0]) + return formatWithArgumentRanges(self._s[1657]!, self._r[1657]!, [_0]) } - public var PrivacyPolicy_DeclineTitle: String { return self._s[1659]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[1660]! } - public var Privacy_ContactsSyncHelp: String { return self._s[1661]! } - public var Conversation_Search: String { return self._s[1663]! } + public var PrivacyPolicy_DeclineTitle: String { return self._s[1660]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[1661]! } + public var Privacy_ContactsSyncHelp: String { return self._s[1662]! } + public var Conversation_Search: String { return self._s[1664]! } public func Channel_Management_PromotedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1664]!, self._r[1664]!, [_0]) - } - public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1665]!, self._r[1665]!, [_0]) } - public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { + public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1666]!, self._r[1666]!, [_0]) } - public var SecretImage_Title: String { return self._s[1667]! } - public var Notifications_InAppNotificationsSounds: String { return self._s[1668]! } - public var Call_StatusRequesting: String { return self._s[1669]! } + public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1667]!, self._r[1667]!, [_0]) + } + public var SecretImage_Title: String { return self._s[1668]! } + public var Notifications_InAppNotificationsSounds: String { return self._s[1669]! } + public var Call_StatusRequesting: String { return self._s[1670]! } public func Channel_AdminLog_MessageRestrictedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1670]!, self._r[1670]!, [_0]) + return formatWithArgumentRanges(self._s[1671]!, self._r[1671]!, [_0]) } public func CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1671]!, self._r[1671]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1672]!, self._r[1672]!, [_1, _2]) } - public var SocksProxySetup_UseProxy: String { return self._s[1672]! } - public var Group_UpgradeNoticeText1: String { return self._s[1673]! } - public var ChatSettings_Other: String { return self._s[1674]! } + public var SocksProxySetup_UseProxy: String { return self._s[1673]! } + public var Group_UpgradeNoticeText1: String { return self._s[1674]! } + public var ChatSettings_Other: String { return self._s[1675]! } public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1675]!, self._r[1675]!, [_0]) + return formatWithArgumentRanges(self._s[1676]!, self._r[1676]!, [_0]) } - public var Channel_Stickers_CreateYourOwn: String { return self._s[1676]! } + public var Channel_Stickers_CreateYourOwn: String { return self._s[1677]! } public func Call_EmojiDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1678]!, self._r[1678]!, [_0]) + return formatWithArgumentRanges(self._s[1679]!, self._r[1679]!, [_0]) } - public var Settings_SaveIncomingPhotos: String { return self._s[1679]! } - public var TwoStepAuth_EnterEmailCode: String { return self._s[1680]! } + public var Settings_SaveIncomingPhotos: String { return self._s[1680]! } + public var TwoStepAuth_EnterEmailCode: String { return self._s[1681]! } public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1681]!, self._r[1681]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1682]!, self._r[1682]!, ["\(_0)"]) } - public var GroupInfo_InviteLink_Help: String { return self._s[1682]! } - public var Calls_Missed: String { return self._s[1683]! } - public var Conversation_ContextMenuForward: String { return self._s[1686]! } - public var AutoDownloadSettings_ResetHelp: String { return self._s[1687]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[1688]! } - public var Call_StatusRinging: String { return self._s[1689]! } - public var Passport_Language_pl: String { return self._s[1690]! } - public var Invitation_JoinGroup: String { return self._s[1691]! } - public var Notification_PinnedMessage: String { return self._s[1692]! } - public var AutoDownloadSettings_WiFi: String { return self._s[1694]! } - public var Conversation_ClearSelfHistory: String { return self._s[1695]! } - public var Message_Location: String { return self._s[1696]! } + public var GroupInfo_InviteLink_Help: String { return self._s[1683]! } + public var Calls_Missed: String { return self._s[1684]! } + public var Conversation_ContextMenuForward: String { return self._s[1687]! } + public var AutoDownloadSettings_ResetHelp: String { return self._s[1688]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[1689]! } + public var Call_StatusRinging: String { return self._s[1690]! } + public var Passport_Language_pl: String { return self._s[1691]! } + public var Invitation_JoinGroup: String { return self._s[1692]! } + public var Notification_PinnedMessage: String { return self._s[1693]! } + public var AutoDownloadSettings_WiFi: String { return self._s[1695]! } + public var Conversation_ClearSelfHistory: String { return self._s[1696]! } + public var Message_Location: String { return self._s[1697]! } public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1697]!, self._r[1697]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1698]!, self._r[1698]!, [_1, _2]) } - public var Message_Contact: String { return self._s[1698]! } - public var Passport_Language_lo: String { return self._s[1700]! } - public var UserInfo_BotPrivacy: String { return self._s[1701]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[1702]! } - public var Common_More: String { return self._s[1705]! } - public var Preview_OpenInInstagram: String { return self._s[1706]! } - public var PhotoEditor_HighlightsTool: String { return self._s[1709]! } + public var Message_Contact: String { return self._s[1699]! } + public var Passport_Language_lo: String { return self._s[1701]! } + public var UserInfo_BotPrivacy: String { return self._s[1702]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[1703]! } + public var Common_More: String { return self._s[1706]! } + public var Preview_OpenInInstagram: String { return self._s[1707]! } + public var PhotoEditor_HighlightsTool: String { return self._s[1710]! } public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1710]!, self._r[1710]!, [_0]) + return formatWithArgumentRanges(self._s[1711]!, self._r[1711]!, [_0]) } public func PINNED_GAME(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1711]!, self._r[1711]!, [_1]) + return formatWithArgumentRanges(self._s[1712]!, self._r[1712]!, [_1]) } - public var Invite_LargeRecipientsCountWarning: String { return self._s[1712]! } - public var Passport_Language_hr: String { return self._s[1713]! } - public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[1714]! } - public var Activity_UploadingVideoMessage: String { return self._s[1715]! } - public var Conversation_ShareBotContactConfirmation: String { return self._s[1716]! } - public var Login_CodeSentSms: String { return self._s[1719]! } + public var Invite_LargeRecipientsCountWarning: String { return self._s[1713]! } + public var Passport_Language_hr: String { return self._s[1714]! } + public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[1715]! } + public var Activity_UploadingVideoMessage: String { return self._s[1716]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[1717]! } + public var Login_CodeSentSms: String { return self._s[1720]! } public func CHANNEL_MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1720]!, self._r[1720]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1721]!, self._r[1721]!, [_1, _2]) } - public var Conversation_ReportSpamConfirmation: String { return self._s[1721]! } - public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1722]! } - public var SocksProxySetup_Credentials: String { return self._s[1723]! } - public var CallSettings_UseLessData: String { return self._s[1724]! } - public var MediaPicker_GroupDescription: String { return self._s[1725]! } - public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1726]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[1722]! } + public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1723]! } + public var SocksProxySetup_Credentials: String { return self._s[1724]! } + public var CallSettings_UseLessData: String { return self._s[1725]! } + public var MediaPicker_GroupDescription: String { return self._s[1726]! } + public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1727]! } public func TwoStepAuth_EnterPasswordHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1727]!, self._r[1727]!, [_0]) + return formatWithArgumentRanges(self._s[1728]!, self._r[1728]!, [_0]) } - public var CallSettings_TabIcon: String { return self._s[1728]! } - public var ConversationProfile_UnknownAddMemberError: String { return self._s[1730]! } + public var CallSettings_TabIcon: String { return self._s[1729]! } + public var ConversationProfile_UnknownAddMemberError: String { return self._s[1731]! } public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1733]!, self._r[1733]!, [_0]) + return formatWithArgumentRanges(self._s[1734]!, self._r[1734]!, [_0]) } - public var Channel_AdminLog_BanSendMedia: String { return self._s[1734]! } - public var Passport_Language_uz: String { return self._s[1735]! } - public var Watch_UserInfo_Unblock: String { return self._s[1736]! } - public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[1738]! } - public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1739]! } - public var StickerPacksSettings_ArchivedMasks: String { return self._s[1741]! } - public var Message_Animation: String { return self._s[1743]! } - public var Checkout_PaymentMethod: String { return self._s[1744]! } - public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[1745]! } - public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1746]! } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[1747]! } - public var Cache_Music: String { return self._s[1748]! } - public var Settings_ProxyDisabled: String { return self._s[1752]! } - public var SocksProxySetup_Connecting: String { return self._s[1753]! } - public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[1754]! } + public var Channel_AdminLog_BanSendMedia: String { return self._s[1735]! } + public var Passport_Language_uz: String { return self._s[1736]! } + public var Watch_UserInfo_Unblock: String { return self._s[1737]! } + public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[1739]! } + public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1740]! } + public var StickerPacksSettings_ArchivedMasks: String { return self._s[1742]! } + public var Message_Animation: String { return self._s[1744]! } + public var Checkout_PaymentMethod: String { return self._s[1745]! } + public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[1746]! } + public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1747]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[1748]! } + public var Cache_Music: String { return self._s[1749]! } + public var Settings_ProxyDisabled: String { return self._s[1753]! } + public var SocksProxySetup_Connecting: String { return self._s[1754]! } + public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[1755]! } public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1755]!, self._r[1755]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1756]!, self._r[1756]!, [_1, _2, _3]) } public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1757]!, self._r[1757]!, [_0]) + return formatWithArgumentRanges(self._s[1758]!, self._r[1758]!, [_0]) } public func Target_ShareGameConfirmationGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1760]!, self._r[1760]!, [_0]) + return formatWithArgumentRanges(self._s[1761]!, self._r[1761]!, [_0]) } - public var PhotoEditor_SaturationTool: String { return self._s[1762]! } - public var Channel_BanUser_BlockFor: String { return self._s[1763]! } - public var Call_StatusConnecting: String { return self._s[1764]! } - public var AutoNightTheme_NotAvailable: String { return self._s[1765]! } - public var PrivateDataSettings_Title: String { return self._s[1766]! } - public var Bot_Start: String { return self._s[1768]! } + public var PhotoEditor_SaturationTool: String { return self._s[1763]! } + public var Channel_BanUser_BlockFor: String { return self._s[1764]! } + public var Call_StatusConnecting: String { return self._s[1765]! } + public var AutoNightTheme_NotAvailable: String { return self._s[1766]! } + public var PrivateDataSettings_Title: String { return self._s[1767]! } + public var Bot_Start: String { return self._s[1769]! } public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1769]!, self._r[1769]!, [_0]) + return formatWithArgumentRanges(self._s[1770]!, self._r[1770]!, [_0]) } - public var Appearance_PreviewReplyAuthor: String { return self._s[1770]! } - public var Notifications_TextTone: String { return self._s[1771]! } - public var Settings_CallSettings: String { return self._s[1772]! } + public var Appearance_PreviewReplyAuthor: String { return self._s[1771]! } + public var Notifications_TextTone: String { return self._s[1772]! } + public var Settings_CallSettings: String { return self._s[1773]! } public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1773]!, self._r[1773]!, [_0]) + return formatWithArgumentRanges(self._s[1774]!, self._r[1774]!, [_0]) } - public var Contacts_InviteToTelegram: String { return self._s[1774]! } + public var Contacts_InviteToTelegram: String { return self._s[1775]! } public func PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1775]!, self._r[1775]!, [_1]) + return formatWithArgumentRanges(self._s[1776]!, self._r[1776]!, [_1]) } - public var ChatSettings_PrivateChats: String { return self._s[1776]! } - public var DialogList_Draft: String { return self._s[1777]! } - public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[1778]! } - public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[1779]! } - public var Conversation_CloudStorageInfo_Title: String { return self._s[1780]! } - public var Conversation_ClearSecretHistory: String { return self._s[1781]! } - public var Passport_Identity_EditIdentityCard: String { return self._s[1782]! } - public var Notification_RenamedChannel: String { return self._s[1783]! } - public var BlockedUsers_BlockUser: String { return self._s[1784]! } - public var ChatSettings_TextSize: String { return self._s[1785]! } - public var ChannelInfo_DeleteGroup: String { return self._s[1786]! } - public var PhoneNumberHelp_Alert: String { return self._s[1787]! } + public var ChatSettings_PrivateChats: String { return self._s[1777]! } + public var DialogList_Draft: String { return self._s[1778]! } + public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[1779]! } + public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[1780]! } + public var Conversation_CloudStorageInfo_Title: String { return self._s[1781]! } + public var Conversation_ClearSecretHistory: String { return self._s[1782]! } + public var Passport_Identity_EditIdentityCard: String { return self._s[1783]! } + public var Notification_RenamedChannel: String { return self._s[1784]! } + public var BlockedUsers_BlockUser: String { return self._s[1785]! } + public var ChatSettings_TextSize: String { return self._s[1786]! } + public var ChannelInfo_DeleteGroup: String { return self._s[1787]! } + public var PhoneNumberHelp_Alert: String { return self._s[1788]! } public func PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1788]!, self._r[1788]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1789]!, self._r[1789]!, [_1, _2]) } - public var Watch_ChannelInfo_Title: String { return self._s[1789]! } - public var WebSearch_RecentSectionClear: String { return self._s[1790]! } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[1791]! } - public var Channel_Setup_TypePrivate: String { return self._s[1792]! } - public var PhotoEditor_TintTool: String { return self._s[1793]! } - public var Watch_Suggestion_CantTalk: String { return self._s[1794]! } - public var PhotoEditor_QualityHigh: String { return self._s[1795]! } - public var SocksProxySetup_AddProxyTitle: String { return self._s[1797]! } + public var Watch_ChannelInfo_Title: String { return self._s[1790]! } + public var WebSearch_RecentSectionClear: String { return self._s[1791]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[1792]! } + public var Channel_Setup_TypePrivate: String { return self._s[1793]! } + public var PhotoEditor_TintTool: String { return self._s[1794]! } + public var Watch_Suggestion_CantTalk: String { return self._s[1795]! } + public var PhotoEditor_QualityHigh: String { return self._s[1796]! } + public var SocksProxySetup_AddProxyTitle: String { return self._s[1798]! } public func CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1799]!, self._r[1799]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1800]!, self._r[1800]!, [_1, _2, _3]) } - public var Map_ChooseAPlace: String { return self._s[1800]! } - public var Passport_Identity_NamePlaceholder: String { return self._s[1802]! } - public var Passport_ScanPassport: String { return self._s[1803]! } - public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[1804]! } - public var Map_ShareLiveLocationHelp: String { return self._s[1805]! } - public var Watch_Bot_Restart: String { return self._s[1807]! } - public var Passport_RequestedInformation: String { return self._s[1808]! } - public var Channel_About_Help: String { return self._s[1809]! } - public var Web_OpenExternal: String { return self._s[1810]! } - public var Passport_Language_mn: String { return self._s[1811]! } - public var UserInfo_AddContact: String { return self._s[1813]! } - public var Privacy_ContactsSync: String { return self._s[1814]! } - public var SocksProxySetup_Connection: String { return self._s[1816]! } - public var Passport_NotLoggedInMessage: String { return self._s[1817]! } - public var Passport_PasswordPlaceholder: String { return self._s[1818]! } - public var Passport_PasswordCreate: String { return self._s[1819]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1821]! } - public var Call_EncryptionKey_Title: String { return self._s[1822]! } - public var PhotoEditor_BlurToolLinear: String { return self._s[1824]! } - public var AuthSessions_EmptyText: String { return self._s[1825]! } - public var Notification_MessageLifetime1m: String { return self._s[1826]! } + public var Map_ChooseAPlace: String { return self._s[1801]! } + public var Passport_Identity_NamePlaceholder: String { return self._s[1803]! } + public var Passport_ScanPassport: String { return self._s[1804]! } + public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[1805]! } + public var Map_ShareLiveLocationHelp: String { return self._s[1806]! } + public var Watch_Bot_Restart: String { return self._s[1808]! } + public var Passport_RequestedInformation: String { return self._s[1809]! } + public var Channel_About_Help: String { return self._s[1810]! } + public var Web_OpenExternal: String { return self._s[1811]! } + public var Passport_Language_mn: String { return self._s[1812]! } + public var UserInfo_AddContact: String { return self._s[1814]! } + public var Privacy_ContactsSync: String { return self._s[1815]! } + public var SocksProxySetup_Connection: String { return self._s[1817]! } + public var Passport_NotLoggedInMessage: String { return self._s[1818]! } + public var Passport_PasswordPlaceholder: String { return self._s[1819]! } + public var Passport_PasswordCreate: String { return self._s[1820]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1822]! } + public var Call_EncryptionKey_Title: String { return self._s[1823]! } + public var PhotoEditor_BlurToolLinear: String { return self._s[1825]! } + public var AuthSessions_EmptyText: String { return self._s[1826]! } + public var Notification_MessageLifetime1m: String { return self._s[1827]! } public func Call_StatusBar(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1827]!, self._r[1827]!, [_0]) + return formatWithArgumentRanges(self._s[1828]!, self._r[1828]!, [_0]) } - public var EditProfile_NameAndPhotoHelp: String { return self._s[1828]! } - public var NotificationsSound_Tritone: String { return self._s[1829]! } - public var Passport_FieldAddressUploadHelp: String { return self._s[1830]! } - public var Month_ShortJuly: String { return self._s[1831]! } - public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[1832]! } - public var Watch_MessageView_ViewOnPhone: String { return self._s[1833]! } - public var CallSettings_Never: String { return self._s[1834]! } - public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[1837]! } - public var TwoStepAuth_EmailSent: String { return self._s[1838]! } + public var EditProfile_NameAndPhotoHelp: String { return self._s[1829]! } + public var NotificationsSound_Tritone: String { return self._s[1830]! } + public var Passport_FieldAddressUploadHelp: String { return self._s[1831]! } + public var Month_ShortJuly: String { return self._s[1832]! } + public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[1833]! } + public var Watch_MessageView_ViewOnPhone: String { return self._s[1834]! } + public var CallSettings_Never: String { return self._s[1835]! } + public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[1838]! } + public var TwoStepAuth_EmailSent: String { return self._s[1839]! } public func Notification_PinnedAnimationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1839]!, self._r[1839]!, [_0]) + return formatWithArgumentRanges(self._s[1840]!, self._r[1840]!, [_0]) } - public var TwoStepAuth_RecoveryTitle: String { return self._s[1842]! } - public var Notifications_MessageNotificationsExceptions: String { return self._s[1843]! } - public var WatchRemote_AlertOpen: String { return self._s[1845]! } - public var ExplicitContent_AlertChannel: String { return self._s[1846]! } - public var Notification_PassportValueEmail: String { return self._s[1847]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1849]! } - public var Widget_AuthRequired: String { return self._s[1851]! } + public var TwoStepAuth_RecoveryTitle: String { return self._s[1843]! } + public var Notifications_MessageNotificationsExceptions: String { return self._s[1844]! } + public var WatchRemote_AlertOpen: String { return self._s[1846]! } + public var ExplicitContent_AlertChannel: String { return self._s[1847]! } + public var Notification_PassportValueEmail: String { return self._s[1848]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1850]! } + public var Widget_AuthRequired: String { return self._s[1852]! } public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1852]!, self._r[1852]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1853]!, self._r[1853]!, [_0, _1]) } - public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1853]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[1854]! } - public var Login_SmsRequestState3: String { return self._s[1855]! } - public var Notifications_AlertTones: String { return self._s[1856]! } + public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1854]! } + public var TwoStepAuth_ConfirmationText: String { return self._s[1855]! } + public var Login_SmsRequestState3: String { return self._s[1856]! } + public var Notifications_AlertTones: String { return self._s[1857]! } public func Time_MonthOfYear_m10(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1857]!, self._r[1857]!, [_0]) + return formatWithArgumentRanges(self._s[1858]!, self._r[1858]!, [_0]) } - public var Login_InfoAvatarPhoto: String { return self._s[1859]! } - public var Calls_TabTitle: String { return self._s[1862]! } - public var Map_YouAreHere: String { return self._s[1863]! } - public var PhotoEditor_CurvesTool: String { return self._s[1864]! } - public var Map_LiveLocationFor1Hour: String { return self._s[1865]! } - public var AutoNightTheme_AutomaticSection: String { return self._s[1866]! } - public var Stickers_NoStickersFound: String { return self._s[1867]! } - public var Passport_Identity_AddIdentityCard: String { return self._s[1869]! } + public var Login_InfoAvatarPhoto: String { return self._s[1860]! } + public var Calls_TabTitle: String { return self._s[1863]! } + public var Map_YouAreHere: String { return self._s[1864]! } + public var PhotoEditor_CurvesTool: String { return self._s[1865]! } + public var Map_LiveLocationFor1Hour: String { return self._s[1866]! } + public var AutoNightTheme_AutomaticSection: String { return self._s[1867]! } + public var Stickers_NoStickersFound: String { return self._s[1868]! } + public var Passport_Identity_AddIdentityCard: String { return self._s[1870]! } public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1870]!, self._r[1870]!, [_0]) + return formatWithArgumentRanges(self._s[1871]!, self._r[1871]!, [_0]) } - public var Passport_Language_et: String { return self._s[1871]! } - public var Passport_Language_en: String { return self._s[1872]! } - public var GroupInfo_ActionRestrict: String { return self._s[1875]! } - public var Checkout_ShippingOption_Title: String { return self._s[1876]! } - public var Stickers_SuggestStickers: String { return self._s[1878]! } + public var Passport_Language_et: String { return self._s[1872]! } + public var Passport_Language_en: String { return self._s[1873]! } + public var GroupInfo_ActionRestrict: String { return self._s[1876]! } + public var Checkout_ShippingOption_Title: String { return self._s[1877]! } + public var Stickers_SuggestStickers: String { return self._s[1879]! } public func Channel_AdminLog_MessageKickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1882]!, self._r[1882]!, [_1]) + return formatWithArgumentRanges(self._s[1883]!, self._r[1883]!, [_1]) } - public var Conversation_EncryptionProcessing: String { return self._s[1883]! } - public var TwoStepAuth_EmailCodeExpired: String { return self._s[1884]! } + public var Conversation_EncryptionProcessing: String { return self._s[1884]! } + public var TwoStepAuth_EmailCodeExpired: String { return self._s[1885]! } public func CHAT_ADD_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1887]!, self._r[1887]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1888]!, self._r[1888]!, [_1, _2, _3]) } - public var Weekday_ShortSunday: String { return self._s[1890]! } - public var Privacy_ContactsResetConfirmation: String { return self._s[1891]! } - public var Month_ShortJune: String { return self._s[1892]! } - public var Privacy_Calls_Integration: String { return self._s[1893]! } - public var Channel_TypeSetup_Title: String { return self._s[1894]! } - public var Month_GenApril: String { return self._s[1895]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[1896]! } - public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1897]! } - public var Notification_PassportValueProofOfAddress: String { return self._s[1898]! } - public var Weekday_Tuesday: String { return self._s[1899]! } - public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[1900]! } + public var Weekday_ShortSunday: String { return self._s[1891]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[1892]! } + public var Month_ShortJune: String { return self._s[1893]! } + public var Privacy_Calls_Integration: String { return self._s[1894]! } + public var Channel_TypeSetup_Title: String { return self._s[1895]! } + public var Month_GenApril: String { return self._s[1896]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[1897]! } + public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1898]! } + public var Notification_PassportValueProofOfAddress: String { return self._s[1899]! } + public var Weekday_Tuesday: String { return self._s[1900]! } + public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[1901]! } public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1901]!, self._r[1901]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1902]!, self._r[1902]!, [_0, _1]) } - public var CallSettings_RecentCalls: String { return self._s[1902]! } + public var CallSettings_RecentCalls: String { return self._s[1903]! } public func Conversation_Megabytes(_ _0: Float) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1907]!, self._r[1907]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1908]!, self._r[1908]!, ["\(_0)"]) } - public var Conversation_SearchByName_Prefix: String { return self._s[1910]! } - public var TwoStepAuth_FloodError: String { return self._s[1911]! } - public var Paint_Stickers: String { return self._s[1912]! } - public var Login_InvalidCountryCode: String { return self._s[1913]! } - public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1914]! } - public var Username_InvalidTooShort: String { return self._s[1915]! } + public var Conversation_SearchByName_Prefix: String { return self._s[1911]! } + public var TwoStepAuth_FloodError: String { return self._s[1912]! } + public var Paint_Stickers: String { return self._s[1913]! } + public var Login_InvalidCountryCode: String { return self._s[1914]! } + public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1915]! } + public var Username_InvalidTooShort: String { return self._s[1916]! } public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1916]!, self._r[1916]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1917]!, self._r[1917]!, [_1, _2]) } - public var Weekday_ShortFriday: String { return self._s[1917]! } + public var Weekday_ShortFriday: String { return self._s[1918]! } public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1918]!, self._r[1918]!, [_0]) + return formatWithArgumentRanges(self._s[1919]!, self._r[1919]!, [_0]) } - public var Conversation_ClearAll: String { return self._s[1919]! } - public var Conversation_EditingMessageMediaChange: String { return self._s[1920]! } - public var Passport_FieldIdentityTranslationHelp: String { return self._s[1921]! } - public var Call_ReportIncludeLog: String { return self._s[1922]! } + public var Conversation_ClearAll: String { return self._s[1920]! } + public var Conversation_EditingMessageMediaChange: String { return self._s[1921]! } + public var Passport_FieldIdentityTranslationHelp: String { return self._s[1922]! } + public var Call_ReportIncludeLog: String { return self._s[1923]! } public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1923]!, self._r[1923]!, [_0]) + return formatWithArgumentRanges(self._s[1924]!, self._r[1924]!, [_0]) } - public var SharedMedia_EmptyTitle: String { return self._s[1924]! } - public var Call_PhoneCallInProgressMessage: String { return self._s[1925]! } - public var Notification_GroupActivated: String { return self._s[1926]! } - public var Checkout_Name: String { return self._s[1927]! } - public var Passport_Address_PostcodePlaceholder: String { return self._s[1928]! } + public var SharedMedia_EmptyTitle: String { return self._s[1925]! } + public var Call_PhoneCallInProgressMessage: String { return self._s[1926]! } + public var Notification_GroupActivated: String { return self._s[1927]! } + public var Checkout_Name: String { return self._s[1928]! } + public var Passport_Address_PostcodePlaceholder: String { return self._s[1929]! } public func AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1929]!, self._r[1929]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1930]!, self._r[1930]!, [_1, _2]) } - public var Settings_NotificationsAndSounds: String { return self._s[1930]! } - public var Conversation_EncryptionCanceled: String { return self._s[1931]! } + public var Settings_NotificationsAndSounds: String { return self._s[1931]! } + public var Conversation_EncryptionCanceled: String { return self._s[1932]! } public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1932]!, self._r[1932]!, [_0]) + return formatWithArgumentRanges(self._s[1933]!, self._r[1933]!, [_0]) } - public var AccessDenied_SaveMedia: String { return self._s[1933]! } - public var InviteText_URL: String { return self._s[1934]! } - public var Passport_CorrectErrors: String { return self._s[1935]! } + public var AccessDenied_SaveMedia: String { return self._s[1934]! } + public var InviteText_URL: String { return self._s[1935]! } + public var Passport_CorrectErrors: String { return self._s[1936]! } public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1936]!, self._r[1936]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1937]!, self._r[1937]!, [_1, _2]) } - public var Notifications_Badge_CountUnreadMessages: String { return self._s[1937]! } - public var Appearance_ReduceMotion: String { return self._s[1938]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[1939]! } - public var Passport_Address_CityPlaceholder: String { return self._s[1940]! } - public var Passport_InfoFAQ_URL: String { return self._s[1941]! } - public var Conversation_MessageDeliveryFailed: String { return self._s[1944]! } - public var InstantPage_TapToOpenLink: String { return self._s[1945]! } - public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1946]! } - public var Notifications_GroupNotifications: String { return self._s[1947]! } - public var CheckoutInfo_SaveInfoHelp: String { return self._s[1948]! } - public var Notification_Mute1hMin: String { return self._s[1949]! } - public var Privacy_TopPeersWarning: String { return self._s[1950]! } - public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[1952]! } - public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1954]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[1955]! } - public var Watch_Conversation_UserInfo: String { return self._s[1956]! } - public var Application_Name: String { return self._s[1957]! } - public var Conversation_AddToReadingList: String { return self._s[1958]! } - public var Conversation_FileDropbox: String { return self._s[1959]! } - public var Login_PhonePlaceholder: String { return self._s[1960]! } - public var SocksProxySetup_ProxyEnabled: String { return self._s[1961]! } - public var Profile_MessageLifetime1d: String { return self._s[1962]! } - public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1963]! } - public var Notifications_ChannelNotificationsSound: String { return self._s[1964]! } - public var Calls_CallTabDescription: String { return self._s[1965]! } - public var Passport_DeletePersonalDetails: String { return self._s[1966]! } - public var Passport_Address_AddBankStatement: String { return self._s[1967]! } - public var Resolve_ErrorNotFound: String { return self._s[1968]! } - public var Watch_Message_Call: String { return self._s[1969]! } - public var PhotoEditor_FadeTool: String { return self._s[1970]! } - public var Channel_Setup_TypePublicHelp: String { return self._s[1972]! } - public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[1975]! } - public var Channel_Setup_PublicNoLink: String { return self._s[1976]! } - public var Privacy_Calls_P2PHelp: String { return self._s[1977]! } - public var Conversation_Info: String { return self._s[1978]! } + public var Notifications_Badge_CountUnreadMessages: String { return self._s[1938]! } + public var Appearance_ReduceMotion: String { return self._s[1939]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[1940]! } + public var Passport_Address_CityPlaceholder: String { return self._s[1941]! } + public var Passport_InfoFAQ_URL: String { return self._s[1942]! } + public var Conversation_MessageDeliveryFailed: String { return self._s[1945]! } + public var InstantPage_TapToOpenLink: String { return self._s[1946]! } + public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1947]! } + public var Notifications_GroupNotifications: String { return self._s[1948]! } + public var CheckoutInfo_SaveInfoHelp: String { return self._s[1949]! } + public var Notification_Mute1hMin: String { return self._s[1950]! } + public var Privacy_TopPeersWarning: String { return self._s[1951]! } + public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[1953]! } + public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1955]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[1956]! } + public var Watch_Conversation_UserInfo: String { return self._s[1957]! } + public var Application_Name: String { return self._s[1958]! } + public var Conversation_AddToReadingList: String { return self._s[1959]! } + public var Conversation_FileDropbox: String { return self._s[1960]! } + public var Login_PhonePlaceholder: String { return self._s[1961]! } + public var SocksProxySetup_ProxyEnabled: String { return self._s[1962]! } + public var Profile_MessageLifetime1d: String { return self._s[1963]! } + public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1964]! } + public var Notifications_ChannelNotificationsSound: String { return self._s[1965]! } + public var Calls_CallTabDescription: String { return self._s[1966]! } + public var Passport_DeletePersonalDetails: String { return self._s[1967]! } + public var Passport_Address_AddBankStatement: String { return self._s[1968]! } + public var Resolve_ErrorNotFound: String { return self._s[1969]! } + public var Watch_Message_Call: String { return self._s[1970]! } + public var PhotoEditor_FadeTool: String { return self._s[1971]! } + public var Channel_Setup_TypePublicHelp: String { return self._s[1973]! } + public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[1976]! } + public var Channel_Setup_PublicNoLink: String { return self._s[1977]! } + public var Privacy_Calls_P2PHelp: String { return self._s[1978]! } + public var Conversation_Info: String { return self._s[1979]! } public func Time_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1980]!, self._r[1980]!, [_0]) + return formatWithArgumentRanges(self._s[1981]!, self._r[1981]!, [_0]) } - public var AutoDownloadSettings_VideosTitle: String { return self._s[1981]! } - public var Conversation_Processing: String { return self._s[1982]! } - public var Conversation_RestrictedInline: String { return self._s[1983]! } + public var AutoDownloadSettings_VideosTitle: String { return self._s[1982]! } + public var Conversation_Processing: String { return self._s[1983]! } + public var Conversation_RestrictedInline: String { return self._s[1984]! } public func InstantPage_AuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1987]!, self._r[1987]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1988]!, self._r[1988]!, [_1, _2]) } public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1988]!, self._r[1988]!, [_0]) + return formatWithArgumentRanges(self._s[1989]!, self._r[1989]!, [_0]) } - public var Conversation_Location: String { return self._s[1989]! } - public var DialogList_PasscodeLockHelp: String { return self._s[1990]! } - public var Channel_Management_Title: String { return self._s[1991]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[1992]! } - public var EnterPasscode_EnterTitle: String { return self._s[1994]! } - public var ReportPeer_ReasonOther_Title: String { return self._s[1995]! } - public var Month_GenJanuary: String { return self._s[1996]! } - public var Conversation_ForwardChats: String { return self._s[1997]! } - public var Channel_UpdatePhotoItem: String { return self._s[1999]! } - public var UserInfo_StartSecretChat: String { return self._s[2000]! } - public var PrivacySettings_LastSeenNobody: String { return self._s[2001]! } + public var Conversation_Location: String { return self._s[1990]! } + public var DialogList_PasscodeLockHelp: String { return self._s[1991]! } + public var Channel_Management_Title: String { return self._s[1992]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[1993]! } + public var EnterPasscode_EnterTitle: String { return self._s[1995]! } + public var ReportPeer_ReasonOther_Title: String { return self._s[1996]! } + public var Month_GenJanuary: String { return self._s[1997]! } + public var Conversation_ForwardChats: String { return self._s[1998]! } + public var Channel_UpdatePhotoItem: String { return self._s[2000]! } + public var UserInfo_StartSecretChat: String { return self._s[2001]! } + public var PrivacySettings_LastSeenNobody: String { return self._s[2002]! } public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2002]!, self._r[2002]!, [_0]) + return formatWithArgumentRanges(self._s[2003]!, self._r[2003]!, [_0]) } - public var ChatSearch_SearchPlaceholder: String { return self._s[2005]! } - public var TwoStepAuth_ConfirmationAbort: String { return self._s[2006]! } - public var FastTwoStepSetup_HintSection: String { return self._s[2007]! } - public var TwoStepAuth_SetupPasswordDescription: String { return self._s[2010]! } - public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2012]! } + public var ChatSearch_SearchPlaceholder: String { return self._s[2006]! } + public var TwoStepAuth_ConfirmationAbort: String { return self._s[2007]! } + public var FastTwoStepSetup_HintSection: String { return self._s[2008]! } + public var TwoStepAuth_SetupPasswordDescription: String { return self._s[2011]! } + public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2013]! } public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2013]!, self._r[2013]!, [_0]) + return formatWithArgumentRanges(self._s[2014]!, self._r[2014]!, [_0]) } - public var GroupInfo_GroupHistoryVisible: String { return self._s[2015]! } - public var AppleWatch_ReplyPresetsHelp: String { return self._s[2016]! } - public var Localization_LanguageName: String { return self._s[2017]! } - public var Map_OpenIn: String { return self._s[2018]! } - public var Message_File: String { return self._s[2019]! } - public var Call_ReportSend: String { return self._s[2020]! } + public var GroupInfo_GroupHistoryVisible: String { return self._s[2016]! } + public var AppleWatch_ReplyPresetsHelp: String { return self._s[2017]! } + public var Localization_LanguageName: String { return self._s[2018]! } + public var Map_OpenIn: String { return self._s[2019]! } + public var Message_File: String { return self._s[2020]! } + public var Call_ReportSend: String { return self._s[2021]! } public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2021]!, self._r[2021]!, [_0]) + return formatWithArgumentRanges(self._s[2022]!, self._r[2022]!, [_0]) } public func CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2022]!, self._r[2022]!, [_1, _2, _3]) - } - public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2023]!, self._r[2023]!, [_1, _2, _3]) } - public var Month_ShortMay: String { return self._s[2026]! } - public var Tour_Text3: String { return self._s[2027]! } - public var Contacts_GlobalSearch: String { return self._s[2028]! } - public var DialogList_LanguageTooltip: String { return self._s[2029]! } - public var AuthSessions_LogOutApplications: String { return self._s[2030]! } - public var Map_LoadError: String { return self._s[2031]! } - public var Settings_ProxyConnecting: String { return self._s[2032]! } - public var Passport_Language_fa: String { return self._s[2034]! } - public var AccessDenied_VoiceMicrophone: String { return self._s[2035]! } + public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2024]!, self._r[2024]!, [_1, _2, _3]) + } + public var Month_ShortMay: String { return self._s[2027]! } + public var Tour_Text3: String { return self._s[2028]! } + public var Contacts_GlobalSearch: String { return self._s[2029]! } + public var DialogList_LanguageTooltip: String { return self._s[2030]! } + public var AuthSessions_LogOutApplications: String { return self._s[2031]! } + public var Map_LoadError: String { return self._s[2032]! } + public var Settings_ProxyConnecting: String { return self._s[2033]! } + public var Passport_Language_fa: String { return self._s[2035]! } + public var AccessDenied_VoiceMicrophone: String { return self._s[2036]! } public func CHANNEL_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2038]!, self._r[2038]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2039]!, self._r[2039]!, [_1, _2]) } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2039]! } - public var PrivacySettings_Title: String { return self._s[2040]! } - public var PasscodeSettings_TurnPasscodeOff: String { return self._s[2043]! } - public var MediaPicker_AddCaption: String { return self._s[2044]! } - public var Channel_AdminLog_BanReadMessages: String { return self._s[2045]! } - public var Channel_Status: String { return self._s[2046]! } - public var Map_ChooseLocationTitle: String { return self._s[2047]! } - public var Notifications_ChannelNotifications: String { return self._s[2048]! } - public var Map_OpenInYandexNavigator: String { return self._s[2049]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[2040]! } + public var PrivacySettings_Title: String { return self._s[2041]! } + public var PasscodeSettings_TurnPasscodeOff: String { return self._s[2044]! } + public var MediaPicker_AddCaption: String { return self._s[2045]! } + public var Channel_AdminLog_BanReadMessages: String { return self._s[2046]! } + public var Channel_Status: String { return self._s[2047]! } + public var Map_ChooseLocationTitle: String { return self._s[2048]! } + public var Notifications_ChannelNotifications: String { return self._s[2049]! } + public var Map_OpenInYandexNavigator: String { return self._s[2050]! } public func TwoStepAuth_ConfirmEmailDescription(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2050]!, self._r[2050]!, [_1]) + return formatWithArgumentRanges(self._s[2051]!, self._r[2051]!, [_1]) } - public var AutoNightTheme_PreferredTheme: String { return self._s[2051]! } - public var State_WaitingForNetwork: String { return self._s[2052]! } - public var TwoStepAuth_EmailHelp: String { return self._s[2053]! } - public var Conversation_StopLiveLocation: String { return self._s[2054]! } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2055]! } - public var PhotoEditor_SharpenTool: String { return self._s[2056]! } - public var Common_of: String { return self._s[2057]! } - public var AuthSessions_Title: String { return self._s[2058]! } - public var Passport_Scans_UploadNew: String { return self._s[2059]! } - public var Message_PinnedLiveLocationMessage: String { return self._s[2060]! } - public var Passport_FieldIdentityDetailsHelp: String { return self._s[2061]! } - public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[2062]! } - public var EnterPasscode_EnterPasscode: String { return self._s[2063]! } - public var Notifications_Reset: String { return self._s[2064]! } + public var AutoNightTheme_PreferredTheme: String { return self._s[2052]! } + public var State_WaitingForNetwork: String { return self._s[2053]! } + public var TwoStepAuth_EmailHelp: String { return self._s[2054]! } + public var Conversation_StopLiveLocation: String { return self._s[2055]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[2056]! } + public var PhotoEditor_SharpenTool: String { return self._s[2057]! } + public var Common_of: String { return self._s[2058]! } + public var AuthSessions_Title: String { return self._s[2059]! } + public var Passport_Scans_UploadNew: String { return self._s[2060]! } + public var Message_PinnedLiveLocationMessage: String { return self._s[2061]! } + public var Passport_FieldIdentityDetailsHelp: String { return self._s[2062]! } + public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[2063]! } + public var EnterPasscode_EnterPasscode: String { return self._s[2064]! } + public var Notifications_Reset: String { return self._s[2065]! } public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2065]!, self._r[2065]!, [_0]) + return formatWithArgumentRanges(self._s[2066]!, self._r[2066]!, [_0]) } - public var GroupInfo_InvitationLinkGroupFull: String { return self._s[2066]! } + public var GroupInfo_InvitationLinkGroupFull: String { return self._s[2067]! } public func Channel_AdminLog_MessageChangedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2068]!, self._r[2068]!, [_0]) + return formatWithArgumentRanges(self._s[2069]!, self._r[2069]!, [_0]) } public func CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2069]!, self._r[2069]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2070]!, self._r[2070]!, [_1, _2]) } - public var Watch_AppName: String { return self._s[2070]! } - public var ConvertToSupergroup_HelpTitle: String { return self._s[2071]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[2072]! } + public var Watch_AppName: String { return self._s[2071]! } + public var ConvertToSupergroup_HelpTitle: String { return self._s[2072]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[2073]! } public func MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2074]!, self._r[2074]!, [_1]) + return formatWithArgumentRanges(self._s[2075]!, self._r[2075]!, [_1]) } public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2075]!, self._r[2075]!, [_0]) + return formatWithArgumentRanges(self._s[2076]!, self._r[2076]!, [_0]) } - public var Checkout_PayWithTouchId: String { return self._s[2076]! } - public var Passport_Language_ko: String { return self._s[2077]! } - public var Conversation_DiscardVoiceMessageTitle: String { return self._s[2078]! } + public var Checkout_PayWithTouchId: String { return self._s[2077]! } + public var Passport_Language_ko: String { return self._s[2078]! } + public var Conversation_DiscardVoiceMessageTitle: String { return self._s[2079]! } public func CHAT_ADD_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2079]!, self._r[2079]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2080]!, self._r[2080]!, [_1, _2]) } - public var CheckoutInfo_ShippingInfoCity: String { return self._s[2080]! } - public var Group_AdminLog_EmptyText: String { return self._s[2081]! } - public var AutoDownloadSettings_GroupChats: String { return self._s[2082]! } - public var TwoStepAuth_AddHintTitle: String { return self._s[2083]! } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[2085]! } - public var Notifications_ExceptionsMuted: String { return self._s[2086]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[2087]! } - public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[2089]! } - public var Settings_FAQ_Intro: String { return self._s[2090]! } - public var PrivacySettings_AuthSessions: String { return self._s[2091]! } + public var CheckoutInfo_ShippingInfoCity: String { return self._s[2081]! } + public var Group_AdminLog_EmptyText: String { return self._s[2082]! } + public var AutoDownloadSettings_GroupChats: String { return self._s[2083]! } + public var TwoStepAuth_AddHintTitle: String { return self._s[2084]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[2086]! } + public var Notifications_ExceptionsMuted: String { return self._s[2087]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[2088]! } + public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[2090]! } + public var Settings_FAQ_Intro: String { return self._s[2091]! } + public var PrivacySettings_AuthSessions: String { return self._s[2092]! } public func CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2092]!, self._r[2092]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2093]!, self._r[2093]!, [_1, _2]) } - public var Passport_Address_Postcode: String { return self._s[2094]! } - public var Tour_Title5: String { return self._s[2095]! } - public var ChatAdmins_AllMembersAreAdmins: String { return self._s[2096]! } - public var Group_Management_AddModeratorHelp: String { return self._s[2097]! } - public var Channel_Username_CheckingUsername: String { return self._s[2098]! } + public var Passport_Address_Postcode: String { return self._s[2095]! } + public var Tour_Title5: String { return self._s[2096]! } + public var ChatAdmins_AllMembersAreAdmins: String { return self._s[2097]! } + public var Group_Management_AddModeratorHelp: String { return self._s[2098]! } + public var Channel_Username_CheckingUsername: String { return self._s[2099]! } public func DialogList_SingleRecordingVideoMessageSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2100]!, self._r[2100]!, [_0]) + return formatWithArgumentRanges(self._s[2101]!, self._r[2101]!, [_0]) } public func Contacts_AccessDeniedHelpPortrait(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2104]!, self._r[2104]!, [_0]) + return formatWithArgumentRanges(self._s[2105]!, self._r[2105]!, [_0]) } public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2105]!, self._r[2105]!, [_1, _1, _1, _2]) + return formatWithArgumentRanges(self._s[2106]!, self._r[2106]!, [_1, _1, _1, _2]) } - public var Channel_Info_BlackList: String { return self._s[2106]! } - public var Profile_BotInfo: String { return self._s[2107]! } - public var Stickers_SuggestAll: String { return self._s[2108]! } - public var Compose_NewChannel_Members: String { return self._s[2109]! } - public var Notification_Reply: String { return self._s[2110]! } - public var Watch_Stickers_Recents: String { return self._s[2112]! } - public var GroupInfo_SetGroupPhotoStop: String { return self._s[2113]! } - public var Channel_Stickers_Placeholder: String { return self._s[2114]! } - public var AttachmentMenu_File: String { return self._s[2115]! } + public var Channel_Info_BlackList: String { return self._s[2107]! } + public var Profile_BotInfo: String { return self._s[2108]! } + public var Stickers_SuggestAll: String { return self._s[2109]! } + public var Compose_NewChannel_Members: String { return self._s[2110]! } + public var Notification_Reply: String { return self._s[2111]! } + public var Watch_Stickers_Recents: String { return self._s[2113]! } + public var GroupInfo_SetGroupPhotoStop: String { return self._s[2114]! } + public var Channel_Stickers_Placeholder: String { return self._s[2115]! } + public var AttachmentMenu_File: String { return self._s[2116]! } public func MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2116]!, self._r[2116]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2117]!, self._r[2117]!, [_1, _2]) } - public var Profile_MessageLifetime5s: String { return self._s[2117]! } - public var Privacy_ContactsReset: String { return self._s[2119]! } - public var TwoStepAuth_ChangePasswordDescription: String { return self._s[2120]! } + public var Profile_MessageLifetime5s: String { return self._s[2118]! } + public var Privacy_ContactsReset: String { return self._s[2120]! } + public var TwoStepAuth_ChangePasswordDescription: String { return self._s[2121]! } public func PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2121]!, self._r[2121]!, [_1]) + return formatWithArgumentRanges(self._s[2122]!, self._r[2122]!, [_1]) } - public var Channel_AdminLog_CanAddAdmins: String { return self._s[2124]! } - public var TwoStepAuth_SetupHint: String { return self._s[2125]! } - public var Conversation_StatusLeftGroup: String { return self._s[2126]! } - public var Settings_CopyUsername: String { return self._s[2127]! } - public var Passport_Identity_CountryPlaceholder: String { return self._s[2128]! } - public var ChatSettings_AutoDownloadDocuments: String { return self._s[2129]! } - public var MediaPicker_TapToUngroupDescription: String { return self._s[2130]! } - public var Conversation_ShareBotLocationConfirmation: String { return self._s[2131]! } - public var Conversation_DeleteMessagesForMe: String { return self._s[2132]! } - public var Notification_PassportValuePersonalDetails: String { return self._s[2133]! } - public var Message_PinnedAnimationMessage: String { return self._s[2134]! } - public var Passport_FieldIdentityUploadHelp: String { return self._s[2135]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[2136]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[2137]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[2138]! } - public var Camera_PhotoMode: String { return self._s[2140]! } + public var Channel_AdminLog_CanAddAdmins: String { return self._s[2125]! } + public var TwoStepAuth_SetupHint: String { return self._s[2126]! } + public var Conversation_StatusLeftGroup: String { return self._s[2127]! } + public var Settings_CopyUsername: String { return self._s[2128]! } + public var Passport_Identity_CountryPlaceholder: String { return self._s[2129]! } + public var ChatSettings_AutoDownloadDocuments: String { return self._s[2130]! } + public var MediaPicker_TapToUngroupDescription: String { return self._s[2131]! } + public var Conversation_ShareBotLocationConfirmation: String { return self._s[2132]! } + public var Conversation_DeleteMessagesForMe: String { return self._s[2133]! } + public var Notification_PassportValuePersonalDetails: String { return self._s[2134]! } + public var Message_PinnedAnimationMessage: String { return self._s[2135]! } + public var Passport_FieldIdentityUploadHelp: String { return self._s[2136]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[2137]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[2138]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[2139]! } + public var Camera_PhotoMode: String { return self._s[2141]! } public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2142]!, self._r[2142]!, [_0]) + return formatWithArgumentRanges(self._s[2143]!, self._r[2143]!, [_0]) } - public var Channel_About_Placeholder: String { return self._s[2143]! } - public var Map_Directions: String { return self._s[2145]! } - public var Channel_About_Title: String { return self._s[2146]! } + public var Channel_About_Placeholder: String { return self._s[2144]! } + public var Map_Directions: String { return self._s[2146]! } + public var Channel_About_Title: String { return self._s[2147]! } public func MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2147]!, self._r[2147]!, [_1]) + return formatWithArgumentRanges(self._s[2148]!, self._r[2148]!, [_1]) } - public var Calls_RatingTitle: String { return self._s[2148]! } - public var SharedMedia_EmptyText: String { return self._s[2149]! } - public var Channel_Stickers_Searching: String { return self._s[2150]! } - public var Passport_Address_AddUtilityBill: String { return self._s[2151]! } - public var Login_PadPhoneHelp: String { return self._s[2152]! } - public var StickerPacksSettings_ArchivedPacks: String { return self._s[2154]! } - public var Passport_Language_th: String { return self._s[2155]! } - public var Channel_ErrorAccessDenied: String { return self._s[2156]! } - public var Generic_ErrorMoreInfo: String { return self._s[2158]! } - public var Channel_AdminLog_TitleAllEvents: String { return self._s[2159]! } - public var Settings_Proxy: String { return self._s[2160]! } - public var Passport_Language_lt: String { return self._s[2161]! } - public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[2162]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2164]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[2165]! } - public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2166]! } - public var Camera_SquareMode: String { return self._s[2167]! } + public var Calls_RatingTitle: String { return self._s[2149]! } + public var SharedMedia_EmptyText: String { return self._s[2150]! } + public var Channel_Stickers_Searching: String { return self._s[2151]! } + public var Passport_Address_AddUtilityBill: String { return self._s[2152]! } + public var Login_PadPhoneHelp: String { return self._s[2153]! } + public var StickerPacksSettings_ArchivedPacks: String { return self._s[2155]! } + public var Passport_Language_th: String { return self._s[2156]! } + public var Channel_ErrorAccessDenied: String { return self._s[2157]! } + public var Generic_ErrorMoreInfo: String { return self._s[2159]! } + public var Channel_AdminLog_TitleAllEvents: String { return self._s[2160]! } + public var Settings_Proxy: String { return self._s[2161]! } + public var Passport_Language_lt: String { return self._s[2162]! } + public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[2163]! } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2165]! } + public var Passport_Address_CountryPlaceholder: String { return self._s[2166]! } + public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2167]! } + public var Camera_SquareMode: String { return self._s[2168]! } public func Conversation_EncryptedPlaceholderTitleOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2168]!, self._r[2168]!, [_0]) + return formatWithArgumentRanges(self._s[2169]!, self._r[2169]!, [_0]) } - public var NetworkUsageSettings_CallDataSection: String { return self._s[2169]! } - public var Login_PadPhoneHelpTitle: String { return self._s[2170]! } - public var Profile_CreateNewContact: String { return self._s[2171]! } - public var AccessDenied_VideoMessageMicrophone: String { return self._s[2172]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2173]! } - public var PhotoEditor_VignetteTool: String { return self._s[2174]! } - public var LastSeen_WithinAWeek: String { return self._s[2175]! } - public var Widget_NoUsers: String { return self._s[2176]! } - public var Passport_Identity_DocumentNumber: String { return self._s[2178]! } - public var Application_Update: String { return self._s[2179]! } - public var Calls_NewCall: String { return self._s[2180]! } + public var NetworkUsageSettings_CallDataSection: String { return self._s[2170]! } + public var Login_PadPhoneHelpTitle: String { return self._s[2171]! } + public var Profile_CreateNewContact: String { return self._s[2172]! } + public var AccessDenied_VideoMessageMicrophone: String { return self._s[2173]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2174]! } + public var PhotoEditor_VignetteTool: String { return self._s[2175]! } + public var LastSeen_WithinAWeek: String { return self._s[2176]! } + public var Widget_NoUsers: String { return self._s[2177]! } + public var Passport_Identity_DocumentNumber: String { return self._s[2179]! } + public var Application_Update: String { return self._s[2180]! } + public var Calls_NewCall: String { return self._s[2181]! } public func CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2181]!, self._r[2181]!, [_1]) + return formatWithArgumentRanges(self._s[2182]!, self._r[2182]!, [_1]) } - public var DialogList_NoMessagesText: String { return self._s[2182]! } - public var MaskStickerSettings_Info: String { return self._s[2183]! } - public var ChatSettings_AutoDownloadTitle: String { return self._s[2184]! } - public var Passport_FieldAddressHelp: String { return self._s[2185]! } - public var Passport_Language_dz: String { return self._s[2186]! } - public var Conversation_FilePhotoOrVideo: String { return self._s[2187]! } - public var Channel_AdminLog_BanSendStickers: String { return self._s[2188]! } - public var Common_Next: String { return self._s[2189]! } - public var Stickers_RemoveFromFavorites: String { return self._s[2190]! } - public var Watch_Notification_Joined: String { return self._s[2191]! } + public var DialogList_NoMessagesText: String { return self._s[2183]! } + public var MaskStickerSettings_Info: String { return self._s[2184]! } + public var ChatSettings_AutoDownloadTitle: String { return self._s[2185]! } + public var Passport_FieldAddressHelp: String { return self._s[2186]! } + public var Passport_Language_dz: String { return self._s[2187]! } + public var Conversation_FilePhotoOrVideo: String { return self._s[2188]! } + public var Channel_AdminLog_BanSendStickers: String { return self._s[2189]! } + public var Common_Next: String { return self._s[2190]! } + public var Stickers_RemoveFromFavorites: String { return self._s[2191]! } + public var Watch_Notification_Joined: String { return self._s[2192]! } public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2192]!, self._r[2192]!, [_0]) + return formatWithArgumentRanges(self._s[2193]!, self._r[2193]!, [_0]) } - public var Passport_DeleteAddress: String { return self._s[2193]! } - public var ContactInfo_PhoneLabelHome: String { return self._s[2194]! } - public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[2195]! } - public var NotificationsSound_Tremolo: String { return self._s[2196]! } - public var TwoStepAuth_EmailInvalid: String { return self._s[2197]! } - public var Privacy_ContactsTitle: String { return self._s[2198]! } - public var Passport_Address_TypeBankStatement: String { return self._s[2200]! } + public var Passport_DeleteAddress: String { return self._s[2194]! } + public var ContactInfo_PhoneLabelHome: String { return self._s[2195]! } + public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[2196]! } + public var NotificationsSound_Tremolo: String { return self._s[2197]! } + public var TwoStepAuth_EmailInvalid: String { return self._s[2198]! } + public var Privacy_ContactsTitle: String { return self._s[2199]! } + public var Passport_Address_TypeBankStatement: String { return self._s[2201]! } public func CHAT_MESSAGE_VIDEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2201]!, self._r[2201]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2202]!, self._r[2202]!, [_1, _2]) } - public var Month_GenJune: String { return self._s[2202]! } - public var Map_LiveLocationFor15Minutes: String { return self._s[2203]! } + public var Month_GenJune: String { return self._s[2203]! } + public var Map_LiveLocationFor15Minutes: String { return self._s[2204]! } public func Login_EmailCodeSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2204]!, self._r[2204]!, [_0]) + return formatWithArgumentRanges(self._s[2205]!, self._r[2205]!, [_0]) } public func CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2205]!, self._r[2205]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2206]!, self._r[2206]!, [_1, _2]) } - public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2206]! } + public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2207]! } public func NetworkUsageSettings_WifiUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2207]!, self._r[2207]!, [_0]) + return formatWithArgumentRanges(self._s[2208]!, self._r[2208]!, [_0]) } - public var Watch_LastSeen_Lately: String { return self._s[2208]! } - public var Watch_Compose_CurrentLocation: String { return self._s[2209]! } - public var DialogList_RecentTitlePeople: String { return self._s[2211]! } - public var GroupInfo_Notifications: String { return self._s[2212]! } - public var Call_ReportPlaceholder: String { return self._s[2213]! } + public var Watch_LastSeen_Lately: String { return self._s[2209]! } + public var Watch_Compose_CurrentLocation: String { return self._s[2210]! } + public var DialogList_RecentTitlePeople: String { return self._s[2212]! } + public var GroupInfo_Notifications: String { return self._s[2213]! } + public var Call_ReportPlaceholder: String { return self._s[2214]! } public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2214]!, self._r[2214]!, [_0]) + return formatWithArgumentRanges(self._s[2215]!, self._r[2215]!, [_0]) } public func MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2215]!, self._r[2215]!, [_1]) + return formatWithArgumentRanges(self._s[2216]!, self._r[2216]!, [_1]) } - public var Group_Username_CreatePrivateLinkHelp: String { return self._s[2216]! } - public var Notifications_GroupNotificationsSound: String { return self._s[2217]! } - public var AuthSessions_EmptyTitle: String { return self._s[2218]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[2220]! } - public var Passport_Language_he: String { return self._s[2221]! } + public var Group_Username_CreatePrivateLinkHelp: String { return self._s[2217]! } + public var Notifications_GroupNotificationsSound: String { return self._s[2218]! } + public var AuthSessions_EmptyTitle: String { return self._s[2219]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[2221]! } + public var Passport_Language_he: String { return self._s[2222]! } public func MediaPicker_Nof(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2222]!, self._r[2222]!, [_0]) + return formatWithArgumentRanges(self._s[2223]!, self._r[2223]!, [_0]) } - public var Common_Create: String { return self._s[2223]! } - public var Contacts_TopSection: String { return self._s[2224]! } + public var Common_Create: String { return self._s[2224]! } + public var Contacts_TopSection: String { return self._s[2225]! } public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2225]!, self._r[2225]!, [_0]) + return formatWithArgumentRanges(self._s[2226]!, self._r[2226]!, [_0]) } - public var PrivacyPolicy_DeclineMessage: String { return self._s[2226]! } - public var Your_cards_number_is_invalid: String { return self._s[2227]! } + public var PrivacyPolicy_DeclineMessage: String { return self._s[2227]! } + public var Your_cards_number_is_invalid: String { return self._s[2228]! } public func MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2228]!, self._r[2228]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2229]!, self._r[2229]!, [_1, _2]) } - public var Localization_LanguageCustom: String { return self._s[2229]! } + public var Localization_LanguageCustom: String { return self._s[2230]! } public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2230]!, self._r[2230]!, [_0]) + return formatWithArgumentRanges(self._s[2231]!, self._r[2231]!, [_0]) } - public var Group_MessagePhotoRemoved: String { return self._s[2231]! } - public var Appearance_Animations: String { return self._s[2232]! } - public var UserInfo_AddToExisting: String { return self._s[2233]! } - public var NotificationsSound_Aurora: String { return self._s[2234]! } + public var Group_MessagePhotoRemoved: String { return self._s[2232]! } + public var Appearance_Animations: String { return self._s[2233]! } + public var UserInfo_AddToExisting: String { return self._s[2234]! } + public var NotificationsSound_Aurora: String { return self._s[2235]! } public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2237]!, self._r[2237]!, [_0]) + return formatWithArgumentRanges(self._s[2238]!, self._r[2238]!, [_0]) } - public var Conversation_MessageDialogRetry: String { return self._s[2238]! } - public var Watch_ChatList_NoConversationsTitle: String { return self._s[2239]! } - public var Passport_Language_my: String { return self._s[2240]! } - public var Stickers_GroupStickers: String { return self._s[2242]! } - public var BlockedUsers_Title: String { return self._s[2244]! } + public var Conversation_MessageDialogRetry: String { return self._s[2239]! } + public var Watch_ChatList_NoConversationsTitle: String { return self._s[2240]! } + public var Passport_Language_my: String { return self._s[2241]! } + public var Stickers_GroupStickers: String { return self._s[2243]! } + public var BlockedUsers_Title: String { return self._s[2245]! } public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2245]!, self._r[2245]!, [_0]) + return formatWithArgumentRanges(self._s[2246]!, self._r[2246]!, [_0]) } - public var ContactInfo_PhoneLabelWork: String { return self._s[2246]! } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2247]! } - public var Passport_FieldAddressTranslationHelp: String { return self._s[2248]! } - public var Cache_ClearNone: String { return self._s[2249]! } - public var SecretTimer_VideoDescription: String { return self._s[2251]! } - public var Login_InvalidCodeError: String { return self._s[2252]! } - public var Channel_BanList_BlockedTitle: String { return self._s[2254]! } - public var Passport_PasswordHelp: String { return self._s[2255]! } - public var NetworkUsageSettings_Cellular: String { return self._s[2256]! } - public var Watch_Location_Access: String { return self._s[2257]! } - public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[2259]! } - public var Channel_AdminLog_EmptyFilterText: String { return self._s[2260]! } - public var Channel_AdminLog_EmptyText: String { return self._s[2261]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[2262]! } - public var Passport_Language_ms: String { return self._s[2263]! } - public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2264]! } + public var ContactInfo_PhoneLabelWork: String { return self._s[2247]! } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2248]! } + public var Passport_FieldAddressTranslationHelp: String { return self._s[2249]! } + public var Cache_ClearNone: String { return self._s[2250]! } + public var SecretTimer_VideoDescription: String { return self._s[2252]! } + public var Login_InvalidCodeError: String { return self._s[2253]! } + public var Channel_BanList_BlockedTitle: String { return self._s[2255]! } + public var Passport_PasswordHelp: String { return self._s[2256]! } + public var NetworkUsageSettings_Cellular: String { return self._s[2257]! } + public var Watch_Location_Access: String { return self._s[2258]! } + public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[2260]! } + public var Channel_AdminLog_EmptyFilterText: String { return self._s[2261]! } + public var Channel_AdminLog_EmptyText: String { return self._s[2262]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[2263]! } + public var Passport_Language_ms: String { return self._s[2264]! } + public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2265]! } public func ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2265]!, self._r[2265]!, [_1]) + return formatWithArgumentRanges(self._s[2266]!, self._r[2266]!, [_1]) } - public var Watch_LastSeen_WithinAMonth: String { return self._s[2266]! } - public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2267]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[2268]! } - public var TwoStepAuth_SetupResendEmailCode: String { return self._s[2269]! } - public var Bot_Stop: String { return self._s[2270]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2271]! } - public var UserInfo_BotSettings: String { return self._s[2272]! } - public var Your_cards_expiration_month_is_invalid: String { return self._s[2273]! } - public var Passport_FieldIdentity: String { return self._s[2274]! } - public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2275]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[2276]! } + public var Watch_LastSeen_WithinAMonth: String { return self._s[2267]! } + public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2268]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[2269]! } + public var TwoStepAuth_SetupResendEmailCode: String { return self._s[2270]! } + public var Bot_Stop: String { return self._s[2271]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2272]! } + public var UserInfo_BotSettings: String { return self._s[2273]! } + public var Your_cards_expiration_month_is_invalid: String { return self._s[2274]! } + public var Passport_FieldIdentity: String { return self._s[2275]! } + public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2276]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[2277]! } public func CHANNEL_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2278]!, self._r[2278]!, [_1]) + return formatWithArgumentRanges(self._s[2279]!, self._r[2279]!, [_1]) } - public var Passport_Identity_LatinNameHelp: String { return self._s[2279]! } - public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[2280]! } - public var SocksProxySetup_Port: String { return self._s[2281]! } - public var Message_VideoMessage: String { return self._s[2283]! } - public var Conversation_ContextMenuStickerPackInfo: String { return self._s[2284]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2285]! } + public var Passport_Identity_LatinNameHelp: String { return self._s[2280]! } + public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[2281]! } + public var SocksProxySetup_Port: String { return self._s[2282]! } + public var Message_VideoMessage: String { return self._s[2284]! } + public var Conversation_ContextMenuStickerPackInfo: String { return self._s[2285]! } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2286]! } public func CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2286]!, self._r[2286]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2287]!, self._r[2287]!, [_1, _2, _3]) } - public var Conversation_DiscardVoiceMessageAction: String { return self._s[2287]! } - public var Camera_Title: String { return self._s[2288]! } - public var Passport_Identity_IssueDate: String { return self._s[2289]! } - public var PhotoEditor_CurvesBlue: String { return self._s[2291]! } - public var Message_PinnedVideoMessage: String { return self._s[2292]! } + public var Conversation_DiscardVoiceMessageAction: String { return self._s[2288]! } + public var Camera_Title: String { return self._s[2289]! } + public var Passport_Identity_IssueDate: String { return self._s[2290]! } + public var PhotoEditor_CurvesBlue: String { return self._s[2292]! } + public var Message_PinnedVideoMessage: String { return self._s[2293]! } public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2293]!, self._r[2293]!, [_0]) + return formatWithArgumentRanges(self._s[2294]!, self._r[2294]!, [_0]) } - public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[2295]! } - public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[2296]! } - public var TwoStepAuth_Email: String { return self._s[2297]! } - public var Stickers_SuggestNone: String { return self._s[2298]! } - public var Map_SendMyCurrentLocation: String { return self._s[2300]! } + public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[2296]! } + public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[2297]! } + public var TwoStepAuth_Email: String { return self._s[2298]! } + public var Stickers_SuggestNone: String { return self._s[2299]! } + public var Map_SendMyCurrentLocation: String { return self._s[2301]! } public func MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2301]!, self._r[2301]!, [_1]) + return formatWithArgumentRanges(self._s[2302]!, self._r[2302]!, [_1]) } - public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2302]! } - public var Watch_Message_Invoice: String { return self._s[2303]! } - public var Map_Unknown: String { return self._s[2305]! } - public var Wallpaper_Set: String { return self._s[2307]! } - public var AccessDenied_Title: String { return self._s[2308]! } - public var SharedMedia_CategoryLinks: String { return self._s[2309]! } - public var Localization_LanguageOther: String { return self._s[2310]! } + public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2303]! } + public var Watch_Message_Invoice: String { return self._s[2304]! } + public var Map_Unknown: String { return self._s[2306]! } + public var Wallpaper_Set: String { return self._s[2308]! } + public var AccessDenied_Title: String { return self._s[2309]! } + public var SharedMedia_CategoryLinks: String { return self._s[2310]! } + public var Localization_LanguageOther: String { return self._s[2311]! } public func CHAT_MESSAGES(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2311]!, self._r[2311]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2312]!, self._r[2312]!, [_1, _2, _3]) } - public var SaveIncomingPhotosSettings_Title: String { return self._s[2312]! } - public var Passport_Identity_TypeDriversLicense: String { return self._s[2313]! } - public var FastTwoStepSetup_HintHelp: String { return self._s[2314]! } - public var Notifications_ExceptionsDefaultSound: String { return self._s[2315]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[2316]! } - public var ChatSettings_Stickers: String { return self._s[2317]! } - public var Camera_FlashOff: String { return self._s[2318]! } - public var TwoStepAuth_Title: String { return self._s[2320]! } - public var Passport_Identity_Translation: String { return self._s[2321]! } - public var Checkout_ErrorProviderAccountTimeout: String { return self._s[2322]! } - public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[2323]! } - public var WebSearch_Images: String { return self._s[2324]! } - public var Conversation_typing: String { return self._s[2325]! } - public var Common_Back: String { return self._s[2326]! } - public var PrivacySettings_DataSettingsHelp: String { return self._s[2328]! } - public var Passport_Language_es: String { return self._s[2329]! } - public var Common_Search: String { return self._s[2330]! } + public var SaveIncomingPhotosSettings_Title: String { return self._s[2313]! } + public var Passport_Identity_TypeDriversLicense: String { return self._s[2314]! } + public var FastTwoStepSetup_HintHelp: String { return self._s[2315]! } + public var Notifications_ExceptionsDefaultSound: String { return self._s[2316]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[2317]! } + public var ChatSettings_Stickers: String { return self._s[2318]! } + public var Camera_FlashOff: String { return self._s[2319]! } + public var TwoStepAuth_Title: String { return self._s[2321]! } + public var Passport_Identity_Translation: String { return self._s[2322]! } + public var Checkout_ErrorProviderAccountTimeout: String { return self._s[2323]! } + public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[2324]! } + public var WebSearch_Images: String { return self._s[2325]! } + public var Conversation_typing: String { return self._s[2326]! } + public var Common_Back: String { return self._s[2327]! } + public var PrivacySettings_DataSettingsHelp: String { return self._s[2329]! } + public var Passport_Language_es: String { return self._s[2330]! } + public var Common_Search: String { return self._s[2331]! } public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2331]!, self._r[2331]!, [_0]) + return formatWithArgumentRanges(self._s[2332]!, self._r[2332]!, [_0]) } - public var Common_No: String { return self._s[2332]! } - public var Login_EmailNotConfiguredError: String { return self._s[2333]! } - public var Watch_Suggestion_OK: String { return self._s[2334]! } - public var Profile_AddToExisting: String { return self._s[2335]! } + public var Common_No: String { return self._s[2333]! } + public var Login_EmailNotConfiguredError: String { return self._s[2334]! } + public var Watch_Suggestion_OK: String { return self._s[2335]! } + public var Profile_AddToExisting: String { return self._s[2336]! } public func Passport_Identity_NativeNameTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2337]!, self._r[2337]!, [_0]) + return formatWithArgumentRanges(self._s[2338]!, self._r[2338]!, [_0]) } public func PINNED_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2338]!, self._r[2338]!, [_1]) + return formatWithArgumentRanges(self._s[2339]!, self._r[2339]!, [_1]) } public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2339]!, self._r[2339]!, [_0]) + return formatWithArgumentRanges(self._s[2340]!, self._r[2340]!, [_0]) } - public var NotificationsSound_Keys: String { return self._s[2340]! } - public var Passport_Phone_Title: String { return self._s[2342]! } - public var Profile_About: String { return self._s[2343]! } + public var NotificationsSound_Keys: String { return self._s[2341]! } + public var Passport_Phone_Title: String { return self._s[2343]! } + public var Profile_About: String { return self._s[2344]! } public func EncryptionKey_Description(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2344]!, self._r[2344]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2345]!, self._r[2345]!, [_1, _2]) } - public var Conversation_UnreadMessages: String { return self._s[2345]! } + public var Conversation_UnreadMessages: String { return self._s[2346]! } public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2346]!, self._r[2346]!, [_0]) + return formatWithArgumentRanges(self._s[2347]!, self._r[2347]!, [_0]) } - public var Tour_Title3: String { return self._s[2347]! } - public var Passport_Identity_FrontSide: String { return self._s[2348]! } - public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[2349]! } - public var Watch_Contacts_NoResults: String { return self._s[2350]! } - public var Passport_Language_id: String { return self._s[2351]! } - public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2352]! } - public var Watch_UserInfo_MuteTitle: String { return self._s[2353]! } + public var Tour_Title3: String { return self._s[2348]! } + public var Passport_Identity_FrontSide: String { return self._s[2349]! } + public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[2350]! } + public var Watch_Contacts_NoResults: String { return self._s[2351]! } + public var Passport_Language_id: String { return self._s[2352]! } + public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2353]! } + public var Watch_UserInfo_MuteTitle: String { return self._s[2354]! } public func Privacy_GroupsAndChannels_InviteToGroupError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2356]!, self._r[2356]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2357]!, self._r[2357]!, [_0, _1]) } public func Message_PinnedTextMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2358]!, self._r[2358]!, [_0]) + return formatWithArgumentRanges(self._s[2359]!, self._r[2359]!, [_0]) } public func Watch_Time_ShortWeekdayAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2359]!, self._r[2359]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2360]!, self._r[2360]!, [_1, _2]) } - public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2360]! } - public var DialogList_Typing: String { return self._s[2361]! } - public var Notification_CallBack: String { return self._s[2362]! } - public var Passport_Language_ru: String { return self._s[2363]! } - public var Map_LocatingError: String { return self._s[2364]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2366]! } - public var MediaPicker_Send: String { return self._s[2367]! } - public var ChannelIntro_Title: String { return self._s[2368]! } - public var AccessDenied_LocationAlwaysDenied: String { return self._s[2370]! } + public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2361]! } + public var DialogList_Typing: String { return self._s[2362]! } + public var Notification_CallBack: String { return self._s[2363]! } + public var Passport_Language_ru: String { return self._s[2364]! } + public var Map_LocatingError: String { return self._s[2365]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2367]! } + public var MediaPicker_Send: String { return self._s[2368]! } + public var ChannelIntro_Title: String { return self._s[2369]! } + public var AccessDenied_LocationAlwaysDenied: String { return self._s[2371]! } public func PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2371]!, self._r[2371]!, [_1]) + return formatWithArgumentRanges(self._s[2372]!, self._r[2372]!, [_1]) } public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2372]!, self._r[2372]!, [_0]) + return formatWithArgumentRanges(self._s[2373]!, self._r[2373]!, [_0]) } - public var Passport_Address_TypePassportRegistration: String { return self._s[2373]! } - public var Channel_EditAdmin_CannotEdit: String { return self._s[2376]! } - public var LoginPassword_PasswordHelp: String { return self._s[2378]! } - public var BlockedUsers_Unblock: String { return self._s[2379]! } - public var AutoDownloadSettings_Cellular: String { return self._s[2380]! } - public var Passport_Language_ro: String { return self._s[2381]! } + public var Passport_Address_TypePassportRegistration: String { return self._s[2374]! } + public var Channel_EditAdmin_CannotEdit: String { return self._s[2377]! } + public var LoginPassword_PasswordHelp: String { return self._s[2379]! } + public var BlockedUsers_Unblock: String { return self._s[2380]! } + public var AutoDownloadSettings_Cellular: String { return self._s[2381]! } + public var Passport_Language_ro: String { return self._s[2382]! } public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2382]!, self._r[2382]!, [_0]) + return formatWithArgumentRanges(self._s[2383]!, self._r[2383]!, [_0]) } - public var Appearance_PreviewIncomingText: String { return self._s[2383]! } - public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[2384]! } - public var Notifications_GroupNotificationsAlert: String { return self._s[2385]! } - public var Paint_Masks: String { return self._s[2386]! } - public var Appearance_ThemeDayClassic: String { return self._s[2388]! } - public var StickerPack_ErrorNotFound: String { return self._s[2389]! } - public var Appearance_ThemeNight: String { return self._s[2390]! } - public var SecretTimer_ImageDescription: String { return self._s[2391]! } + public var Appearance_PreviewIncomingText: String { return self._s[2384]! } + public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[2385]! } + public var Notifications_GroupNotificationsAlert: String { return self._s[2386]! } + public var Paint_Masks: String { return self._s[2387]! } + public var Appearance_ThemeDayClassic: String { return self._s[2389]! } + public var StickerPack_ErrorNotFound: String { return self._s[2390]! } + public var Appearance_ThemeNight: String { return self._s[2391]! } + public var SecretTimer_ImageDescription: String { return self._s[2392]! } public func PINNED_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2392]!, self._r[2392]!, [_1]) + return formatWithArgumentRanges(self._s[2393]!, self._r[2393]!, [_1]) } public func FileSize_KB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2393]!, self._r[2393]!, [_0]) + return formatWithArgumentRanges(self._s[2394]!, self._r[2394]!, [_0]) } - public var Map_LiveLocationTitle: String { return self._s[2394]! } - public var Watch_GroupInfo_Title: String { return self._s[2395]! } - public var Channel_AdminLog_EmptyTitle: String { return self._s[2396]! } - public var PhotoEditor_Set: String { return self._s[2398]! } - public var LiveLocation_MenuStopAll: String { return self._s[2399]! } - public var SocksProxySetup_AddProxy: String { return self._s[2400]! } + public var Map_LiveLocationTitle: String { return self._s[2395]! } + public var Watch_GroupInfo_Title: String { return self._s[2396]! } + public var Channel_AdminLog_EmptyTitle: String { return self._s[2397]! } + public var PhotoEditor_Set: String { return self._s[2399]! } + public var LiveLocation_MenuStopAll: String { return self._s[2400]! } + public var SocksProxySetup_AddProxy: String { return self._s[2401]! } public func Notification_Invited(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2401]!, self._r[2401]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2402]!, self._r[2402]!, [_0, _1]) } - public var Watch_AuthRequired: String { return self._s[2402]! } - public var Conversation_EncryptedDescription1: String { return self._s[2403]! } - public var AppleWatch_ReplyPresets: String { return self._s[2404]! } - public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[2405]! } - public var Conversation_EncryptedDescription2: String { return self._s[2406]! } - public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2407]! } - public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[2408]! } - public var Paint_Edit: String { return self._s[2409]! } - public var Passport_Language_nl: String { return self._s[2410]! } - public var LastSeen_Offline: String { return self._s[2411]! } - public var Login_CodeFloodError: String { return self._s[2412]! } - public var Conversation_EncryptedDescription3: String { return self._s[2413]! } - public var Notifications_Badge_IncludePublicGroups: String { return self._s[2415]! } - public var Conversation_EncryptedDescription4: String { return self._s[2416]! } - public var AppleWatch_Title: String { return self._s[2418]! } - public var Contacts_AccessDeniedError: String { return self._s[2419]! } - public var Conversation_StatusTyping: String { return self._s[2420]! } - public var Share_Title: String { return self._s[2421]! } - public var TwoStepAuth_ConfirmationTitle: String { return self._s[2422]! } - public var Passport_Identity_FilesTitle: String { return self._s[2423]! } - public var ChatSettings_Title: String { return self._s[2424]! } - public var AuthSessions_CurrentSession: String { return self._s[2425]! } - public var Watch_Microphone_Access: String { return self._s[2426]! } + public var Watch_AuthRequired: String { return self._s[2403]! } + public var Conversation_EncryptedDescription1: String { return self._s[2404]! } + public var AppleWatch_ReplyPresets: String { return self._s[2405]! } + public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[2406]! } + public var Conversation_EncryptedDescription2: String { return self._s[2407]! } + public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2408]! } + public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[2409]! } + public var Paint_Edit: String { return self._s[2410]! } + public var Passport_Language_nl: String { return self._s[2411]! } + public var LastSeen_Offline: String { return self._s[2412]! } + public var Login_CodeFloodError: String { return self._s[2413]! } + public var Conversation_EncryptedDescription3: String { return self._s[2414]! } + public var Notifications_Badge_IncludePublicGroups: String { return self._s[2416]! } + public var Conversation_EncryptedDescription4: String { return self._s[2417]! } + public var AppleWatch_Title: String { return self._s[2419]! } + public var Contacts_AccessDeniedError: String { return self._s[2420]! } + public var Conversation_StatusTyping: String { return self._s[2421]! } + public var Share_Title: String { return self._s[2422]! } + public var TwoStepAuth_ConfirmationTitle: String { return self._s[2423]! } + public var Passport_Identity_FilesTitle: String { return self._s[2424]! } + public var ChatSettings_Title: String { return self._s[2425]! } + public var AuthSessions_CurrentSession: String { return self._s[2426]! } + public var Watch_Microphone_Access: String { return self._s[2427]! } public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2427]!, self._r[2427]!, [_0]) + return formatWithArgumentRanges(self._s[2428]!, self._r[2428]!, [_0]) } - public var Conversation_LiveLocation: String { return self._s[2428]! } - public var Watch_Conversation_GroupInfo: String { return self._s[2429]! } - public var Passport_Language_fr: String { return self._s[2431]! } - public var UserInfo_Title: String { return self._s[2432]! } - public var Passport_Identity_DoesNotExpire: String { return self._s[2433]! } - public var Map_LiveLocationGroupDescription: String { return self._s[2434]! } - public var Login_InfoHelp: String { return self._s[2435]! } - public var ShareMenu_ShareTo: String { return self._s[2437]! } - public var Message_PinnedGame: String { return self._s[2441]! } - public var Channel_AdminLog_CanSendMessages: String { return self._s[2442]! } + public var Conversation_LiveLocation: String { return self._s[2429]! } + public var Watch_Conversation_GroupInfo: String { return self._s[2430]! } + public var Passport_Language_fr: String { return self._s[2432]! } + public var UserInfo_Title: String { return self._s[2433]! } + public var Passport_Identity_DoesNotExpire: String { return self._s[2434]! } + public var Map_LiveLocationGroupDescription: String { return self._s[2435]! } + public var Login_InfoHelp: String { return self._s[2436]! } + public var ShareMenu_ShareTo: String { return self._s[2438]! } + public var Message_PinnedGame: String { return self._s[2442]! } + public var Channel_AdminLog_CanSendMessages: String { return self._s[2443]! } public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2443]!, self._r[2443]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2444]!, self._r[2444]!, [_0, _1]) } - public var Notification_RenamedGroup: String { return self._s[2444]! } + public var Notification_RenamedGroup: String { return self._s[2445]! } public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2445]!, self._r[2445]!, [_0]) + return formatWithArgumentRanges(self._s[2446]!, self._r[2446]!, [_0]) } - public var Passport_Address_Street: String { return self._s[2446]! } - public var Weekday_Thursday: String { return self._s[2447]! } - public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2448]! } - public var PrivacySettings_DataSettings: String { return self._s[2449]! } - public var ChangePhoneNumberNumber_Title: String { return self._s[2450]! } - public var NotificationsSound_Bell: String { return self._s[2451]! } - public var Notifications_Badge_IncludeMutedChats: String { return self._s[2453]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[2455]! } - public var DialogList_SearchSectionMessages: String { return self._s[2456]! } - public var Media_ShareThisVideo: String { return self._s[2457]! } - public var Call_ReportIncludeLogDescription: String { return self._s[2458]! } - public var Preview_DeleteGif: String { return self._s[2459]! } - public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[2460]! } - public var Weekday_Saturday: String { return self._s[2461]! } - public var UserInfo_DeleteContact: String { return self._s[2462]! } - public var Notifications_ResetAllNotifications: String { return self._s[2463]! } - public var SocksProxySetup_SaveProxy: String { return self._s[2464]! } - public var Passport_Identity_Country: String { return self._s[2465]! } - public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[2466]! } - public var Login_ContinueWithLocalization: String { return self._s[2467]! } - public var GroupInfo_AddParticipant: String { return self._s[2468]! } - public var Watch_Location_Current: String { return self._s[2469]! } - public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2470]! } + public var Passport_Address_Street: String { return self._s[2447]! } + public var Weekday_Thursday: String { return self._s[2448]! } + public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2449]! } + public var PrivacySettings_DataSettings: String { return self._s[2450]! } + public var ChangePhoneNumberNumber_Title: String { return self._s[2451]! } + public var NotificationsSound_Bell: String { return self._s[2452]! } + public var Notifications_Badge_IncludeMutedChats: String { return self._s[2454]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[2456]! } + public var DialogList_SearchSectionMessages: String { return self._s[2457]! } + public var Media_ShareThisVideo: String { return self._s[2458]! } + public var Call_ReportIncludeLogDescription: String { return self._s[2459]! } + public var Preview_DeleteGif: String { return self._s[2460]! } + public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[2461]! } + public var Weekday_Saturday: String { return self._s[2462]! } + public var UserInfo_DeleteContact: String { return self._s[2463]! } + public var Notifications_ResetAllNotifications: String { return self._s[2464]! } + public var SocksProxySetup_SaveProxy: String { return self._s[2465]! } + public var Passport_Identity_Country: String { return self._s[2466]! } + public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[2467]! } + public var Login_ContinueWithLocalization: String { return self._s[2468]! } + public var GroupInfo_AddParticipant: String { return self._s[2469]! } + public var Watch_Location_Current: String { return self._s[2470]! } + public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2471]! } public func Settings_ApplyProxyAlertCredentials(_ _1: String, _ _2: String, _ _3: String, _ _4: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2473]!, self._r[2473]!, [_1, _2, _3, _4]) + return formatWithArgumentRanges(self._s[2474]!, self._r[2474]!, [_1, _2, _3, _4]) } - public var MediaPicker_CameraRoll: String { return self._s[2474]! } - public var Channel_AdminLog_CanPinMessages: String { return self._s[2475]! } - public var KeyCommand_NewMessage: String { return self._s[2476]! } + public var MediaPicker_CameraRoll: String { return self._s[2475]! } + public var Channel_AdminLog_CanPinMessages: String { return self._s[2476]! } + public var KeyCommand_NewMessage: String { return self._s[2477]! } public func ChannelInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2478]!, self._r[2478]!, [_0]) + return formatWithArgumentRanges(self._s[2479]!, self._r[2479]!, [_0]) } - public var NetworkUsageSettings_TotalSection: String { return self._s[2479]! } + public var NetworkUsageSettings_TotalSection: String { return self._s[2480]! } public func PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2480]!, self._r[2480]!, [_1]) + return formatWithArgumentRanges(self._s[2481]!, self._r[2481]!, [_1]) } - public var Privacy_GroupsAndChannels: String { return self._s[2481]! } + public var Privacy_GroupsAndChannels: String { return self._s[2482]! } public func Time_PreciseDate_m12(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2483]!, self._r[2483]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2484]!, self._r[2484]!, [_1, _2, _3]) } - public var Conversation_DiscardVoiceMessageDescription: String { return self._s[2486]! } - public var Passport_Address_ScansHelp: String { return self._s[2487]! } + public var Conversation_DiscardVoiceMessageDescription: String { return self._s[2487]! } + public var Passport_Address_ScansHelp: String { return self._s[2488]! } public func Notification_ChangedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2488]!, self._r[2488]!, [_0]) + return formatWithArgumentRanges(self._s[2489]!, self._r[2489]!, [_0]) } - public var TwoStepAuth_RemovePassword: String { return self._s[2490]! } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2492]! } - public var Passport_Identity_Gender: String { return self._s[2493]! } - public var UserInfo_NotificationsDisable: String { return self._s[2494]! } - public var Watch_UserInfo_Service: String { return self._s[2495]! } - public var Privacy_Calls_CustomHelp: String { return self._s[2497]! } - public var ChangePhoneNumberCode_Code: String { return self._s[2498]! } - public var UserInfo_Invite: String { return self._s[2499]! } - public var CheckoutInfo_ErrorStateInvalid: String { return self._s[2500]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[2502]! } - public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[2504]! } - public var Month_GenNovember: String { return self._s[2505]! } - public var UserInfo_NotificationsEnable: String { return self._s[2506]! } + public var TwoStepAuth_RemovePassword: String { return self._s[2491]! } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2493]! } + public var Passport_Identity_Gender: String { return self._s[2494]! } + public var UserInfo_NotificationsDisable: String { return self._s[2495]! } + public var Watch_UserInfo_Service: String { return self._s[2496]! } + public var Privacy_Calls_CustomHelp: String { return self._s[2498]! } + public var ChangePhoneNumberCode_Code: String { return self._s[2499]! } + public var UserInfo_Invite: String { return self._s[2500]! } + public var CheckoutInfo_ErrorStateInvalid: String { return self._s[2501]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[2503]! } + public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[2505]! } + public var Month_GenNovember: String { return self._s[2506]! } + public var UserInfo_NotificationsEnable: String { return self._s[2507]! } public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2508]!, self._r[2508]!, [_0]) + return formatWithArgumentRanges(self._s[2509]!, self._r[2509]!, [_0]) } - public var Map_Map: String { return self._s[2509]! } - public var Map_OpenInMaps: String { return self._s[2510]! } - public var Common_OK: String { return self._s[2511]! } - public var TwoStepAuth_SetupHintTitle: String { return self._s[2512]! } - public var GroupInfo_LeftStatus: String { return self._s[2513]! } - public var Cache_ClearProgress: String { return self._s[2514]! } - public var Login_InvalidPhoneError: String { return self._s[2515]! } - public var Passport_Authorize: String { return self._s[2516]! } - public var Cache_ClearEmpty: String { return self._s[2517]! } - public var Map_Search: String { return self._s[2518]! } - public var Passport_Identity_Translations: String { return self._s[2519]! } - public var ChannelMembers_GroupAdminsTitle: String { return self._s[2521]! } + public var Map_Map: String { return self._s[2510]! } + public var Map_OpenInMaps: String { return self._s[2511]! } + public var Common_OK: String { return self._s[2512]! } + public var TwoStepAuth_SetupHintTitle: String { return self._s[2513]! } + public var GroupInfo_LeftStatus: String { return self._s[2514]! } + public var Cache_ClearProgress: String { return self._s[2515]! } + public var Login_InvalidPhoneError: String { return self._s[2516]! } + public var Passport_Authorize: String { return self._s[2517]! } + public var Cache_ClearEmpty: String { return self._s[2518]! } + public var Map_Search: String { return self._s[2519]! } + public var Passport_Identity_Translations: String { return self._s[2520]! } + public var ChannelMembers_GroupAdminsTitle: String { return self._s[2522]! } public func Channel_AdminLog_MessageRemovedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2522]!, self._r[2522]!, [_0]) + return formatWithArgumentRanges(self._s[2523]!, self._r[2523]!, [_0]) } public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2523]!, self._r[2523]!, [_1]) + return formatWithArgumentRanges(self._s[2524]!, self._r[2524]!, [_1]) } - public var ChatSettings_AutomaticPhotoDownload: String { return self._s[2524]! } - public var Group_ErrorAddTooMuchAdmins: String { return self._s[2526]! } - public var SocksProxySetup_Password: String { return self._s[2528]! } - public var Login_SelectCountry_Title: String { return self._s[2529]! } + public var ChatSettings_AutomaticPhotoDownload: String { return self._s[2525]! } + public var Group_ErrorAddTooMuchAdmins: String { return self._s[2527]! } + public var SocksProxySetup_Password: String { return self._s[2529]! } + public var Login_SelectCountry_Title: String { return self._s[2530]! } public func MESSAGE_PHOTOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2530]!, self._r[2530]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2531]!, self._r[2531]!, [_1, _2]) } - public var Notifications_GroupNotificationsHelp: String { return self._s[2531]! } - public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2532]! } - public var Notification_CallOutgoing: String { return self._s[2533]! } - public var UserInfo_NotificationsDefault: String { return self._s[2534]! } - public var Weekday_ShortMonday: String { return self._s[2535]! } - public var Checkout_Receipt_Title: String { return self._s[2536]! } - public var Channel_Edit_AboutItem: String { return self._s[2537]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[2538]! } - public var Channel_Members_AddMembersHelp: String { return self._s[2540]! } + public var Notifications_GroupNotificationsHelp: String { return self._s[2532]! } + public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2533]! } + public var Notification_CallOutgoing: String { return self._s[2534]! } + public var UserInfo_NotificationsDefault: String { return self._s[2535]! } + public var Weekday_ShortMonday: String { return self._s[2536]! } + public var Checkout_Receipt_Title: String { return self._s[2537]! } + public var Channel_Edit_AboutItem: String { return self._s[2538]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[2539]! } + public var Channel_Members_AddMembersHelp: String { return self._s[2541]! } public func MESSAGE_VIDEO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2541]!, self._r[2541]!, [_1]) + return formatWithArgumentRanges(self._s[2542]!, self._r[2542]!, [_1]) } - public var Settings_CopyPhoneNumber: String { return self._s[2542]! } - public var ReportPeer_Report: String { return self._s[2543]! } - public var Channel_EditMessageErrorGeneric: String { return self._s[2544]! } - public var Passport_Identity_TranslationsHelp: String { return self._s[2545]! } - public var LoginPassword_FloodError: String { return self._s[2546]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2548]! } - public var PhotoEditor_DiscardChanges: String { return self._s[2549]! } - public var Group_UpgradeNoticeText2: String { return self._s[2550]! } + public var Settings_CopyPhoneNumber: String { return self._s[2543]! } + public var ReportPeer_Report: String { return self._s[2544]! } + public var Channel_EditMessageErrorGeneric: String { return self._s[2545]! } + public var Passport_Identity_TranslationsHelp: String { return self._s[2546]! } + public var LoginPassword_FloodError: String { return self._s[2547]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[2549]! } + public var PhotoEditor_DiscardChanges: String { return self._s[2550]! } + public var Group_UpgradeNoticeText2: String { return self._s[2551]! } public func PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2551]!, self._r[2551]!, [_1]) + return formatWithArgumentRanges(self._s[2552]!, self._r[2552]!, [_1]) } public func ChannelInfo_ChannelForbidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2552]!, self._r[2552]!, [_0]) + return formatWithArgumentRanges(self._s[2553]!, self._r[2553]!, [_0]) } - public var Conversation_ShareMyContactInfo: String { return self._s[2553]! } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2554]! } + public var Conversation_ShareMyContactInfo: String { return self._s[2554]! } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2555]! } public func CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2555]!, self._r[2555]!, [_1]) + return formatWithArgumentRanges(self._s[2556]!, self._r[2556]!, [_1]) } - public var Contacts_PhoneNumber: String { return self._s[2556]! } - public var Group_Info_AdminLog: String { return self._s[2557]! } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[2558]! } - public var ChatSettings_AutoDownloadEnabled: String { return self._s[2559]! } - public var StickerPacksSettings_FeaturedPacks: String { return self._s[2560]! } - public var AuthSessions_LoggedIn: String { return self._s[2561]! } - public var Month_GenAugust: String { return self._s[2562]! } - public var Notification_CallCanceled: String { return self._s[2563]! } - public var Channel_Username_CreatePublicLinkHelp: String { return self._s[2564]! } - public var StickerPack_Send: String { return self._s[2565]! } - public var StickerSettings_MaskContextInfo: String { return self._s[2566]! } - public var Watch_Suggestion_HoldOn: String { return self._s[2567]! } + public var Contacts_PhoneNumber: String { return self._s[2557]! } + public var Group_Info_AdminLog: String { return self._s[2558]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[2559]! } + public var ChatSettings_AutoDownloadEnabled: String { return self._s[2560]! } + public var StickerPacksSettings_FeaturedPacks: String { return self._s[2561]! } + public var AuthSessions_LoggedIn: String { return self._s[2562]! } + public var Month_GenAugust: String { return self._s[2563]! } + public var Notification_CallCanceled: String { return self._s[2564]! } + public var Channel_Username_CreatePublicLinkHelp: String { return self._s[2565]! } + public var StickerPack_Send: String { return self._s[2566]! } + public var StickerSettings_MaskContextInfo: String { return self._s[2567]! } + public var Watch_Suggestion_HoldOn: String { return self._s[2568]! } public func PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2568]!, self._r[2568]!, [_1]) + return formatWithArgumentRanges(self._s[2569]!, self._r[2569]!, [_1]) } - public var PasscodeSettings_EncryptData: String { return self._s[2569]! } - public var Common_NotNow: String { return self._s[2570]! } - public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[2572]! } - public var PasscodeSettings_Title: String { return self._s[2573]! } - public var StickerPack_BuiltinPackName: String { return self._s[2574]! } - public var Appearance_AccentColor: String { return self._s[2576]! } - public var Watch_Suggestion_BRB: String { return self._s[2577]! } + public var PasscodeSettings_EncryptData: String { return self._s[2570]! } + public var Common_NotNow: String { return self._s[2571]! } + public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[2573]! } + public var PasscodeSettings_Title: String { return self._s[2574]! } + public var StickerPack_BuiltinPackName: String { return self._s[2575]! } + public var Appearance_AccentColor: String { return self._s[2577]! } + public var Watch_Suggestion_BRB: String { return self._s[2578]! } public func CHAT_MESSAGE_ROUND(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2578]!, self._r[2578]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2579]!, self._r[2579]!, [_1, _2]) } - public var Notifications_MessageNotificationsAlert: String { return self._s[2579]! } - public var Username_InvalidCharacters: String { return self._s[2580]! } - public var GroupInfo_LabelAdmin: String { return self._s[2581]! } - public var GroupInfo_Sound: String { return self._s[2582]! } - public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[2583]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[2584]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[2585]! } - public var Wallpaper_PhotoLibrary: String { return self._s[2586]! } - public var Settings_About: String { return self._s[2587]! } - public var Privacy_Calls_IntegrationHelp: String { return self._s[2588]! } - public var ContactInfo_Job: String { return self._s[2589]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[2580]! } + public var Username_InvalidCharacters: String { return self._s[2581]! } + public var GroupInfo_LabelAdmin: String { return self._s[2582]! } + public var GroupInfo_Sound: String { return self._s[2583]! } + public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[2584]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[2585]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[2586]! } + public var Wallpaper_PhotoLibrary: String { return self._s[2587]! } + public var Settings_About: String { return self._s[2588]! } + public var Privacy_Calls_IntegrationHelp: String { return self._s[2589]! } + public var ContactInfo_Job: String { return self._s[2590]! } public func CHAT_LEFT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2590]!, self._r[2590]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2591]!, self._r[2591]!, [_1, _2]) } - public var LoginPassword_ForgotPassword: String { return self._s[2591]! } - public var Passport_Address_AddTemporaryRegistration: String { return self._s[2593]! } + public var LoginPassword_ForgotPassword: String { return self._s[2592]! } + public var Passport_Address_AddTemporaryRegistration: String { return self._s[2594]! } public func Map_LiveLocationShortHour(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2594]!, self._r[2594]!, [_0]) + return formatWithArgumentRanges(self._s[2595]!, self._r[2595]!, [_0]) } - public var Appearance_Preview: String { return self._s[2595]! } + public var Appearance_Preview: String { return self._s[2596]! } public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2596]!, self._r[2596]!, [_0]) + return formatWithArgumentRanges(self._s[2597]!, self._r[2597]!, [_0]) } - public var Passport_Identity_TypePassport: String { return self._s[2597]! } - public var ChatSettings_Appearance: String { return self._s[2598]! } - public var Tour_Title1: String { return self._s[2599]! } - public var Conversation_EditingCaptionPanelTitle: String { return self._s[2601]! } + public var Passport_Identity_TypePassport: String { return self._s[2598]! } + public var ChatSettings_Appearance: String { return self._s[2599]! } + public var Tour_Title1: String { return self._s[2600]! } + public var Conversation_EditingCaptionPanelTitle: String { return self._s[2602]! } public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2602]!, self._r[2602]!, [_0]) + return formatWithArgumentRanges(self._s[2603]!, self._r[2603]!, [_0]) } - public var Conversation_LinkDialogCopy: String { return self._s[2603]! } + public var Conversation_LinkDialogCopy: String { return self._s[2604]! } public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2604]!, self._r[2604]!, [_0]) - } - public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2605]!, self._r[2605]!, [_0]) } + public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2606]!, self._r[2606]!, [_0]) + } public func DownloadingStatus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2606]!, self._r[2606]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2607]!, self._r[2607]!, [_0, _1]) } - public var Calls_All: String { return self._s[2607]! } + public var Calls_All: String { return self._s[2608]! } public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2608]!, self._r[2608]!, [_0]) + return formatWithArgumentRanges(self._s[2609]!, self._r[2609]!, [_0]) } - public var Call_CallAgain: String { return self._s[2609]! } - public var Message_VideoExpired: String { return self._s[2610]! } - public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2611]! } + public var Call_CallAgain: String { return self._s[2610]! } + public var Message_VideoExpired: String { return self._s[2611]! } + public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2612]! } public func Channel_AdminLog_MessagePromotedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2612]!, self._r[2612]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2613]!, self._r[2613]!, [_1, _2]) } - public var UserInfo_SendMessage: String { return self._s[2613]! } + public var UserInfo_SendMessage: String { return self._s[2614]! } public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2614]!, self._r[2614]!, [_0]) - } - public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2615]!, self._r[2615]!, [_0]) } - public var Settings_ViewPhoto: String { return self._s[2616]! } - public var Paint_RecentStickers: String { return self._s[2617]! } - public var TwoStepAuth_HintPlaceholder: String { return self._s[2618]! } + public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2616]!, self._r[2616]!, [_0]) + } + public var Settings_ViewPhoto: String { return self._s[2617]! } + public var Paint_RecentStickers: String { return self._s[2618]! } + public var TwoStepAuth_HintPlaceholder: String { return self._s[2619]! } public func Passport_PrivacyPolicy(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2619]!, self._r[2619]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2620]!, self._r[2620]!, [_1, _2]) } - public var ApplyLanguage_ApplyLanguageAction: String { return self._s[2620]! } - public var TwoStepAuth_EnabledSuccess: String { return self._s[2621]! } - public var Login_CallRequestState3: String { return self._s[2622]! } - public var Channel_Edit_LinkItem: String { return self._s[2623]! } - public var CallSettings_Title: String { return self._s[2625]! } - public var ChangePhoneNumberNumber_Help: String { return self._s[2626]! } - public var Passport_InfoTitle: String { return self._s[2627]! } - public var Watch_Suggestion_Thanks: String { return self._s[2628]! } - public var Channel_Moderator_Title: String { return self._s[2629]! } - public var Message_PinnedPhotoMessage: String { return self._s[2630]! } - public var Notification_SecretChatScreenshot: String { return self._s[2631]! } + public var ApplyLanguage_ApplyLanguageAction: String { return self._s[2621]! } + public var TwoStepAuth_EnabledSuccess: String { return self._s[2622]! } + public var Login_CallRequestState3: String { return self._s[2623]! } + public var Channel_Edit_LinkItem: String { return self._s[2624]! } + public var CallSettings_Title: String { return self._s[2626]! } + public var ChangePhoneNumberNumber_Help: String { return self._s[2627]! } + public var Passport_InfoTitle: String { return self._s[2628]! } + public var Watch_Suggestion_Thanks: String { return self._s[2629]! } + public var Channel_Moderator_Title: String { return self._s[2630]! } + public var Message_PinnedPhotoMessage: String { return self._s[2631]! } + public var Notification_SecretChatScreenshot: String { return self._s[2632]! } public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2632]!, self._r[2632]!, [_0]) + return formatWithArgumentRanges(self._s[2633]!, self._r[2633]!, [_0]) } - public var Activity_UploadingDocument: String { return self._s[2633]! } - public var Watch_ChatList_NoConversationsText: String { return self._s[2634]! } - public var ReportPeer_AlertSuccess: String { return self._s[2635]! } - public var Tour_Text4: String { return self._s[2636]! } - public var Channel_Info_Description: String { return self._s[2637]! } - public var AccessDenied_LocationTracking: String { return self._s[2639]! } - public var Watch_Compose_Send: String { return self._s[2640]! } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[2641]! } - public var Preview_CopyAddress: String { return self._s[2642]! } - public var Settings_BlockedUsers: String { return self._s[2643]! } - public var Month_ShortAugust: String { return self._s[2644]! } - public var Passport_Identity_MainPage: String { return self._s[2645]! } - public var Passport_FieldAddress: String { return self._s[2647]! } - public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[2648]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[2649]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[2650]! } - public var DialogList_EncryptionRejected: String { return self._s[2651]! } - public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[2653]! } - public var AccessDenied_CameraRestricted: String { return self._s[2654]! } - public var Watch_Message_ForwardedFrom: String { return self._s[2655]! } - public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[2657]! } - public var Channel_AboutItem: String { return self._s[2658]! } - public var PhotoEditor_CurvesGreen: String { return self._s[2659]! } - public var Month_GenJuly: String { return self._s[2660]! } - public var ContactInfo_URLLabelHomepage: String { return self._s[2661]! } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2662]! } + public var Activity_UploadingDocument: String { return self._s[2634]! } + public var Watch_ChatList_NoConversationsText: String { return self._s[2635]! } + public var ReportPeer_AlertSuccess: String { return self._s[2636]! } + public var Tour_Text4: String { return self._s[2637]! } + public var Channel_Info_Description: String { return self._s[2638]! } + public var AccessDenied_LocationTracking: String { return self._s[2640]! } + public var Watch_Compose_Send: String { return self._s[2641]! } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[2642]! } + public var Preview_CopyAddress: String { return self._s[2643]! } + public var Settings_BlockedUsers: String { return self._s[2644]! } + public var Month_ShortAugust: String { return self._s[2645]! } + public var Passport_Identity_MainPage: String { return self._s[2646]! } + public var Passport_FieldAddress: String { return self._s[2648]! } + public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[2649]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[2650]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[2651]! } + public var DialogList_EncryptionRejected: String { return self._s[2652]! } + public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[2654]! } + public var AccessDenied_CameraRestricted: String { return self._s[2655]! } + public var Watch_Message_ForwardedFrom: String { return self._s[2656]! } + public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[2658]! } + public var Channel_AboutItem: String { return self._s[2659]! } + public var PhotoEditor_CurvesGreen: String { return self._s[2660]! } + public var Month_GenJuly: String { return self._s[2661]! } + public var ContactInfo_URLLabelHomepage: String { return self._s[2662]! } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2663]! } public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2664]!, self._r[2664]!, [_0]) + return formatWithArgumentRanges(self._s[2665]!, self._r[2665]!, [_0]) } - public var ChannelIntro_CreateChannel: String { return self._s[2666]! } - public var Channel_Management_AddModerator: String { return self._s[2667]! } - public var Common_ChoosePhoto: String { return self._s[2668]! } - public var Conversation_Pin: String { return self._s[2669]! } + public var ChannelIntro_CreateChannel: String { return self._s[2667]! } + public var Channel_Management_AddModerator: String { return self._s[2668]! } + public var Common_ChoosePhoto: String { return self._s[2669]! } + public var Conversation_Pin: String { return self._s[2670]! } public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2671]!, self._r[2671]!, [_0]) - } - public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2672]!, self._r[2672]!, [_0]) } - public var Camera_TapAndHoldForVideo: String { return self._s[2673]! } - public var Bot_DescriptionTitle: String { return self._s[2674]! } - public var FeaturedStickerPacks_Title: String { return self._s[2675]! } - public var Map_OpenInGoogleMaps: String { return self._s[2677]! } - public var Notification_MessageLifetime5s: String { return self._s[2678]! } - public var Contacts_Title: String { return self._s[2681]! } - public var TwoStepAuth_DisableSuccess: String { return self._s[2682]! } + public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2673]!, self._r[2673]!, [_0]) + } + public var Camera_TapAndHoldForVideo: String { return self._s[2674]! } + public var Bot_DescriptionTitle: String { return self._s[2675]! } + public var FeaturedStickerPacks_Title: String { return self._s[2676]! } + public var Map_OpenInGoogleMaps: String { return self._s[2678]! } + public var Notification_MessageLifetime5s: String { return self._s[2679]! } + public var Contacts_Title: String { return self._s[2682]! } + public var TwoStepAuth_DisableSuccess: String { return self._s[2683]! } public func MESSAGES(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2683]!, self._r[2683]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2684]!, self._r[2684]!, [_1, _2]) } - public var Channel_Management_AddModeratorHelp: String { return self._s[2686]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[2687]! } public func CHAT_MESSAGE_FWDS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2687]!, self._r[2687]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2688]!, self._r[2688]!, [_1, _2, _3]) } - public var Conversation_MessageDialogEdit: String { return self._s[2688]! } - public var PrivacyLastSeenSettings_Title: String { return self._s[2689]! } - public var Notifications_ClassicTones: String { return self._s[2691]! } - public var Conversation_LinkDialogOpen: String { return self._s[2692]! } - public var Channel_Info_Subscribers: String { return self._s[2693]! } - public var NotificationsSound_Input: String { return self._s[2694]! } - public var Conversation_ClousStorageInfo_Description4: String { return self._s[2695]! } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2696]! } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[2698]! } - public var Notification_MessageLifetime1h: String { return self._s[2699]! } + public var Conversation_MessageDialogEdit: String { return self._s[2689]! } + public var PrivacyLastSeenSettings_Title: String { return self._s[2690]! } + public var Notifications_ClassicTones: String { return self._s[2692]! } + public var Conversation_LinkDialogOpen: String { return self._s[2693]! } + public var Channel_Info_Subscribers: String { return self._s[2694]! } + public var NotificationsSound_Input: String { return self._s[2695]! } + public var Conversation_ClousStorageInfo_Description4: String { return self._s[2696]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2697]! } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[2699]! } + public var Notification_MessageLifetime1h: String { return self._s[2700]! } public func Notification_CreatedChatWithTitle(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2700]!, self._r[2700]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2701]!, self._r[2701]!, [_0, _1]) } - public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[2701]! } - public var LastSeen_Lately: String { return self._s[2702]! } - public var Month_ShortApril: String { return self._s[2703]! } - public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2704]! } + public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[2702]! } + public var LastSeen_Lately: String { return self._s[2703]! } + public var Month_ShortApril: String { return self._s[2704]! } + public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2705]! } public func PHONE_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2705]!, self._r[2705]!, [_1]) + return formatWithArgumentRanges(self._s[2706]!, self._r[2706]!, [_1]) } public func Conversation_Kilobytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2706]!, self._r[2706]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[2707]!, self._r[2707]!, ["\(_0)"]) } - public var Group_ErrorAddBlocked: String { return self._s[2707]! } - public var TwoStepAuth_AdditionalPassword: String { return self._s[2709]! } - public var MediaPicker_Videos: String { return self._s[2710]! } - public var Notification_PassportValueProofOfIdentity: String { return self._s[2711]! } - public var BlockedUsers_AddNew: String { return self._s[2712]! } - public var Notifications_DisplayNamesOnLockScreenInfo: String { return self._s[2713]! } - public var StickerPacksSettings_StickerPacksSection: String { return self._s[2714]! } - public var Channel_NotificationLoading: String { return self._s[2715]! } - public var Passport_Language_da: String { return self._s[2717]! } - public var Passport_Address_Country: String { return self._s[2718]! } + public var Group_ErrorAddBlocked: String { return self._s[2708]! } + public var TwoStepAuth_AdditionalPassword: String { return self._s[2710]! } + public var MediaPicker_Videos: String { return self._s[2711]! } + public var Notification_PassportValueProofOfIdentity: String { return self._s[2712]! } + public var BlockedUsers_AddNew: String { return self._s[2713]! } + public var Notifications_DisplayNamesOnLockScreenInfo: String { return self._s[2714]! } + public var StickerPacksSettings_StickerPacksSection: String { return self._s[2715]! } + public var Channel_NotificationLoading: String { return self._s[2716]! } + public var Passport_Language_da: String { return self._s[2718]! } + public var Passport_Address_Country: String { return self._s[2719]! } public func CHAT_RETURNED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2719]!, self._r[2719]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2720]!, self._r[2720]!, [_1, _2]) } - public var PhotoEditor_ShadowsTint: String { return self._s[2721]! } - public var ExplicitContent_AlertTitle: String { return self._s[2723]! } - public var Channel_AdminLogFilter_EventsLeaving: String { return self._s[2724]! } - public var Map_LiveLocationFor8Hours: String { return self._s[2725]! } - public var StickerPack_HideStickers: String { return self._s[2726]! } - public var Checkout_EnterPassword: String { return self._s[2727]! } - public var UserInfo_NotificationsEnabled: String { return self._s[2728]! } - public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2729]! } - public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2730]! } - public var Appearance_ReduceMotionInfo: String { return self._s[2731]! } - public var Weekday_ShortTuesday: String { return self._s[2732]! } - public var Notification_CallIncomingShort: String { return self._s[2733]! } - public var ConvertToSupergroup_Note: String { return self._s[2734]! } - public var DialogList_Read: String { return self._s[2735]! } - public var Conversation_EmptyPlaceholder: String { return self._s[2736]! } + public var PhotoEditor_ShadowsTint: String { return self._s[2722]! } + public var ExplicitContent_AlertTitle: String { return self._s[2724]! } + public var Channel_AdminLogFilter_EventsLeaving: String { return self._s[2725]! } + public var Map_LiveLocationFor8Hours: String { return self._s[2726]! } + public var StickerPack_HideStickers: String { return self._s[2727]! } + public var Checkout_EnterPassword: String { return self._s[2728]! } + public var UserInfo_NotificationsEnabled: String { return self._s[2729]! } + public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2730]! } + public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2731]! } + public var Appearance_ReduceMotionInfo: String { return self._s[2732]! } + public var Weekday_ShortTuesday: String { return self._s[2733]! } + public var Notification_CallIncomingShort: String { return self._s[2734]! } + public var ConvertToSupergroup_Note: String { return self._s[2735]! } + public var Login_SendCodeViaSms: String { return self._s[2736]! } + public var DialogList_Read: String { return self._s[2737]! } + public var Conversation_EmptyPlaceholder: String { return self._s[2738]! } public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2737]!, self._r[2737]!, [_0]) + return formatWithArgumentRanges(self._s[2739]!, self._r[2739]!, [_0]) } - public var Username_Help: String { return self._s[2738]! } - public var StickerSettings_ContextHide: String { return self._s[2739]! } - public var Media_ShareThisPhoto: String { return self._s[2742]! } - public var Contacts_ShareTelegram: String { return self._s[2743]! } - public var AutoNightTheme_Scheduled: String { return self._s[2744]! } - public var Weekday_Sunday: String { return self._s[2745]! } - public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2747]! } - public var Settings_ChatBackground: String { return self._s[2748]! } - public var Login_TermsOfServiceDecline: String { return self._s[2750]! } - public func ForwardedMessages(_ value: Int32) -> String { + public var Username_Help: String { return self._s[2740]! } + public var StickerSettings_ContextHide: String { return self._s[2741]! } + public var Media_ShareThisPhoto: String { return self._s[2744]! } + public var Contacts_ShareTelegram: String { return self._s[2745]! } + public var AutoNightTheme_Scheduled: String { return self._s[2746]! } + public var Weekday_Sunday: String { return self._s[2747]! } + public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2749]! } + public var Settings_ChatBackground: String { return self._s[2750]! } + public var Login_TermsOfServiceDecline: String { return self._s[2752]! } + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_File(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Seconds(_ value: Int32) -> String { + public func Notifications_Exceptions(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Months(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_Seconds(_ value: Int32) -> String { + public func Notification_GameScoreExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { + public func MessageTimer_ShortDays(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedVideoMessages(_ value: Int32) -> String { + public func SharedMedia_Video(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSimple(_ value: Int32) -> String { + public func MessageTimer_ShortHours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, "\(value)") } - public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { + public func Call_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LastSeen_HoursAgo(_ value: Int32) -> String { + public func Call_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusOnline(_ value: Int32) -> String { + public func Media_ShareVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreExtended(_ value: Int32) -> String { + public func Map_ETAMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Days(_ value: Int32) -> String { + public func ForwardedVideos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_ShortSeconds(_ value: Int32) -> String { + public func ForwardedStickers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Days(_ value: Int32) -> String { + public func ForwardedLocations(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Minutes(_ value: Int32) -> String { + public func Media_SharePhoto(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_AddMaskCount(_ value: Int32) -> String { + public func ForwardedMessages(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, "\(value)") } - public func InviteText_ContactsCountText(_ value: Int32) -> String { + public func SharedMedia_Generic(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedFiles(_ value: Int32) -> String { + public func SharedMedia_Photo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + public func QuickSend_Photos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendVideo(_ value: Int32) -> String { + public func Notification_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_ShareItem(_ value: Int32) -> String { + public func ForwardedAuthorsOthers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { + public func Conversation_StatusSubscribers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + public func ForwardedVideoMessages(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteExpires_Hours(_ value: Int32) -> String { + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, "\(value)") } @@ -3219,231 +3221,231 @@ public final class PresentationStrings { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedGifs(_ value: Int32) -> String { + public func StickerPack_StickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedAuthorsOthers(_ value: Int32) -> String { + public func MessageTimer_ShortWeeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { + public func ForwardedFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Map_ETAMinutes(_ value: Int32) -> String { + public func MessageTimer_Weeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_ShortMinutes(_ value: Int32) -> String { + public func MuteExpires_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Call_Minutes(_ value: Int32) -> String { + public func MessageTimer_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusMembers(_ value: Int32) -> String { + public func UserCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Passport_Scans(_ value: Int32) -> String { + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { + public func AttachmentMenu_SendItem(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, "\(value)") } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, "\(value)") } - public func GroupInfo_ParticipantCount(_ value: Int32) -> String { + public func Passport_Scans(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + public func ForwardedAudios(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Contacts_ImportersCount(_ value: Int32) -> String { + public func Watch_UserInfo_Mute(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Invitation_Members(_ value: Int32) -> String { + public func MessageTimer_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Minutes(_ value: Int32) -> String { + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortHours(_ value: Int32) -> String { + public func Contacts_ImportersCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, "\(value)") } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { + public func AttachmentMenu_SendGif(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Video(_ value: Int32) -> String { + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Map_ETAHours(_ value: Int32) -> String { + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedLocations(_ value: Int32) -> String { + public func Invitation_Members(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteFor_Days(_ value: Int32) -> String { + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { + public func LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + public func GroupInfo_ParticipantCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + public func MuteExpires_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedAudios(_ value: Int32) -> String { + public func MuteExpires_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { + public func LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MuteFor_Hours(_ value: Int32) -> String { + public func StickerPack_AddMaskCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Years(_ value: Int32) -> String { + public func MuteFor_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedContacts(_ value: Int32) -> String { + public func MessageTimer_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, "\(value)") } - public func LastSeen_MinutesAgo(_ value: Int32) -> String { + public func StickerPack_AddStickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortDays(_ value: Int32) -> String { + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { + public func ForwardedGifs(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Hours(_ value: Int32) -> String { + public func Call_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_ShareVideo(_ value: Int32) -> String { + public func InviteText_ContactsCountText(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedVideos(_ value: Int32) -> String { + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { + public func MessageTimer_Months(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Generic(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_Weeks(_ value: Int32) -> String { + public func ForwardedPhotos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + public func Call_ShortSeconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedPhotos(_ value: Int32) -> String { + public func Media_ShareItem(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, "\(value)") } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + public func ForwardedContacts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { + public func MessageTimer_Minutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, "\(value)") } - public func UserCount(_ value: Int32) -> String { + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Notifications_Exceptions(_ value: Int32) -> String { + public func Conversation_StatusOnline(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortWeeks(_ value: Int32) -> String { + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, "\(value)") } - public func SharedMedia_Photo(_ value: Int32) -> String { + public func Map_ETAHours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, "\(value)") } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { + public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, "\(value)") } - public func ForwardedStickers(_ value: Int32) -> String { + public func AttachmentMenu_SendVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Media_SharePhoto(_ value: Int32) -> String { + public func MessageTimer_Years(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, "\(value)") } - public func StickerPack_StickerCount(_ value: Int32) -> String { + public func MuteFor_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, "\(value)") } - public func QuickSend_Photos(_ value: Int32) -> String { + public func Conversation_StatusMembers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, "\(value)") } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { + public func SharedMedia_File(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, "\(value)") } diff --git a/TelegramUI/Resources/PresentationStrings.mapping b/TelegramUI/Resources/PresentationStrings.mapping index 6709115a6e..66d78c8c7d 100644 Binary files a/TelegramUI/Resources/PresentationStrings.mapping and b/TelegramUI/Resources/PresentationStrings.mapping differ diff --git a/TelegramUI/SharedMediaPlayer.swift b/TelegramUI/SharedMediaPlayer.swift index 733691f4c9..17efeec200 100644 --- a/TelegramUI/SharedMediaPlayer.swift +++ b/TelegramUI/SharedMediaPlayer.swift @@ -393,7 +393,7 @@ final class SharedMediaPlayer { private var playbackStateValueDisposable: Disposable? private var _playbackStateValue: SharedMediaPlayerState? - private let playbackStateValue = Promise(nil) + private let playbackStateValue = Promise() var playbackState: Signal { return self.playbackStateValue.get() } @@ -561,7 +561,7 @@ final class SharedMediaPlayer { } })) } else { - if let _ = state.item { + if state.item != nil || state.loading { strongSelf.playbackStateValue.set(.single(.loading)) } else { strongSelf.playbackStateValue.set(.single(nil)) diff --git a/TelegramUI/TelegramController.swift b/TelegramUI/TelegramController.swift index ee5006bf20..abce796dec 100644 --- a/TelegramUI/TelegramController.swift +++ b/TelegramUI/TelegramController.swift @@ -98,6 +98,18 @@ public class TelegramController: ViewController { if case .none = mediaAccessoryPanelVisibility { } else if let mediaManager = account.telegramApplicationContext.mediaManager { self.mediaStatusDisposable = (mediaManager.globalMediaPlayerState + |> mapToSignal { playlistStateAndType -> Signal<(SharedMediaPlayerItemPlaybackState, MediaManagerPlayerType)?, NoError> in + if let (state, type) = playlistStateAndType { + switch state { + case let .state(state): + return .single((state, type)) + case .loading: + return .single(nil) |> delay(0.2, queue: .mainQueue()) + } + } else { + return .single(nil) + } + } |> deliverOnMainQueue).start(next: { [weak self] playlistStateAndType in guard let strongSelf = self else { return @@ -394,8 +406,12 @@ public class TelegramController: ViewController { if let mediaManager = self.account.telegramApplicationContext.mediaManager { mediaAccessoryPanel.containerNode.headerNode.playbackStatus = mediaManager.globalMediaPlayerState - |> map { state in - return state?.0.status ?? MediaPlayerStatus(generationTimestamp: 0.0, duration: 0.0, dimensions: CGSize(), timestamp: 0.0, baseRate: 1.0, seekId: 0, status: .paused) + |> map { state -> MediaPlayerStatus in + if let stateOrLoading = state?.0, case let .state(state) = stateOrLoading { + return state.status + } else { + return MediaPlayerStatus(generationTimestamp: 0.0, duration: 0.0, dimensions: CGSize(), timestamp: 0.0, baseRate: 1.0, seekId: 0, status: .paused) + } } } } else { @@ -474,8 +490,12 @@ public class TelegramController: ViewController { mediaAccessoryPanel.containerNode.headerNode.playbackItem = item if let mediaManager = self.account.telegramApplicationContext.mediaManager { mediaAccessoryPanel.containerNode.headerNode.playbackStatus = mediaManager.globalMediaPlayerState - |> map { state in - return state?.0.status ?? MediaPlayerStatus(generationTimestamp: 0.0, duration: 0.0, dimensions: CGSize(), timestamp: 0.0, baseRate: 1.0, seekId: 0, status: .paused) + |> map { state -> MediaPlayerStatus in + if let stateOrLoading = state?.0, case let .state(state) = stateOrLoading { + return state.status + } else { + return MediaPlayerStatus(generationTimestamp: 0.0, duration: 0.0, dimensions: CGSize(), timestamp: 0.0, baseRate: 1.0, seekId: 0, status: .paused) + } } } mediaAccessoryPanel.animateIn(transition: transition)