536 lines
19 KiB
HTML
536 lines
19 KiB
HTML
<!doctype html>
|
|
<html class="no-js" dir="ltr" loc="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
<title>WhatsApp Web</title>
|
|
<meta name="viewport" content="width=device-width" />
|
|
<meta name="google" content="notranslate" />
|
|
<meta name="format-detection" content="telephone=no" />
|
|
<meta
|
|
name="description"
|
|
content="Quickly send and receive WhatsApp messages right from your computer."
|
|
/>
|
|
<meta
|
|
name="og:description"
|
|
content="Quickly send and receive WhatsApp messages right from your computer."
|
|
/>
|
|
<meta name="og:url" content="https://web.whatsapp.com/" />
|
|
<meta name="og:title" content="WhatsApp Web" />
|
|
<meta
|
|
name="og:image"
|
|
content="https://static.facebook.com/images/whatsapp/www/whatsapp-promo.png"
|
|
/>
|
|
<link
|
|
id="favicon"
|
|
rel="shortcut icon"
|
|
href="/img/favicon/1x/favicon.png"
|
|
type="image/png"
|
|
/>
|
|
<link
|
|
rel="apple-touch-icon"
|
|
sizes="192x192"
|
|
href="/apple-touch-icon.png"
|
|
type="image/png"
|
|
/>
|
|
<meta
|
|
name="theme-color"
|
|
content="#111b21"
|
|
media="(prefers-color-scheme: dark)"
|
|
/>
|
|
<meta name="theme-color" content="#f0f2f5" />
|
|
<link
|
|
id="whatsapp-pwa-manifest-link"
|
|
rel="manifest"
|
|
href="/manifest.json"
|
|
crossorigin="use-credentials"
|
|
/>
|
|
<style>
|
|
#initial_startup {
|
|
--startup-background: #f0f2f5;
|
|
--startup-background-rgb: 240, 242, 245;
|
|
--startup-icon: #bbc5cb;
|
|
--secondary-lighter: #8696a0;
|
|
--primary-title: #41525d;
|
|
--progress-primary: #00c298;
|
|
--progress-background: #e9edef;
|
|
}
|
|
.dark #initial_startup {
|
|
--startup-background: #111b21;
|
|
--startup-background-rgb: 17, 27, 33;
|
|
--startup-icon: #676f73;
|
|
--primary-title: rgba(233, 237, 239, 0.88);
|
|
--secondary-lighter: #667781;
|
|
--progress-primary: #0b846d;
|
|
--progress-background: #233138;
|
|
}
|
|
#app,
|
|
body,
|
|
html {
|
|
width: 100%;
|
|
height: 100%;
|
|
padding: 0;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
#app {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
#initial_startup {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
user-select: none;
|
|
background-color: var(--startup-background);
|
|
}
|
|
#initial_startup .graphic {
|
|
margin-top: -40px;
|
|
color: var(--startup-icon);
|
|
}
|
|
#initial_startup .graphic .resume-logo {
|
|
transform: translateX(calc(50% - 52px / 2));
|
|
}
|
|
#initial_startup .graphic::after {
|
|
position: relative;
|
|
top: -100%;
|
|
left: calc(50% - 72px * 2 - 72px / 2);
|
|
display: block;
|
|
width: calc(72px * 3);
|
|
height: 100%;
|
|
content: '';
|
|
background: linear-gradient(
|
|
to right,
|
|
rgba(var(--startup-background-rgb), 0.5) 0,
|
|
rgba(var(--startup-background-rgb), 0.5) 33.33%,
|
|
rgba(var(--startup-background-rgb), 0) 44.1%,
|
|
rgba(var(--startup-background-rgb), 0) 55.8%,
|
|
rgba(var(--startup-background-rgb), 0.5) 66.66%,
|
|
rgba(var(--startup-background-rgb), 0.5) 100%
|
|
);
|
|
opacity: 1;
|
|
animation: shimmer 1.5s linear 0.6s infinite;
|
|
}
|
|
html[dir='rtl'] #initial_startup .graphic::after {
|
|
animation-direction: reverse;
|
|
}
|
|
@keyframes shimmer {
|
|
from {
|
|
left: calc(50% - 72px * 2 - 72px / 2);
|
|
}
|
|
to {
|
|
left: calc(50% - 72px / 2);
|
|
}
|
|
}
|
|
#initial_startup .progress {
|
|
position: relative;
|
|
width: 420px;
|
|
height: 3px;
|
|
margin-top: 40px;
|
|
}
|
|
#initial_startup .progress progress {
|
|
vertical-align: top;
|
|
}
|
|
#initial_startup .main {
|
|
margin-top: 40px;
|
|
font-size: 17px;
|
|
color: var(--primary-title);
|
|
}
|
|
#initial_startup .secondary {
|
|
margin-top: 12px;
|
|
font-size: 14px;
|
|
color: var(--secondary-lighter);
|
|
}
|
|
#initial_startup .secondary span {
|
|
display: inline-block;
|
|
margin-bottom: 2px;
|
|
vertical-align: middle;
|
|
}
|
|
progress {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: 100%;
|
|
height: 3px;
|
|
margin: 0;
|
|
color: var(--progress-primary);
|
|
background-color: var(--progress-background);
|
|
border: none;
|
|
}
|
|
progress[value]::-webkit-progress-bar {
|
|
background-color: var(--progress-background);
|
|
}
|
|
progress[value]::-moz-progress-bar,
|
|
progress[value]::-webkit-progress-value {
|
|
background-color: var(--progress-primary);
|
|
transition: width 0.45s ease;
|
|
}
|
|
</style>
|
|
<link
|
|
href="/stylex-f0601c57714fe972a8c4d2c2562f8082.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<link href="/app-6113f1562d101247269b.css" rel="stylesheet" />
|
|
</head>
|
|
<body class="web">
|
|
<script
|
|
data-binary-transparency-hash-key="inline-js-d11c72a06542fc3b43af600028cf0f996e4b9b178dfa047e18730efaf74aab0b"
|
|
>
|
|
try {
|
|
var systemThemeDark,
|
|
theme = window.localStorage.getItem('theme'),
|
|
systemThemeMode = window.localStorage.getItem('system-theme-mode');
|
|
if (('true' === systemThemeMode || !theme) && window.matchMedia) {
|
|
var systemTheme = window.matchMedia('(prefers-color-scheme: dark)');
|
|
systemThemeDark = systemTheme && systemTheme.matches;
|
|
}
|
|
var darkTheme = '"dark"' === theme || Boolean(systemThemeDark);
|
|
darkTheme && document.body.classList.add('dark');
|
|
} catch (e) {}
|
|
</script>
|
|
<div id="app"></div>
|
|
<div id="hard_expire_time" data-time="1719543128.405"></div>
|
|
<div id="initial_startup">
|
|
<div class="graphic">
|
|
<span
|
|
><svg width="250" height="52" xmlns="http://www.w3.org/2000/svg">
|
|
<path
|
|
class="resume-logo"
|
|
d="M37.7 31.2c-.6-.4-3.8-2-4.4-2.1-.6-.2-1-.4-1.4.3l-2 2.5c-.4.4-.8.5-1.5.2-.6-.3-2.7-1-5.1-3.2-2-1.7-3.2-3.8-3.6-4.5-.4-.6 0-1 .3-1.3l1-1.1.6-1.1c.2-.4 0-.8 0-1.1l-2-4.8c-.6-1.3-1.1-1-1.5-1.1h-1.2c-.5 0-1.2.1-1.8.8-.5.6-2.2 2.2-2.2 5.3 0 3.2 2.3 6.3 2.6 6.7.3.4 4.6 7 11 9.7l3.7 1.4c1.5.5 3 .4 4 .2 1.3-.1 3.9-1.5 4.4-3 .5-1.5.5-2.8.4-3-.2-.4-.6-.5-1.3-.8M26 47.2c-3.9 0-7.6-1-11-3l-.7-.4-8.1 2L8.4 38l-.6-.8A21.4 21.4 0 0126 4.4a21.3 21.3 0 0121.4 21.4c0 11.8-9.6 21.4-21.4 21.4M44.2 7.6a25.8 25.8 0 00-40.6 31L0 52l13.7-3.6A25.8 25.8 0 0044.3 7.5"
|
|
fill="currentColor"
|
|
></path></svg
|
|
></span>
|
|
</div>
|
|
<div class="progress">
|
|
<progress value="0" max="100" dir="ltr"></progress>
|
|
</div>
|
|
<div class="main">WhatsApp</div>
|
|
<div class="secondary">
|
|
<span
|
|
><svg width="10" height="12" xmlns="http://www.w3.org/2000/svg">
|
|
<path
|
|
d="M5 1.6c1.4 0 2.5 1 2.6 2.4v1.5h.2c.5 0 1 .4 1 1V10c0 .6-.5 1-1 1H2.3a1 1 0 01-1.1-1V6.5c0-.6.5-1 1-1h.2V4.2c0-1.4 1-2.5 2.4-2.6H5zm0 1.2c-.7 0-1.3.6-1.3 1.3v1.4h2.6V4.2c0-.7-.4-1.2-1-1.3H5z"
|
|
fill="currentColor"
|
|
></path>
|
|
</svg> </span
|
|
> End-to-end encrypted
|
|
</div>
|
|
</div>
|
|
<link
|
|
rel="preload"
|
|
crossorigin="anonymous"
|
|
as="fetch"
|
|
href="/binary-transparency-manifest-2.2412.54.json"
|
|
id="binary-transparency-manifest-preload"
|
|
/>
|
|
<script src="/libsignal-protocol-ee5b8ba.min.js"></script>
|
|
<script defer="defer" src="/runtime.295f0230b6dbd8983513.js"></script>
|
|
<script
|
|
data-binary-transparency-hash-key="inline-js-cdf06293c99d00ee0c1bc0fcfdbd76a7ae9aef6290926dbff0cba3a7994b7fca"
|
|
>
|
|
/*! Copyright (c) 2024 WhatsApp Inc. All Rights Reserved. */
|
|
(self.webpackChunkwhatsapp_web_client =
|
|
self.webpackChunkwhatsapp_web_client || []).push([
|
|
[5617],
|
|
{
|
|
307914: (e) => {
|
|
e.exports = function (e) {
|
|
return e && e.__esModule ? e : { default: e };
|
|
};
|
|
},
|
|
595318: (e) => {
|
|
(e.exports = function (e) {
|
|
return e && e.__esModule ? e : { default: e };
|
|
}),
|
|
(e.exports.default = e.exports),
|
|
(e.exports.__esModule = !0);
|
|
},
|
|
415227: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = function (e) {
|
|
const t = new Error(e);
|
|
if (void 0 === t.stack)
|
|
try {
|
|
throw t;
|
|
} catch (e) {}
|
|
return t;
|
|
});
|
|
},
|
|
670983: (e, t, r) => {
|
|
'use strict';
|
|
var n = r(307914);
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = function (e) {
|
|
let t =
|
|
arguments.length > 1 && void 0 !== arguments[1]
|
|
? arguments[1]
|
|
: '?';
|
|
if (null == e)
|
|
throw (0, o.default)('Unexpected null or undefined: ' + t);
|
|
return e;
|
|
});
|
|
var o = n(r(415227));
|
|
},
|
|
250473: (e, t, r) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.UNIQUE_UPLOADS_ALLOWED_BEFORE_THROTTLE =
|
|
t.TICKET_URL =
|
|
t.CLB_URL =
|
|
t.CLB_TOKEN =
|
|
t.CLB_CHECK_URL =
|
|
void 0);
|
|
var n = r(508247);
|
|
(t.CLB_CHECK_URL =
|
|
'https://crashlogs.whatsapp.net/wa_fls_upload_check'),
|
|
(t.CLB_TOKEN =
|
|
'1063127757113399|745146ffa34413f9dbb5469f5370b7af'),
|
|
(t.CLB_URL = 'https://crashlogs.whatsapp.net/wa_clb_data');
|
|
const o = n.DYN_ORIGIN + 'web-contact-us';
|
|
(t.TICKET_URL = o), (t.UNIQUE_UPLOADS_ALLOWED_BEFORE_THROTTLE = 0);
|
|
},
|
|
207024: (e, t, r) => {
|
|
'use strict';
|
|
var n = r(595318);
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.getDistribution = function () {
|
|
let e = 'unknown';
|
|
return (e = 'prod'), 'web_prod';
|
|
}),
|
|
(t.getLogUserAgent = function (e) {
|
|
let t,
|
|
{ appVersion: r, browser: n, device: o } = e;
|
|
return (t = 'Web/' + n), `WhatsApp/${r} ${t} Device/${o}`;
|
|
}),
|
|
n(r(472514)),
|
|
n(r(556869));
|
|
},
|
|
794858: (e, t, r) => {
|
|
'use strict';
|
|
var n = r(595318),
|
|
o = n(r(670983)),
|
|
a = r(508247),
|
|
s = r(250473),
|
|
c = r(207024),
|
|
_ = n(r(174285)),
|
|
u = r(425017);
|
|
function i(e) {
|
|
!(function (e, t) {
|
|
const r = window.navigator.userAgent;
|
|
if (r === p && e.includes('getElementsByTagName')) return;
|
|
const n = new FormData(),
|
|
i = new Blob([e], { type: 'text/plain' });
|
|
n.append(
|
|
'from_jid',
|
|
(function () {
|
|
if (f) return f;
|
|
try {
|
|
(f = JSON.parse(
|
|
(0, o.default)(_.default, 'localStorage').getItem(
|
|
d.UNKNOWN_ID,
|
|
),
|
|
)),
|
|
f && (f = f.replace('-', ''));
|
|
} catch (e) {}
|
|
if (!f) {
|
|
f = 'unknown' + Math.floor(1e10 * Math.random());
|
|
const e = f;
|
|
try {
|
|
(0, o.default)(_.default, 'localStorage').setItem(
|
|
d.UNKNOWN_ID,
|
|
JSON.stringify(e),
|
|
);
|
|
} catch (e) {}
|
|
}
|
|
return (0, o.default)(f, 'id');
|
|
})(),
|
|
),
|
|
n.append(
|
|
'agent',
|
|
(0, c.getLogUserAgent)(
|
|
(0, u.parseUASimple)(r, a.VERSION_BASE),
|
|
),
|
|
),
|
|
n.append('file', i, 'logs.txt'),
|
|
n.append('tags', 'load');
|
|
const l = new XMLHttpRequest(),
|
|
I =
|
|
s.CLB_URL +
|
|
'?access_token=' +
|
|
encodeURIComponent(s.CLB_TOKEN);
|
|
l.open('POST', I, !0), l.send(n);
|
|
})(e);
|
|
}
|
|
function l(e) {
|
|
let { error: t, reason: r, stack: n } = e;
|
|
const o = new Date().toISOString();
|
|
return `${o}: error: ${t}\n${o}: reason for logs: ${r}\n${o}: userAgent: ${window.navigator.userAgent}\n${n}`;
|
|
}
|
|
null == window.onerror &&
|
|
(window.onerror = function (e, t, r) {
|
|
const n = t.split('?')[0];
|
|
return "Uncaught SyntaxError: Unexpected token '<'" === e
|
|
? ((function (e) {
|
|
i(
|
|
l({
|
|
error: 'failed to load a js or css bundle',
|
|
reason: `failed to load [${e
|
|
.split('/')[3]
|
|
.replace(/^\//, '')}]`,
|
|
stack: '',
|
|
}),
|
|
);
|
|
})(n),
|
|
!0)
|
|
: (i(
|
|
l({
|
|
error: e,
|
|
reason: `Error at [${n}:${r}]`,
|
|
stack: '',
|
|
}),
|
|
),
|
|
!1);
|
|
});
|
|
const d = { UNKNOWN_ID: a.UNKNOWN_ID },
|
|
p =
|
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36';
|
|
let f;
|
|
},
|
|
425017: (e, t) => {
|
|
'use strict';
|
|
function r(e) {
|
|
return e.includes('windows')
|
|
? 'Windows'
|
|
: e.includes('mac')
|
|
? 'Mac OS'
|
|
: e.includes('linux')
|
|
? 'Linux'
|
|
: 'Unparsed';
|
|
}
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.parseUASimple = function (e, t) {
|
|
const n = e.toLowerCase();
|
|
return { browser: s(n), device: r(n), appVersion: t };
|
|
});
|
|
const n = /(chrome|firefox)\/([\w\.]+)/i,
|
|
o = /(edge|opr)\/([\w\.]+)/i,
|
|
a = {
|
|
chrome: 'Chrome',
|
|
edge: 'Edge',
|
|
opr: 'Opera',
|
|
firefox: 'Firefox',
|
|
};
|
|
function s(e) {
|
|
const t = e.match(o) || e.match(n);
|
|
return null == t ? 'Unparsed' : `${a[t[1]]} ${t[2]}`;
|
|
}
|
|
},
|
|
174285: (e, t) => {
|
|
'use strict';
|
|
let r;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = void 0);
|
|
try {
|
|
r = window.localStorage;
|
|
} catch (e) {}
|
|
var n = r;
|
|
t.default = n;
|
|
},
|
|
508247: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.WS_ORIGIN =
|
|
t.WEB_PUBLIC_PATH =
|
|
t.VERSION_TERTIARY =
|
|
t.VERSION_STR =
|
|
t.VERSION_SECONDARY =
|
|
t.VERSION_PRIMARY =
|
|
t.VERSION_BASE =
|
|
t.USER_TIMINGS =
|
|
t.UNKNOWN_ID =
|
|
t.LOCALHOST_ENV_CONFIG =
|
|
t.HASH_PLACEHOLDER =
|
|
t.FLB_PLATFORM =
|
|
t.FB_APP_ID =
|
|
t.DYN_ORIGIN =
|
|
t.DIFF_VERSION =
|
|
t.DIFF_ID =
|
|
t.BUILD_URL =
|
|
t.BUILD_TIMESTAMP =
|
|
t.BUILD_ID =
|
|
void 0);
|
|
t.DIFF_ID = '';
|
|
(t.DIFF_VERSION = ''),
|
|
(t.LOCALHOST_ENV_CONFIG = !1),
|
|
(t.HASH_PLACEHOLDER = '507042ed75b89fb00e8ef35da3541122cbc261e6'),
|
|
(t.VERSION_PRIMARY = '2'),
|
|
(t.VERSION_SECONDARY = '2412'),
|
|
(t.VERSION_TERTIARY = '54'),
|
|
(t.VERSION_BASE = '2.2412.54'),
|
|
(t.VERSION_STR = '2.2412.54'),
|
|
(t.DYN_ORIGIN = 'https://web.whatsapp.com/'),
|
|
(t.WS_ORIGIN = ''),
|
|
(t.FLB_PLATFORM = 'web'),
|
|
(t.FB_APP_ID = ''),
|
|
(t.UNKNOWN_ID = 'WAUnknownID'),
|
|
(t.BUILD_ID = '583059957'),
|
|
(t.BUILD_TIMESTAMP = 'March 29, 2024'),
|
|
(t.WEB_PUBLIC_PATH = '/'),
|
|
(t.BUILD_URL = 'https://web.whatsapp.com/'),
|
|
(t.USER_TIMINGS = !1);
|
|
},
|
|
472514: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = function (e) {
|
|
return e.default;
|
|
});
|
|
},
|
|
556869: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = function e(t) {
|
|
const r = new Error(t);
|
|
if (void 0 === r.stack)
|
|
try {
|
|
throw e;
|
|
} catch (e) {}
|
|
return r;
|
|
});
|
|
},
|
|
},
|
|
(e) => {
|
|
'use strict';
|
|
e((e.s = 794858));
|
|
},
|
|
]);
|
|
</script>
|
|
<script defer="defer" src="/vendor1~app.264a01b6133c4a120327.js"></script>
|
|
<script defer="defer" src="/app.2c7f8dd150ae88037cde.js"></script>
|
|
<script
|
|
data-binary-transparency-hash-key="inline-js-9c8cd3d0f4d5af8c7f5cd1c45208edd308bfe472e353a50e4cbacbf6cb58627c"
|
|
>
|
|
((i) => {
|
|
const l = document.getElementById(i);
|
|
l &&
|
|
fetch(l.href)
|
|
.then((b) => b.text())
|
|
.then((code) => {
|
|
const script = document.createElement('script');
|
|
script.id = 'binary-transparency-manifest';
|
|
script.type = 'application/json';
|
|
script.innerHTML = code;
|
|
document.body.append(script);
|
|
});
|
|
})('binary-transparency-manifest-preload');
|
|
</script>
|
|
</body>
|
|
</html>
|