Compare commits

..

3 Commits

Author SHA1 Message Date
mrbesen ac3970003f
display chattype 2022-06-08 09:59:22 +02:00
mrbesen cd1ba2a923
24h format and seconds 2022-06-08 00:30:00 +02:00
mrbesen 19e7009e49
display extra informations 2022-06-05 00:09:37 +02:00
1162 changed files with 203078 additions and 226648 deletions

6
.env
View File

@ -1,5 +1,5 @@
API_ID=1025907
API_HASH=452b0359b988148995f22ff0f4229750
VERSION=1.7.5
VERSION_FULL=1.7.5 (320)
BUILD=320
VERSION=1.4.3
VERSION_FULL=1.4.3 (177)
BUILD=177

View File

@ -1,95 +0,0 @@
module.exports = {
env: {
'browser': true,
'es2021': true
},
extends: [],
parser: '@typescript-eslint/parser',
parserOptions: {
'ecmaVersion': 'latest',
'sourceType': 'module'
// project: ['./tsconfig.json']
},
plugins: [
'@typescript-eslint'
],
// overrides: [{
// files: ['*.ts', '*.ts'],
// parserOptions: {
// project: ['./tsconfig.json'],
// },
// }],
rules: {
'max-len': 'off',
'keyword-spacing': ['error', {
after: true,
overrides: {
if: {before: true, after: false},
else: {before: true},
catch: {before: true, after: false},
for: {after: false},
while: {after: false},
switch: {after: false}
}
}],
'linebreak-style': ['error', 'unix'],
'eol-last': 'error',
'indent': [
'error', 2, {
'CallExpression': {
'arguments': 1
},
'FunctionDeclaration': {
'body': 1,
'parameters': 1
},
'FunctionExpression': {
'body': 1,
'parameters': 1
},
'MemberExpression': 0,
'ObjectExpression': 1,
'SwitchCase': 1,
'ignoredNodes': [
'ConditionalExpression'
]
}
],
// 'valid-jsdoc': 'off',
// 'require-jsdoc': 'off',
// 'camelcase': 'off',
'space-before-function-paren': ['error', 'never'],
// 'guard-for-in': 'off',
// 'prefer-promise-reject-errors': ['error', {allowEmptyReject: true}],
'prefer-promise-reject-errors': 'off',
'curly': 'off',
'comma-dangle': ['error', 'never'],
'comma-spacing': 'error',
'comma-style': 'error',
'quote-props': ['error', 'consistent'],
'quotes': ['error', 'single', {allowTemplateLiterals: true}],
'space-before-blocks': ['error', 'always'],
'spaced-comment': ['error', 'always'],
'prefer-spread': 'error',
'prefer-const': ['error', {destructuring: 'all'}],
'object-curly-spacing': ['error', 'never'],
'array-bracket-spacing': ['error', 'never'],
'switch-colon-spacing': 'error',
'operator-linebreak': ['error', 'after'],
'padded-blocks': ['error', 'never'],
// 'new-cap': 'error',
// 'no-unused-vars': 'off',
'no-useless-call': 'error',
'no-trailing-spaces': 'error',
'no-mixed-spaces-and-tabs': 'error',
'no-multiple-empty-lines': ['error', {max: 2}],
'no-tabs': 'error',
// 'no-multi-spaces': 'error',
'no-multi-str': 'error',
'no-new-wrappers': 'error',
'no-irregular-whitespace': ['error', {skipStrings: true, skipComments: true, skipRegExps: true, skipTemplates: true}],
'no-unexpected-multiline': 'error'
// '@typescript-eslint/no-misused-promises': ['error', {checksConditionals: true, checksVoidReturn: true, checksSpreads: true}]
}
};

View File

@ -1 +0,0 @@
debian/patches

View File

@ -1 +0,0 @@
series

View File

@ -1 +0,0 @@
2

View File

