328 lines
17 KiB
JavaScript
328 lines
17 KiB
JavaScript
!((e, t) => {
|
||
"object" == typeof exports && "undefined" != typeof module
|
||
? t(exports)
|
||
: "function" == typeof define && define.amd
|
||
? define(["exports"], t)
|
||
: t(
|
||
((e = "undefined" != typeof globalThis ? globalThis : e || self).hashwasm =
|
||
e.hashwasm || {}),
|
||
);
|
||
})(void 0, (e) => {
|
||
function t(e, t, n, A) {
|
||
return new (n || (n = Promise))((i, o) => {
|
||
function r(e) {
|
||
try {
|
||
a(A.next(e));
|
||
} catch (e) {
|
||
o(e);
|
||
}
|
||
}
|
||
function E(e) {
|
||
try {
|
||
a(A.throw(e));
|
||
} catch (e) {
|
||
o(e);
|
||
}
|
||
}
|
||
function a(e) {
|
||
var t;
|
||
e.done
|
||
? i(e.value)
|
||
: ((t = e.value),
|
||
t instanceof n
|
||
? t
|
||
: new n((e) => {
|
||
e(t);
|
||
})).then(r, E);
|
||
}
|
||
a((A = A.apply(e, t || [])).next());
|
||
});
|
||
}
|
||
"function" == typeof SuppressedError && SuppressedError;
|
||
class n {
|
||
constructor() {
|
||
this.mutex = Promise.resolve();
|
||
}
|
||
lock() {
|
||
let e = () => {};
|
||
return (
|
||
(this.mutex = this.mutex.then(() => new Promise(e))),
|
||
new Promise((t) => {
|
||
e = t;
|
||
})
|
||
);
|
||
}
|
||
dispatch(e) {
|
||
return t(this, void 0, void 0, function* () {
|
||
const t = yield this.lock();
|
||
try {
|
||
return yield Promise.resolve(e());
|
||
} finally {
|
||
t();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
var A;
|
||
const i =
|
||
"undefined" != typeof globalThis
|
||
? globalThis
|
||
: "undefined" != typeof self
|
||
? self
|
||
: "undefined" != typeof window
|
||
? window
|
||
: global,
|
||
o = null !== (A = i.Buffer) && void 0 !== A ? A : null,
|
||
r = i.TextEncoder ? new i.TextEncoder() : null;
|
||
function E(e, t) {
|
||
return (
|
||
(((15 & e) + ((e >> 6) | ((e >> 3) & 8))) << 4) | ((15 & t) + ((t >> 6) | ((t >> 3) & 8)))
|
||
);
|
||
}
|
||
const a = "a".charCodeAt(0) - 10,
|
||
g = "0".charCodeAt(0);
|
||
function s(e, t, n) {
|
||
let A = 0;
|
||
for (let i = 0; i < n; i++) {
|
||
let n = t[i] >>> 4;
|
||
((e[A++] = n > 9 ? n + a : n + g), (n = 15 & t[i]), (e[A++] = n > 9 ? n + a : n + g));
|
||
}
|
||
return String.fromCharCode.apply(null, e);
|
||
}
|
||
const C =
|
||
null !== o
|
||
? (e) => {
|
||
if ("string" == typeof e) {
|
||
const t = o.from(e, "utf8");
|
||
return new Uint8Array(t.buffer, t.byteOffset, t.length);
|
||
}
|
||
if (o.isBuffer(e)) return new Uint8Array(e.buffer, e.byteOffset, e.length);
|
||
if (ArrayBuffer.isView(e)) return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
|
||
throw new Error("Invalid data type!");
|
||
}
|
||
: (e) => {
|
||
if ("string" == typeof e) return r.encode(e);
|
||
if (ArrayBuffer.isView(e)) return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
|
||
throw new Error("Invalid data type!");
|
||
},
|
||
B = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
|
||
c = new Uint8Array(256);
|
||
for (let e = 0; e < 64; e++) c[B.charCodeAt(e)] = e;
|
||
function l(e) {
|
||
const t = ((e) => {
|
||
let t = Math.floor(0.75 * e.length);
|
||
const n = e.length;
|
||
return ("=" === e[n - 1] && ((t -= 1), "=" === e[n - 2] && (t -= 1)), t);
|
||
})(e),
|
||
n = e.length,
|
||
A = new Uint8Array(t);
|
||
let i = 0;
|
||
for (let t = 0; t < n; t += 4) {
|
||
const n = c[e.charCodeAt(t)],
|
||
o = c[e.charCodeAt(t + 1)],
|
||
r = c[e.charCodeAt(t + 2)],
|
||
E = c[e.charCodeAt(t + 3)];
|
||
((A[i] = (n << 2) | (o >> 4)),
|
||
(i += 1),
|
||
(A[i] = ((15 & o) << 4) | (r >> 2)),
|
||
(i += 1),
|
||
(A[i] = ((3 & r) << 6) | (63 & E)),
|
||
(i += 1));
|
||
}
|
||
return A;
|
||
}
|
||
const h = 16384,
|
||
f = new n(),
|
||
d = new Map();
|
||
function u(e, n) {
|
||
return t(this, void 0, void 0, function* () {
|
||
let A = null,
|
||
i = null,
|
||
o = !1;
|
||
if ("undefined" == typeof WebAssembly)
|
||
throw new Error("WebAssembly is not supported in this environment!");
|
||
const r = () => new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE, !0),
|
||
a = f.dispatch(() =>
|
||
t(this, void 0, void 0, function* () {
|
||
if (!d.has(e.name)) {
|
||
const t = l(e.data),
|
||
n = WebAssembly.compile(t);
|
||
d.set(e.name, n);
|
||
}
|
||
const t = yield d.get(e.name);
|
||
A = yield WebAssembly.instantiate(t, {});
|
||
}),
|
||
),
|
||
g = () => {
|
||
const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
|
||
((o = !0), A.exports.Hash_Init(e));
|
||
},
|
||
B = (e) => {
|
||
if (!o) throw new Error("update() called before init()");
|
||
((e) => {
|
||
let t = 0;
|
||
for (; t < e.length; ) {
|
||
const n = e.subarray(t, t + h);
|
||
((t += n.length), i.set(n), A.exports.Hash_Update(n.length));
|
||
}
|
||
})(C(e));
|
||
},
|
||
c = new Uint8Array(2 * n),
|
||
u = (e) => {
|
||
const t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
|
||
if (!o) throw new Error("digest() called before init()");
|
||
return ((o = !1), A.exports.Hash_Final(t), "binary" === e ? i.slice(0, n) : s(c, i, n));
|
||
},
|
||
v = (e) => ("string" == typeof e ? e.length < 4096 : e.byteLength < h);
|
||
let N = v;
|
||
switch (e.name) {
|
||
case "argon2":
|
||
case "scrypt":
|
||
N = () => !0;
|
||
break;
|
||
case "blake2b":
|
||
case "blake2s":
|
||
N = (e, t) => t <= 512 && v(e);
|
||
break;
|
||
case "blake3":
|
||
N = (e, t) => 0 === t && v(e);
|
||
break;
|
||
case "xxhash64":
|
||
case "xxhash3":
|
||
case "xxhash128":
|
||
N = () => !1;
|
||
}
|
||
return (
|
||
yield (() =>
|
||
t(this, void 0, void 0, function* () {
|
||
A || (yield a);
|
||
const e = A.exports.Hash_GetBuffer(),
|
||
t = A.exports.memory.buffer;
|
||
i = new Uint8Array(t, e, h);
|
||
}))(),
|
||
{
|
||
getMemory: () => i,
|
||
writeMemory: (e) => {
|
||
const t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
|
||
i.set(e, t);
|
||
},
|
||
getExports: () => A.exports,
|
||
setMemorySize: (e) => {
|
||
A.exports.Hash_SetMemorySize(e);
|
||
const t = A.exports.Hash_GetBuffer(),
|
||
n = A.exports.memory.buffer;
|
||
i = new Uint8Array(n, t, e);
|
||
},
|
||
init: g,
|
||
update: B,
|
||
digest: u,
|
||
save: () => {
|
||
if (!o) throw new Error("save() can only be called after init() and before digest()");
|
||
const t = A.exports.Hash_GetState(),
|
||
n = r(),
|
||
i = A.exports.memory.buffer,
|
||
a = new Uint8Array(i, t, n),
|
||
g = new Uint8Array(4 + n);
|
||
return (
|
||
((e, t) => {
|
||
const n = t.length >> 1;
|
||
for (let A = 0; A < n; A++) {
|
||
const n = A << 1;
|
||
e[A] = E(t.charCodeAt(n), t.charCodeAt(n + 1));
|
||
}
|
||
})(g, e.hash),
|
||
g.set(a, 4),
|
||
g
|
||
);
|
||
},
|
||
load: (t) => {
|
||
if (!(t instanceof Uint8Array))
|
||
throw new Error("load() expects an Uint8Array generated by save()");
|
||
const n = A.exports.Hash_GetState(),
|
||
i = r(),
|
||
a = 4 + i,
|
||
g = A.exports.memory.buffer;
|
||
if (t.length !== a)
|
||
throw new Error(
|
||
"Bad state length (expected ".concat(a, " bytes, got ").concat(t.length, ")"),
|
||
);
|
||
if (
|
||
!((e, t) => {
|
||
if (e.length !== 2 * t.length) return !1;
|
||
for (let n = 0; n < t.length; n++) {
|
||
const A = n << 1;
|
||
if (t[n] !== E(e.charCodeAt(A), e.charCodeAt(A + 1))) return !1;
|
||
}
|
||
return !0;
|
||
})(e.hash, t.subarray(0, 4))
|
||
)
|
||
throw new Error("This state was written by an incompatible hash implementation");
|
||
const s = t.subarray(4);
|
||
(new Uint8Array(g, n, i).set(s), (o = !0));
|
||
},
|
||
calculate: (e) => {
|
||
const t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
|
||
o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
|
||
if (!N(e, t)) return (g(t), B(e), u("hex", o));
|
||
const r = C(e);
|
||
return (i.set(r), A.exports.Hash_Calculate(r.length, t, o), s(c, i, n));
|
||
},
|
||
hashLength: n,
|
||
}
|
||
);
|
||
});
|
||
}
|
||
let v =
|
||
"AGFzbQE||BEAF/YAF/AG|AGACf38|wgH|EBAQAw$AQECAgYOAn8BQfCJBQt/AEGACAsHcAgGbWVtb3J5AÔHZXRCdWZmZX|lº0luaXQ|Qtº1VwZGF0ZQACCkhhc2hfRmluYWwABA1º0dldFN0YXRl|UÔDYWxjdWxhdGUABgpTVEFURV9TSVpFAwEKoEoHBQBBkLnQEABCADcDwÈBHEEgBB4AFGIbNgL#QFBAEKnn+anxvST/b5/Qquzj/yRo7Pw2wABs3A+CQrGWgP6fooWs6ABC/6S5iMWR2oKbfy|GzcD2ÈCl7rDg5Onlod3QvLmu+Ojp/2npX8Bs3A9CQti9loj8oLW+NkLnzKfQ1tDrs7t/AbNwPI¥L7wICAX4Gf0EAApA8CJASCtfDcDw`AkACQAJAGnQT9xIgINAEGACSEDDAELAkBBw|msiBC|QEkbIgNFDQA0EDcSEFJBg`aiEGAhAgJANBBEkNACADQfwAcSEHAhAgNAYm#AyACQYAJDFqJBgQ¿NBAmokGCCÀ0ED\vCQYMJHJBBG#AkcN|sLVFDQADQCAGJqJB¿JBAWohAiAFQX9gUN|sLQEsNAU»y|RrIQAgBEGACWohAwsCQC|Qc|SQ0|0AxADNBwABQMEFAaiQT9LDQALCy|RQ0AAhAkÊUDQCACQYCJAWoyACCFQICAFFgVB/wFxSw0ACwsLoz4BRX9BAC|KAI8IgFËU¡AB$§FBGXc$OA$̶OCICÏJ?k±JÒC\vµg!R>BE£BE}¶HF\vµE!Z>Bk£Bk}¶AH\vµk!hqJAk=Ak\bgN hgCÜK[K]µUtqJ hADEM[M]µM1 jADmo¶CCIJÏl?gC$Idk<lÒPÝ9-9.Z igEGo$PBB{C$PJJ{E$PRR{EkEPSS{E2o¶NCIUh0R?gFE±RÒVV-V.5qJ iwiFÜW[W]Q\vR\vIÝh-h.RqlqV>B$OB$ÌgCmoÇC0L[L]M\vV\vNÝ1-1.9qZqNA0=A0\bhRFE=FE\bhdF0=F0\bhÂlGÉGU\bhpGk=Gk\bhtG0=G0\bhx>HE£HE}ÜC[C]V\vY\vOÝ5-5.ZqdqB>EE£EE}gCGogFGogE0EPTT{H$Pdd{HkEPee{HE0T[T]Y\vDÝN-N.Fqlq9H0=H0\biBqJ>Ek£Ek}gFHE$ZR[R]U\ve\vJÝl-l.Nq1qxHE=HE\biFIÉIU\biJIk=Ik\biNI0=I0\biRqt>G0£G0}gH¢IGÜa[a]d\vi\vZl-l.NCFqh>GE£GE}ÍHGogF0X[X]R\vb\vUR-R.lqpCBIE=IE\biVJÉJU\biZJk=Jk\bidJ0=J0\bihKE=KE\bilKÉKU\bipKk=Kk\bit>K0£K0}gH0f[f]b\vn\ve5-5.pCZq1>H$OH$ÌgGÇJÇJEEPkk{LEEPss{L$Ptt{L¢JEk[k]n\vg¸B-ICB.xChC5Lk=Lk\bi9CN>I0£I0}gJ¢L¢IÜi[i]l\vt\vh¸F-ICF.ICBCxCtK0=K0\bjBME=ME\bjFMÉMU\bjJMk=Mk\bjNCp>Kk£Kk}gLÇM¢K$Zp[p]s\vx\vo¸h-ICh.ICRDBCd>J0£J0}gIKJÜm[m]i\vq\vl¸V-ICV.ICFClC9L0=L0\bjRNE=NE\bjVNÉNU\bjZNk=Nk\bjdN0=N0\bjhOE=OE\bjlOÉOU\bjogOCA0IC4gLCAhsgG,D4gBEY¥iO0ª7(7d3c0k¥iPGp4`Ij13`Ij5zIDtxID1z\vHakGY36iUBG#B0U¥iP2#ACAM\v71D4gDP,G\vAID4gO3NxID5z\vA¦BBGRid2JB2#QEQ¥iQW#DC|IDt7Ãz/eDrntkJz`IkNg0gDC|c3EHNq1%D$VDUaW3181+aiJE·siJASP0gDHÙxHbhNvKA2#RSBBIEMHNxIEMHÚB®EETAEE«dgZgdqUgDCiAN\vLxqcgDyANDXfGjxM8FKYHMgQ3EgBi|pIX+kXlgs¼A×PQ¨HVvfHYem#QC*ER½EBHZjVnsB9aiJCRW#DG#BÇFiAH\vQ9qggBGogB,Ö$aF(FgbaNlAFgg¼N^\vKNPU¨G+i8ahAm#Di*qt½FBXcP7sagFQ9Lr5lQdhY¼N×F\vBRqIgBF,P\vFQ¨z\vF¦VVH+4/qGeG#By*qhÐgYgB,EBHNqZ%BkEVBkaeN8N55EEÕ,N
DmÛ#DCAGVFÃ9OLvjHxgUÎNQDNwgBnÙZz\vN¦11HB0+2kfm#CC\tZÐg8gFE,N\vUxqkgB¢DyANxMD0ªP(Pho/5/X5gYHCJ8gDXÙ1³HGu4b+AG#DCR¯EgC,PD3~czDsqACNBW#AW#FCßÄ79ik7wJg8ICX\vTRqgEiAJ\vXQÁX¦ddGqidLTBG#GCZgNgkgFyAUFH©dzTwuUFUDG°,JdXÅ2pHmtwdhcNC&HSovnBeW#GS9¯Nq4ÍGiAR\vd;e2Mx8F6aGG#AWyM+MgHthgUCHH/+X6e2#FCdgN@fOXgLd8XGW°ICAS\vcFq8_x6KerX1àHRxqk2a:G#A259KkoQFhgUai&GFldy9Am#FCABdgJhMgIJiAS\viFCU_uMLs8AJØH827HpBG#GS\tpZOa4JkFa\fGG1OapqAZhgUDT\voJCQJyAJ\v)G7laizB2#FC\tdgFa6Si454X\fGWÛhdnIk3lhkaD&Gh0f+Vem#Gi\thÐhNCoÍL,R\vp;cvM6cB6Y\fFGÛ8JauknxhQXDGjo7G7fG#Fy\tlgF@ZnQy4x9Z\fGmÛ#EMCAS\vvFCs_pIzktH1hoYDGF67igf2#GC\tRfDAqoMBU\fF2loKTzQFØTIDZDIÍN,R\vx;YjY3fEBZGm#AWzO6hugJhoYCG1+cKlA2#GCRgN@bOZ8MgDUF2°LEs[s]o\v0\vz93IDN¬IDNXJDcMyAJ\v)HK1OL2BG#GyABlgJc+U89wFZ:m#A289+5wQZhoYai&Huhb6kB2#HCABRgJhNC5>Lk£Lk}gK¢N¢L$Zt[t]p\v1\vX93d¬dU93R¬RYJDkFCAJ\v)HvxpXFB2#CSt¯E¾~ZTwoaZ4bGW°iARNTÆiISc5nhà)H6//uFeW#Gix¯QgPGo2AuSID8Jaitg:W#AaJajYC1`AgP,v¸9-IC9.ICtDdqÂgFCATJSÄ69nBonphkW#EWo2AuCIEEgC,DCc,JNxJ¹ll\vZaiajYC0`AgPiAwIDB-IDB.IC9qdDpOk=Ok\bBJqEgFCATE3~ffH5vd7XJhJqNgLcCBDEgCXM3E,J
F2Ûo2AsyIDsgNE0[0]w\v4\vY93h¬h\vT\vSEgFHNxR´Hy8cWzfG#E,Damo2AtiAÎJRamo2AsiJAQu2BgIEfwF+·sCJASJ29xIgFÞCIoAgBBfy|N0IgB0QX9zcUG|,AdHM2ACQAJ|kA$OSQ0|kA$ORw0ABBADYCv`C0»0ÊMMAQs$NRg0BFBAWohAwsyE|kBBBiADa0EHcSICRQ0ANÞaiEBMh|NAFBADYCACABRQEEEBaiEAJBf2#Ag0ACws0F5akEHSQ0ABBAnQhAQNAFBmkigIG#A$4Rw0ACwtBACEBBBACkDw`IgSnIgBBG3QEELdEGAgPwHcXIEEFdk<BBA3RjYCv`AgBEIdiKc2AriJAU»0EA·uS 5È4gEc¥2Aty·ti 2È1UEQ¥2AtC·sy zÈyI¥CQE#QEiAkUNAEÊADQCABQYAJ\vBQciJAÀ$BaiEBIEEBaiQf8BcUsN|sLCwYAQYCJAQujAQBBAENwPAEEcQ,UHUYiARs2AuiQqef5qfG9JP9vn9Cq7OP/JGjs/DbACABGzcD4ÈCsZaA/p+ihazoAEL/pLmIxZHagpt/EbNwPYEKXusODk6eWh3dC8ua746On/aelfyABGzcD0ÈC2L2WiPygtb42QufMp9DW0Ouzu38Rs3A8iJA,AÊBAsLCwEAQYAICwRw||IAd3MgcyAMnMXEyACcXM0EeDÑDÓ,DCc,BNxB¹FF\vACÚÙIXÚJ®kETAkE«c,CFxC¹JJ\v\bEKdnN\tADJzFxMnÚN®0ETA0E«\vaiA\fE3MnE,D
d3c2pBIBBD3cgBB3dzakiC$YdCAJ¤l²Jh2cnIiiAEEYdC|¤B²Ah2cnIaiIgAQQdyAEHd3NqQyACBc,DJxD¹NN\vqINzJxE3ÚF®$TA$«c`IgBËE¡|EEYdnJyNgLQRBFXdz JASÏB?E±BjYC!IgNË0¡AD0E§#oi$UE%BGncg&SEgCXÙl´(V3)TIÁT¦NN*ANxzZx0gDHÚ1BHncgD$TD$Kd3N,SA-BDndz.BA3Zz:IXM3EÎcXMkEeCÑCÓG;lqMgEiAREXNqN%E0EVE0<GA/gNx=EN>BGXcg?BgP4Dc$IdHI@hIgE,JCXNqJ%EkEVEk[53]N2^c,MZxM¹xx_gCÇEyASFRE0ªT(T`IkB{p2c2#|AA}EÌ~NqF%E$VEURkgE3NxNz\vR¦FFQG#DG#BCAÖEªE(EJMgEnNxJ³IglËgCU¡AJgC$§#C,TJSC$aJ(J#E,JNTÅ
cXM$eBÑBÓc3EgÎDBGHZych2QYD+A3E`akNwFBNqd%B0EVB0gk¾©Û#Ei߯z\vP¦99CIDÏN?0±NÒ13EAKALcXMgBkEeGÑGÓJA$ABE3dzl3BACgC2ogai0|Do|CAEZYÕgBiANÐhEgC,TE3~zc,iQFBABCndzgEÇ qAoA¡<h0ci¢mog£EO¤QYD+A3FBCHRy¥iQE¦p3§YdnJyIg¨gB3Ùd©Nql%C$VCUªEa«Kd3Nq¬BDXdzBCnZz®BHnc¯gNh°#AW#E±EIdk<²BCHZBgP4Dc,³z\vJ¦ll´z\vS¦JJµAKAI¶CgC·AoA¸IC¹53ºIYXNoX»GA¥QA¼gDCAG½gZgcgDyA¾gEyASEn¿lqLQ|OAÀWot|A6|AÁgEXNxFz\vÂhGE=GE\bhÃDEªM(MÄFEªU(UÅE$aR(RÆEkªS(SÇWogÈ`BÉ$NÊEAIQËBGHQÌDdnMÍgE¢ÎiABÏh0ÐgFÑN3ÒiIÓp3ÔOSGFzaF9ÕgDXMgDHEÖH9PB×^aiBCNØhcZDÙNxÚFzÛ#AmÜkÝÞBAnRBg`ßARlJàhkaC";
|
||
const N =
|
||
"àßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®¬«ª©¨§¦¥¤£¢¡
~}|{`_^][@?>=<;:.-,*)(&%$#! \f\v\t\b";
|
||
let D;
|
||
for (D in N) {
|
||
const e = v.split(N[D]);
|
||
v = e.join(e.pop());
|
||
}
|
||
var G = { name: "sha256", data: v, hash: "64f06674" };
|
||
const y = new n();
|
||
let J = null;
|
||
((e.createSHA256 = () =>
|
||
u(G, 32).then((e) => {
|
||
e.init(256);
|
||
const t = {
|
||
init: () => (e.init(256), t),
|
||
update: (n) => (e.update(n), t),
|
||
digest: (t) => e.digest(t),
|
||
save: () => e.save(),
|
||
load: (n) => (e.load(n), t),
|
||
blockSize: 64,
|
||
digestSize: 32,
|
||
};
|
||
return t;
|
||
})),
|
||
(e.sha256 = (e) => {
|
||
if (null === J)
|
||
return (function (e, n) {
|
||
return t(this, void 0, void 0, function* () {
|
||
const t = yield e.lock(),
|
||
A = yield u(n, 32);
|
||
return (t(), A);
|
||
});
|
||
})(y, G).then((t) => ((J = t), J.calculate(e, 256)));
|
||
try {
|
||
const t = J.calculate(e, 256);
|
||
return Promise.resolve(t);
|
||
} catch (e) {
|
||
return Promise.reject(e);
|
||
}
|
||
}));
|
||
});
|
||
|
||
console.warn(
|
||
`[cap]
|
||
%cYou're using a deprecated version of Cap's widget that still relies on this file.
|
||
|
||
It may continue to work for now, but could break at any time since this dependency was removed several versions ago.
|
||
|
||
Please update Cap to fix this.`,
|
||
"font-size:15px;background-image:url('https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fpreview.colorkit.co%2Fcolor%2FEEEEEE.png%3Ftype%3Darticle-preview-logo%26size%3Dsocial%26colorname%3DSuper%2520Silver&f=1&nofb=1&ipt=49845e9195461b7c779182793c2ebf7834102eaf5561c15fa2cbb55494b77a9b');background-size:10px",
|
||
);
|