Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/embedpre.../assets/pdf/build
File: pdf.worker.js
e = d;
[40000] Fix | Delete
d = c;
[40001] Fix | Delete
c = b;
[40002] Fix | Delete
b = a;
[40003] Fix | Delete
tmp3.assign(t1);
[40004] Fix | Delete
tmp3.add(t2);
[40005] Fix | Delete
a = tmp3;
[40006] Fix | Delete
}
[40007] Fix | Delete
h0.add(a);
[40008] Fix | Delete
h1.add(b);
[40009] Fix | Delete
h2.add(c);
[40010] Fix | Delete
h3.add(d);
[40011] Fix | Delete
h4.add(e);
[40012] Fix | Delete
h5.add(f);
[40013] Fix | Delete
h6.add(g);
[40014] Fix | Delete
h7.add(h);
[40015] Fix | Delete
}
[40016] Fix | Delete
let result;
[40017] Fix | Delete
if (!mode384) {
[40018] Fix | Delete
result = new Uint8Array(64);
[40019] Fix | Delete
h0.copyTo(result, 0);
[40020] Fix | Delete
h1.copyTo(result, 8);
[40021] Fix | Delete
h2.copyTo(result, 16);
[40022] Fix | Delete
h3.copyTo(result, 24);
[40023] Fix | Delete
h4.copyTo(result, 32);
[40024] Fix | Delete
h5.copyTo(result, 40);
[40025] Fix | Delete
h6.copyTo(result, 48);
[40026] Fix | Delete
h7.copyTo(result, 56);
[40027] Fix | Delete
} else {
[40028] Fix | Delete
result = new Uint8Array(48);
[40029] Fix | Delete
h0.copyTo(result, 0);
[40030] Fix | Delete
h1.copyTo(result, 8);
[40031] Fix | Delete
h2.copyTo(result, 16);
[40032] Fix | Delete
h3.copyTo(result, 24);
[40033] Fix | Delete
h4.copyTo(result, 32);
[40034] Fix | Delete
h5.copyTo(result, 40);
[40035] Fix | Delete
}
[40036] Fix | Delete
return result;
[40037] Fix | Delete
}
[40038] Fix | Delete
return hash;
[40039] Fix | Delete
}();
[40040] Fix | Delete
function calculateSHA384(data, offset, length) {
[40041] Fix | Delete
return calculateSHA512(data, offset, length, true);
[40042] Fix | Delete
}
[40043] Fix | Delete
class NullCipher {
[40044] Fix | Delete
decryptBlock(data) {
[40045] Fix | Delete
return data;
[40046] Fix | Delete
}
[40047] Fix | Delete
encrypt(data) {
[40048] Fix | Delete
return data;
[40049] Fix | Delete
}
[40050] Fix | Delete
}
[40051] Fix | Delete
class AESBaseCipher {
[40052] Fix | Delete
constructor() {
[40053] Fix | Delete
if (this.constructor === AESBaseCipher) {
[40054] Fix | Delete
unreachable("Cannot initialize AESBaseCipher.");
[40055] Fix | Delete
}
[40056] Fix | Delete
this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);
[40057] Fix | Delete
this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);
[40058] Fix | Delete
this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);
[40059] Fix | Delete
this._mixCol = new Uint8Array(256);
[40060] Fix | Delete
for (let i = 0; i < 256; i++) {
[40061] Fix | Delete
this._mixCol[i] = i < 128 ? i << 1 : i << 1 ^ 0x1b;
[40062] Fix | Delete
}
[40063] Fix | Delete
this.buffer = new Uint8Array(16);
[40064] Fix | Delete
this.bufferPosition = 0;
[40065] Fix | Delete
}
[40066] Fix | Delete
_expandKey(cipherKey) {
[40067] Fix | Delete
unreachable("Cannot call `_expandKey` on the base class");
[40068] Fix | Delete
}
[40069] Fix | Delete
_decrypt(input, key) {
[40070] Fix | Delete
let t, u, v;
[40071] Fix | Delete
const state = new Uint8Array(16);
[40072] Fix | Delete
state.set(input);
[40073] Fix | Delete
for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
[40074] Fix | Delete
state[j] ^= key[k];
[40075] Fix | Delete
}
[40076] Fix | Delete
for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {
[40077] Fix | Delete
t = state[13];
[40078] Fix | Delete
state[13] = state[9];
[40079] Fix | Delete
state[9] = state[5];
[40080] Fix | Delete
state[5] = state[1];
[40081] Fix | Delete
state[1] = t;
[40082] Fix | Delete
t = state[14];
[40083] Fix | Delete
u = state[10];
[40084] Fix | Delete
state[14] = state[6];
[40085] Fix | Delete
state[10] = state[2];
[40086] Fix | Delete
state[6] = t;
[40087] Fix | Delete
state[2] = u;
[40088] Fix | Delete
t = state[15];
[40089] Fix | Delete
u = state[11];
[40090] Fix | Delete
v = state[7];
[40091] Fix | Delete
state[15] = state[3];
[40092] Fix | Delete
state[11] = t;
[40093] Fix | Delete
state[7] = u;
[40094] Fix | Delete
state[3] = v;
[40095] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40096] Fix | Delete
state[j] = this._inv_s[state[j]];
[40097] Fix | Delete
}
[40098] Fix | Delete
for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
[40099] Fix | Delete
state[j] ^= key[k];
[40100] Fix | Delete
}
[40101] Fix | Delete
for (let j = 0; j < 16; j += 4) {
[40102] Fix | Delete
const s0 = this._mix[state[j]];
[40103] Fix | Delete
const s1 = this._mix[state[j + 1]];
[40104] Fix | Delete
const s2 = this._mix[state[j + 2]];
[40105] Fix | Delete
const s3 = this._mix[state[j + 3]];
[40106] Fix | Delete
t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;
[40107] Fix | Delete
state[j] = t >>> 24 & 0xff;
[40108] Fix | Delete
state[j + 1] = t >> 16 & 0xff;
[40109] Fix | Delete
state[j + 2] = t >> 8 & 0xff;
[40110] Fix | Delete
state[j + 3] = t & 0xff;
[40111] Fix | Delete
}
[40112] Fix | Delete
}
[40113] Fix | Delete
t = state[13];
[40114] Fix | Delete
state[13] = state[9];
[40115] Fix | Delete
state[9] = state[5];
[40116] Fix | Delete
state[5] = state[1];
[40117] Fix | Delete
state[1] = t;
[40118] Fix | Delete
t = state[14];
[40119] Fix | Delete
u = state[10];
[40120] Fix | Delete
state[14] = state[6];
[40121] Fix | Delete
state[10] = state[2];
[40122] Fix | Delete
state[6] = t;
[40123] Fix | Delete
state[2] = u;
[40124] Fix | Delete
t = state[15];
[40125] Fix | Delete
u = state[11];
[40126] Fix | Delete
v = state[7];
[40127] Fix | Delete
state[15] = state[3];
[40128] Fix | Delete
state[11] = t;
[40129] Fix | Delete
state[7] = u;
[40130] Fix | Delete
state[3] = v;
[40131] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40132] Fix | Delete
state[j] = this._inv_s[state[j]];
[40133] Fix | Delete
state[j] ^= key[j];
[40134] Fix | Delete
}
[40135] Fix | Delete
return state;
[40136] Fix | Delete
}
[40137] Fix | Delete
_encrypt(input, key) {
[40138] Fix | Delete
const s = this._s;
[40139] Fix | Delete
let t, u, v;
[40140] Fix | Delete
const state = new Uint8Array(16);
[40141] Fix | Delete
state.set(input);
[40142] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40143] Fix | Delete
state[j] ^= key[j];
[40144] Fix | Delete
}
[40145] Fix | Delete
for (let i = 1; i < this._cyclesOfRepetition; i++) {
[40146] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40147] Fix | Delete
state[j] = s[state[j]];
[40148] Fix | Delete
}
[40149] Fix | Delete
v = state[1];
[40150] Fix | Delete
state[1] = state[5];
[40151] Fix | Delete
state[5] = state[9];
[40152] Fix | Delete
state[9] = state[13];
[40153] Fix | Delete
state[13] = v;
[40154] Fix | Delete
v = state[2];
[40155] Fix | Delete
u = state[6];
[40156] Fix | Delete
state[2] = state[10];
[40157] Fix | Delete
state[6] = state[14];
[40158] Fix | Delete
state[10] = v;
[40159] Fix | Delete
state[14] = u;
[40160] Fix | Delete
v = state[3];
[40161] Fix | Delete
u = state[7];
[40162] Fix | Delete
t = state[11];
[40163] Fix | Delete
state[3] = state[15];
[40164] Fix | Delete
state[7] = v;
[40165] Fix | Delete
state[11] = u;
[40166] Fix | Delete
state[15] = t;
[40167] Fix | Delete
for (let j = 0; j < 16; j += 4) {
[40168] Fix | Delete
const s0 = state[j + 0];
[40169] Fix | Delete
const s1 = state[j + 1];
[40170] Fix | Delete
const s2 = state[j + 2];
[40171] Fix | Delete
const s3 = state[j + 3];
[40172] Fix | Delete
t = s0 ^ s1 ^ s2 ^ s3;
[40173] Fix | Delete
state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];
[40174] Fix | Delete
state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];
[40175] Fix | Delete
state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];
[40176] Fix | Delete
state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];
[40177] Fix | Delete
}
[40178] Fix | Delete
for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
[40179] Fix | Delete
state[j] ^= key[k];
[40180] Fix | Delete
}
[40181] Fix | Delete
}
[40182] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40183] Fix | Delete
state[j] = s[state[j]];
[40184] Fix | Delete
}
[40185] Fix | Delete
v = state[1];
[40186] Fix | Delete
state[1] = state[5];
[40187] Fix | Delete
state[5] = state[9];
[40188] Fix | Delete
state[9] = state[13];
[40189] Fix | Delete
state[13] = v;
[40190] Fix | Delete
v = state[2];
[40191] Fix | Delete
u = state[6];
[40192] Fix | Delete
state[2] = state[10];
[40193] Fix | Delete
state[6] = state[14];
[40194] Fix | Delete
state[10] = v;
[40195] Fix | Delete
state[14] = u;
[40196] Fix | Delete
v = state[3];
[40197] Fix | Delete
u = state[7];
[40198] Fix | Delete
t = state[11];
[40199] Fix | Delete
state[3] = state[15];
[40200] Fix | Delete
state[7] = v;
[40201] Fix | Delete
state[11] = u;
[40202] Fix | Delete
state[15] = t;
[40203] Fix | Delete
for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
[40204] Fix | Delete
state[j] ^= key[k];
[40205] Fix | Delete
}
[40206] Fix | Delete
return state;
[40207] Fix | Delete
}
[40208] Fix | Delete
_decryptBlock2(data, finalize) {
[40209] Fix | Delete
const sourceLength = data.length;
[40210] Fix | Delete
let buffer = this.buffer,
[40211] Fix | Delete
bufferLength = this.bufferPosition;
[40212] Fix | Delete
const result = [];
[40213] Fix | Delete
let iv = this.iv;
[40214] Fix | Delete
for (let i = 0; i < sourceLength; ++i) {
[40215] Fix | Delete
buffer[bufferLength] = data[i];
[40216] Fix | Delete
++bufferLength;
[40217] Fix | Delete
if (bufferLength < 16) {
[40218] Fix | Delete
continue;
[40219] Fix | Delete
}
[40220] Fix | Delete
const plain = this._decrypt(buffer, this._key);
[40221] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40222] Fix | Delete
plain[j] ^= iv[j];
[40223] Fix | Delete
}
[40224] Fix | Delete
iv = buffer;
[40225] Fix | Delete
result.push(plain);
[40226] Fix | Delete
buffer = new Uint8Array(16);
[40227] Fix | Delete
bufferLength = 0;
[40228] Fix | Delete
}
[40229] Fix | Delete
this.buffer = buffer;
[40230] Fix | Delete
this.bufferLength = bufferLength;
[40231] Fix | Delete
this.iv = iv;
[40232] Fix | Delete
if (result.length === 0) {
[40233] Fix | Delete
return new Uint8Array(0);
[40234] Fix | Delete
}
[40235] Fix | Delete
let outputLength = 16 * result.length;
[40236] Fix | Delete
if (finalize) {
[40237] Fix | Delete
const lastBlock = result.at(-1);
[40238] Fix | Delete
let psLen = lastBlock[15];
[40239] Fix | Delete
if (psLen <= 16) {
[40240] Fix | Delete
for (let i = 15, ii = 16 - psLen; i >= ii; --i) {
[40241] Fix | Delete
if (lastBlock[i] !== psLen) {
[40242] Fix | Delete
psLen = 0;
[40243] Fix | Delete
break;
[40244] Fix | Delete
}
[40245] Fix | Delete
}
[40246] Fix | Delete
outputLength -= psLen;
[40247] Fix | Delete
result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);
[40248] Fix | Delete
}
[40249] Fix | Delete
}
[40250] Fix | Delete
const output = new Uint8Array(outputLength);
[40251] Fix | Delete
for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
[40252] Fix | Delete
output.set(result[i], j);
[40253] Fix | Delete
}
[40254] Fix | Delete
return output;
[40255] Fix | Delete
}
[40256] Fix | Delete
decryptBlock(data, finalize, iv = null) {
[40257] Fix | Delete
const sourceLength = data.length;
[40258] Fix | Delete
const buffer = this.buffer;
[40259] Fix | Delete
let bufferLength = this.bufferPosition;
[40260] Fix | Delete
if (iv) {
[40261] Fix | Delete
this.iv = iv;
[40262] Fix | Delete
} else {
[40263] Fix | Delete
for (let i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {
[40264] Fix | Delete
buffer[bufferLength] = data[i];
[40265] Fix | Delete
}
[40266] Fix | Delete
if (bufferLength < 16) {
[40267] Fix | Delete
this.bufferLength = bufferLength;
[40268] Fix | Delete
return new Uint8Array(0);
[40269] Fix | Delete
}
[40270] Fix | Delete
this.iv = buffer;
[40271] Fix | Delete
data = data.subarray(16);
[40272] Fix | Delete
}
[40273] Fix | Delete
this.buffer = new Uint8Array(16);
[40274] Fix | Delete
this.bufferLength = 0;
[40275] Fix | Delete
this.decryptBlock = this._decryptBlock2;
[40276] Fix | Delete
return this.decryptBlock(data, finalize);
[40277] Fix | Delete
}
[40278] Fix | Delete
encrypt(data, iv) {
[40279] Fix | Delete
const sourceLength = data.length;
[40280] Fix | Delete
let buffer = this.buffer,
[40281] Fix | Delete
bufferLength = this.bufferPosition;
[40282] Fix | Delete
const result = [];
[40283] Fix | Delete
if (!iv) {
[40284] Fix | Delete
iv = new Uint8Array(16);
[40285] Fix | Delete
}
[40286] Fix | Delete
for (let i = 0; i < sourceLength; ++i) {
[40287] Fix | Delete
buffer[bufferLength] = data[i];
[40288] Fix | Delete
++bufferLength;
[40289] Fix | Delete
if (bufferLength < 16) {
[40290] Fix | Delete
continue;
[40291] Fix | Delete
}
[40292] Fix | Delete
for (let j = 0; j < 16; ++j) {
[40293] Fix | Delete
buffer[j] ^= iv[j];
[40294] Fix | Delete
}
[40295] Fix | Delete
const cipher = this._encrypt(buffer, this._key);
[40296] Fix | Delete
iv = cipher;
[40297] Fix | Delete
result.push(cipher);
[40298] Fix | Delete
buffer = new Uint8Array(16);
[40299] Fix | Delete
bufferLength = 0;
[40300] Fix | Delete
}
[40301] Fix | Delete
this.buffer = buffer;
[40302] Fix | Delete
this.bufferLength = bufferLength;
[40303] Fix | Delete
this.iv = iv;
[40304] Fix | Delete
if (result.length === 0) {
[40305] Fix | Delete
return new Uint8Array(0);
[40306] Fix | Delete
}
[40307] Fix | Delete
const outputLength = 16 * result.length;
[40308] Fix | Delete
const output = new Uint8Array(outputLength);
[40309] Fix | Delete
for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
[40310] Fix | Delete
output.set(result[i], j);
[40311] Fix | Delete
}
[40312] Fix | Delete
return output;
[40313] Fix | Delete
}
[40314] Fix | Delete
}
[40315] Fix | Delete
class AES128Cipher extends AESBaseCipher {
[40316] Fix | Delete
constructor(key) {
[40317] Fix | Delete
super();
[40318] Fix | Delete
this._cyclesOfRepetition = 10;
[40319] Fix | Delete
this._keySize = 160;
[40320] Fix | Delete
this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);
[40321] Fix | Delete
this._key = this._expandKey(key);
[40322] Fix | Delete
}
[40323] Fix | Delete
_expandKey(cipherKey) {
[40324] Fix | Delete
const b = 176;
[40325] Fix | Delete
const s = this._s;
[40326] Fix | Delete
const rcon = this._rcon;
[40327] Fix | Delete
const result = new Uint8Array(b);
[40328] Fix | Delete
result.set(cipherKey);
[40329] Fix | Delete
for (let j = 16, i = 1; j < b; ++i) {
[40330] Fix | Delete
let t1 = result[j - 3];
[40331] Fix | Delete
let t2 = result[j - 2];
[40332] Fix | Delete
let t3 = result[j - 1];
[40333] Fix | Delete
let t4 = result[j - 4];
[40334] Fix | Delete
t1 = s[t1];
[40335] Fix | Delete
t2 = s[t2];
[40336] Fix | Delete
t3 = s[t3];
[40337] Fix | Delete
t4 = s[t4];
[40338] Fix | Delete
t1 ^= rcon[i];
[40339] Fix | Delete
for (let n = 0; n < 4; ++n) {
[40340] Fix | Delete
result[j] = t1 ^= result[j - 16];
[40341] Fix | Delete
j++;
[40342] Fix | Delete
result[j] = t2 ^= result[j - 16];
[40343] Fix | Delete
j++;
[40344] Fix | Delete
result[j] = t3 ^= result[j - 16];
[40345] Fix | Delete
j++;
[40346] Fix | Delete
result[j] = t4 ^= result[j - 16];
[40347] Fix | Delete
j++;
[40348] Fix | Delete
}
[40349] Fix | Delete
}
[40350] Fix | Delete
return result;
[40351] Fix | Delete
}
[40352] Fix | Delete
}
[40353] Fix | Delete
class AES256Cipher extends AESBaseCipher {
[40354] Fix | Delete
constructor(key) {
[40355] Fix | Delete
super();
[40356] Fix | Delete
this._cyclesOfRepetition = 14;
[40357] Fix | Delete
this._keySize = 224;
[40358] Fix | Delete
this._key = this._expandKey(key);
[40359] Fix | Delete
}
[40360] Fix | Delete
_expandKey(cipherKey) {
[40361] Fix | Delete
const b = 240;
[40362] Fix | Delete
const s = this._s;
[40363] Fix | Delete
const result = new Uint8Array(b);
[40364] Fix | Delete
result.set(cipherKey);
[40365] Fix | Delete
let r = 1;
[40366] Fix | Delete
let t1, t2, t3, t4;
[40367] Fix | Delete
for (let j = 32, i = 1; j < b; ++i) {
[40368] Fix | Delete
if (j % 32 === 16) {
[40369] Fix | Delete
t1 = s[t1];
[40370] Fix | Delete
t2 = s[t2];
[40371] Fix | Delete
t3 = s[t3];
[40372] Fix | Delete
t4 = s[t4];
[40373] Fix | Delete
} else if (j % 32 === 0) {
[40374] Fix | Delete
t1 = result[j - 3];
[40375] Fix | Delete
t2 = result[j - 2];
[40376] Fix | Delete
t3 = result[j - 1];
[40377] Fix | Delete
t4 = result[j - 4];
[40378] Fix | Delete
t1 = s[t1];
[40379] Fix | Delete
t2 = s[t2];
[40380] Fix | Delete
t3 = s[t3];
[40381] Fix | Delete
t4 = s[t4];
[40382] Fix | Delete
t1 ^= r;
[40383] Fix | Delete
if ((r <<= 1) >= 256) {
[40384] Fix | Delete
r = (r ^ 0x1b) & 0xff;
[40385] Fix | Delete
}
[40386] Fix | Delete
}
[40387] Fix | Delete
for (let n = 0; n < 4; ++n) {
[40388] Fix | Delete
result[j] = t1 ^= result[j - 32];
[40389] Fix | Delete
j++;
[40390] Fix | Delete
result[j] = t2 ^= result[j - 32];
[40391] Fix | Delete
j++;
[40392] Fix | Delete
result[j] = t3 ^= result[j - 32];
[40393] Fix | Delete
j++;
[40394] Fix | Delete
result[j] = t4 ^= result[j - 32];
[40395] Fix | Delete
j++;
[40396] Fix | Delete
}
[40397] Fix | Delete
}
[40398] Fix | Delete
return result;
[40399] Fix | Delete
}
[40400] Fix | Delete
}
[40401] Fix | Delete
class PDF17 {
[40402] Fix | Delete
checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
[40403] Fix | Delete
const hashData = new Uint8Array(password.length + 56);
[40404] Fix | Delete
hashData.set(password, 0);
[40405] Fix | Delete
hashData.set(ownerValidationSalt, password.length);
[40406] Fix | Delete
hashData.set(userBytes, password.length + ownerValidationSalt.length);
[40407] Fix | Delete
const result = calculateSHA256(hashData, 0, hashData.length);
[40408] Fix | Delete
return isArrayEqual(result, ownerPassword);
[40409] Fix | Delete
}
[40410] Fix | Delete
checkUserPassword(password, userValidationSalt, userPassword) {
[40411] Fix | Delete
const hashData = new Uint8Array(password.length + 8);
[40412] Fix | Delete
hashData.set(password, 0);
[40413] Fix | Delete
hashData.set(userValidationSalt, password.length);
[40414] Fix | Delete
const result = calculateSHA256(hashData, 0, hashData.length);
[40415] Fix | Delete
return isArrayEqual(result, userPassword);
[40416] Fix | Delete
}
[40417] Fix | Delete
getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
[40418] Fix | Delete
const hashData = new Uint8Array(password.length + 56);
[40419] Fix | Delete
hashData.set(password, 0);
[40420] Fix | Delete
hashData.set(ownerKeySalt, password.length);
[40421] Fix | Delete
hashData.set(userBytes, password.length + ownerKeySalt.length);
[40422] Fix | Delete
const key = calculateSHA256(hashData, 0, hashData.length);
[40423] Fix | Delete
const cipher = new AES256Cipher(key);
[40424] Fix | Delete
return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
[40425] Fix | Delete
}
[40426] Fix | Delete
getUserKey(password, userKeySalt, userEncryption) {
[40427] Fix | Delete
const hashData = new Uint8Array(password.length + 8);
[40428] Fix | Delete
hashData.set(password, 0);
[40429] Fix | Delete
hashData.set(userKeySalt, password.length);
[40430] Fix | Delete
const key = calculateSHA256(hashData, 0, hashData.length);
[40431] Fix | Delete
const cipher = new AES256Cipher(key);
[40432] Fix | Delete
return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
[40433] Fix | Delete
}
[40434] Fix | Delete
}
[40435] Fix | Delete
class PDF20 {
[40436] Fix | Delete
_hash(password, input, userBytes) {
[40437] Fix | Delete
let k = calculateSHA256(input, 0, input.length).subarray(0, 32);
[40438] Fix | Delete
let e = [0];
[40439] Fix | Delete
let i = 0;
[40440] Fix | Delete
while (i < 64 || e.at(-1) > i - 32) {
[40441] Fix | Delete
const combinedLength = password.length + k.length + userBytes.length,
[40442] Fix | Delete
combinedArray = new Uint8Array(combinedLength);
[40443] Fix | Delete
let writeOffset = 0;
[40444] Fix | Delete
combinedArray.set(password, writeOffset);
[40445] Fix | Delete
writeOffset += password.length;
[40446] Fix | Delete
combinedArray.set(k, writeOffset);
[40447] Fix | Delete
writeOffset += k.length;
[40448] Fix | Delete
combinedArray.set(userBytes, writeOffset);
[40449] Fix | Delete
const k1 = new Uint8Array(combinedLength * 64);
[40450] Fix | Delete
for (let j = 0, pos = 0; j < 64; j++, pos += combinedLength) {
[40451] Fix | Delete
k1.set(combinedArray, pos);
[40452] Fix | Delete
}
[40453] Fix | Delete
const cipher = new AES128Cipher(k.subarray(0, 16));
[40454] Fix | Delete
e = cipher.encrypt(k1, k.subarray(16, 32));
[40455] Fix | Delete
const remainder = e.slice(0, 16).reduce((a, b) => a + b, 0) % 3;
[40456] Fix | Delete
if (remainder === 0) {
[40457] Fix | Delete
k = calculateSHA256(e, 0, e.length);
[40458] Fix | Delete
} else if (remainder === 1) {
[40459] Fix | Delete
k = calculateSHA384(e, 0, e.length);
[40460] Fix | Delete
} else if (remainder === 2) {
[40461] Fix | Delete
k = calculateSHA512(e, 0, e.length);
[40462] Fix | Delete
}
[40463] Fix | Delete
i++;
[40464] Fix | Delete
}
[40465] Fix | Delete
return k.subarray(0, 32);
[40466] Fix | Delete
}
[40467] Fix | Delete
checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
[40468] Fix | Delete
const hashData = new Uint8Array(password.length + 56);
[40469] Fix | Delete
hashData.set(password, 0);
[40470] Fix | Delete
hashData.set(ownerValidationSalt, password.length);
[40471] Fix | Delete
hashData.set(userBytes, password.length + ownerValidationSalt.length);
[40472] Fix | Delete
const result = this._hash(password, hashData, userBytes);
[40473] Fix | Delete
return isArrayEqual(result, ownerPassword);
[40474] Fix | Delete
}
[40475] Fix | Delete
checkUserPassword(password, userValidationSalt, userPassword) {
[40476] Fix | Delete
const hashData = new Uint8Array(password.length + 8);
[40477] Fix | Delete
hashData.set(password, 0);
[40478] Fix | Delete
hashData.set(userValidationSalt, password.length);
[40479] Fix | Delete
const result = this._hash(password, hashData, []);
[40480] Fix | Delete
return isArrayEqual(result, userPassword);
[40481] Fix | Delete
}
[40482] Fix | Delete
getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
[40483] Fix | Delete
const hashData = new Uint8Array(password.length + 56);
[40484] Fix | Delete
hashData.set(password, 0);
[40485] Fix | Delete
hashData.set(ownerKeySalt, password.length);
[40486] Fix | Delete
hashData.set(userBytes, password.length + ownerKeySalt.length);
[40487] Fix | Delete
const key = this._hash(password, hashData, userBytes);
[40488] Fix | Delete
const cipher = new AES256Cipher(key);
[40489] Fix | Delete
return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
[40490] Fix | Delete
}
[40491] Fix | Delete
getUserKey(password, userKeySalt, userEncryption) {
[40492] Fix | Delete
const hashData = new Uint8Array(password.length + 8);
[40493] Fix | Delete
hashData.set(password, 0);
[40494] Fix | Delete
hashData.set(userKeySalt, password.length);
[40495] Fix | Delete
const key = this._hash(password, hashData, []);
[40496] Fix | Delete
const cipher = new AES256Cipher(key);
[40497] Fix | Delete
return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
[40498] Fix | Delete
}
[40499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function