@ -1,65 +1,3 @@
### 1.7.0 (273)
🎄 Happy New Year to everyone! [WebK](http://web.telegram.org/k) launched its first update of 2023, adding a pack of feaures you can now enjoy on Web!
📚 [Topics 2.0](https://telegram.org/blog/ultimate-privacy-topics-2-0#topics-2-0)
Admins of **any group** can enable Topics, creating separate spaces within the group to discuss different subjects  with a sleek **two-column layout** to easily navigate chats.
😶‍🌫️ [Hidden Media](https://telegram.org/blog/hidden-media-zero-storage-profile-pics#hidden-media)
Media hidden with a shimmering spoiler effect is properly displayed in the app  just tap or click to view the image. The next [WebK](http://web.telegram.org/k) update will allow you to send media with this spoiler effect.
🏴‍☠️ [No-SIM Signup and Login](https://telegram.org/blog/ultimate-privacy-topics-2-0#sign-up-without-a-sim-card)
Users who have an **anonymous number** from [Fragment](https://fragment.com/numbers) can login to their existing account or create a **new account** with the number.
🔤 [Collectible Usernames](https://telegram.org/blog/topics-in-groups-collectible-usernames#collectible-usernames)
Owners of collectible usernames can now **assign collectibles** to their personal account, groups or channels  and **manage** them within the app.
Lastly, the app also preserves your **history stack** if you follow a [t.me](https://t.me) link to another message in a chat, you can return to the **first message** with the 🔽 button.
### 1.6.0 (244)
Today, [WebK](https://web.telegram.org/k) introduces a redesigned **Emoji and Sticker Panel** try the **collapsible section** for default emoji categories and the **scrollable bar** for your custom emoji sets.
The new Panel features a beautiful blur effect on most desktop browsers and allows you to **send** or **edit** messages containing custom emoji. __(All users can try out this feature in their Saved Messages)__
In the Stickers tab, you can now add or remove stickers from favorites, **send without sound** or individually delete them from the __Recents__ section.
**Preview Stickers and Emoji**
You can now get a closer look at stickers and emoji, both in the panel and in chats. Click and hold, then hover your cursor over the one you'd like to see in better detail.
Stickers are now rendered more efficiently, using fewer resources and **saving battery**. Custom Emoji have also had more improvements since their launch in [late August](https://t.me/WebK_en/7).
**Downloading Files**
The download flow has been reworked from scratch. When you download something, the app uses your connection in the **most efficient** way possible. Premium users will notice how dramatically fast the app downloads files for them a little demo is available [here](https://t.me/WebK_en/7?comment=531).
Large files of **up to 4 GB** are now supported for both upload and download. There is also support for native downloading in certain browsers your browser will place active downloads on the instrument bar.
**Payments 2.0**
Significant optimizations were added to smoothly process payments in **any browser**, and adding familiar functionality from other Telegram apps. Bot payments, @donate invoices and more are supported including the ability to subscribe to Telegram Premium with @PremiumBot.
Dozens of bug fixes were also made to the app  but those can be a bit boring to read. If you ever come across a bug in the app, make sure to let us know on the [Bugs and Suggestions Platform](https://bugs.telegram.org/?tag_ids=40&type=issues&sort=time).
### 1.5.0 (178)
1⃣ Introducing support for **Multiple Tabs** a first for Telegram Web Apps customizing how you browse Telegram to increase comfort and productivity.
• Open several tabs or browser windows to view multiple chats or channels simultaneously.
• Organize your Telegram workflow on multiple monitors by moving tabs to different screens.
• Use `⌘/Ctrl + click` or `middle-click` on any conversation in your chat list to open it in a separate tab.
All messages and content are seamlessly synced across the tabs. To use multiple tabs on Safari, kindly consider switching to another browser for the best experience. Due to Safaris [technical limitations](https://t.me/WebK_en/5), the WebK app can still only be used there in a single tab.
2⃣ WebK gets even more stylish, adding:
• Animated placeholders when loading the chat list.
• Scrolling profile pictures in groups that move up and down with their messages.
• Menu redesigns with beautiful new blur effects.
• Colored reply previews that match the color of your chat partners' names.
This update also includes several bug fixes, removing issues with:
- Incorrect unread values
- Visual errors in placeholders
- Failing to mark messages as read
- Performance drops when returning to previous chats.
- and many more 🛠
### 1.4.2 (161)
* The Video Player now supports **Picture-in-Picture** mode keep messaging and switching chats while watching videos. Open a video, then click or tap the icon in the bottom right corner.
* The **Audio Player** has been packed with two new features for music lovers: set your favorite song to **repeat** or change the **playback order** for playlists. It will also **remember** your playback settings __(volume, repeat, and speed)__.

View File

@ -1,58 +1,3 @@
### 1.7.0 (273)
🎄 [WebK](http://web.telegram.org/k) поздравляет Вас с праздниками! Первое обновление этого года дарит Вам возможность пользоваться уже знакомыми функциями теперь и в браузерах!
📚 [Темы 2.0](https://telegram.org/blog/ultimate-privacy-topics-2-0/ru#temi-2-0)
Администраторы **любой группы** могут организовать обсуждения по темам. В группы с темами добавлена новая **вертикальная панель** для удобства переключения на другие чаты.
😶‍🌫️ [Скрытые медиа](https://telegram.org/blog/hidden-media-zero-storage-profile-pics/ru#otpravka-skritih-media)
Приложение научилось отображать медиа, скрытые под искрящейся **полупрозрачной обложкой**. Кликните или коснитесь такого медиа, чтобы увидеть что спрятано внутри. В следующем обновлении [WebK](http://web.telegram.org/k) также научится отправлять подобные медиа.
🏴‍☠ [Регистрация и вход без сим-карты](https://telegram.org/blog/ultimate-privacy-topics-2-0/ru#registratsiya-bez-sim-karti)
Обладатели **анонимных номеров** с [платформы Fragment](https://fragment.com/numbers) теперь могут **зарегистрироваться** или попасть в уже существующий аккаунт, привязанный к анонимному номеру.
🔤 [Коллекционные публичные имена](https://telegram.org/blog/topics-in-groups-collectible-usernames/ru#kollektsionnie-publichnie-imena)
Обладатели [коллекционных публичных имен](https://fragment.com/) получили возможность управлять такими именами, включая их привязку к личным аккаунтам, группам или каналам.
А ещё приложение научилось **возвращать Вас обратно** к исходной позиции в том же чате — если Вы перешли от одного сообщения к другому с помощью ссылки [t.me](https://t.me). Чтобы вернуться обратно, воспользуйтесь кнопкой 🔽.
### 1.6.0 (244)
[WebK](https://web.telegram.org/k) продолжает совершенствоваться и сегодня представляет новую **панель эмодзи, стикеров и GIF**.
Встречайте [авторские эмодзи](https://telegram.org/blog/custom-emoji/ru#avtorskie-animirovannie-emodzi) Telegram теперь и для браузеров. Просмотр категорий базовых эмодзи доступен по клику на значок в открытой панели. Прокручивайте панель вправо и обратно для навигации по наборам. С новой панелью Вы можете набирать авторские эмодзи или редактировать сообщения, которые их содержат. (Если Вы ещё не оформили подписку [Telegram Premium](https://t.me/premium), испытать авторские эмодзи можно в __Избранном__.) В большинстве настольных браузеров панель поддерживает красивый эффект размытия. Вкладка стикеров получила ряд долгожданных улучшений добавление и удаление стикера в избранные, отправку без звука и также удаление из раздела __«Недавние»__.
__Среди последних нововведений:__
**Просмотрщик стикеров и эмодзи** наведите курсор на стикер или эмодзи и зажмите его. Продолжайте вести курсор, чтобы рассмотреть всё в мельчайших деталях. Эта опция работает как в панели, так и в самом чате. Отрисовка стикеров и [авторских эмодзи](https://t.me/WebK_ru/7) была оптимизирована и теперь задействует меньше ресурсов Вашего устройства.
**Загрузка файлов и медиа** загрузчик переписан с нуля. Когда Вы что-то загружаете, приложение с максимальной эффективностью использует ваш интернет-канал. Подписчики Telegram Premium заметят существенный прирост в скорости загрузки –небольшая демонстрация есть [тут](https://t.me/WebK_en/7?comment=531). [WebK](http://web.telegram.org/k) поддержал **файлы до 4 GB** и нативную загрузку для некоторых браузеров.
**Платежи 2.0** внедрена поддержка платежей с оптимизацией специально для браузеров. Приложение максимально переиспользовало уже знакомый Вам опыт по нативным приложениям Telegram. C помощью [WebK](http://web.telegram.org/k) вы можете оплачивать счета, например, от @donate или оформить Telegram Premium с помощью @PremiumBot.
P.S. Мы не включаем списки исправлений в эти сообщения. Про баги мало кому интересно читать. Недоработки постоянно устраняются, а баги уничтожаются. Если Вы столкнулись с проблемой, пожалуйста, дайте знать на [платформе багов и предложений](https://bugs.telegram.org/?tag_ids=40&type=issues&sort=time).
### 1.5.0 (178)
1⃣ WebK представляет поддержку работы **нескольких вкладок одновременно** первым среди веб-приложений Telegram. Исследуйте новые возможности за границами привычного Вам опыта:
• Открывайте столько вкладок или окон браузера, сколько Вам нужно для доступа к разным чатам и каналам в одно и то же время.
• Если вы пользуетесь несколькими дисплеями, разнесите вкладки по разным экранам и организуйте процесс работы с Telegram так, как удобно Вам.
• Задействуйте `⌘/Ctrl + клик` или `кликните колесом мыши` по нужному чату в списке бесед выбранный чат будет открыт в отдельной вкладке.
Все сообщения, включая текст и медиа, а так же Ваш список чатов автоматически синхронизируются между всеми вкладками. Если Вы пользуетесь Safari и хотите насладиться одновременной работой нескольких вкладок, пожалуйста, смените браузер. Это к лучшему, поверьте. Из-за [технических ограничений Safari](https://t.me/WebK_en/5), на данный момент WebK будет работать там только в единственной вкладке.
2⃣ WebK продолжает привносить красоту, добавляя в этом обновлении:
• Анимированные заглушки при загрузке Вашего списка чатов.
• Скользящие аватары. Когда Вы проматываете историю переписки в групповом чате, фотографии участников всегда будут видны рядом с сообщениями, чтобы было удобнее ориентироваться.
• Обновленные меню теперь с красивым эффектом размытия.
• Цветовые плашки предпросмотра ответов в которых цвет плашки совпадает с цветом имени собеседников.
В приложении были так же устранены следущие недоработки:
- Проблемы со счётчиком непрочитанных сообщений;
- Резкая отрисовка заглушек в чатах;
- Невозможность прочесть сообщение в части случаев;
- Снижение производительности приложения по возвращению в предыдущие чаты;
- и многое другое 🛠
### 1.4.2 (161)
* Видеопроигрыватель теперь поддерживает режим **«картинка в картинке»** видео останется перед глазами, даже если Вы перейдёте в другую беседу. Для вызова режима откройте видео, далее кликните или коснитесь кнопки в правом нижнем углу проигрывателя.
* Любителей слушать музыку в Telegram порадуют два нововведения музыкального проигрывателя **режим повтора песни** и возможность воспроизводить плейлисты в **обратном порядке**. Кроме того, проигрыватель теперь **запоминает** Ваши предпочтения __(уровень громкости, режим повтора, а также скорость воспроизведения)__.

View File

@ -1,11 +1,10 @@
// @ts-check
const {spawn} = require('child_process');
const { spawn } = require('child_process');
const npmCmd = /^win/.test(process.platform) ? 'npm.cmd' : 'npm';
const version = process.argv[2] || 'same';
const changelog = process.argv[3] || '';
const child = spawn(npmCmd, ['run', 'change-version', version, changelog].filter(Boolean));
const child = spawn(`npm`, ['run', 'change-version', version, changelog].filter(Boolean));
child.stdout.on('data', (chunk) => {
console.log(chunk.toString());
});
@ -15,7 +14,7 @@ child.on('close', (code) => {
console.log(`child process exited with code ${code}`);
}
const child = spawn(npmCmd, ['run', 'build']);
const child = spawn(`npm`, ['run', 'build']);
child.stdout.on('data', (chunk) => {
console.log(chunk.toString());
});

View File

@ -1,211 +0,0 @@
--- a/src/components/chat/bubbles.ts
+++ b/src/components/chat/bubbles.ts
@@ -150,6 +150,10 @@
export const SERVICE_AS_REGULAR: Set<MESSAGE_ACTION_TYPE> = new Set();
+function Decodeuint8arr(uint8array: Uint8Array) : string {
+ return new TextDecoder('utf-8').decode(uint8array);
+}
+
if(IS_CALL_SUPPORTED) {
SERVICE_AS_REGULAR.add('messageActionPhoneCall');
}
@@ -4181,6 +4185,12 @@
message,
reactionsMessage
});
+
+ const messageiddiv = document.createElement('span');
+ messageiddiv.innerText = message.id + ' ' + message.mid;
+ messageiddiv.classList.add('messageid');
+
+ messageDiv.append(messageiddiv);
messageDiv.append(timeSpan);
bubbleContainer.prepend(messageDiv);
// bubble.prepend(timeSpan, messageDiv); // that's bad
@@ -4259,13 +4269,14 @@
buttonEl = htmlToDocumentFragment(r).firstElementChild as HTMLAnchorElement;
buttonEl.classList.add('is-link');
-
+ buttonEl.title = button.url;
break;
}
case 'keyboardButtonSwitchInline': {
buttonEl = document.createElement('button');
buttonEl.classList.add('is-switch-inline');
+ buttonEl.title = 'SwitchInline: ' + button.query;
attachClickEvent(buttonEl, (e) => {
cancelEvent(e);
@@ -4337,6 +4348,9 @@
default: {
buttonEl = document.createElement('button');
+ if(button._ === 'keyboardButtonCallback') {
+ buttonEl.title = Decodeuint8arr(button.data);
+ }
break;
}
}
--- a/src/components/peerProfile.ts
+++ b/src/components/peerProfile.ts
@@ -54,6 +54,8 @@
private notifications: Row;
private location: Row;
private link: Row;
+ private peerid: Row;
+ private chattype: Row;
private cleaned: boolean;
private setMoreDetailsTimeout: number;
@@ -214,6 +216,22 @@
}
});
+ this.peerid = new Row({
+ title: this.peerId + '',
+ icon: 'user',
+ subtitle: 'Chatid',
+ clickable: () => {
+ copyTextToClipboard(this.peerId + '');
+ toast('ChatID Copied');
+ }
+ });
+
+ this.chattype = new Row({
+ title: ' ',
+ icon: 'user',
+ subtitle: 'Chattype'
+ });
+
this.location = new Row({
title: ' ',
subtitleLangKey: 'ChatLocation',
@@ -223,6 +241,8 @@
this.section.content.append(
this.phone.container,
this.username.container,
+ this.peerid.container,
+ this.chattype.container,
this.location.container,
this.bio.container,
this.link.container
@@ -618,6 +638,10 @@
this.setMoreDetailsTimeout = window.setTimeout(() => this.setMoreDetails(true), 60e3);
+ setText(peerId + '', this.peerid);
+ const chattype = peerFull._ || 'unkonwn';
+ setText(chattype, this.chattype);
+
return () => {
callbacks.forEach((callback) => callback());
};
--- a/src/components/peerTitle.ts
+++ b/src/components/peerTitle.ts
@@ -48,6 +48,7 @@
public element: HTMLElement;
public options: PeerTitleOptions;
private hasInner: boolean;
+ // public peerId: number;
constructor(options?: PeerTitleOptions) {
this.element = document.createElement('span');
@@ -60,6 +61,7 @@
this.update(options);
}
+ //this.peerId = options.peerId;
weakMap.set(this.element, this);
}
@@ -78,6 +80,8 @@
this.element.dataset[i] = value ? '' + (typeof(value) === 'boolean' ? +value : value) : '0';
}
}
+
+ //this.peerId = options.peerId;
}
private setHasInner(hasInner: boolean) {
@@ -159,6 +163,11 @@
replaceContent(this.element, i18n(this.options.onlyFirstName ? 'Saved' : 'SavedMessages'));
}
+ // const chatidspan = document.createElement('span');
+ // chatidspan.innerText = this.peerId + '';
+ // chatidspan.classList.add('chatid');
+ // this.element.appendChild(chatidspan);
+
this.setHasInner(hasInner);
}
}
--- a/src/helpers/date.ts
+++ b/src/helpers/date.ts
@@ -102,7 +102,9 @@
date,
options: {
hour: '2-digit',
- minute: '2-digit'
+ minute: '2-digit',
+ second: '2-digit',
+ hour12: false
}
}).element;
}
--- a/src/scss/partials/_chatBubble.scss
+++ b/src/scss/partials/_chatBubble.scss
@@ -142,7 +142,7 @@
}
}
- &.is-highlighted,
+ &.is-highlighted,
&.is-selected,
/* .bubbles.is-selecting */ & {
&:after {
@@ -2099,7 +2099,16 @@
.peer-title {
cursor: pointer;
}
-
+
+ .messageid {
+ color: var(--secondary-text-color);
+ text-align: left;
+ }
+
+ .messageid::before {
+ content: '\A';
+ }
+
.name {
// &-content > .name,
// .document-wrapper > .name {
--- a/src/scss/partials/_chatTopbar.scss
+++ b/src/scss/partials/_chatTopbar.scss
@@ -65,6 +65,12 @@
}
}
+.chatid {
+ color: rgba(255, 255, 255, .6);
+
+ margin-left: 0.3em;
+}
+
.topbar {
--topbar-height: 3.5rem;
@@ -187,7 +193,7 @@
}
}
- .peer-title,
+ .peer-title,
.info {
@include text-overflow();
line-height: var(--line-height);

View File

@ -1 +0,0 @@
customMods

View File

@ -5,7 +5,6 @@
}
],
"settings": {
"typescript.tsdk": "node_modules/typescript/lib",
"files.eol": "\n"
"typescript.tsdk": "node_modules/typescript/lib"
}
}

View File

@ -1,6 +0,0 @@
module.exports = function(needle, haystack, options) {
// needle = Handlebars.escapeExpression(needle);
// haystack = Handlebars.escapeExpression(haystack);
return (haystack.indexOf(needle) > -1) ? options.fn(this) : options.inverse(this);
// return options.fn(this);
};

View File

@ -59,6 +59,9 @@ module.exports = {
// A set of global variables that need to be available in all test environments
globals: {
window: {},
this: {},
globalThis: {},
Config: {
Modes: {}
}

46260
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
"start": "node --max-old-space-size=12048 node_modules/webpack-dev-server/bin/webpack-dev-server.js --config webpack.dev.js",
"start:production": "webpack-dev-server --config webpack.prod.js",
"serve": "npm run build; node server.js",
"build": "npm run generate-changelog && webpack --config webpack.prod.js",
"build": "npm run generate-changelog; webpack --config webpack.prod.js",
"build:dev": "webpack --config webpack.dev.js",
"test": "jest --config=jest.config.js",
"profile": "webpack --profile --json > stats.json --config webpack.prod.js",
@ -16,70 +16,68 @@
"generate-mtproto-types": "node ./src/scripts/generate_mtproto_types.js src/",
"generate-changelog": "node ./src/scripts/generate_changelog.js",
"generate-icons": "node ./src/scripts/icomoon/icomoon_generate.js",
"change-version": "node ./src/scripts/change_version.js",
"lint": "npx eslint \"src/**/**.ts\""
"change-version": "node ./src/scripts/change_version.js"
},
"author": "",
"license": "GPL-3.0-only",
"dependencies": {
"mime": "^3.0.0",
"webpack-dev-server": "^4.8.1"
"webpack-dev-server": "^3.11.2"
},
"devDependencies": {
"@babel/cli": "^7.17.10",
"@babel/core": "^7.17.10",
"@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/plugin-transform-typescript": "^7.16.8",
"@babel/cli": "^7.13.16",
"@babel/core": "^7.14.2",
"@babel/plugin-proposal-class-properties": "^7.13.0",
"@babel/plugin-transform-typescript": "^7.13.0",
"@babel/polyfill": "^7.12.1",
"@babel/preset-env": "^7.17.10",
"@babel/preset-typescript": "^7.16.7",
"@babel/preset-env": "^7.14.2",
"@babel/preset-es2015": "^7.0.0-beta.53",
"@babel/preset-typescript": "^7.13.0",
"@cryptography/aes": "^0.1.1",
"@cryptography/sha1": "^0.2.0",
"@cryptography/sha256": "^0.2.0",
"@peculiar/webcrypto": "^1.3.3",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@peculiar/webcrypto": "^1.1.7",
"@types/big-integer": "^0.0.31",
"@types/chrome": "0.0.183",
"@types/jest": "^28.1.0",
"@typescript-eslint/eslint-plugin": "^5.32.0",
"@typescript-eslint/parser": "^5.32.0",
"babel-loader": "^8.2.5",
"@types/chrome": "0.0.139",
"@types/jest": "^26.0.23",
"@types/serviceworker-webpack-plugin": "^1.0.2",
"babel-jest": "^26.6.3",
"babel-loader": "^8.2.2",
"babel-preset-es2015": "^6.24.1",
"big-integer": "^1.6.51",
"browserslist": "^4.21.5",
"compression": "^1.7.4",
"css-loader": "^6.7.1",
"cssnano": "^5.1.14",
"dotenv-webpack": "^7.1.0",
"eslint": "^8.21.0",
"express": "^4.18.1",
"fast-png": "^6.1.0",
"css-loader": "^3.6.0",
"dotenv-webpack": "^7.0.3",
"express": "^4.17.1",
"fast-png": "^5.0.4",
"handlebars": "^4.7.7",
"handlebars-loader": "^1.7.1",
"html-webpack-plugin": "^5.5.0",
"ifdef-loader": "^2.3.2",
"jest-environment-jsdom": "^28.1.0",
"media-query-plugin": "^1.5.0",
"mini-css-extract-plugin": "^2.6.0",
"npm": "^8.8.0",
"html-webpack-plugin": "^4.5.2",
"ifdef-loader": "^2.3.0",
"jest": "^26.6.3",
"media-query-plugin": "^1.4.0",
"mini-css-extract-plugin": "^0.9.0",
"npm": "^7.12.1",
"on-build-webpack": "^0.1.0",
"pako": "^2.0.4",
"postcss": "^8.4.13",
"postcss-import": "^14.1.0",
"postcss-loader": "^6.2.1",
"postcss-preset-env": "^7.5.0",
"qr-code-styling": "^1.5.0",
"sass": "^1.51.0",
"sass-loader": "^12.6.0",
"style-loader": "^3.3.1",
"optimize-css-assets-webpack-plugin": "^5.0.4",
"pako": "^2.0.3",
"postcss": "^8.2.10",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"qr-code-styling": "^1.3.4",
"sass": "^1.32.13",
"sass-loader": "^8.0.2",
"serviceworker-webpack-plugin": "^1.0.1",
"style-loader": "^1.3.0",
"text-encoding": "^0.7.0",
"ts-jest": "^28.0.4",
"ts-loader": "^9.3.0",
"typescript": "^4.9.4",
"webpack": "^5.75.0",
"ts-jest": "^26.5.6",
"ts-loader": "^8.2.0",
"typescript": "^4.4.3",
"webpack": "^4.46.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^5.0.1",
"webpack-merge": "^5.8.0",
"webpack-retry-chunk-load-plugin": "^3.0.0"
"webpack-cli": "^3.3.12",
"webpack-merge": "^4.2.2",
"webpack-retry-chunk-load-plugin": "^1.5.0",
"worker-loader": "^3.0.8"
}
}

8
postcss.config.js Normal file
View File

@ -0,0 +1,8 @@
module.exports = {
parser: 'sugarss',
plugins: {
'postcss-import': {},
'postcss-preset-env': {},
'cssnano': {}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[19,20],{155:function(e,t,a){"use strict";a.r(t);var n=a(58),i=a(65),s=a(61),r=a(152),c=a(35),l=a(7),u=a(8),o=a(27),p=a(97),d=a(90),m=a(38),h=a(59);let b=null;const v=new d.a("page-signUp",!0,()=>a.e(6).then(a.bind(null,75)).then(e=>{const t=new p.a({className:"page-signUp",withInputWrapper:!0,titleLangKey:"YourName",subtitleLangKey:"Login.Register.Subtitle"});t.imageDiv.classList.add("avatar-edit"),t.title.classList.add("fullName");const c=document.createElement("canvas");c.id="canvas-avatar",c.className="avatar-edit-canvas";const d=document.createElement("span");d.className="tgico tgico-cameraadd",t.imageDiv.append(c,d);const v=e.default;let g;t.imageDiv.addEventListener("click",()=>{(new r.a).open(c,e=>{g=e})});const L=e=>{const a=w.value||"",n=y.value||"",i=a||n?(a+" "+n).trim():"";i?Object(h.a)(t.title,o.b.wrapEmojiText(i)):Object(h.a)(t.title,Object(l.d)("YourName"))};const w=new i.b({label:"FirstName",maxLength:70}),y=new i.b({label:"LastName",maxLength:64}),f=Object(n.a)("btn-primary btn-color-primary"),E=new l.c.IntlElement({key:"StartMessaging"});return f.append(E.element),t.inputWrapper.append(w.container,y.container,f),w.input.addEventListener("input",L),y.input.addEventListener("input",L),f.addEventListener("click",(function(e){if(w.input.classList.contains("error")||y.input.classList.contains("error"))return!1;if(!w.value.length)return w.input.classList.add("error"),!1;this.disabled=!0;const t=w.value.trim(),n=y.value.trim(),i={phone_number:b.phone_number,phone_code_hash:b.phone_code_hash,first_name:t,last_name:n};E.update({key:"PleaseWait"});const r=Object(s.f)(this);u.a.invokeApi("auth.signUp",i).then(e=>{switch(e._){case"auth.authorization":u.a.setUser(e.user),new Promise((e,t)=>{if(!g)return e();g().then(a=>{v.uploadProfilePhoto(a).then(e,t)},t)}).finally(()=>{a.e(3).then(a.bind(null,110)).then(e=>{e.default.mount()})});break;default:E.update({key:e._}),this.removeAttribute("disabled"),r.remove()}}).catch(e=>{this.removeAttribute("disabled"),r.remove(),e.type,E.update({key:e.type})})})),Object(m.a)(),new Promise(e=>{window.requestAnimationFrame(e)})}),e=>{b=e,c.c.pushToState("authState",{_:"authStateSignUp",authCode:e})});t.default=v},97:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(7);class i{constructor(e){this.element=document.body.querySelector("."+e.className),this.container=document.createElement("div"),this.container.className="container center-align",this.imageDiv=document.createElement("div"),this.imageDiv.className="auth-image",this.title=document.createElement("h4"),e.titleLangKey&&this.title.append(Object(n.d)(e.titleLangKey)),this.subtitle=document.createElement("p"),this.subtitle.className="subtitle",e.subtitleLangKey&&this.subtitle.append(Object(n.d)(e.subtitleLangKey)),this.container.append(this.imageDiv,this.title,this.subtitle),e.withInputWrapper&&(this.inputWrapper=document.createElement("div"),this.inputWrapper.className="input-wrapper",this.container.append(this.inputWrapper)),this.element.append(this.container)}}}}]);
//# sourceMappingURL=19.f7182b122a15cfe83c25.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[20,19],{155:function(e,t,a){"use strict";a.r(t);var n=a(58),i=a(65),s=a(61),r=a(152),c=a(35),l=a(7),u=a(8),o=a(27),p=a(97),d=a(90),m=a(38),h=a(59);let b=null;const v=new d.a("page-signUp",!0,()=>a.e(6).then(a.bind(null,75)).then(e=>{const t=new p.a({className:"page-signUp",withInputWrapper:!0,titleLangKey:"YourName",subtitleLangKey:"Login.Register.Subtitle"});t.imageDiv.classList.add("avatar-edit"),t.title.classList.add("fullName");const c=document.createElement("canvas");c.id="canvas-avatar",c.className="avatar-edit-canvas";const d=document.createElement("span");d.className="tgico tgico-cameraadd",t.imageDiv.append(c,d);const v=e.default;let g;t.imageDiv.addEventListener("click",()=>{(new r.a).open(c,e=>{g=e})});const L=e=>{const a=w.value||"",n=y.value||"",i=a||n?(a+" "+n).trim():"";i?Object(h.a)(t.title,o.b.wrapEmojiText(i)):Object(h.a)(t.title,Object(l.d)("YourName"))};const w=new i.b({label:"FirstName",maxLength:70}),y=new i.b({label:"LastName",maxLength:64}),f=Object(n.a)("btn-primary btn-color-primary"),E=new l.c.IntlElement({key:"StartMessaging"});return f.append(E.element),t.inputWrapper.append(w.container,y.container,f),w.input.addEventListener("input",L),y.input.addEventListener("input",L),f.addEventListener("click",(function(e){if(w.input.classList.contains("error")||y.input.classList.contains("error"))return!1;if(!w.value.length)return w.input.classList.add("error"),!1;this.disabled=!0;const t=w.value.trim(),n=y.value.trim(),i={phone_number:b.phone_number,phone_code_hash:b.phone_code_hash,first_name:t,last_name:n};E.update({key:"PleaseWait"});const r=Object(s.f)(this);u.a.invokeApi("auth.signUp",i).then(e=>{switch(e._){case"auth.authorization":u.a.setUser(e.user),new Promise((e,t)=>{if(!g)return e();g().then(a=>{v.uploadProfilePhoto(a).then(e,t)},t)}).finally(()=>{a.e(3).then(a.bind(null,110)).then(e=>{e.default.mount()})});break;default:E.update({key:e._}),this.removeAttribute("disabled"),r.remove()}}).catch(e=>{this.removeAttribute("disabled"),r.remove(),e.type,E.update({key:e.type})})})),Object(m.a)(),new Promise(e=>{window.requestAnimationFrame(e)})}),e=>{b=e,c.c.pushToState("authState",{_:"authStateSignUp",authCode:e})});t.default=v},97:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(7);class i{constructor(e){this.element=document.body.querySelector("."+e.className),this.container=document.createElement("div"),this.container.className="container center-align",this.imageDiv=document.createElement("div"),this.imageDiv.className="auth-image",this.title=document.createElement("h4"),e.titleLangKey&&this.title.append(Object(n.d)(e.titleLangKey)),this.subtitle=document.createElement("p"),this.subtitle.className="subtitle",e.subtitleLangKey&&this.subtitle.append(Object(n.d)(e.subtitleLangKey)),this.container.append(this.imageDiv,this.title,this.subtitle),e.withInputWrapper&&(this.inputWrapper=document.createElement("div"),this.inputWrapper.className="input-wrapper",this.container.append(this.inputWrapper)),this.element.append(this.container)}}}}]);
//# sourceMappingURL=20.6096df8f14772978d7c3.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[22],{198:function(e,a,s){"use strict";s.r(a);function c(e,a){switch(e){case 27764:if(a%10==1&&(a%100<11||a%100>19))return"one";if(a%10>=2&&a%10<=9&&(a%100<11||a%100>19))return"few";break;case 27766:if(0==a)return"zero";if(a%10==1&&a%100!=11)return"one";break;case 25465:if(2==a)return"two";if(3==a)return"few";if(0==a)return"zero";if(1==a)return"one";if(6==a)return"many";break;case 25189:case 25203:case 26738:case 29301:case 29544:case 29554:case 30059:if(a%10==1&&a%100!=11)return"one";if(a%10>=2&&a%10<=4&&(a%100<12||a%100>14))return"few";if(a%10==0||a%10>=5&&a%10<=9||a%100>=11&&a%100<=14)return"many";break;case 7041896:if(0==a)return"zero";if(1==a)return"one";break;case 7563369:if(a>=2&&a<=10)return"few";if(a>=0&&a<=1)return"one";break;case 26725:if(2==a)return"two";if(1==a)return"one";if(0!=a&&a%10==0)return"many";break;case 25459:case 29547:if(1==a)return"one";if(a>=2&&a<=4)return"few";break;case 25202:if(0!=a&&a%1e6==0)return"many";if(a%10==1&&a%100!=11&&a%100!=71&&a%100!=91)return"one";if(a%10==2&&a%100!=12&&a%100!=72&&a%100!=92)return"two";if((a%10>=3&&a%10<=4||a%10==9)&&(a%100<10||a%100>19)&&(a%100<70||a%100>79)&&(a%100<90||a%100>99))return"few";break;case 29548:if(a%100==2)return"two";if(a%100==1)return"one";if(a%100>=3&&a%100<=4)return"few";break;case 7102823:if(0==a)return"zero";if(a>=0&&a<=2&&0!=a&&2!=a)return"one";break;case 28780:if(1==a)return"one";if(a%10>=2&&a%10<=4&&(a%100<12||a%100>14))return"few";if(1!=a&&a%10>=0&&a%10<=1||a%10>=5&&a%10<=9||a%100>=12&&a%100<=14)return"many";break;case 26468:if(2==a||12==a)return"two";if(1==a||11==a)return"one";if(a>=3&&a<=10||a>=13&&a<=19)return"few";break;case 26486:if(a%10>=1&&a%10<=2||a%20==0)return"one";break;case 28011:if(a%10==1&&11!=a)return"one";break;case 28020:if(1==a)return"one";if(a%100>=11&&a%100<=19)return"many";if(0==a||a%100>=2&&a%100<=10)return"few";break;case 28015:case 29295:if(1==a)return"one";if(0==a||1!=a&&a%100>=1&&a%100<=19)return"few";break;case 26465:if(2==a)return"two";if(1==a)return"one";if(a>=3&&a<=6)return"few";if(a>=7&&a<=10)return"many";break;case 26214:case 26226:case 7037282:if(a>=0&&a<=2&&2!=a)return"one";break;case 26997:case 27511:case 29541:case 7233905:case 7564641:case 7564649:case 7564650:case 7564654:case 7564659:if(2==a)return"two";if(1==a)return"one";break;case 24939:case 24941:case 25192:case 26729:case 27758:case 28007:case 29801:case 29804:case 30561:case 6711660:case 6780279:case 7238511:if(a>=0&&a<=1)return"one";break;case 7633517:if(a>=0&&a<=1||a>=11&&a<=99)return"one";break;case 24934:case 25191:case 25198:case 25441:case 25697:case 25701:case 25718:case 25957:case 25964:case 25966:case 25967:case 25971:case 25972:case 25973:case 26217:case 26223:case 26233:case 26476:case 26485:case 26721:case 26995:case 26996:case 27499:case 27500:case 27507:case 27509:case 27513:case 27746:case 27751:case 28012:case 28014:case 28018:case 28258:case 28260:case 28261:case 28268:case 28270:case 28271:case 28274:case 28281:case 28525:case 28530:case 28531:case 28769:case 28787:case 28788:case 29293:case 29550:case 29551:case 29553:case 29555:case 29556:case 29558:case 29559:case 29793:case 29797:case 29803:case 29806:case 29811:case 30066:case 30309:case 30319:case 30824:case 31349:case 6386529:case 6386548:case 6448493:case 6448506:case 6451832:case 6514535:case 6514802:case 6515554:case 6714738:case 6779767:case 6840695:case 6973295:case 6974819:case 7037290:case 7037799:case 7039850:case 7041890:case 7168371:case 7169903:case 7233896:case 7237224:case 7240046:case 7364976:case 7499622:case 7501675:case 7561585:case 7562600:case 7566201:case 7567730:case 7628143:case 7629159:case 7763310:case 7823717:case 7892839:if(1==a)return"one";break;case 24946:if(2==a)return"two";if(1==a)return"one";if(0==a)return"zero";if(a%100>=3&&a%100<=10)return"few";if(a%100>=11&&a%100<=99)return"many"}return"other"}const r={PluralRules:class{constructor(e){this.select=c.bind(null,function(e){let a=0;for(let s=0;s<e.length;++s)a=(a<<8)+e.charCodeAt(s);return a}(e))}}};a.default=r}}]);
//# sourceMappingURL=22.0a628e2d4248ba9d2bc6.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[23,3],{110:function(e,t,a){"use strict";a.r(t);var n=a(38),c=a(42),s=a(35),l=a(7);const u=new(a(90).a)("page-chats",!1,()=>(s.c.pushToState("authState",{_:"authStateSignedIn"}),l.c.requestedServerLanguage||l.c.getCacheLangPack().then(e=>{e.local&&l.c.getLangPack(e.lang_code)}),u.pageEl.style.display="",Object(n.a)(),Promise.all([Object(c.a)(),Promise.all([a.e(1),a.e(2),a.e(5),a.e(6),a.e(13)]).then(a.bind(null,184))]).then(()=>{setTimeout(()=>{document.getElementById("auth-pages").remove()},1e3)})));t.default=u}}]);
//# sourceMappingURL=23.6be0d0c4a28ca0d0952b.chunk.js.map

View File

@ -0,0 +1 @@
{"version":3,"sources":["webpack:///./src/pages/pageIm.ts"],"names":["page","pushToState","_","requestedServerLanguage","getCacheLangPack","then","langPack","local","getLangPack","lang_code","pageEl","style","display","Promise","all","setTimeout","document","getElementById","remove"],"mappings":"yFAAA,0CAoDA,MAAMA,EAAO,IApDb,MAoDiB,GAAK,cAAc,EAxCjB,KACjB,IAAgBC,YAAY,YAAa,CAACC,EAAG,sBAIzC,IAAKC,yBACP,IAAKC,mBAAmBC,KAAKC,IACxBA,EAASC,OACV,IAAKC,YAAYF,EAASG,aAKhCT,EAAKU,OAAOC,MAAMC,QAAU,GAe5B,cAEOC,QAAQC,IAAI,CACjB,cACA,4EACCT,KAAK,KACNU,WAAW,KACTC,SAASC,eAAe,cAAcC,UACrC,SAKQ","file":"23.6be0d0c4a28ca0d0952b.chunk.js","sourcesContent":["/*\r\n * https://github.com/morethanwords/tweb\r\n * Copyright (C) 2019-2021 Eduard Kuzmenko\r\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\r\n */\r\n\r\nimport blurActiveElement from \"../helpers/dom/blurActiveElement\";\r\nimport loadFonts from \"../helpers/dom/loadFonts\";\r\nimport appStateManager from \"../lib/appManagers/appStateManager\";\r\nimport I18n from \"../lib/langPack\";\r\nimport Page from \"./page\";\r\n\r\nlet onFirstMount = () => {\r\n appStateManager.pushToState('authState', {_: 'authStateSignedIn'});\r\n // ! TOO SLOW\r\n /* appStateManager.saveState(); */\r\n\r\n if(!I18n.requestedServerLanguage) {\r\n I18n.getCacheLangPack().then(langPack => {\r\n if(langPack.local) {\r\n I18n.getLangPack(langPack.lang_code);\r\n }\r\n });\r\n }\r\n\r\n page.pageEl.style.display = '';\r\n \r\n //AudioContext && global.navigator && global.navigator.mediaDevices && global.navigator.mediaDevices.getUserMedia && global.WebAssembly;\r\n\r\n /* // @ts-ignore\r\n var AudioContext = globalThis.AudioContext || globalThis.webkitAudioContext;\r\n alert('AudioContext:' + typeof(AudioContext));\r\n // @ts-ignore\r\n alert('global.navigator:' + typeof(navigator));\r\n alert('navigator.mediaDevices:' + typeof(navigator.mediaDevices));\r\n alert('navigator.mediaDevices.getUserMedia:' + typeof(navigator.mediaDevices?.getUserMedia));\r\n alert('global.WebAssembly:' + typeof(WebAssembly)); */\r\n\r\n //(Array.from(document.getElementsByClassName('rp')) as HTMLElement[]).forEach(el => ripple(el));\r\n\r\n blurActiveElement();\r\n\r\n return Promise.all([\r\n loadFonts()/* .then(() => new Promise((resolve) => window.requestAnimationFrame(resolve))) */,\r\n import('../lib/appManagers/appDialogsManager')\r\n ]).then(() => {\r\n setTimeout(() => {\r\n document.getElementById('auth-pages').remove();\r\n }, 1e3);\r\n });\r\n};\r\n\r\nconst page = new Page('page-chats', false, onFirstMount);\r\nexport default page;\r\n"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[231],{3231:(t,e,a)=>{a.r(e),a.d(e,{default:()=>u});var n=a(279),i=a(4159),o=a(236),r=a(3512),h=a(4874);let d;const s=new h.Z("page-signImport",!0,(()=>{var t,e,h,u;(0,n.y)(s.pageEl.firstElementChild,!0),t=void 0,e=void 0,u=function*(){const{dcId:t,token:e,tgAddr:n}=d;let h;try{r.Z.managers.apiManager.setBaseDcId(t);const n=yield r.Z.managers.apiManager.invokeApi("auth.importWebTokenAuthorization",{api_id:i.Z.id,api_hash:i.Z.hash,web_auth_token:e},{dcId:t,ignoreErrors:!0});"auth.authorization"===n._&&(r.Z.managers.apiManager.setUser(n.user),h=a.e(781).then(a.bind(a,5436)))}catch(t){switch(t.type){case"SESSION_PASSWORD_NEEDED":t.handled=!0,h=a.e(442).then(a.bind(a,9437));break;default:{console.error("authorization import error:",t);const e=o.h.authState._;"authStateSignIn"===e?h=a.e(641).then(a.bind(a,810)):"authStateSignQr"===e&&(h=a.e(776).then(a.bind(a,9709)));break}}}location.hash=(null==n?void 0:n.trim())?"#?tgaddr="+encodeURIComponent(n):"",h&&h.then((t=>t.default.mount()))},new((h=void 0)||(h=Promise))((function(a,n){function i(t){try{r(u.next(t))}catch(t){n(t)}}function o(t){try{r(u.throw(t))}catch(t){n(t)}}function r(t){var e;t.done?a(t.value):(e=t.value,e instanceof h?e:new h((function(t){t(e)}))).then(i,o)}r((u=u.apply(t,e||[])).next())}))}),(t=>{d=t,r.Z.managers.appStateManager.pushToState("authState",{_:"authStateSignImport",data:d})})),u=s}}]);
//# sourceMappingURL=231.f4d1bfe6ff7f14577f96.chunk.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"231.f4d1bfe6ff7f14577f96.chunk.js","mappings":"6KAaA,IAAIA,EAEJ,MAwCMC,EAAO,IAAI,IAAK,mBAAmB,GAAM,K,aAC7C,OAAaA,EAAKC,OAAOC,mBAAmB,G,OAzCb,E,OAAA,E,EAAA,YAC/B,MAAM,KAACC,EAAI,MAAEC,EAAK,OAAEC,GAAUN,EAC9B,IAAIO,EACJ,IACE,oCAA0CH,GAC1C,MAAMI,QAAsB,kCAAwC,mCAAoC,CACtGC,OAAQ,OACRC,SAAU,SACVC,eAAgBN,GACf,CAACD,OAAMQ,cAAc,IAED,uBAApBJ,EAAcK,IACf,gCAAsCL,EAAcM,MACpDP,EAAiB,8B,CAGnB,MAAMQ,GACN,OAAQA,EAAiBC,MACvB,IAAK,0BACFD,EAAiBE,SAAU,EAC5BV,EAAiB,8BACjB,MAGF,QAAS,CACPW,QAAQC,MAAM,8BAA+BJ,GAC7C,MAAMK,EAAe,gBACD,oBAAjBA,EAAoCb,EAAiB,6BAC/B,oBAAjBa,IAAoCb,EAAiB,+BAC7D,K,GAKNc,SAASC,MAAOhB,aAAM,EAANA,EAAQiB,QAAS,YAAcC,mBAAmBlB,GAAU,GACzEC,GACDA,EAAekB,MAAMC,GAAMA,EAAEC,QAAQC,SAEzC,E,YAtCiC,K,iQA0Cf,IACdC,IACF7B,EAAO6B,EACP,yCAA+C,YAAa,CAAChB,EAAG,sBAAuBb,QAAM,IAG/F,G","sources":["webpack://tweb/./src/pages/pageSignImport.ts"],"sourcesContent":["/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\nimport {putPreloader} from '../components/putPreloader';\nimport App from '../config/app';\nimport {STATE_INIT} from '../config/state';\nimport rootScope from '../lib/rootScope';\nimport {AuthState} from '../types';\nimport Page from './page';\n\nlet data: AuthState.signImport['data'];\n\nconst importWebToken = async() => {\n const {dcId, token, tgAddr} = data;\n let mountPageAfter: Promise<{default: Page}>;\n try {\n rootScope.managers.apiManager.setBaseDcId(dcId);\n const authorization = await rootScope.managers.apiManager.invokeApi('auth.importWebTokenAuthorization', {\n api_id: App.id,\n api_hash: App.hash,\n web_auth_token: token\n }, {dcId, ignoreErrors: true});\n\n if(authorization._ === 'auth.authorization') {\n rootScope.managers.apiManager.setUser(authorization.user);\n mountPageAfter = import('./pageIm');\n // return;\n }\n } catch(err) {\n switch((err as ApiError).type) {\n case 'SESSION_PASSWORD_NEEDED': {\n (err as ApiError).handled = true;\n mountPageAfter = import('./pagePassword');\n break;\n }\n\n default: {\n console.error('authorization import error:', err);\n const defaultState = STATE_INIT.authState._;\n if(defaultState === 'authStateSignIn') mountPageAfter = import('./pageSignIn');\n else if(defaultState === 'authStateSignQr') mountPageAfter = import('./pageSignQR');\n break;\n }\n }\n }\n\n location.hash = tgAddr?.trim() ? '#?tgaddr=' + encodeURIComponent(tgAddr) : '';\n if(mountPageAfter) {\n mountPageAfter.then((m) => m.default.mount());\n }\n};\n\nconst page = new Page('page-signImport', true, () => {\n putPreloader(page.pageEl.firstElementChild, true);\n importWebToken();\n}, (_data: typeof data) => {\n data = _data;\n rootScope.managers.appStateManager.pushToState('authState', {_: 'authStateSignImport', data});\n});\n\nexport default page;\n"],"names":["data","page","pageEl","firstElementChild","dcId","token","tgAddr","mountPageAfter","authorization","api_id","api_hash","web_auth_token","ignoreErrors","_","user","err","type","handled","console","error","defaultState","location","hash","trim","encodeURIComponent","then","m","default","mount","_data"],"sourceRoot":""}

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[24],{200:function(t,r,o){"use strict";o.r(r),o.d(r,"default",(function(){return f}));const a=[1,57,41,21,203,34,97,73,227,91,149,62,105,45,39,137,241,107,3,173,39,71,65,238,219,101,187,87,81,151,141,133,249,117,221,209,197,187,177,169,5,153,73,139,133,127,243,233,223,107,103,99,191,23,177,171,165,159,77,149,9,139,135,131,253,245,119,231,224,109,211,103,25,195,189,23,45,175,171,83,81,79,155,151,147,9,141,137,67,131,129,251,123,30,235,115,113,221,217,53,13,51,50,49,193,189,185,91,179,175,43,169,83,163,5,79,155,19,75,147,145,143,35,69,17,67,33,65,255,251,247,243,239,59,29,229,113,111,219,27,213,105,207,51,201,199,49,193,191,47,93,183,181,179,11,87,43,85,167,165,163,161,159,157,155,77,19,75,37,73,145,143,141,35,138,137,135,67,33,131,129,255,63,250,247,61,121,239,237,117,29,229,227,225,111,55,109,216,213,211,209,207,205,203,201,199,197,195,193,48,190,47,93,185,183,181,179,178,176,175,173,171,85,21,167,165,41,163,161,5,79,157,78,154,153,19,75,149,74,147,73,144,143,71,141,140,139,137,17,135,134,133,66,131,65,129,1],e=[0,9,10,10,14,12,14,14,16,15,16,15,16,15,15,17,18,17,12,18,16,17,17,19,19,18,19,18,18,19,19,19,20,19,20,20,20,20,20,20,15,20,19,20,20,20,21,21,21,20,20,20,21,18,21,21,21,21,20,21,17,21,21,21,22,22,21,22,22,21,22,21,19,22,22,19,20,22,22,21,21,21,22,22,22,18,22,22,21,22,22,23,22,20,23,22,22,23,23,21,19,21,21,21,23,23,23,22,23,23,21,23,22,23,18,22,23,20,22,23,23,23,21,22,20,22,21,22,24,24,24,24,24,22,21,24,23,23,24,21,24,23,24,22,24,24,22,24,24,22,23,24,24,24,20,23,22,23,24,24,24,24,24,24,24,23,21,23,22,23,24,24,24,22,24,24,24,23,22,24,24,25,23,25,25,23,24,25,25,24,22,25,25,25,24,23,24,25,25,25,25,25,25,25,25,25,25,25,25,23,25,23,24,25,25,25,25,25,25,25,25,25,24,22,25,25,23,25,25,20,24,25,24,25,25,22,24,25,24,25,24,25,25,24,25,25,25,25,22,25,25,25,24,25,24,25,18];function f(t,r,o,f,n,s,u){if(Number.isNaN(s)||s<1)return;s|=0,Number.isNaN(u)&&(u=1),(u|=0)>3&&(u=3),u<1&&(u=1);const i=t.getImageData(r,o,f,n),c=i.data;let p,N,b,m,d,g,h,k,l,w,D,I,J=f-1,j=n-1,q=s+1,v=[],x=[],y=[],z=a[s],A=e[s],B=[],C=[];for(;u-- >0;){for(I=D=0,d=0;d<n;d++){for(p=c[I]*q,N=c[I+1]*q,b=c[I+2]*q,g=1;g<=s;g++)h=I+((g>J?J:g)<<2),p+=c[h++],N+=c[h++],b+=c[h++];for(m=0;m<f;m++)v[D]=p,x[D]=N,y[D]=b,0==d&&(B[m]=((h=m+q)<J?h:J)<<2,C[m]=(h=m-s)>0?h<<2:0),k=I+B[m],l=I+C[m],p+=c[k++]-c[l++],N+=c[k++]-c[l++],b+=c[k++]-c[l++],D++;I+=f<<2}for(m=0;m<f;m++){for(w=m,p=v[w]*q,N=x[w]*q,b=y[w]*q,g=1;g<=s;g++)w+=g>j?0:f,p+=v[w],N+=x[w],b+=y[w];for(D=m<<2,d=0;d<n;d++)c[D]=p*z>>>A,c[D+1]=N*z>>>A,c[D+2]=b*z>>>A,0==m&&(B[d]=((h=d+q)<j?h:j)*f,C[d]=(h=d-s)>0?h*f:0),k=m+B[d],l=m+C[d],p+=v[k]-v[l],N+=x[k]-x[l],b+=y[k]-y[l],D+=f<<2}}t.putImageData(i,r,o)}}}]);
//# sourceMappingURL=24.3dbb6c36f540f3e15be0.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(this.webpackJsonp=this.webpackJsonp||[]).push([[3,23],{110:function(e,t,a){"use strict";a.r(t);var n=a(38),c=a(42),s=a(35),l=a(7);const u=new(a(90).a)("page-chats",!1,()=>(s.c.pushToState("authState",{_:"authStateSignedIn"}),l.c.requestedServerLanguage||l.c.getCacheLangPack().then(e=>{e.local&&l.c.getLangPack(e.lang_code)}),u.pageEl.style.display="",Object(n.a)(),Promise.all([Object(c.a)(),Promise.all([a.e(1),a.e(2),a.e(5),a.e(6),a.e(13)]).then(a.bind(null,184))]).then(()=>{setTimeout(()=>{document.getElementById("auth-pages").remove()},1e3)})));t.default=u}}]);
//# sourceMappingURL=3.fd4a457d3edbe045f3c5.chunk.js.map

View File

@ -0,0 +1 @@
{"version":3,"sources":["webpack:///./src/pages/pageIm.ts"],"names":["page","pushToState","_","requestedServerLanguage","getCacheLangPack","then","langPack","local","getLangPack","lang_code","pageEl","style","display","Promise","all","setTimeout","document","getElementById","remove"],"mappings":"yFAAA,0CAoDA,MAAMA,EAAO,IApDb,MAoDiB,GAAK,cAAc,EAxCjB,KACjB,IAAgBC,YAAY,YAAa,CAACC,EAAG,sBAIzC,IAAKC,yBACP,IAAKC,mBAAmBC,KAAKC,IACxBA,EAASC,OACV,IAAKC,YAAYF,EAASG,aAKhCT,EAAKU,OAAOC,MAAMC,QAAU,GAe5B,cAEOC,QAAQC,IAAI,CACjB,cACA,4EACCT,KAAK,KACNU,WAAW,KACTC,SAASC,eAAe,cAAcC,UACrC,SAKQ","file":"3.fd4a457d3edbe045f3c5.chunk.js","sourcesContent":["/*\r\n * https://github.com/morethanwords/tweb\r\n * Copyright (C) 2019-2021 Eduard Kuzmenko\r\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\r\n */\r\n\r\nimport blurActiveElement from \"../helpers/dom/blurActiveElement\";\r\nimport loadFonts from \"../helpers/dom/loadFonts\";\r\nimport appStateManager from \"../lib/appManagers/appStateManager\";\r\nimport I18n from \"../lib/langPack\";\r\nimport Page from \"./page\";\r\n\r\nlet onFirstMount = () => {\r\n appStateManager.pushToState('authState', {_: 'authStateSignedIn'});\r\n // ! TOO SLOW\r\n /* appStateManager.saveState(); */\r\n\r\n if(!I18n.requestedServerLanguage) {\r\n I18n.getCacheLangPack().then(langPack => {\r\n if(langPack.local) {\r\n I18n.getLangPack(langPack.lang_code);\r\n }\r\n });\r\n }\r\n\r\n page.pageEl.style.display = '';\r\n \r\n //AudioContext && global.navigator && global.navigator.mediaDevices && global.navigator.mediaDevices.getUserMedia && global.WebAssembly;\r\n\r\n /* // @ts-ignore\r\n var AudioContext = globalThis.AudioContext || globalThis.webkitAudioContext;\r\n alert('AudioContext:' + typeof(AudioContext));\r\n // @ts-ignore\r\n alert('global.navigator:' + typeof(navigator));\r\n alert('navigator.mediaDevices:' + typeof(navigator.mediaDevices));\r\n alert('navigator.mediaDevices.getUserMedia:' + typeof(navigator.mediaDevices?.getUserMedia));\r\n alert('global.WebAssembly:' + typeof(WebAssembly)); */\r\n\r\n //(Array.from(document.getElementsByClassName('rp')) as HTMLElement[]).forEach(el => ripple(el));\r\n\r\n blurActiveElement();\r\n\r\n return Promise.all([\r\n loadFonts()/* .then(() => new Promise((resolve) => window.requestAnimationFrame(resolve))) */,\r\n import('../lib/appManagers/appDialogsManager')\r\n ]).then(() => {\r\n setTimeout(() => {\r\n document.getElementById('auth-pages').remove();\r\n }, 1e3);\r\n });\r\n};\r\n\r\nconst page = new Page('page-chats', false, onFirstMount);\r\nexport default page;\r\n"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[301],{9301:(e,n,o)=>{o.r(n),o.d(n,{default:()=>i});const i={"Login.Title":"Sign in to Telegram","Login.PhoneLabel":"Phone Number","Login.PhoneLabelInvalid":"Phone Number Invalid","Login.KeepSigned":"Keep me signed in","Login.StartText":"Please confirm your country and\nenter your phone number.","Login.Code.SentSms":"We have sent you an SMS\nwith the code.","Login.Code.SentInApp":"We have sent you a message in Telegram\nwith the code.","Login.Code.SentCall":"We will call you and voice\nthe code.","Login.Code.SentUnknown":"Please check everything\nfor a code (type: %s)","Login.Password.Title":"Enter Your Password","Login.Password.Subtitle":"Your account is protected with\nan additional password","Login.Register.Subtitle":"Enter your name and add\na profile picture",PleaseWait:"Please wait...",Code:"Code",LoginPassword:"Password",YourName:"Your Name",FirstName:"First name (required)",LastName:"Last name (optional)",StartMessaging:"Start Messaging",Country:"Country","Contacts.PhoneNumber.Placeholder":"Phone Number","Login.Next":"Next","Login.ContinueOnLanguage":"Continue in English","Login.QR.Title":"Log in to Telegram by QR Code","Login.QR.Help1":"Open Telegram on your phone","Login.QR.Help2":"Go to **Settings** > **Devices** > **Link Desktop Device**","Login.QR.Help3":"Point your phone at this screen to confirm login","Login.QR.Cancel":"Log in by phone Number","Login.QR.Login":"Log in by QR Code","PhoneNumber.Code.Fragment.Info":"Get the code in the Anonymous Numbers section on [Fragment](%1$@)",PHONE_CODE_INVALID:"Invalid code",PHONE_CODE_EXPIRED:"Code expired",PASSWORD_HASH_INVALID:"Incorrect password"}}}]);
//# sourceMappingURL=301.95838a8203f23dd1ce8f.chunk.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"301.95838a8203f23dd1ce8f.chunk.js","mappings":"yHAAA,MAwCA,EAxCa,CACX,cAAe,sBACf,mBAAoB,eACpB,0BAA2B,uBAC3B,mBAAoB,oBACpB,kBAAmB,4DACnB,qBAAsB,0CACtB,uBAAwB,yDACxB,sBAAuB,wCACvB,yBAA0B,iDAC1B,uBAAwB,sBACxB,0BAA2B,yDAC3B,0BAA2B,6CAC3B,WAAc,iBAGd,KAAQ,OACR,cAAiB,WACjB,SAAY,YACZ,UAAa,wBACb,SAAY,uBACZ,eAAkB,kBAClB,QAAW,UAGX,mCAAoC,eACpC,aAAc,OACd,2BAA4B,sBAC5B,iBAAkB,gCAClB,iBAAkB,8BAClB,iBAAkB,6DAClB,iBAAkB,mDAClB,kBAAmB,yBACnB,iBAAkB,oBAClB,iCAAkC,oEAClC,mBAAsB,eACtB,mBAAsB,eACtB,sBAAyB,qB","sources":["webpack://tweb/./src/langSign.ts"],"sourcesContent":["const lang = {\n 'Login.Title': 'Sign in to Telegram',\n 'Login.PhoneLabel': 'Phone Number',\n 'Login.PhoneLabelInvalid': 'Phone Number Invalid',\n 'Login.KeepSigned': 'Keep me signed in',\n 'Login.StartText': 'Please confirm your country and\\nenter your phone number.',\n 'Login.Code.SentSms': 'We have sent you an SMS\\nwith the code.',\n 'Login.Code.SentInApp': 'We have sent you a message in Telegram\\nwith the code.',\n 'Login.Code.SentCall': 'We will call you and voice\\nthe code.',\n 'Login.Code.SentUnknown': 'Please check everything\\nfor a code (type: %s)',\n 'Login.Password.Title': 'Enter Your Password',\n 'Login.Password.Subtitle': 'Your account is protected with\\nan additional password',\n 'Login.Register.Subtitle': 'Enter your name and add\\na profile picture',\n 'PleaseWait': 'Please wait...',\n\n // * android\n 'Code': 'Code',\n 'LoginPassword': 'Password',\n 'YourName': 'Your Name',\n 'FirstName': 'First name (required)',\n 'LastName': 'Last name (optional)',\n 'StartMessaging': 'Start Messaging',\n 'Country': 'Country',\n\n // * macos\n 'Contacts.PhoneNumber.Placeholder': 'Phone Number',\n 'Login.Next': 'Next',\n 'Login.ContinueOnLanguage': 'Continue in English',\n 'Login.QR.Title': 'Log in to Telegram by QR Code',\n 'Login.QR.Help1': 'Open Telegram on your phone',\n 'Login.QR.Help2': 'Go to **Settings** > **Devices** > **Link Desktop Device**',\n 'Login.QR.Help3': 'Point your phone at this screen to confirm login',\n 'Login.QR.Cancel': 'Log in by phone Number',\n 'Login.QR.Login': 'Log in by QR Code',\n 'PhoneNumber.Code.Fragment.Info': 'Get the code in the Anonymous Numbers section on [Fragment](%1$@)',\n 'PHONE_CODE_INVALID': 'Invalid code',\n 'PHONE_CODE_EXPIRED': 'Code expired',\n 'PASSWORD_HASH_INVALID': 'Incorrect password'\n};\n\nexport default lang;\n"],"names":[],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[339,813],{2582:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(2325);class i{constructor(e){this.element=document.body.querySelector("."+e.className),this.container=document.createElement("div"),this.container.className="container center-align",this.imageDiv=document.createElement("div"),this.imageDiv.className="auth-image",this.title=document.createElement("h4"),e.titleLangKey&&this.title.append((0,n.ag)(e.titleLangKey)),this.subtitle=document.createElement("p"),this.subtitle.className="subtitle",e.subtitleLangKey&&this.subtitle.append((0,n.ag)(e.subtitleLangKey)),this.container.append(this.imageDiv,this.title,this.subtitle),e.withInputWrapper&&(this.inputWrapper=document.createElement("div"),this.inputWrapper.className="input-wrapper",this.container.append(this.inputWrapper)),this.element.append(this.container)}}},8339:(e,t,a)=>{a.r(t),a.d(t,{default:()=>v});var n=a(2582),i=a(4874),s=a(8799),r=a(3512),c=a(503),u=a(1168),o=a(6765),l=a(5565),p=a(2325),m=a(8115),d=a(4494),h=a(279);let g=null;const v=new i.Z("page-signUp",!0,(()=>{return e=void 0,t=void 0,v=function*(){const e=new n.Z({className:"page-signUp",withInputWrapper:!0,titleLangKey:"YourName",subtitleLangKey:"Login.Register.Subtitle"});e.imageDiv.classList.add("avatar-edit"),e.title.classList.add("fullName");const t=document.createElement("canvas");t.id="canvas-avatar",t.className="avatar-edit-canvas";const i=document.createElement("span");let v;i.className="tgico tgico-cameraadd",e.imageDiv.append(t,i),e.imageDiv.addEventListener("click",(()=>{u.Z.createPopup(o.Z).open(t,(e=>{v=e}))}));const b=t=>{const a=y.value||"",n=w.value||"",i=a||n?(a+" "+n).trim():"";i?(0,l.Z)(e.title,(0,m.Z)(i)):(0,l.Z)(e.title,(0,p.ag)("YourName"))},y=new c.ZP({label:"FirstName",maxLength:70}),w=new c.ZP({label:"LastName",maxLength:64}),L=(0,d.Z)("btn-primary btn-color-primary"),f=new p.ZP.IntlElement({key:"StartMessaging"});return L.append(f.element),e.inputWrapper.append(y.container,w.container,L),y.input.addEventListener("input",b),w.input.addEventListener("input",b),L.addEventListener("click",(function(e){if(y.input.classList.contains("error")||w.input.classList.contains("error"))return!1;if(!y.value.length)return y.input.classList.add("error"),!1;this.disabled=!0;const t=y.value.trim(),n=w.value.trim(),i={phone_number:g.phone_number,phone_code_hash:g.phone_code_hash,first_name:t,last_name:n};f.update({key:"PleaseWait"});const s=(0,h.y)(this);r.Z.managers.apiManager.invokeApi("auth.signUp",i).then((e=>{"auth.authorization"===e._?(r.Z.managers.apiManager.setUser(e.user),new Promise(((e,t)=>{if(!v)return e();v().then((a=>{r.Z.managers.appProfileManager.uploadProfilePhoto(a).then(e,t)}),t)})).finally((()=>{a.e(781).then(a.bind(a,5436)).then((e=>{e.default.mount()}))}))):(f.update({key:e._}),this.removeAttribute("disabled"),s.remove())})).catch((e=>{this.removeAttribute("disabled"),s.remove(),e.type,f.update({key:e.type})}))})),(0,s.Z)(),new Promise((e=>{window.requestAnimationFrame(e)}))},new((i=void 0)||(i=Promise))((function(a,n){function s(e){try{c(v.next(e))}catch(e){n(e)}}function r(e){try{c(v.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,r)}c((v=v.apply(e,t||[])).next())}));var e,t,i,v}),(e=>{g=e,r.Z.managers.appStateManager.pushToState("authState",{_:"authStateSignUp",authCode:e})}))}}]);
//# sourceMappingURL=339.12bdbede82465e666965.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[392],{6392:(e,t,n)=>{n.r(t),n.d(t,{default:()=>w});var a=n(4755),o=n(4874),r=n(810),s=n(3083),l=n(4489),i=n(2325),u=n(144),h=n(5565),d=n(3512),c=n(1447),p=n(2521),m=n(2738);let E,g,_,b,C=null,v=null,y=null;const f=()=>{setTimeout((()=>{null==_||_.remove(),null==b||b.remove()}),300)},S=new o.Z("page-authCode",!0,(()=>{S.pageEl.querySelector(".input-wrapper").append(g.container);const e=S.pageEl.querySelector(".phone-edit");(0,m.fc)(e,(()=>r.default.mount()))}),(e=>{if(C=e,v){E.value="";const e=document.createEvent("HTMLEvents");e.initEvent("input",!1,!0),E.dispatchEvent(e)}else v=S.pageEl.getElementsByClassName("phone")[0],y=S.pageEl.getElementsByClassName("sent-type")[0];const t=C.type.length;let o,r;g||(g=new l.Z({label:"Code",name:(0,u.a)(),length:t,onFill:e=>{(e=>{E.setAttribute("disabled","true");const t={phone_number:C.phone_number,phone_code_hash:C.phone_code_hash,phone_code:e};d.Z.managers.apiManager.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then((e=>{switch(e._){case"auth.authorization":d.Z.managers.apiManager.setUser(e.user),n.e(781).then(n.bind(n,5436)).then((e=>{e.default.mount()})),f();break;case"auth.authorizationSignUpRequired":n.e(813).then(n.bind(n,8339)).then((e=>{e.default.mount({phone_number:C.phone_number,phone_code_hash:C.phone_code_hash})})),f()}})).catch((e=>{return t=void 0,a=void 0,r=function*(){let t=!1;switch(e.type){case"SESSION_PASSWORD_NEEDED":t=!0,e.handled=!0,yield(yield n.e(442).then(n.bind(n,9437))).default.mount(),setTimeout((()=>{E.value=""}),300);break;case"PHONE_CODE_EXPIRED":E.classList.add("error"),(0,h.Z)(g.label,(0,i.ag)("PHONE_CODE_EXPIRED"));break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":E.classList.add("error"),(0,h.Z)(g.label,(0,i.ag)("PHONE_CODE_INVALID"));break;default:g.label.innerText=e.type}t||g.select(),E.removeAttribute("disabled")},new((o=void 0)||(o=Promise))((function(e,n){function s(e){try{i(r.next(e))}catch(e){n(e)}}function l(e){try{i(r.throw(e))}catch(e){n(e)}}function i(t){var n;t.done?e(t.value):(n=t.value,n instanceof o?n:new o((function(e){e(n)}))).then(s,l)}i((r=r.apply(t,a||[])).next())}));var t,a,o,r}))})(e)}}),E=g.input),g.options.length=t,v.innerText=C.phone_number;const m=C.type;switch(m._){case"auth.sentCodeTypeSms":o="Login.Code.SentSms";break;case"auth.sentCodeTypeApp":o="Login.Code.SentInApp";break;case"auth.sentCodeTypeCall":o="Login.Code.SentCall";break;case"auth.sentCodeTypeFragmentSms":o="PhoneNumber.Code.Fragment.Info";const e=document.createElement("a");(0,p.Z)(e),e.href=m.url,r=[e];break;default:o="Login.Code.SentUnknown",r=[m._]}return(0,h.Z)(y,(0,i.ag)(o,r)),d.Z.managers.appStateManager.pushToState("authState",{_:"authStateAuthCode",sentCode:e}),(()=>{const e=S.pageEl.querySelector(".auth-image"),t=a.Z.isMobile?100:166;if("auth.sentCodeTypeFragmentSms"===C.type._){e.firstElementChild&&(null==_||_.remove(),_=void 0,e.replaceChildren());const n=document.createElement("div");return n.classList.add("media-sticker-wrapper"),e.append(n),c.Z.loadAnimationAsAsset({container:n,loop:!0,autoplay:!0,width:t,height:t},"jolly_roger").then((e=>(b=e,c.Z.waitForFirstFrame(e)))).then((()=>{}))}return e.firstElementChild&&(null==b||b.remove(),b=void 0,e.replaceChildren()),_=new s.Z(g,t),e.append(_.container),_.load()})()}),(()=>{E.focus()})),w=S}}]);
//# sourceMappingURL=392.6ce981ebdcbba9b6fd04.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[436,781],{5436:(e,t,a)=>{a.r(t),a.d(t,{default:()=>h});var n=a(8799),s=a(4541),r=a(2325),l=a(3512);const o=new(a(4874).Z)("page-chats",!1,(()=>(l.Z.managers.appStateManager.pushToState("authState",{_:"authStateSignedIn"}),r.ZP.requestedServerLanguage||r.ZP.getCacheLangPack().then((e=>{e.local&&r.ZP.getLangPack(e.lang_code)})),o.pageEl.style.display="",(0,n.Z)(),Promise.all([(0,s.Z)(),Promise.resolve().then(a.bind(a,5005)),"requestVideoFrameCallback"in HTMLVideoElement.prototype?Promise.resolve():a.e(783).then(a.bind(a,7482))]).then((([e,t,a])=>{t.default.start(),setTimeout((()=>{document.getElementById("auth-pages").remove()}),1e3)}))))),h=o}}]);
//# sourceMappingURL=436.9e54c5e9f3feccf9d736.chunk.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"436.9e54c5e9f3feccf9d736.chunk.js","mappings":"yKAYA,MA0CMA,EAAO,I,QAAI,GAAK,cAAc,GA1Cf,KACnB,yCAA+C,YAAa,CAACC,EAAG,sBAI5D,8BACF,wBAAwBC,MAAMC,IACzBA,EAASC,OACV,iBAAiBD,EAASE,U,IAKhCL,EAAKM,OAAOC,MAAMC,QAAU,IAe5B,SAEOC,QAAQC,IAAI,EACjB,SACA,uCACA,8BAA+BC,iBAAiBC,UAAYH,QAAQI,UAAY,gCAC/EX,MAAK,EAAED,EAAGa,EAAmBC,MAC9BD,EAAkBE,QAAQC,QAC1BC,YAAW,KACTC,SAASC,eAAe,cAAcC,QAAQ,GAC7C,IAAI,OAKX,G","sources":["webpack://tweb/./src/pages/pageIm.ts"],"sourcesContent":["/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\nimport blurActiveElement from '../helpers/dom/blurActiveElement';\nimport loadFonts from '../helpers/dom/loadFonts';\nimport I18n from '../lib/langPack';\nimport rootScope from '../lib/rootScope';\nimport Page from './page';\n\nconst onFirstMount = () => {\n rootScope.managers.appStateManager.pushToState('authState', {_: 'authStateSignedIn'});\n // ! TOO SLOW\n /* appStateManager.saveState(); */\n\n if(!I18n.requestedServerLanguage) {\n I18n.getCacheLangPack().then((langPack) => {\n if(langPack.local) {\n I18n.getLangPack(langPack.lang_code);\n }\n });\n }\n\n page.pageEl.style.display = '';\n\n // AudioContext && global.navigator && global.navigator.mediaDevices && global.navigator.mediaDevices.getUserMedia && global.WebAssembly;\n\n /* // @ts-ignore\n var AudioContext = globalThis.AudioContext || globalThis.webkitAudioContext;\n alert('AudioContext:' + typeof(AudioContext));\n // @ts-ignore\n alert('global.navigator:' + typeof(navigator));\n alert('navigator.mediaDevices:' + typeof(navigator.mediaDevices));\n alert('navigator.mediaDevices.getUserMedia:' + typeof(navigator.mediaDevices?.getUserMedia));\n alert('global.WebAssembly:' + typeof(WebAssembly)); */\n\n // (Array.from(document.getElementsByClassName('rp')) as HTMLElement[]).forEach((el) => ripple(el));\n\n blurActiveElement();\n\n return Promise.all([\n loadFonts()/* .then(() => new Promise((resolve) => window.requestAnimationFrame(resolve))) */,\n import('../lib/appManagers/appDialogsManager'),\n 'requestVideoFrameCallback' in HTMLVideoElement.prototype ? Promise.resolve() : import('../helpers/dom/requestVideoFrameCallbackPolyfill')\n ]).then(([_, appDialogsManager, __]) => {\n appDialogsManager.default.start();\n setTimeout(() => {\n document.getElementById('auth-pages').remove();\n }, 1e3);\n });\n};\n\nconst page = new Page('page-chats', false, onFirstMount);\nexport default page;\n"],"names":["page","_","then","langPack","local","lang_code","pageEl","style","display","Promise","all","HTMLVideoElement","prototype","resolve","appDialogsManager","__","default","start","setTimeout","document","getElementById","remove"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[437,442],{2582:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(2325);class s{constructor(e){this.element=document.body.querySelector("."+e.className),this.container=document.createElement("div"),this.container.className="container center-align",this.imageDiv=document.createElement("div"),this.imageDiv.className="auth-image",this.title=document.createElement("h4"),e.titleLangKey&&this.title.append((0,n.ag)(e.titleLangKey)),this.subtitle=document.createElement("p"),this.subtitle.className="subtitle",e.subtitleLangKey&&this.subtitle.append((0,n.ag)(e.subtitleLangKey)),this.container.append(this.imageDiv,this.title,this.subtitle),e.withInputWrapper&&(this.inputWrapper=document.createElement("div"),this.inputWrapper.className="input-wrapper",this.container.append(this.inputWrapper)),this.element.append(this.container)}}},9437:(e,t,a)=>{a.r(t),a.d(t,{default:()=>v});var n=a(279),s=a(4755),i=a(4874),r=a(4494),l=a(6830),o=a(4425),p=a(2325),c=a(2582),u=a(3910),d=a(2738),h=a(2614),m=a(5565),g=a(1656),b=a(8115),w=a(3512);let y;const v=new i.Z("page-password",!0,(()=>{const e=new c.Z({className:"page-password",withInputWrapper:!0,titleLangKey:"Login.Password.Title",subtitleLangKey:"Login.Password.Subtitle"}),t=(0,r.Z)("btn-primary btn-color-primary"),i=new p.ZP.IntlElement({key:"Login.Next"});t.append(i.element);const v=new l.Z({label:"LoginPassword",name:"password"});let L;y=v.input,e.inputWrapper.append(v.container,t);const Z=()=>(L||(L=window.setInterval(Z,1e4)),w.Z.managers.passwordManager.getState().then((e=>{k=e,k.hint?(0,m.Z)(v.label,(0,h.Z)((0,b.Z)(k.hint))):v.setLabel()})));let k;const S=e=>{if(e&&(0,u.Z)(e),!y.value.length)return void y.classList.add("error");const s=(0,g.Z)([y,t],!0),r=y.value;i.update({key:"PleaseWait"});const l=(0,n.y)(t);v.setValueSilently(""+Math.random()),v.setValueSilently(r),w.Z.managers.passwordManager.check(r,k).then((e=>{"auth.authorization"===e._?(clearInterval(L),a.e(781).then(a.bind(a,5436)).then((e=>{e.default.mount()})),E&&E.remove()):(t.removeAttribute("disabled"),i.update({key:e._}),l.remove())})).catch((e=>{s(),v.input.classList.add("error"),e.type,i.update({key:"PASSWORD_HASH_INVALID"}),y.select(),l.remove(),Z()}))};(0,d.fc)(t,S),y.addEventListener("keypress",(function(e){if(this.classList.remove("error"),i.update({key:"Login.Next"}),"Enter"===e.key)return S()}));const N=s.Z.isMobile?100:166,E=new o.Z(v,N);return e.imageDiv.append(E.container),Promise.all([E.load(),Z()])}),null,(()=>{y.focus(),w.Z.managers.appStateManager.pushToState("authState",{_:"authStatePassword"})}))}}]);
//# sourceMappingURL=437.37bcbe9db9cbb8d8a753.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[442,437],{2582:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(2325);class s{constructor(e){this.element=document.body.querySelector("."+e.className),this.container=document.createElement("div"),this.container.className="container center-align",this.imageDiv=document.createElement("div"),this.imageDiv.className="auth-image",this.title=document.createElement("h4"),e.titleLangKey&&this.title.append((0,n.ag)(e.titleLangKey)),this.subtitle=document.createElement("p"),this.subtitle.className="subtitle",e.subtitleLangKey&&this.subtitle.append((0,n.ag)(e.subtitleLangKey)),this.container.append(this.imageDiv,this.title,this.subtitle),e.withInputWrapper&&(this.inputWrapper=document.createElement("div"),this.inputWrapper.className="input-wrapper",this.container.append(this.inputWrapper)),this.element.append(this.container)}}},9437:(e,t,a)=>{a.r(t),a.d(t,{default:()=>v});var n=a(279),s=a(4755),i=a(4874),r=a(4494),l=a(6830),o=a(4425),p=a(2325),c=a(2582),u=a(3910),d=a(2738),h=a(2614),m=a(5565),g=a(1656),b=a(8115),w=a(3512);let y;const v=new i.Z("page-password",!0,(()=>{const e=new c.Z({className:"page-password",withInputWrapper:!0,titleLangKey:"Login.Password.Title",subtitleLangKey:"Login.Password.Subtitle"}),t=(0,r.Z)("btn-primary btn-color-primary"),i=new p.ZP.IntlElement({key:"Login.Next"});t.append(i.element);const v=new l.Z({label:"LoginPassword",name:"password"});let L;y=v.input,e.inputWrapper.append(v.container,t);const Z=()=>(L||(L=window.setInterval(Z,1e4)),w.Z.managers.passwordManager.getState().then((e=>{k=e,k.hint?(0,m.Z)(v.label,(0,h.Z)((0,b.Z)(k.hint))):v.setLabel()})));let k;const S=e=>{if(e&&(0,u.Z)(e),!y.value.length)return void y.classList.add("error");const s=(0,g.Z)([y,t],!0),r=y.value;i.update({key:"PleaseWait"});const l=(0,n.y)(t);v.setValueSilently(""+Math.random()),v.setValueSilently(r),w.Z.managers.passwordManager.check(r,k).then((e=>{"auth.authorization"===e._?(clearInterval(L),a.e(781).then(a.bind(a,5436)).then((e=>{e.default.mount()})),E&&E.remove()):(t.removeAttribute("disabled"),i.update({key:e._}),l.remove())})).catch((e=>{s(),v.input.classList.add("error"),e.type,i.update({key:"PASSWORD_HASH_INVALID"}),y.select(),l.remove(),Z()}))};(0,d.fc)(t,S),y.addEventListener("keypress",(function(e){if(this.classList.remove("error"),i.update({key:"Login.Next"}),"Enter"===e.key)return S()}));const N=s.Z.isMobile?100:166,E=new o.Z(v,N);return e.imageDiv.append(E.container),Promise.all([E.load(),Z()])}),null,(()=>{y.focus(),w.Z.managers.appStateManager.pushToState("authState",{_:"authStatePassword"})}))}}]);
//# sourceMappingURL=442.54c010363ba1cdea7bce.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
(()=>{"use strict";(()=>{if("undefined"!=typeof __webpack_require__){var e=__webpack_require__.u,t=__webpack_require__.e,r={},i={};__webpack_require__.u=function(t){return e(t)+(r.hasOwnProperty(t)?"?"+r[t]:"")},__webpack_require__.e=function(n){return t(n).catch((function(t){var a=i.hasOwnProperty(n)?i[n]:999999;if(a<1){var o=e(n);throw t.message="Loading chunk "+n+" failed after 999999 retries.\n("+o+")",t.request=o,t}return new Promise((function(e){setTimeout((function(){var t=Date.now();r[n]=t,i[n]=a-1,e(__webpack_require__.e(n))}),3e3)}))}))}}})();const e="undefined"!=typeof window?window:self,t=navigator?navigator.userAgent:null,r=(navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),navigator.userAgent.toLowerCase().indexOf("android"),/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor),(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&e.MSStream,!!("safari"in e)||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome"))));let i;if(navigator.userAgent.toLowerCase().indexOf("firefox"),(void 0===navigator.maxTouchPoints||navigator.maxTouchPoints>0)&&navigator.userAgent.search(/iOS|iPhone OS|Android|BlackBerry|BB10|Series ?[64]0|J2ME|MIDP|opera mini|opera mobi|mobi.+Gecko|Windows Phone/i),r)try{i=+navigator.userAgent.match(/Version\/(.+?) /)[1]>=14}catch(e){i=!1}else i=!0;const n=i,a="undefined"!=typeof ImageBitmap;const o=[[[16219713,13335381],[16757049,16168585],[16765248,16764327],[16768889,16768965]],[[16219713,10771e3],[16757049,14653547],[16765248,15577475],[16768889,16040864]],[[16219713,7354903],[16757049,11233085],[16765248,12812110],[16768889,14194279]],[[16219713,4858889],[16757049,8207886],[16765248,9852201],[16768889,11100983]],[[16219713,2101002],[16757049,4270372],[16765248,5848375],[16768889,6505791]]],s=e=>Math.round(255*Math.min(Math.max(e,0),1));importScripts("rlottie-wasm.js");const h=self.Module;class d{constructor(e,t,r,i){this.reqId=e,this.width=t,this.height=r,this.raw=i}init(e,t){if(!this.dead){this.fps=Math.max(1,Math.min(60,t||60));try{this.handle=c.Api.init(),this.stringOnWasmHeap=allocate(intArrayFromString(e),"i8",0),this.frameCount=c.Api.loadFromData(this.handle,this.stringOnWasmHeap),c.Api.resize(this.handle,this.width,this.height),m(["loaded",this.reqId,this.frameCount,this.fps]),!this.raw&&a&&(this.imageData=new ImageData(this.width,this.height))}catch(e){console.error("init RLottieItem error:",e),m(["error",this.reqId,e])}}}render(e,t){if(!this.dead&&void 0!==this.handle&&!(this.frameCount<e||e<0))try{c.Api.render(this.handle,e);const r=c.Api.buffer(this.handle),i=h.HEAPU8.subarray(r,r+this.width*this.height*4);this.imageData?(this.imageData.data.set(i),createImageBitmap(this.imageData).then((t=>{m(["frame",this.reqId,e,t],[t])}))):(t?t.set(i):t=new Uint8ClampedArray(i),m(["frame",this.reqId,e,t],[t.buffer]))}catch(e){console.error("Render error:",e),this.dead=!0,m(["error",this.reqId,e])}}destroy(){this.dead=!0,void 0!==this.handle&&c.Api.destroy(this.handle)}}const c=new class{constructor(){this.Api={}}initApi(){this.Api={init:h.cwrap("lottie_init","",[]),destroy:h.cwrap("lottie_destroy","",["number"]),resize:h.cwrap("lottie_resize","",["number","number","number"]),buffer:h.cwrap("lottie_buffer","number",["number"]),render:h.cwrap("lottie_render","",["number","number"]),loadFromData:h.cwrap("lottie_load_from_data","number",["number","number"])}}init(){this.initApi(),m(["ready"])}};h.onRuntimeInitialized=function(){c.init()};const u={},f={loadFromData:function(e,t,r,i,n,a){const h=u[e]=new d(e,r,i,a);(function(e){return function(e,t){return new Promise((t=>{const r=new FileReader;r.addEventListener("loadend",(e=>{t(e.target.result)})),r.readAsText(e)}))}(e)})(t).then((t=>{try{if("number"==typeof n&&n>=1&&n<=5){const e=JSON.parse(t);(function(e,t){const r=o[Math.max(t-1,0)],i=e=>{switch(e.ty){case"st":case"fl":(e=>{const t=e.c.k,i=s(t[2])|s(t[1])<<8|s(t[0])<<16,n=r.find((e=>e[0]===i));n&&(t[0]=(n[1]>>16&255)/255,t[1]=(n[1]>>8&255)/255,t[2]=(255&n[1])/255)})(e)}e.hasOwnProperty("it")&&n(e.it)},n=e=>{for(const t of e)i(t)};try{for(const t of e.layers)if(t.shapes)for(const e of t.shapes)e.it?n(e.it):i(e)}catch(r){console.warn("cant apply replacements",r,e,t)}})(e,n),t=JSON.stringify(e)}const e=t.match(/"fr":\s*?(\d+?),/),r=+(null==e?void 0:e[1])||60;h.init(t,r)}catch(r){console.error("Invalid file for sticker:",t),m(["error",e,r])}}))},destroy:function(e){const t=u[e];t&&(t.destroy(),delete u[e])},renderFrame:function(e,t,r){u[e].render(t,r)}};function m(e,t){postMessage({queryMethodListener:e.shift(),queryMethodArguments:e},n?t:void 0)}onmessage=function(e){f[e.data.queryMethod].apply(f,e.data.queryMethodArguments)}})();
//# sourceMappingURL=508.108437b214c507c44cb2.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[642],{4642:(e,a,s)=>{s.r(a),s.d(a,{default:()=>f});const c="zero",r="one",t="two",n="few",u="many";function i(e,a){switch(e){case 27764:if(a%10==1&&(a%100<11||a%100>19))return r;if(a%10>=2&&a%10<=9&&(a%100<11||a%100>19))return n;break;case 27766:if(0==a)return c;if(a%10==1&&a%100!=11)return r;break;case 25465:if(2==a)return t;if(3==a)return n;if(0==a)return c;if(1==a)return r;if(6==a)return u;break;case 25189:case 25203:case 26738:case 29301:case 29544:case 29554:case 30059:if(a%10==1&&a%100!=11)return r;if(a%10>=2&&a%10<=4&&(a%100<12||a%100>14))return n;if(a%10==0||a%10>=5&&a%10<=9||a%100>=11&&a%100<=14)return u;break;case 7041896:if(0==a)return c;if(1==a)return r;break;case 7563369:if(a>=2&&a<=10)return n;if(a>=0&&a<=1)return r;break;case 26725:if(2==a)return t;if(1==a)return r;if(0!=a&&a%10==0)return u;break;case 25459:case 29547:if(1==a)return r;if(a>=2&&a<=4)return n;break;case 25202:if(0!=a&&a%1e6==0)return u;if(a%10==1&&a%100!=11&&a%100!=71&&a%100!=91)return r;if(a%10==2&&a%100!=12&&a%100!=72&&a%100!=92)return t;if((a%10>=3&&a%10<=4||a%10==9)&&(a%100<10||a%100>19)&&(a%100<70||a%100>79)&&(a%100<90||a%100>99))return n;break;case 29548:if(a%100==2)return t;if(a%100==1)return r;if(a%100>=3&&a%100<=4)return n;break;case 7102823:if(0==a)return c;if(a>=0&&a<=2&&0!=a&&2!=a)return r;break;case 28780:if(1==a)return r;if(a%10>=2&&a%10<=4&&(a%100<12||a%100>14))return n;if(1!=a&&a%10>=0&&a%10<=1||a%10>=5&&a%10<=9||a%100>=12&&a%100<=14)return u;break;case 26468:if(2==a||12==a)return t;if(1==a||11==a)return r;if(a>=3&&a<=10||a>=13&&a<=19)return n;break;case 26486:if(a%10>=1&&a%10<=2||a%20==0)return r;break;case 28011:if(a%10==1&&11!=a)return r;break;case 28020:if(1==a)return r;if(a%100>=11&&a%100<=19)return u;if(0==a||a%100>=2&&a%100<=10)return n;break;case 28015:case 29295:if(1==a)return r;if(0==a||1!=a&&a%100>=1&&a%100<=19)return n;break;case 26465:if(2==a)return t;if(1==a)return r;if(a>=3&&a<=6)return n;if(a>=7&&a<=10)return u;break;case 26214:case 26226:case 7037282:if(a>=0&&a<=2&&2!=a)return r;break;case 26997:case 27511:case 29541:case 7233905:case 7564641:case 7564649:case 7564650:case 7564654:case 7564659:if(2==a)return t;if(1==a)return r;break;case 24939:case 24941:case 25192:case 26729:case 27758:case 28007:case 29801:case 29804:case 30561:case 6711660:case 6780279:case 7238511:if(a>=0&&a<=1)return r;break;case 7633517:if(a>=0&&a<=1||a>=11&&a<=99)return r;break;case 24934:case 25191:case 25198:case 25441:case 25697:case 25701:case 25718:case 25957:case 25964:case 25966:case 25967:case 25971:case 25972:case 25973:case 26217:case 26223:case 26233:case 26476:case 26485:case 26721:case 26995:case 26996:case 27499:case 27500:case 27507:case 27509:case 27513:case 27746:case 27751:case 28012:case 28014:case 28018:case 28258:case 28260:case 28261:case 28268:case 28270:case 28271:case 28274:case 28281:case 28525:case 28530:case 28531:case 28769:case 28787:case 28788:case 29293:case 29550:case 29551:case 29553:case 29555:case 29556:case 29558:case 29559:case 29793:case 29797:case 29803:case 29806:case 29811:case 30066:case 30309:case 30319:case 30824:case 31349:case 6386529:case 6386548:case 6448493:case 6448506:case 6451832:case 6514535:case 6514802:case 6515554:case 6714738:case 6779767:case 6840695:case 6973295:case 6974819:case 7037290:case 7037799:case 7039850:case 7041890:case 7168371:case 7169903:case 7233896:case 7237224:case 7240046:case 7364976:case 7499622:case 7501675:case 7561585:case 7562600:case 7566201:case 7567730:case 7628143:case 7629159:case 7763310:case 7823717:case 7892839:if(1==a)return r;break;case 24946:if(2==a)return t;if(1==a)return r;if(0==a)return c;if(a%100>=3&&a%100<=10)return n;if(a%100>=11&&a%100<=99)return u}return"other"}const f={PluralRules:class{constructor(e){this.select=i.bind(null,function(e){let a=0;for(let s=0;s<e.length;++s)a=(a<<8)+e.charCodeAt(s);return a}(e))}}}}}]);
//# sourceMappingURL=642.be93122d1116ecdc9322.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(this.webpackChunktweb=this.webpackChunktweb||[]).push([[77],{7077:(t,a,e)=>{e.r(a),e.d(a,{default:()=>o});const r=[1,57,41,21,203,34,97,73,227,91,149,62,105,45,39,137,241,107,3,173,39,71,65,238,219,101,187,87,81,151,141,133,249,117,221,209,197,187,177,169,5,153,73,139,133,127,243,233,223,107,103,99,191,23,177,171,165,159,77,149,9,139,135,131,253,245,119,231,224,109,211,103,25,195,189,23,45,175,171,83,81,79,155,151,147,9,141,137,67,131,129,251,123,30,235,115,113,221,217,53,13,51,50,49,193,189,185,91,179,175,43,169,83,163,5,79,155,19,75,147,145,143,35,69,17,67,33,65,255,251,247,243,239,59,29,229,113,111,219,27,213,105,207,51,201,199,49,193,191,47,93,183,181,179,11,87,43,85,167,165,163,161,159,157,155,77,19,75,37,73,145,143,141,35,138,137,135,67,33,131,129,255,63,250,247,61,121,239,237,117,29,229,227,225,111,55,109,216,213,211,209,207,205,203,201,199,197,195,193,48,190,47,93,185,183,181,179,178,176,175,173,171,85,21,167,165,41,163,161,5,79,157,78,154,153,19,75,149,74,147,73,144,143,71,141,140,139,137,17,135,134,133,66,131,65,129,1],f=[0,9,10,10,14,12,14,14,16,15,16,15,16,15,15,17,18,17,12,18,16,17,17,19,19,18,19,18,18,19,19,19,20,19,20,20,20,20,20,20,15,20,19,20,20,20,21,21,21,20,20,20,21,18,21,21,21,21,20,21,17,21,21,21,22,22,21,22,22,21,22,21,19,22,22,19,20,22,22,21,21,21,22,22,22,18,22,22,21,22,22,23,22,20,23,22,22,23,23,21,19,21,21,21,23,23,23,22,23,23,21,23,22,23,18,22,23,20,22,23,23,23,21,22,20,22,21,22,24,24,24,24,24,22,21,24,23,23,24,21,24,23,24,22,24,24,22,24,24,22,23,24,24,24,20,23,22,23,24,24,24,24,24,24,24,23,21,23,22,23,24,24,24,22,24,24,24,23,22,24,24,25,23,25,25,23,24,25,25,24,22,25,25,25,24,23,24,25,25,25,25,25,25,25,25,25,25,25,25,23,25,23,24,25,25,25,25,25,25,25,25,25,24,22,25,25,23,25,25,20,24,25,24,25,25,22,24,25,24,25,24,25,25,24,25,25,25,25,22,25,25,25,24,25,24,25,18];function o(t,a,e,o,u,s,i){if(Number.isNaN(s)||s<1)return;s|=0,Number.isNaN(i)&&(i=1),(i|=0)>3&&(i=3),i<1&&(i=1);const n=t.getImageData(a,e,o,u),b=n.data;let c,N,h,k,m,p,w,d,g,l,C,D,I=o-1,j=u-1,q=s+1,v=[],x=[],y=[],z=r[s],A=f[s],B=[],E=[];for(;i-- >0;){for(D=C=0,m=0;m<u;m++){for(c=b[D]*q,N=b[D+1]*q,h=b[D+2]*q,p=1;p<=s;p++)w=D+((p>I?I:p)<<2),c+=b[w++],N+=b[w++],h+=b[w++];for(k=0;k<o;k++)v[C]=c,x[C]=N,y[C]=h,0==m&&(B[k]=((w=k+q)<I?w:I)<<2,E[k]=(w=k-s)>0?w<<2:0),d=D+B[k],g=D+E[k],c+=b[d++]-b[g++],N+=b[d++]-b[g++],h+=b[d++]-b[g++],C++;D+=o<<2}for(k=0;k<o;k++){for(l=k,c=v[l]*q,N=x[l]*q,h=y[l]*q,p=1;p<=s;p++)l+=p>j?0:o,c+=v[l],N+=x[l],h+=y[l];for(C=k<<2,m=0;m<u;m++)b[C]=c*z>>>A,b[C+1]=N*z>>>A,b[C+2]=h*z>>>A,0==k&&(B[m]=((w=m+q)<j?w:j)*o,E[m]=(w=m-s)>0?w*o:0),d=k+B[m],g=k+E[m],c+=v[d]-v[g],N+=x[d]-x[g],h+=y[d]-y[g],C+=o<<2}}t.putImageData(n,a,e)}}}]);
//# sourceMappingURL=77.b8cf11d2b5dca36479ca.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More