@layers-app/editor 0.3.11 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.js +6 -6
- package/dist/layers.-WGsbPEO.js +14 -0
- package/dist/layers.-wDyU9sN.js +118 -0
- package/dist/layers.0FtwCmdk.js +52 -0
- package/dist/layers.0RkUYii1.js +282 -0
- package/dist/layers.1EHoXd8e.js +8 -0
- package/dist/layers.2cerO4OS.js +139 -0
- package/dist/layers.3Ekf-o8F.js +39 -0
- package/dist/layers.52famHy6.js +1 -0
- package/dist/layers.5Sr9IY96.js +9 -0
- package/dist/layers.78ekkCq0.js +116 -0
- package/dist/layers.7JqFgE4-.js +15 -0
- package/dist/layers.9QK1wiQj.js +1 -0
- package/dist/layers.9jdDI2yV.js +36 -0
- package/dist/layers.9pNaFvaX.js +1 -0
- package/dist/layers.AEy2G-Gv.js +40 -0
- package/dist/layers.AIQle8wy.js +1 -0
- package/dist/layers.A_NuFq0j.js +2235 -0
- package/dist/layers.B0lp7rOz.js +9 -0
- package/dist/layers.B19hGmey.js +1 -0
- package/dist/layers.B1VZZIP7.js +21763 -0
- package/dist/layers.B2AGu32C.js +11692 -0
- package/dist/layers.B3CuqfYy.js +37 -0
- package/dist/layers.B3D4g2HH.js +1 -0
- package/dist/layers.B3xfUipV.js +2966 -0
- package/dist/layers.B4n4WelM.js +1 -0
- package/dist/layers.B4qkzU1u.js +41 -0
- package/dist/layers.B5bQ8hRv.js +70 -0
- package/dist/layers.B6YfcxJD.js +1 -0
- package/dist/layers.B7O9Ykf9.js +6 -0
- package/dist/layers.BAtv1CM7.js +1 -0
- package/dist/layers.BBXYbcFN.js +10 -0
- package/dist/layers.BBZL6QaK.js +8 -0
- package/dist/layers.BCbGsxxm.js +7 -0
- package/dist/layers.BE_DKuuD.js +790 -0
- package/dist/layers.BFlWA9Iz.js +373 -0
- package/dist/layers.BFxRJ3Li.js +1 -0
- package/dist/layers.BIeVwYKL.js +1 -0
- package/dist/layers.BLQfYqXT.js +39 -0
- package/dist/layers.BM0ksLnS.js +5 -0
- package/dist/layers.BNUbfOwd.js +42 -0
- package/dist/layers.BP3xLRrX.js +33 -0
- package/dist/layers.BQFScIff.js +9 -0
- package/dist/layers.BRu1ZkhL.js +6 -0
- package/dist/layers.BS1BSw0O.js +257 -0
- package/dist/layers.BSTBZrFn.js +1 -0
- package/dist/layers.BU5FG1HP.js +84 -0
- package/dist/layers.BUuBI6QS.js +41 -0
- package/dist/layers.BVrcjbG3.js +8 -0
- package/dist/layers.BW99L8Fl.js +39 -0
- package/dist/layers.BWj5iNQV.js +34 -0
- package/dist/layers.BYRpGhl3.js +11 -0
- package/dist/layers.BZ217a7U.js +40 -0
- package/dist/layers.Bb0NXUFw.js +39 -0
- package/dist/layers.BbCfEXyj.js +55 -0
- package/dist/layers.BblO5S7z.js +5 -0
- package/dist/layers.BbpcdAWy.js +1 -0
- package/dist/layers.Bfw0Gunv.js +9148 -0
- package/dist/layers.BgOa2ZQq.js +7 -0
- package/dist/layers.Bh0aB-u7.js +59 -0
- package/dist/layers.BiCOjicn.js +32 -0
- package/dist/layers.BiJ8hfRt.js +1510 -0
- package/dist/layers.BirPY36J.js +268 -0
- package/dist/layers.Bit9KYIY.js +32 -0
- package/dist/layers.BjFHkSyo.js +37 -0
- package/dist/{layers.DPccTctI.js → layers.BkQdsQ8U.js} +17 -17
- package/dist/layers.BkrI3eMq.js +1089 -0
- package/dist/layers.BlPVzVNM.js +6 -0
- package/dist/layers.Bn7Yja2i.js +3 -0
- package/dist/layers.Bnu-owJj.js +61 -0
- package/dist/{layers.C125HTat.js → layers.BoIttUlh.js} +1 -1
- package/dist/layers.Bp_lUbdE.js +41 -0
- package/dist/layers.BpilXLfW.js +6 -0
- package/dist/layers.Bs7-WFjs.js +1283 -0
- package/dist/layers.BzRvQtZ0.js +11 -0
- package/dist/layers.C00LPdpd.js +437 -0
- package/dist/layers.C0q8oCjN.js +1034 -0
- package/dist/layers.C1iEaL9k.js +37 -0
- package/dist/layers.C1w3XBPW.js +230 -0
- package/dist/layers.C4ROEdAW.js +84 -0
- package/dist/layers.C4qaO0MD.js +10 -0
- package/dist/layers.C7lIplJU.js +247 -0
- package/dist/layers.C8_lu5UH.js +23 -0
- package/dist/layers.C996Xek1.js +2479 -0
- package/dist/layers.CAcpgnDk.js +9 -0
- package/dist/layers.CAwBq0yQ.js +10 -0
- package/dist/layers.CEmVEjbM.js +7 -0
- package/dist/layers.CFa6SgS0.js +38 -0
- package/dist/layers.CHZsXQcr.js +1 -0
- package/dist/layers.CHuQjPi1.js +32 -0
- package/dist/layers.CJBYVYBK.js +8 -0
- package/dist/layers.CLOKCltZ.js +35 -0
- package/dist/layers.COAF7f8g.js +1 -0
- package/dist/layers.COaiyaHl.js +1580 -0
- package/dist/layers.COhnMbFE.js +220 -0
- package/dist/layers.CQqtbI-S.js +122 -0
- package/dist/layers.CRWsKrSv.js +40 -0
- package/dist/layers.CSW2aYxs.js +1 -0
- package/dist/layers.CSfCebqe.js +207 -0
- package/dist/layers.CTzpQJrz.js +501 -0
- package/dist/layers.CX9eMlzX.js +6 -0
- package/dist/layers.CXUGZO8g.js +40 -0
- package/dist/layers.CYHkquLL.js +1 -0
- package/dist/layers.CYJyjqCg.js +7 -0
- package/dist/layers.C_0uL0lu.js +42 -0
- package/dist/layers.CbseH42B.js +5 -0
- package/dist/layers.CdvbuuVd.js +2 -0
- package/dist/layers.CeU6SAcT.js +8 -0
- package/dist/layers.Cef-VRJs.js +37 -0
- package/dist/layers.Cg3zhLTz.js +1 -0
- package/dist/layers.CldWERA-.js +1 -0
- package/dist/layers.Cle37JNX.js +1 -0
- package/dist/layers.CmLupkS6.js +186 -0
- package/dist/layers.Cn2QpKZw.js +51 -0
- package/dist/layers.CoVavTdv.js +1126 -0
- package/dist/layers.CoZpR7_r.js +40 -0
- package/dist/layers.CqVTtuYm.js +6 -0
- package/dist/layers.CrZ6TV4m.js +1 -0
- package/dist/layers.CrpDpBIW.js +904 -0
- package/dist/layers.Cs24L6er.js +261 -0
- package/dist/layers.CsmOgd93.js +38 -0
- package/dist/layers.Ct-zQnmI.js +32 -0
- package/dist/layers.CuAZJoX1.js +42 -0
- package/dist/{layers.BnjxHNDK.js → layers.CylfN5iO.js} +85 -85
- package/dist/layers.CyxAbBDV.js +7 -0
- package/dist/layers.Czj3PJzZ.js +10 -0
- package/dist/layers.D-1CXIBI.js +19 -0
- package/dist/layers.D-EQ5B97.js +7 -0
- package/dist/layers.D-uwIUCE.js +139 -0
- package/dist/layers.D-xK8h4X.js +8 -0
- package/dist/layers.D0rE1hbF.js +10 -0
- package/dist/layers.D0zn4_Mx.js +1 -0
- package/dist/layers.D2Jbdqtj.js +7 -0
- package/dist/layers.D3Qwcfa_.js +1619 -0
- package/dist/layers.D3sICpwv.js +8 -0
- package/dist/layers.D4DB55K_.js +2 -0
- package/dist/layers.D4RhFsg6.js +10 -0
- package/dist/layers.D4fGb2cV.js +1272 -0
- package/dist/layers.D4v0XyUf.js +1 -0
- package/dist/layers.D6SbX5Az.js +423 -0
- package/dist/layers.D6dwFhht.js +9 -0
- package/dist/layers.D7jGxypv.js +8 -0
- package/dist/layers.D87gRG-J.js +1088 -0
- package/dist/layers.D8fb1iDb.js +10 -0
- package/dist/layers.D9JK3npg.js +41 -0
- package/dist/layers.DAvEslJc.js +33 -0
- package/dist/layers.DBOFmWi_.js +1359 -0
- package/dist/layers.DCAo6G5D.js +40 -0
- package/dist/layers.DGWfd9sT.js +5 -0
- package/dist/layers.DIc9Pn5-.js +96 -0
- package/dist/layers.DJVg69Yo.js +803 -0
- package/dist/layers.DLBD3WBx.js +11 -0
- package/dist/layers.DLwuMfdd.js +84 -0
- package/dist/layers.DMkBISW1.js +1 -0
- package/dist/layers.DN9HoVxI.js +18 -0
- package/dist/layers.DOrgOHBr.js +1 -0
- package/dist/layers.DPhgksD-.js +41 -0
- package/dist/layers.DPnpGXQm.js +2 -0
- package/dist/layers.DQ8aCG7v.js +769 -0
- package/dist/layers.DR14S1m9.js +161 -0
- package/dist/layers.DRFq8PR7.js +39 -0
- package/dist/layers.DRYGpdtc.js +48146 -0
- package/dist/layers.DSd23vw_.js +1 -0
- package/dist/layers.DSl3dgu7.js +7 -0
- package/dist/layers.DUYA7tE_.js +10 -0
- package/dist/layers.DVgohoWC.js +11 -0
- package/dist/layers.D_3fuwmS.js +1 -0
- package/dist/layers.D_ILz54C.js +41 -0
- package/dist/layers.DbaKVP5e.js +1 -0
- package/dist/layers.Dd-Mdjt8.js +40 -0
- package/dist/layers.Dd9WE-Kq.js +1265 -0
- package/dist/layers.DdjaY7yq.js +9 -0
- package/dist/layers.DgJemaOm.js +65 -0
- package/dist/layers.Dgm8-XFN.js +960 -0
- package/dist/layers.DgwJ1eL7.js +13 -0
- package/dist/layers.DhZsCIrr.js +425 -0
- package/dist/layers.DipbuRcs.js +36 -0
- package/dist/layers.DjUOC4st.js +16 -0
- package/dist/layers.DjZdvQQY.js +1 -0
- package/dist/layers.DkyFv1Ys.js +35 -0
- package/dist/layers.Dmf-FkA-.js +4 -0
- package/dist/layers.DmgkuDwj.js +9 -0
- package/dist/layers.Dmrtdk6A.js +1 -0
- package/dist/layers.Dn02LanZ.js +931 -0
- package/dist/layers.Do3LJDis.js +202 -0
- package/dist/layers.DoI-3ssc.js +802 -0
- package/dist/layers.DobBKdZ6.js +32 -0
- package/dist/layers.DpzPbocR.js +39 -0
- package/dist/layers.Dq0wRjbC.js +35 -0
- package/dist/layers.Dqsk7GNe.js +10 -0
- package/dist/layers.DrTVlGxj.js +1 -0
- package/dist/layers.DukBaqf8.js +1 -0
- package/dist/layers.DvxaikrZ.js +10 -0
- package/dist/layers.DxA6ocdw.js +70 -0
- package/dist/layers.Dy1naDTQ.js +14 -0
- package/dist/layers.DygycO7X.js +39 -0
- package/dist/{layers.VK3NB7Nd.js → layers.DzUJmmvD.js} +1 -1
- package/dist/layers.FoT1zSFE.js +42 -0
- package/dist/layers.HsplLW7l.js +4 -0
- package/dist/{layers.YZkXZvVS.js → layers.HstOwREP.js} +11432 -10897
- package/dist/layers.IKdQaUN6.js +11 -0
- package/dist/layers.JWCLFILJ.js +1 -0
- package/dist/layers.K3yYYJdK.js +40 -0
- package/dist/layers.L1UaldnR.js +36 -0
- package/dist/layers.Lz059Um8.js +41 -0
- package/dist/layers.M6o7NygO.js +6 -0
- package/dist/layers.MLq12lxF.js +32 -0
- package/dist/layers.MczyPMMk.js +6 -0
- package/dist/layers.OGhIzIND.js +36 -0
- package/dist/layers.OH8pkzdf.js +1 -0
- package/dist/layers.OUHm0dZY.js +40 -0
- package/dist/layers.OeuRpLZr.js +41 -0
- package/dist/layers.PsWF_Poj.js +8 -0
- package/dist/layers.R7Qt9hQa.js +1 -0
- package/dist/layers.SwZPMavM.js +7 -0
- package/dist/layers.UHZ7LEG5.js +44 -0
- package/dist/layers.VAQxBGRz.js +42 -0
- package/dist/layers.WPo01EJ5.js +4 -0
- package/dist/layers.XJChT8Le.js +9 -0
- package/dist/layers.XMeRR-JR.js +39 -0
- package/dist/layers.b0h5ZBmD.js +61 -0
- package/dist/layers.bSw_jQ5U.js +40 -0
- package/dist/layers.bn1dbtN4.js +160 -0
- package/dist/layers.cdGjFrMq.js +9 -0
- package/dist/layers.cu7eSI3X.js +4 -0
- package/dist/layers.iBT5g_cH.js +320 -0
- package/dist/layers.igIdIxGe.js +9 -0
- package/dist/layers.j1hLqMc8.js +38 -0
- package/dist/layers.jrSryxFl.js +39 -0
- package/dist/layers.lCpg7dOn.js +21 -0
- package/dist/layers.oQqeIYLp.js +21938 -0
- package/dist/layers.raic7pCl.js +793 -0
- package/dist/layers.srlypw1l.js +8 -0
- package/dist/layers.tqtFgs0l.js +1 -0
- package/dist/layers.uwhbxtz3.js +8 -0
- package/dist/layers.weZ4wJXB.js +5 -0
- package/dist/layers.wf8u33re.js +1 -0
- package/package.json +22 -15
- package/dist/layers.Cjs5EBWM.js +0 -343
- package/dist/layers.DZ8DrrVn.js +0 -53491
- package/dist/layers.QVaGPbs3.js +0 -161
|
@@ -0,0 +1,1510 @@
|
|
|
1
|
+
/*! image-blob-reduce 3.0.1 https://github.com/nodeca/image-blob-reduce @license MIT */
|
|
2
|
+
var K = function(I) {
|
|
3
|
+
for (var d, h = 1; h < arguments.length; h++) {
|
|
4
|
+
d = Object(arguments[h]);
|
|
5
|
+
for (var x in d)
|
|
6
|
+
Object.prototype.hasOwnProperty.call(d, x) && (I[x] = d[x]);
|
|
7
|
+
}
|
|
8
|
+
return I;
|
|
9
|
+
};
|
|
10
|
+
function N(A, I) {
|
|
11
|
+
var d = {};
|
|
12
|
+
return I.forEach(function(h) {
|
|
13
|
+
Object.prototype.hasOwnProperty.call(A, h) && (d[h] = A[h]);
|
|
14
|
+
}), d;
|
|
15
|
+
}
|
|
16
|
+
function V(A) {
|
|
17
|
+
return N(A, [
|
|
18
|
+
"alpha",
|
|
19
|
+
"unsharpAmount",
|
|
20
|
+
"unsharpRadius",
|
|
21
|
+
"unsharpThreshold",
|
|
22
|
+
"cancelToken"
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
var J = N, $ = V, W = {
|
|
26
|
+
assign: K,
|
|
27
|
+
pick: J,
|
|
28
|
+
pick_pica_resize_options: $
|
|
29
|
+
};
|
|
30
|
+
function q(A) {
|
|
31
|
+
var I = { exports: {} };
|
|
32
|
+
return A(I, I.exports), I.exports;
|
|
33
|
+
}
|
|
34
|
+
function H(A) {
|
|
35
|
+
throw new Error('Could not dynamically require "' + A + '". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.');
|
|
36
|
+
}
|
|
37
|
+
/*!
|
|
38
|
+
|
|
39
|
+
pica
|
|
40
|
+
https://github.com/nodeca/pica
|
|
41
|
+
|
|
42
|
+
*/
|
|
43
|
+
var X = q(function(A, I) {
|
|
44
|
+
(function(d) {
|
|
45
|
+
A.exports = d();
|
|
46
|
+
})(function() {
|
|
47
|
+
return (/* @__PURE__ */ (function() {
|
|
48
|
+
function d(h, x, g) {
|
|
49
|
+
function c(e, i) {
|
|
50
|
+
if (!x[e]) {
|
|
51
|
+
if (!h[e]) {
|
|
52
|
+
var a = typeof H == "function" && H;
|
|
53
|
+
if (!i && a) return a(e, !0);
|
|
54
|
+
if (r) return r(e, !0);
|
|
55
|
+
var n = new Error("Cannot find module '" + e + "'");
|
|
56
|
+
throw n.code = "MODULE_NOT_FOUND", n;
|
|
57
|
+
}
|
|
58
|
+
var s = x[e] = { exports: {} };
|
|
59
|
+
h[e][0].call(s.exports, function(f) {
|
|
60
|
+
var u = h[e][1][f];
|
|
61
|
+
return c(u || f);
|
|
62
|
+
}, s, s.exports, d, h, x, g);
|
|
63
|
+
}
|
|
64
|
+
return x[e].exports;
|
|
65
|
+
}
|
|
66
|
+
for (var r = typeof H == "function" && H, t = 0; t < g.length; t++) c(g[t]);
|
|
67
|
+
return c;
|
|
68
|
+
}
|
|
69
|
+
return d;
|
|
70
|
+
})())({ 1: [function(d, h, x) {
|
|
71
|
+
var g = d("inherits"), c = d("multimath"), r = d("./mm_unsharp_mask"), t = d("./mm_resize");
|
|
72
|
+
function e(i) {
|
|
73
|
+
var a = i || [], n = {
|
|
74
|
+
js: a.indexOf("js") >= 0,
|
|
75
|
+
wasm: a.indexOf("wasm") >= 0
|
|
76
|
+
};
|
|
77
|
+
c.call(this, n), this.features = {
|
|
78
|
+
js: n.js,
|
|
79
|
+
wasm: n.wasm && this.has_wasm()
|
|
80
|
+
}, this.use(r), this.use(t);
|
|
81
|
+
}
|
|
82
|
+
g(e, c), e.prototype.resizeAndUnsharp = function(a, n) {
|
|
83
|
+
var s = this.resize(a, n);
|
|
84
|
+
return a.unsharpAmount && this.unsharp_mask(s, a.toWidth, a.toHeight, a.unsharpAmount, a.unsharpRadius, a.unsharpThreshold), s;
|
|
85
|
+
}, h.exports = e;
|
|
86
|
+
}, { "./mm_resize": 4, "./mm_unsharp_mask": 9, inherits: 19, multimath: 20 }], 2: [function(d, h, x) {
|
|
87
|
+
function g(t) {
|
|
88
|
+
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
89
|
+
}
|
|
90
|
+
function c(t, e, i, a, n, s) {
|
|
91
|
+
var f, u, l, y, m, b, B, C, F, O, E, k = 0, R = 0;
|
|
92
|
+
for (F = 0; F < a; F++) {
|
|
93
|
+
for (m = 0, O = 0; O < n; O++) {
|
|
94
|
+
for (b = s[m++], B = s[m++], C = k + b * 4 | 0, f = u = l = y = 0; B > 0; B--)
|
|
95
|
+
E = s[m++], y = y + E * t[C + 3] | 0, l = l + E * t[C + 2] | 0, u = u + E * t[C + 1] | 0, f = f + E * t[C] | 0, C = C + 4 | 0;
|
|
96
|
+
e[R + 3] = g(
|
|
97
|
+
y + 8192 >> 14
|
|
98
|
+
/*FIXED_FRAC_BITS*/
|
|
99
|
+
), e[R + 2] = g(
|
|
100
|
+
l + 8192 >> 14
|
|
101
|
+
/*FIXED_FRAC_BITS*/
|
|
102
|
+
), e[R + 1] = g(
|
|
103
|
+
u + 8192 >> 14
|
|
104
|
+
/*FIXED_FRAC_BITS*/
|
|
105
|
+
), e[R] = g(
|
|
106
|
+
f + 8192 >> 14
|
|
107
|
+
/*FIXED_FRAC_BITS*/
|
|
108
|
+
), R = R + a * 4 | 0;
|
|
109
|
+
}
|
|
110
|
+
R = (F + 1) * 4 | 0, k = (F + 1) * i * 4 | 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function r(t, e, i, a, n, s) {
|
|
114
|
+
var f, u, l, y, m, b, B, C, F, O, E, k = 0, R = 0;
|
|
115
|
+
for (F = 0; F < a; F++) {
|
|
116
|
+
for (m = 0, O = 0; O < n; O++) {
|
|
117
|
+
for (b = s[m++], B = s[m++], C = k + b * 4 | 0, f = u = l = y = 0; B > 0; B--)
|
|
118
|
+
E = s[m++], y = y + E * t[C + 3] | 0, l = l + E * t[C + 2] | 0, u = u + E * t[C + 1] | 0, f = f + E * t[C] | 0, C = C + 4 | 0;
|
|
119
|
+
e[R + 3] = g(
|
|
120
|
+
y + 8192 >> 14
|
|
121
|
+
/*FIXED_FRAC_BITS*/
|
|
122
|
+
), e[R + 2] = g(
|
|
123
|
+
l + 8192 >> 14
|
|
124
|
+
/*FIXED_FRAC_BITS*/
|
|
125
|
+
), e[R + 1] = g(
|
|
126
|
+
u + 8192 >> 14
|
|
127
|
+
/*FIXED_FRAC_BITS*/
|
|
128
|
+
), e[R] = g(
|
|
129
|
+
f + 8192 >> 14
|
|
130
|
+
/*FIXED_FRAC_BITS*/
|
|
131
|
+
), R = R + a * 4 | 0;
|
|
132
|
+
}
|
|
133
|
+
R = (F + 1) * 4 | 0, k = (F + 1) * i * 4 | 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
h.exports = {
|
|
137
|
+
convolveHorizontally: c,
|
|
138
|
+
convolveVertically: r
|
|
139
|
+
};
|
|
140
|
+
}, {}], 3: [function(d, h, x) {
|
|
141
|
+
h.exports = "AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs=";
|
|
142
|
+
}, {}], 4: [function(d, h, x) {
|
|
143
|
+
h.exports = {
|
|
144
|
+
name: "resize",
|
|
145
|
+
fn: d("./resize"),
|
|
146
|
+
wasm_fn: d("./resize_wasm"),
|
|
147
|
+
wasm_src: d("./convolve_wasm_base64")
|
|
148
|
+
};
|
|
149
|
+
}, { "./convolve_wasm_base64": 3, "./resize": 5, "./resize_wasm": 8 }], 5: [function(d, h, x) {
|
|
150
|
+
var g = d("./resize_filter_gen"), c = d("./convolve").convolveHorizontally, r = d("./convolve").convolveVertically;
|
|
151
|
+
function t(e, i, a) {
|
|
152
|
+
for (var n = 3, s = i * a * 4 | 0; n < s; )
|
|
153
|
+
e[n] = 255, n = n + 4 | 0;
|
|
154
|
+
}
|
|
155
|
+
h.exports = function(i) {
|
|
156
|
+
var a = i.src, n = i.width, s = i.height, f = i.toWidth, u = i.toHeight, l = i.scaleX || i.toWidth / i.width, y = i.scaleY || i.toHeight / i.height, m = i.offsetX || 0, b = i.offsetY || 0, B = i.dest || new Uint8Array(f * u * 4), C = typeof i.quality > "u" ? 3 : i.quality, F = i.alpha || !1, O = g(C, n, f, l, m), E = g(C, s, u, y, b), k = new Uint8Array(f * s * 4);
|
|
157
|
+
return c(a, k, n, s, f, O), r(k, B, s, f, u, E), F || t(B, f, u), B;
|
|
158
|
+
};
|
|
159
|
+
}, { "./convolve": 2, "./resize_filter_gen": 6 }], 6: [function(d, h, x) {
|
|
160
|
+
var g = d("./resize_filter_info"), c = 14;
|
|
161
|
+
function r(t) {
|
|
162
|
+
return Math.round(t * ((1 << c) - 1));
|
|
163
|
+
}
|
|
164
|
+
h.exports = function(e, i, a, n, s) {
|
|
165
|
+
var f = g[e].filter, u = 1 / n, l = Math.min(1, n), y = g[e].win / l, m, b, B, C, F, O, E, k, R, D, S, j, G, o, p, _, v, w = Math.floor((y + 1) * 2), U = new Int16Array((w + 2) * a), Q = 0, M = !U.subarray || !U.set;
|
|
166
|
+
for (m = 0; m < a; m++) {
|
|
167
|
+
for (b = (m + 0.5) * u + s, B = Math.max(0, Math.floor(b - y)), C = Math.min(i - 1, Math.ceil(b + y)), F = C - B + 1, O = new Float32Array(F), E = new Int16Array(F), k = 0, R = B, D = 0; R <= C; R++, D++)
|
|
168
|
+
S = f((R + 0.5 - b) * l), k += S, O[D] = S;
|
|
169
|
+
for (j = 0, D = 0; D < O.length; D++)
|
|
170
|
+
G = O[D] / k, j += G, E[D] = r(G);
|
|
171
|
+
for (E[a >> 1] += r(1 - j), o = 0; o < E.length && E[o] === 0; )
|
|
172
|
+
o++;
|
|
173
|
+
if (o < E.length) {
|
|
174
|
+
for (p = E.length - 1; p > 0 && E[p] === 0; )
|
|
175
|
+
p--;
|
|
176
|
+
if (_ = B + o, v = p - o + 1, U[Q++] = _, U[Q++] = v, !M)
|
|
177
|
+
U.set(E.subarray(o, p + 1), Q), Q += v;
|
|
178
|
+
else
|
|
179
|
+
for (D = o; D <= p; D++)
|
|
180
|
+
U[Q++] = E[D];
|
|
181
|
+
} else
|
|
182
|
+
U[Q++] = 0, U[Q++] = 0;
|
|
183
|
+
}
|
|
184
|
+
return U;
|
|
185
|
+
};
|
|
186
|
+
}, { "./resize_filter_info": 7 }], 7: [function(d, h, x) {
|
|
187
|
+
h.exports = [{
|
|
188
|
+
// Nearest neibor (Box)
|
|
189
|
+
win: 0.5,
|
|
190
|
+
filter: function(c) {
|
|
191
|
+
return c >= -0.5 && c < 0.5 ? 1 : 0;
|
|
192
|
+
}
|
|
193
|
+
}, {
|
|
194
|
+
// Hamming
|
|
195
|
+
win: 1,
|
|
196
|
+
filter: function(c) {
|
|
197
|
+
if (c <= -1 || c >= 1)
|
|
198
|
+
return 0;
|
|
199
|
+
if (c > -11920929e-14 && c < 11920929e-14)
|
|
200
|
+
return 1;
|
|
201
|
+
var r = c * Math.PI;
|
|
202
|
+
return Math.sin(r) / r * (0.54 + 0.46 * Math.cos(r / 1));
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
// Lanczos, win = 2
|
|
206
|
+
win: 2,
|
|
207
|
+
filter: function(c) {
|
|
208
|
+
if (c <= -2 || c >= 2)
|
|
209
|
+
return 0;
|
|
210
|
+
if (c > -11920929e-14 && c < 11920929e-14)
|
|
211
|
+
return 1;
|
|
212
|
+
var r = c * Math.PI;
|
|
213
|
+
return Math.sin(r) / r * Math.sin(r / 2) / (r / 2);
|
|
214
|
+
}
|
|
215
|
+
}, {
|
|
216
|
+
// Lanczos, win = 3
|
|
217
|
+
win: 3,
|
|
218
|
+
filter: function(c) {
|
|
219
|
+
if (c <= -3 || c >= 3)
|
|
220
|
+
return 0;
|
|
221
|
+
if (c > -11920929e-14 && c < 11920929e-14)
|
|
222
|
+
return 1;
|
|
223
|
+
var r = c * Math.PI;
|
|
224
|
+
return Math.sin(r) / r * Math.sin(r / 3) / (r / 3);
|
|
225
|
+
}
|
|
226
|
+
}];
|
|
227
|
+
}, {}], 8: [function(d, h, x) {
|
|
228
|
+
var g = d("./resize_filter_gen");
|
|
229
|
+
function c(i, a, n) {
|
|
230
|
+
for (var s = 3, f = a * n * 4 | 0; s < f; )
|
|
231
|
+
i[s] = 255, s = s + 4 | 0;
|
|
232
|
+
}
|
|
233
|
+
function r(i) {
|
|
234
|
+
return new Uint8Array(i.buffer, 0, i.byteLength);
|
|
235
|
+
}
|
|
236
|
+
var t = !0;
|
|
237
|
+
try {
|
|
238
|
+
t = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1;
|
|
239
|
+
} catch {
|
|
240
|
+
}
|
|
241
|
+
function e(i, a, n) {
|
|
242
|
+
if (t) {
|
|
243
|
+
a.set(r(i), n);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
for (var s = n, f = 0; f < i.length; f++) {
|
|
247
|
+
var u = i[f];
|
|
248
|
+
a[s++] = u & 255, a[s++] = u >> 8 & 255;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
h.exports = function(a) {
|
|
252
|
+
var n = a.src, s = a.width, f = a.height, u = a.toWidth, l = a.toHeight, y = a.scaleX || a.toWidth / a.width, m = a.scaleY || a.toHeight / a.height, b = a.offsetX || 0, B = a.offsetY || 0, C = a.dest || new Uint8Array(u * l * 4), F = typeof a.quality > "u" ? 3 : a.quality, O = a.alpha || !1, E = g(F, s, u, y, b), k = g(F, f, l, m, B), R = 0, D = this.__align(R + Math.max(n.byteLength, C.byteLength)), S = this.__align(D + f * u * 4), j = this.__align(S + E.byteLength), G = j + k.byteLength, o = this.__instance("resize", G), p = new Uint8Array(this.__memory.buffer), _ = new Uint32Array(this.__memory.buffer), v = new Uint32Array(n.buffer);
|
|
253
|
+
_.set(v), e(E, p, S), e(k, p, j);
|
|
254
|
+
var w = o.exports.convolveHV || o.exports._convolveHV;
|
|
255
|
+
w(S, j, D, s, f, u, l);
|
|
256
|
+
var U = new Uint32Array(C.buffer);
|
|
257
|
+
return U.set(new Uint32Array(this.__memory.buffer, 0, l * u)), O || c(C, u, l), C;
|
|
258
|
+
};
|
|
259
|
+
}, { "./resize_filter_gen": 6 }], 9: [function(d, h, x) {
|
|
260
|
+
h.exports = {
|
|
261
|
+
name: "unsharp_mask",
|
|
262
|
+
fn: d("./unsharp_mask"),
|
|
263
|
+
wasm_fn: d("./unsharp_mask_wasm"),
|
|
264
|
+
wasm_src: d("./unsharp_mask_wasm_base64")
|
|
265
|
+
};
|
|
266
|
+
}, { "./unsharp_mask": 10, "./unsharp_mask_wasm": 11, "./unsharp_mask_wasm_base64": 12 }], 10: [function(d, h, x) {
|
|
267
|
+
var g = d("glur/mono16");
|
|
268
|
+
function c(r, t, e) {
|
|
269
|
+
for (var i = t * e, a = new Uint16Array(i), n, s, f, u, l = 0; l < i; l++)
|
|
270
|
+
n = r[4 * l], s = r[4 * l + 1], f = r[4 * l + 2], u = n >= s && n >= f ? n : s >= f && s >= n ? s : f, a[l] = u << 8;
|
|
271
|
+
return a;
|
|
272
|
+
}
|
|
273
|
+
h.exports = function(t, e, i, a, n, s) {
|
|
274
|
+
var f, u, l, y, m;
|
|
275
|
+
if (!(a === 0 || n < 0.5)) {
|
|
276
|
+
n > 2 && (n = 2);
|
|
277
|
+
var b = c(t, e, i), B = new Uint16Array(b);
|
|
278
|
+
g(B, e, i, n);
|
|
279
|
+
for (var C = a / 100 * 4096 + 0.5 | 0, F = s << 8, O = e * i, E = 0; E < O; E++)
|
|
280
|
+
f = b[E], y = f - B[E], Math.abs(y) >= F && (u = f + (C * y + 2048 >> 12), u = u > 65280 ? 65280 : u, u = u < 0 ? 0 : u, f = f !== 0 ? f : 1, l = (u << 12) / f | 0, m = E * 4, t[m] = t[m] * l + 2048 >> 12, t[m + 1] = t[m + 1] * l + 2048 >> 12, t[m + 2] = t[m + 2] * l + 2048 >> 12);
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
}, { "glur/mono16": 18 }], 11: [function(d, h, x) {
|
|
284
|
+
h.exports = function(c, r, t, e, i, a) {
|
|
285
|
+
if (!(e === 0 || i < 0.5)) {
|
|
286
|
+
i > 2 && (i = 2);
|
|
287
|
+
var n = r * t, s = n * 4, f = n * 2, u = n * 2, l = Math.max(r, t) * 4, y = 32, m = 0, b = s, B = b + f, C = B + u, F = C + u, O = F + l, E = this.__instance("unsharp_mask", s + f + u * 2 + l + y, {
|
|
288
|
+
exp: Math.exp
|
|
289
|
+
}), k = new Uint32Array(c.buffer), R = new Uint32Array(this.__memory.buffer);
|
|
290
|
+
R.set(k);
|
|
291
|
+
var D = E.exports.hsv_v16 || E.exports._hsv_v16;
|
|
292
|
+
D(m, b, r, t), D = E.exports.blurMono16 || E.exports._blurMono16, D(b, B, C, F, O, r, t, i), D = E.exports.unsharp || E.exports._unsharp, D(m, m, b, B, r, t, e, a), k.set(new Uint32Array(this.__memory.buffer, 0, n));
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
}, {}], 12: [function(d, h, x) {
|
|
296
|
+
h.exports = "AGFzbQEAAAAADAZkeWxpbmsAAAAAAAE0B2AAAGAEf39/fwBgBn9/f39/fwBgCH9/f39/f39/AGAIf39/f39/f30AYAJ9fwBgAXwBfAIZAgNlbnYDZXhwAAYDZW52Bm1lbW9yeQIAAAMHBgAFAgQBAwYGAX8AQQALB4oBCBFfX3dhc21fY2FsbF9jdG9ycwABFl9fYnVpbGRfZ2F1c3NpYW5fY29lZnMAAg5fX2dhdXNzMTZfbGluZQADCmJsdXJNb25vMTYABAdoc3ZfdjE2AAUHdW5zaGFycAAGDF9fZHNvX2hhbmRsZQMAGF9fd2FzbV9hcHBseV9kYXRhX3JlbG9jcwABCsUMBgMAAQvWAQEHfCABRNuGukOCGvs/IAC7oyICRAAAAAAAAADAohAAIgW2jDgCFCABIAKaEAAiAyADoCIGtjgCECABRAAAAAAAAPA/IAOhIgQgBKIgAyACIAKgokQAAAAAAADwP6AgBaGjIgS2OAIAIAEgBSAEmqIiB7Y4AgwgASADIAJEAAAAAAAA8D+gIASioiIItjgCCCABIAMgAkQAAAAAAADwv6AgBKKiIgK2OAIEIAEgByAIoCAFRAAAAAAAAPA/IAahoCIDo7Y4AhwgASAEIAKgIAOjtjgCGAuGBQMGfwl8An0gAyoCDCEVIAMqAgghFiADKgIUuyERIAMqAhC7IRACQCAEQQFrIghBAEgiCQRAIAIhByAAIQYMAQsgAiAALwEAuCIPIAMqAhi7oiIMIBGiIg0gDCAQoiAPIAMqAgS7IhOiIhQgAyoCALsiEiAPoqCgoCIOtjgCACACQQRqIQcgAEECaiEGIAhFDQAgCEEBIAhBAUgbIgpBf3MhCwJ/IAQgCmtBAXFFBEAgDiENIAgMAQsgAiANIA4gEKIgFCASIAAvAQK4Ig+ioKCgIg22OAIEIAJBCGohByAAQQRqIQYgDiEMIARBAmsLIQIgC0EAIARrRg0AA0AgByAMIBGiIA0gEKIgDyAToiASIAYvAQC4Ig6ioKCgIgy2OAIAIAcgDSARoiAMIBCiIA4gE6IgEiAGLwECuCIPoqCgoCINtjgCBCAHQQhqIQcgBkEEaiEGIAJBAkohACACQQJrIQIgAA0ACwsCQCAJDQAgASAFIAhsQQF0aiIAAn8gBkECay8BACICuCINIBW7IhKiIA0gFrsiE6KgIA0gAyoCHLuiIgwgEKKgIAwgEaKgIg8gB0EEayIHKgIAu6AiDkQAAAAAAADwQWMgDkQAAAAAAAAAAGZxBEAgDqsMAQtBAAs7AQAgCEUNACAGQQRrIQZBACAFa0EBdCEBA0ACfyANIBKiIAJB//8DcbgiDSAToqAgDyIOIBCioCAMIBGioCIPIAdBBGsiByoCALugIgxEAAAAAAAA8EFjIAxEAAAAAAAAAABmcQRAIAyrDAELQQALIQMgBi8BACECIAAgAWoiACADOwEAIAZBAmshBiAIQQFKIQMgDiEMIAhBAWshCCADDQALCwvRAgIBfwd8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIglEAAAAAAAAAMCiEAAiDLaMOAIUIAQgCZoQACIKIAqgIg22OAIQIAREAAAAAAAA8D8gCqEiCyALoiAKIAkgCaCiRAAAAAAAAPA/oCAMoaMiC7Y4AgAgBCAMIAuaoiIOtjgCDCAEIAogCUQAAAAAAADwP6AgC6KiIg+2OAIIIAQgCiAJRAAAAAAAAPC/oCALoqIiCbY4AgQgBCAOIA+gIAxEAAAAAAAA8D8gDaGgIgqjtjgCHCAEIAsgCaAgCqO2OAIYIAYEQANAIAAgBSAIbEEBdGogAiAIQQF0aiADIAQgBSAGEAMgCEEBaiIIIAZHDQALCyAFRQ0AQQAhCANAIAIgBiAIbEEBdGogASAIQQF0aiADIAQgBiAFEAMgCEEBaiIIIAVHDQALCwtxAQN/IAIgA2wiBQRAA0AgASAAKAIAIgRBEHZB/wFxIgIgAiAEQQh2Qf8BcSIDIAMgBEH/AXEiBEkbIAIgA0sbIgYgBiAEIAIgBEsbIAMgBEsbQQh0OwEAIAFBAmohASAAQQRqIQAgBUEBayIFDQALCwuZAgIDfwF8IAQgBWwhBAJ/IAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6AiC5lEAAAAAAAA4EFjBEAgC6oMAQtBgICAgHgLIQUgBARAIAdBCHQhCUEAIQYDQCAJIAIgBkEBdCIHai8BACIBIAMgB2ovAQBrIgcgB0EfdSIIaiAIc00EQCAAIAZBAnQiCGoiCiAFIAdsQYAQakEMdSABaiIHQYD+AyAHQYD+A0gbIgdBACAHQQBKG0EMdCABQQEgARtuIgEgCi0AAGxBgBBqQQx2OgAAIAAgCEEBcmoiByABIActAABsQYAQakEMdjoAACAAIAhBAnJqIgcgASAHLQAAbEGAEGpBDHY6AAALIAZBAWoiBiAERw0ACwsL";
|
|
297
|
+
}, {}], 13: [function(d, h, x) {
|
|
298
|
+
var g = 100;
|
|
299
|
+
function c(r, t) {
|
|
300
|
+
this.create = r, this.available = [], this.acquired = {}, this.lastId = 1, this.timeoutId = 0, this.idle = t || 2e3;
|
|
301
|
+
}
|
|
302
|
+
c.prototype.acquire = function() {
|
|
303
|
+
var r = this, t;
|
|
304
|
+
return this.available.length !== 0 ? t = this.available.pop() : (t = this.create(), t.id = this.lastId++, t.release = function() {
|
|
305
|
+
return r.release(t);
|
|
306
|
+
}), this.acquired[t.id] = t, t;
|
|
307
|
+
}, c.prototype.release = function(r) {
|
|
308
|
+
var t = this;
|
|
309
|
+
delete this.acquired[r.id], r.lastUsed = Date.now(), this.available.push(r), this.timeoutId === 0 && (this.timeoutId = setTimeout(function() {
|
|
310
|
+
return t.gc();
|
|
311
|
+
}, g));
|
|
312
|
+
}, c.prototype.gc = function() {
|
|
313
|
+
var r = this, t = Date.now();
|
|
314
|
+
this.available = this.available.filter(function(e) {
|
|
315
|
+
return t - e.lastUsed > r.idle ? (e.destroy(), !1) : !0;
|
|
316
|
+
}), this.available.length !== 0 ? this.timeoutId = setTimeout(function() {
|
|
317
|
+
return r.gc();
|
|
318
|
+
}, g) : this.timeoutId = 0;
|
|
319
|
+
}, h.exports = c;
|
|
320
|
+
}, {}], 14: [function(d, h, x) {
|
|
321
|
+
var g = 2;
|
|
322
|
+
h.exports = function(r, t, e, i, a, n) {
|
|
323
|
+
var s = e / r, f = i / t, u = (2 * n + g + 1) / a;
|
|
324
|
+
if (u > 0.5) return [[e, i]];
|
|
325
|
+
var l = Math.ceil(Math.log(Math.min(s, f)) / Math.log(u));
|
|
326
|
+
if (l <= 1) return [[e, i]];
|
|
327
|
+
for (var y = [], m = 0; m < l; m++) {
|
|
328
|
+
var b = Math.round(Math.pow(Math.pow(r, l - m - 1) * Math.pow(e, m + 1), 1 / l)), B = Math.round(Math.pow(Math.pow(t, l - m - 1) * Math.pow(i, m + 1), 1 / l));
|
|
329
|
+
y.push([b, B]);
|
|
330
|
+
}
|
|
331
|
+
return y;
|
|
332
|
+
};
|
|
333
|
+
}, {}], 15: [function(d, h, x) {
|
|
334
|
+
var g = 1e-5;
|
|
335
|
+
function c(t) {
|
|
336
|
+
var e = Math.round(t);
|
|
337
|
+
return Math.abs(t - e) < g ? e : Math.floor(t);
|
|
338
|
+
}
|
|
339
|
+
function r(t) {
|
|
340
|
+
var e = Math.round(t);
|
|
341
|
+
return Math.abs(t - e) < g ? e : Math.ceil(t);
|
|
342
|
+
}
|
|
343
|
+
h.exports = function(e) {
|
|
344
|
+
var i = e.toWidth / e.width, a = e.toHeight / e.height, n = c(e.srcTileSize * i) - 2 * e.destTileBorder, s = c(e.srcTileSize * a) - 2 * e.destTileBorder;
|
|
345
|
+
if (n < 1 || s < 1)
|
|
346
|
+
throw new Error("Internal error in pica: target tile width/height is too small.");
|
|
347
|
+
var f, u, l, y, m, b, B = [], C;
|
|
348
|
+
for (y = 0; y < e.toHeight; y += s)
|
|
349
|
+
for (l = 0; l < e.toWidth; l += n)
|
|
350
|
+
f = l - e.destTileBorder, f < 0 && (f = 0), m = l + n + e.destTileBorder - f, f + m >= e.toWidth && (m = e.toWidth - f), u = y - e.destTileBorder, u < 0 && (u = 0), b = y + s + e.destTileBorder - u, u + b >= e.toHeight && (b = e.toHeight - u), C = {
|
|
351
|
+
toX: f,
|
|
352
|
+
toY: u,
|
|
353
|
+
toWidth: m,
|
|
354
|
+
toHeight: b,
|
|
355
|
+
toInnerX: l,
|
|
356
|
+
toInnerY: y,
|
|
357
|
+
toInnerWidth: n,
|
|
358
|
+
toInnerHeight: s,
|
|
359
|
+
offsetX: f / i - c(f / i),
|
|
360
|
+
offsetY: u / a - c(u / a),
|
|
361
|
+
scaleX: i,
|
|
362
|
+
scaleY: a,
|
|
363
|
+
x: c(f / i),
|
|
364
|
+
y: c(u / a),
|
|
365
|
+
width: r(m / i),
|
|
366
|
+
height: r(b / a)
|
|
367
|
+
}, B.push(C);
|
|
368
|
+
return B;
|
|
369
|
+
};
|
|
370
|
+
}, {}], 16: [function(d, h, x) {
|
|
371
|
+
function g(c) {
|
|
372
|
+
return Object.prototype.toString.call(c);
|
|
373
|
+
}
|
|
374
|
+
h.exports.isCanvas = function(r) {
|
|
375
|
+
var t = g(r);
|
|
376
|
+
return t === "[object HTMLCanvasElement]" || t === "[object OffscreenCanvas]" || t === "[object Canvas]";
|
|
377
|
+
}, h.exports.isImage = function(r) {
|
|
378
|
+
return g(r) === "[object HTMLImageElement]";
|
|
379
|
+
}, h.exports.isImageBitmap = function(r) {
|
|
380
|
+
return g(r) === "[object ImageBitmap]";
|
|
381
|
+
}, h.exports.limiter = function(r) {
|
|
382
|
+
var t = 0, e = [];
|
|
383
|
+
function i() {
|
|
384
|
+
t < r && e.length && (t++, e.shift()());
|
|
385
|
+
}
|
|
386
|
+
return function(n) {
|
|
387
|
+
return new Promise(function(s, f) {
|
|
388
|
+
e.push(function() {
|
|
389
|
+
n().then(function(u) {
|
|
390
|
+
s(u), t--, i();
|
|
391
|
+
}, function(u) {
|
|
392
|
+
f(u), t--, i();
|
|
393
|
+
});
|
|
394
|
+
}), i();
|
|
395
|
+
});
|
|
396
|
+
};
|
|
397
|
+
}, h.exports.cib_quality_name = function(r) {
|
|
398
|
+
switch (r) {
|
|
399
|
+
case 0:
|
|
400
|
+
return "pixelated";
|
|
401
|
+
case 1:
|
|
402
|
+
return "low";
|
|
403
|
+
case 2:
|
|
404
|
+
return "medium";
|
|
405
|
+
}
|
|
406
|
+
return "high";
|
|
407
|
+
}, h.exports.cib_support = function(r) {
|
|
408
|
+
return Promise.resolve().then(function() {
|
|
409
|
+
if (typeof createImageBitmap > "u")
|
|
410
|
+
return !1;
|
|
411
|
+
var t = r(100, 100);
|
|
412
|
+
return createImageBitmap(t, 0, 0, 100, 100, {
|
|
413
|
+
resizeWidth: 10,
|
|
414
|
+
resizeHeight: 10,
|
|
415
|
+
resizeQuality: "high"
|
|
416
|
+
}).then(function(e) {
|
|
417
|
+
var i = e.width === 10;
|
|
418
|
+
return e.close(), t = null, i;
|
|
419
|
+
});
|
|
420
|
+
}).catch(function() {
|
|
421
|
+
return !1;
|
|
422
|
+
});
|
|
423
|
+
}, h.exports.worker_offscreen_canvas_support = function() {
|
|
424
|
+
return new Promise(function(r, t) {
|
|
425
|
+
if (typeof OffscreenCanvas > "u") {
|
|
426
|
+
r(!1);
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
function e(n) {
|
|
430
|
+
if (typeof createImageBitmap > "u") {
|
|
431
|
+
n.postMessage(!1);
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
Promise.resolve().then(function() {
|
|
435
|
+
var s = new OffscreenCanvas(10, 10), f = s.getContext("2d");
|
|
436
|
+
return f.rect(0, 0, 1, 1), createImageBitmap(s, 0, 0, 1, 1);
|
|
437
|
+
}).then(function() {
|
|
438
|
+
return n.postMessage(!0);
|
|
439
|
+
}, function() {
|
|
440
|
+
return n.postMessage(!1);
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
var i = btoa("(".concat(e.toString(), ")(self);")), a = new Worker("data:text/javascript;base64,".concat(i));
|
|
444
|
+
a.onmessage = function(n) {
|
|
445
|
+
return r(n.data);
|
|
446
|
+
}, a.onerror = t;
|
|
447
|
+
}).then(function(r) {
|
|
448
|
+
return r;
|
|
449
|
+
}, function() {
|
|
450
|
+
return !1;
|
|
451
|
+
});
|
|
452
|
+
}, h.exports.can_use_canvas = function(r) {
|
|
453
|
+
var t = !1;
|
|
454
|
+
try {
|
|
455
|
+
var e = r(2, 1), i = e.getContext("2d"), a = i.createImageData(2, 1);
|
|
456
|
+
a.data[0] = 12, a.data[1] = 23, a.data[2] = 34, a.data[3] = 255, a.data[4] = 45, a.data[5] = 56, a.data[6] = 67, a.data[7] = 255, i.putImageData(a, 0, 0), a = null, a = i.getImageData(0, 0, 2, 1), a.data[0] === 12 && a.data[1] === 23 && a.data[2] === 34 && a.data[3] === 255 && a.data[4] === 45 && a.data[5] === 56 && a.data[6] === 67 && a.data[7] === 255 && (t = !0);
|
|
457
|
+
} catch {
|
|
458
|
+
}
|
|
459
|
+
return t;
|
|
460
|
+
}, h.exports.cib_can_use_region = function() {
|
|
461
|
+
return new Promise(function(r) {
|
|
462
|
+
if (typeof createImageBitmap > "u") {
|
|
463
|
+
r(!1);
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
var t = new Image();
|
|
467
|
+
t.src = "data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z", t.onload = function() {
|
|
468
|
+
createImageBitmap(t, 0, 0, t.width, t.height).then(function(e) {
|
|
469
|
+
e.width === t.width && e.height === t.height ? r(!0) : r(!1);
|
|
470
|
+
}, function() {
|
|
471
|
+
return r(!1);
|
|
472
|
+
});
|
|
473
|
+
}, t.onerror = function() {
|
|
474
|
+
return r(!1);
|
|
475
|
+
};
|
|
476
|
+
});
|
|
477
|
+
};
|
|
478
|
+
}, {}], 17: [function(d, h, x) {
|
|
479
|
+
h.exports = function() {
|
|
480
|
+
var g = d("./mathlib"), c;
|
|
481
|
+
onmessage = function(t) {
|
|
482
|
+
var e = t.data.opts, i = !1;
|
|
483
|
+
if (!e.src && e.srcBitmap) {
|
|
484
|
+
var a = new OffscreenCanvas(e.width, e.height), n = a.getContext("2d", {
|
|
485
|
+
alpha: !!e.alpha
|
|
486
|
+
});
|
|
487
|
+
n.drawImage(e.srcBitmap, 0, 0), e.src = n.getImageData(0, 0, e.width, e.height).data, a.width = a.height = 0, a = null, e.srcBitmap.close(), e.srcBitmap = null, i = !0;
|
|
488
|
+
}
|
|
489
|
+
c || (c = new g(t.data.features));
|
|
490
|
+
var s = c.resizeAndUnsharp(e);
|
|
491
|
+
if (i) {
|
|
492
|
+
var f = new ImageData(new Uint8ClampedArray(s), e.toWidth, e.toHeight), u = new OffscreenCanvas(e.toWidth, e.toHeight), l = u.getContext("2d", {
|
|
493
|
+
alpha: !!e.alpha
|
|
494
|
+
});
|
|
495
|
+
l.putImageData(f, 0, 0), createImageBitmap(u).then(function(y) {
|
|
496
|
+
postMessage({
|
|
497
|
+
bitmap: y
|
|
498
|
+
}, [y]);
|
|
499
|
+
});
|
|
500
|
+
} else
|
|
501
|
+
postMessage({
|
|
502
|
+
data: s
|
|
503
|
+
}, [s.buffer]);
|
|
504
|
+
};
|
|
505
|
+
};
|
|
506
|
+
}, { "./mathlib": 1 }], 18: [function(d, h, x) {
|
|
507
|
+
var g, c, r, t, e, i, a, n;
|
|
508
|
+
function s(l) {
|
|
509
|
+
l < 0.5 && (l = 0.5);
|
|
510
|
+
var y = Math.exp(0.726 * 0.726) / l, m = Math.exp(-y), b = Math.exp(-2 * y), B = (1 - m) * (1 - m) / (1 + 2 * y * m - b);
|
|
511
|
+
return g = B, c = B * (y - 1) * m, r = B * (y + 1) * m, t = -B * b, e = 2 * m, i = -b, a = (g + c) / (1 - e - i), n = (r + t) / (1 - e - i), new Float32Array([g, c, r, t, e, i, a, n]);
|
|
512
|
+
}
|
|
513
|
+
function f(l, y, m, b, B, C) {
|
|
514
|
+
var F, O, E, k, R, D, S, j, G, o, p, _, v, w;
|
|
515
|
+
for (G = 0; G < C; G++) {
|
|
516
|
+
for (D = G * B, S = G, j = 0, F = l[D], R = F * b[6], k = R, p = b[0], _ = b[1], v = b[4], w = b[5], o = 0; o < B; o++)
|
|
517
|
+
O = l[D], E = O * p + F * _ + k * v + R * w, R = k, k = E, F = O, m[j] = k, j++, D++;
|
|
518
|
+
for (D--, j--, S += C * (B - 1), F = l[D], R = F * b[7], k = R, O = F, p = b[2], _ = b[3], o = B - 1; o >= 0; o--)
|
|
519
|
+
E = O * p + F * _ + k * v + R * w, R = k, k = E, F = O, O = l[D], y[S] = m[j] + k, D--, j--, S -= C;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
function u(l, y, m, b) {
|
|
523
|
+
if (b) {
|
|
524
|
+
var B = new Uint16Array(l.length), C = new Float32Array(Math.max(y, m)), F = s(b);
|
|
525
|
+
f(l, B, C, F, y, m), f(B, l, C, F, m, y);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
h.exports = u;
|
|
529
|
+
}, {}], 19: [function(d, h, x) {
|
|
530
|
+
typeof Object.create == "function" ? h.exports = function(c, r) {
|
|
531
|
+
r && (c.super_ = r, c.prototype = Object.create(r.prototype, {
|
|
532
|
+
constructor: {
|
|
533
|
+
value: c,
|
|
534
|
+
enumerable: !1,
|
|
535
|
+
writable: !0,
|
|
536
|
+
configurable: !0
|
|
537
|
+
}
|
|
538
|
+
}));
|
|
539
|
+
} : h.exports = function(c, r) {
|
|
540
|
+
if (r) {
|
|
541
|
+
c.super_ = r;
|
|
542
|
+
var t = function() {
|
|
543
|
+
};
|
|
544
|
+
t.prototype = r.prototype, c.prototype = new t(), c.prototype.constructor = c;
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
}, {}], 20: [function(d, h, x) {
|
|
548
|
+
var g = d("object-assign"), c = d("./lib/base64decode"), r = d("./lib/wa_detect"), t = {
|
|
549
|
+
js: !0,
|
|
550
|
+
wasm: !0
|
|
551
|
+
};
|
|
552
|
+
function e(i) {
|
|
553
|
+
if (!(this instanceof e)) return new e(i);
|
|
554
|
+
var a = g({}, t, i || {});
|
|
555
|
+
if (this.options = a, this.__cache = {}, this.__init_promise = null, this.__modules = a.modules || {}, this.__memory = null, this.__wasm = {}, this.__isLE = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1, !this.options.js && !this.options.wasm)
|
|
556
|
+
throw new Error('mathlib: at least "js" or "wasm" should be enabled');
|
|
557
|
+
}
|
|
558
|
+
e.prototype.has_wasm = r, e.prototype.use = function(i) {
|
|
559
|
+
return this.__modules[i.name] = i, this.options.wasm && this.has_wasm() && i.wasm_fn ? this[i.name] = i.wasm_fn : this[i.name] = i.fn, this;
|
|
560
|
+
}, e.prototype.init = function() {
|
|
561
|
+
if (this.__init_promise) return this.__init_promise;
|
|
562
|
+
if (!this.options.js && this.options.wasm && !this.has_wasm())
|
|
563
|
+
return Promise.reject(new Error(`mathlib: only "wasm" was enabled, but it's not supported`));
|
|
564
|
+
var i = this;
|
|
565
|
+
return this.__init_promise = Promise.all(Object.keys(i.__modules).map(function(a) {
|
|
566
|
+
var n = i.__modules[a];
|
|
567
|
+
return !i.options.wasm || !i.has_wasm() || !n.wasm_fn || i.__wasm[a] ? null : WebAssembly.compile(i.__base64decode(n.wasm_src)).then(function(s) {
|
|
568
|
+
i.__wasm[a] = s;
|
|
569
|
+
});
|
|
570
|
+
})).then(function() {
|
|
571
|
+
return i;
|
|
572
|
+
}), this.__init_promise;
|
|
573
|
+
}, e.prototype.__base64decode = c, e.prototype.__reallocate = function(a) {
|
|
574
|
+
if (!this.__memory)
|
|
575
|
+
return this.__memory = new WebAssembly.Memory({
|
|
576
|
+
initial: Math.ceil(a / (64 * 1024))
|
|
577
|
+
}), this.__memory;
|
|
578
|
+
var n = this.__memory.buffer.byteLength;
|
|
579
|
+
return n < a && this.__memory.grow(Math.ceil((a - n) / (64 * 1024))), this.__memory;
|
|
580
|
+
}, e.prototype.__instance = function(a, n, s) {
|
|
581
|
+
if (n && this.__reallocate(n), !this.__wasm[a]) {
|
|
582
|
+
var f = this.__modules[a];
|
|
583
|
+
this.__wasm[a] = new WebAssembly.Module(this.__base64decode(f.wasm_src));
|
|
584
|
+
}
|
|
585
|
+
if (!this.__cache[a]) {
|
|
586
|
+
var u = {
|
|
587
|
+
memoryBase: 0,
|
|
588
|
+
memory: this.__memory,
|
|
589
|
+
tableBase: 0,
|
|
590
|
+
table: new WebAssembly.Table({ initial: 0, element: "anyfunc" })
|
|
591
|
+
};
|
|
592
|
+
this.__cache[a] = new WebAssembly.Instance(this.__wasm[a], {
|
|
593
|
+
env: g(u, s || {})
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
return this.__cache[a];
|
|
597
|
+
}, e.prototype.__align = function(a, n) {
|
|
598
|
+
n = n || 8;
|
|
599
|
+
var s = a % n;
|
|
600
|
+
return a + (s ? n - s : 0);
|
|
601
|
+
}, h.exports = e;
|
|
602
|
+
}, { "./lib/base64decode": 21, "./lib/wa_detect": 22, "object-assign": 23 }], 21: [function(d, h, x) {
|
|
603
|
+
var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
604
|
+
h.exports = function(r) {
|
|
605
|
+
for (var t = r.replace(/[\r\n=]/g, ""), e = t.length, i = new Uint8Array(e * 3 >> 2), a = 0, n = 0, s = 0; s < e; s++)
|
|
606
|
+
s % 4 === 0 && s && (i[n++] = a >> 16 & 255, i[n++] = a >> 8 & 255, i[n++] = a & 255), a = a << 6 | g.indexOf(t.charAt(s));
|
|
607
|
+
var f = e % 4 * 6;
|
|
608
|
+
return f === 0 ? (i[n++] = a >> 16 & 255, i[n++] = a >> 8 & 255, i[n++] = a & 255) : f === 18 ? (i[n++] = a >> 10 & 255, i[n++] = a >> 2 & 255) : f === 12 && (i[n++] = a >> 4 & 255), i;
|
|
609
|
+
};
|
|
610
|
+
}, {}], 22: [function(d, h, x) {
|
|
611
|
+
var g;
|
|
612
|
+
h.exports = function() {
|
|
613
|
+
if (typeof g < "u" || (g = !1, typeof WebAssembly > "u")) return g;
|
|
614
|
+
try {
|
|
615
|
+
var r = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 1, 127, 1, 127, 3, 2, 1, 0, 5, 3, 1, 0, 1, 7, 8, 1, 4, 116, 101, 115, 116, 0, 0, 10, 16, 1, 14, 0, 32, 0, 65, 1, 54, 2, 0, 32, 0, 40, 2, 0, 11]), t = new WebAssembly.Module(r), e = new WebAssembly.Instance(t, {});
|
|
616
|
+
return e.exports.test(4) !== 0 && (g = !0), g;
|
|
617
|
+
} catch {
|
|
618
|
+
}
|
|
619
|
+
return g;
|
|
620
|
+
};
|
|
621
|
+
}, {}], 23: [function(d, h, x) {
|
|
622
|
+
var g = Object.getOwnPropertySymbols, c = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
623
|
+
function t(i) {
|
|
624
|
+
if (i == null)
|
|
625
|
+
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
626
|
+
return Object(i);
|
|
627
|
+
}
|
|
628
|
+
function e() {
|
|
629
|
+
try {
|
|
630
|
+
if (!Object.assign)
|
|
631
|
+
return !1;
|
|
632
|
+
var i = new String("abc");
|
|
633
|
+
if (i[5] = "de", Object.getOwnPropertyNames(i)[0] === "5")
|
|
634
|
+
return !1;
|
|
635
|
+
for (var a = {}, n = 0; n < 10; n++)
|
|
636
|
+
a["_" + String.fromCharCode(n)] = n;
|
|
637
|
+
var s = Object.getOwnPropertyNames(a).map(function(u) {
|
|
638
|
+
return a[u];
|
|
639
|
+
});
|
|
640
|
+
if (s.join("") !== "0123456789")
|
|
641
|
+
return !1;
|
|
642
|
+
var f = {};
|
|
643
|
+
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
644
|
+
f[u] = u;
|
|
645
|
+
}), Object.keys(Object.assign({}, f)).join("") === "abcdefghijklmnopqrst";
|
|
646
|
+
} catch {
|
|
647
|
+
return !1;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
h.exports = e() ? Object.assign : function(i, a) {
|
|
651
|
+
for (var n, s = t(i), f, u = 1; u < arguments.length; u++) {
|
|
652
|
+
n = Object(arguments[u]);
|
|
653
|
+
for (var l in n)
|
|
654
|
+
c.call(n, l) && (s[l] = n[l]);
|
|
655
|
+
if (g) {
|
|
656
|
+
f = g(n);
|
|
657
|
+
for (var y = 0; y < f.length; y++)
|
|
658
|
+
r.call(n, f[y]) && (s[f[y]] = n[f[y]]);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
return s;
|
|
662
|
+
};
|
|
663
|
+
}, {}], 24: [function(d, h, x) {
|
|
664
|
+
var g = arguments[3], c = arguments[4], r = arguments[5], t = JSON.stringify;
|
|
665
|
+
h.exports = function(e, i) {
|
|
666
|
+
for (var a, n = Object.keys(r), s = 0, f = n.length; s < f; s++) {
|
|
667
|
+
var u = n[s], l = r[u].exports;
|
|
668
|
+
if (l === e || l && l.default === e) {
|
|
669
|
+
a = u;
|
|
670
|
+
break;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
if (!a) {
|
|
674
|
+
a = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);
|
|
675
|
+
for (var y = {}, s = 0, f = n.length; s < f; s++) {
|
|
676
|
+
var u = n[s];
|
|
677
|
+
y[u] = u;
|
|
678
|
+
}
|
|
679
|
+
c[a] = [
|
|
680
|
+
"function(require,module,exports){" + e + "(self); }",
|
|
681
|
+
y
|
|
682
|
+
];
|
|
683
|
+
}
|
|
684
|
+
var m = Math.floor(Math.pow(16, 8) * Math.random()).toString(16), b = {};
|
|
685
|
+
b[a] = a, c[m] = [
|
|
686
|
+
"function(require,module,exports){var f = require(" + t(a) + ");(f.default ? f.default : f)(self);}",
|
|
687
|
+
b
|
|
688
|
+
];
|
|
689
|
+
var B = {};
|
|
690
|
+
C(m);
|
|
691
|
+
function C(D) {
|
|
692
|
+
B[D] = !0;
|
|
693
|
+
for (var S in c[D][1]) {
|
|
694
|
+
var j = c[D][1][S];
|
|
695
|
+
B[j] || C(j);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
var F = "(" + g + ")({" + Object.keys(B).map(function(D) {
|
|
699
|
+
return t(D) + ":[" + c[D][0] + "," + t(c[D][1]) + "]";
|
|
700
|
+
}).join(",") + "},{},[" + t(m) + "])", O = window.URL || window.webkitURL || window.mozURL || window.msURL, E = new Blob([F], { type: "text/javascript" });
|
|
701
|
+
if (i && i.bare)
|
|
702
|
+
return E;
|
|
703
|
+
var k = O.createObjectURL(E), R = new Worker(k);
|
|
704
|
+
return R.objectURL = k, R;
|
|
705
|
+
};
|
|
706
|
+
}, {}], "/index.js": [function(d, h, x) {
|
|
707
|
+
function g(o, p) {
|
|
708
|
+
return i(o) || e(o, p) || r(o, p) || c();
|
|
709
|
+
}
|
|
710
|
+
function c() {
|
|
711
|
+
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
712
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
713
|
+
}
|
|
714
|
+
function r(o, p) {
|
|
715
|
+
if (o) {
|
|
716
|
+
if (typeof o == "string") return t(o, p);
|
|
717
|
+
var _ = Object.prototype.toString.call(o).slice(8, -1);
|
|
718
|
+
if (_ === "Object" && o.constructor && (_ = o.constructor.name), _ === "Map" || _ === "Set") return Array.from(o);
|
|
719
|
+
if (_ === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)) return t(o, p);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
function t(o, p) {
|
|
723
|
+
(p == null || p > o.length) && (p = o.length);
|
|
724
|
+
for (var _ = 0, v = new Array(p); _ < p; _++)
|
|
725
|
+
v[_] = o[_];
|
|
726
|
+
return v;
|
|
727
|
+
}
|
|
728
|
+
function e(o, p) {
|
|
729
|
+
var _ = o == null ? null : typeof Symbol < "u" && o[Symbol.iterator] || o["@@iterator"];
|
|
730
|
+
if (_ != null) {
|
|
731
|
+
var v = [], w = !0, U = !1, Q, M;
|
|
732
|
+
try {
|
|
733
|
+
for (_ = _.call(o); !(w = (Q = _.next()).done) && (v.push(Q.value), !(p && v.length === p)); w = !0)
|
|
734
|
+
;
|
|
735
|
+
} catch (P) {
|
|
736
|
+
U = !0, M = P;
|
|
737
|
+
} finally {
|
|
738
|
+
try {
|
|
739
|
+
!w && _.return != null && _.return();
|
|
740
|
+
} finally {
|
|
741
|
+
if (U) throw M;
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
return v;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
function i(o) {
|
|
748
|
+
if (Array.isArray(o)) return o;
|
|
749
|
+
}
|
|
750
|
+
var a = d("object-assign"), n = d("webworkify"), s = d("./lib/mathlib"), f = d("./lib/pool"), u = d("./lib/utils"), l = d("./lib/worker"), y = d("./lib/stepper"), m = d("./lib/tiler"), b = {}, B = !1;
|
|
751
|
+
try {
|
|
752
|
+
typeof navigator < "u" && navigator.userAgent && (B = navigator.userAgent.indexOf("Safari") >= 0);
|
|
753
|
+
} catch {
|
|
754
|
+
}
|
|
755
|
+
var C = 1;
|
|
756
|
+
typeof navigator < "u" && (C = Math.min(navigator.hardwareConcurrency || 1, 4));
|
|
757
|
+
var F = {
|
|
758
|
+
tile: 1024,
|
|
759
|
+
concurrency: C,
|
|
760
|
+
features: ["js", "wasm", "ww"],
|
|
761
|
+
idle: 2e3,
|
|
762
|
+
createCanvas: function(p, _) {
|
|
763
|
+
var v = document.createElement("canvas");
|
|
764
|
+
return v.width = p, v.height = _, v;
|
|
765
|
+
}
|
|
766
|
+
}, O = {
|
|
767
|
+
quality: 3,
|
|
768
|
+
alpha: !1,
|
|
769
|
+
unsharpAmount: 0,
|
|
770
|
+
unsharpRadius: 0,
|
|
771
|
+
unsharpThreshold: 0
|
|
772
|
+
}, E = !1, k = !1, R = !1, D = !1, S = !1;
|
|
773
|
+
function j() {
|
|
774
|
+
return {
|
|
775
|
+
value: n(l),
|
|
776
|
+
destroy: function() {
|
|
777
|
+
if (this.value.terminate(), typeof window < "u") {
|
|
778
|
+
var p = window.URL || window.webkitURL || window.mozURL || window.msURL;
|
|
779
|
+
p && p.revokeObjectURL && this.value.objectURL && p.revokeObjectURL(this.value.objectURL);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
};
|
|
783
|
+
}
|
|
784
|
+
function G(o) {
|
|
785
|
+
if (!(this instanceof G)) return new G(o);
|
|
786
|
+
this.options = a({}, F, o || {});
|
|
787
|
+
var p = "lk_".concat(this.options.concurrency);
|
|
788
|
+
this.__limit = b[p] || u.limiter(this.options.concurrency), b[p] || (b[p] = this.__limit), this.features = {
|
|
789
|
+
js: !1,
|
|
790
|
+
// pure JS implementation, can be disabled for testing
|
|
791
|
+
wasm: !1,
|
|
792
|
+
// webassembly implementation for heavy functions
|
|
793
|
+
cib: !1,
|
|
794
|
+
// resize via createImageBitmap (only FF at this moment)
|
|
795
|
+
ww: !1
|
|
796
|
+
// webworkers
|
|
797
|
+
}, this.__workersPool = null, this.__requested_features = [], this.__mathlib = null;
|
|
798
|
+
}
|
|
799
|
+
G.prototype.init = function() {
|
|
800
|
+
var o = this;
|
|
801
|
+
if (this.__initPromise) return this.__initPromise;
|
|
802
|
+
if (typeof ImageData < "u" && typeof Uint8ClampedArray < "u")
|
|
803
|
+
try {
|
|
804
|
+
new ImageData(new Uint8ClampedArray(400), 10, 10), E = !0;
|
|
805
|
+
} catch {
|
|
806
|
+
}
|
|
807
|
+
typeof ImageBitmap < "u" && (ImageBitmap.prototype && ImageBitmap.prototype.close ? k = !0 : this.debug("ImageBitmap does not support .close(), disabled"));
|
|
808
|
+
var p = this.options.features.slice();
|
|
809
|
+
if (p.indexOf("all") >= 0 && (p = ["cib", "wasm", "js", "ww"]), this.__requested_features = p, this.__mathlib = new s(p), p.indexOf("ww") >= 0 && typeof window < "u" && "Worker" in window)
|
|
810
|
+
try {
|
|
811
|
+
var _ = d("webworkify")(function() {
|
|
812
|
+
});
|
|
813
|
+
_.terminate(), this.features.ww = !0;
|
|
814
|
+
var v = "wp_".concat(JSON.stringify(this.options));
|
|
815
|
+
b[v] ? this.__workersPool = b[v] : (this.__workersPool = new f(j, this.options.idle), b[v] = this.__workersPool);
|
|
816
|
+
} catch {
|
|
817
|
+
}
|
|
818
|
+
var w = this.__mathlib.init().then(function(P) {
|
|
819
|
+
a(o.features, P.features);
|
|
820
|
+
}), U;
|
|
821
|
+
k ? U = u.cib_support(this.options.createCanvas).then(function(P) {
|
|
822
|
+
if (o.features.cib && p.indexOf("cib") < 0) {
|
|
823
|
+
o.debug("createImageBitmap() resize supported, but disabled by config");
|
|
824
|
+
return;
|
|
825
|
+
}
|
|
826
|
+
p.indexOf("cib") >= 0 && (o.features.cib = P);
|
|
827
|
+
}) : U = Promise.resolve(!1), R = u.can_use_canvas(this.options.createCanvas);
|
|
828
|
+
var Q;
|
|
829
|
+
k && E && p.indexOf("ww") !== -1 ? Q = u.worker_offscreen_canvas_support() : Q = Promise.resolve(!1), Q = Q.then(function(P) {
|
|
830
|
+
D = P;
|
|
831
|
+
});
|
|
832
|
+
var M = u.cib_can_use_region().then(function(P) {
|
|
833
|
+
S = P;
|
|
834
|
+
});
|
|
835
|
+
return this.__initPromise = Promise.all([w, U, Q, M]).then(function() {
|
|
836
|
+
return o;
|
|
837
|
+
}), this.__initPromise;
|
|
838
|
+
}, G.prototype.__invokeResize = function(o, p) {
|
|
839
|
+
var _ = this;
|
|
840
|
+
return p.__mathCache = p.__mathCache || {}, Promise.resolve().then(function() {
|
|
841
|
+
return _.features.ww ? new Promise(function(v, w) {
|
|
842
|
+
var U = _.__workersPool.acquire();
|
|
843
|
+
p.cancelToken && p.cancelToken.catch(function(M) {
|
|
844
|
+
return w(M);
|
|
845
|
+
}), U.value.onmessage = function(M) {
|
|
846
|
+
U.release(), M.data.err ? w(M.data.err) : v(M.data);
|
|
847
|
+
};
|
|
848
|
+
var Q = [];
|
|
849
|
+
o.src && Q.push(o.src.buffer), o.srcBitmap && Q.push(o.srcBitmap), U.value.postMessage({
|
|
850
|
+
opts: o,
|
|
851
|
+
features: _.__requested_features,
|
|
852
|
+
preload: {
|
|
853
|
+
wasm_nodule: _.__mathlib.__
|
|
854
|
+
}
|
|
855
|
+
}, Q);
|
|
856
|
+
}) : {
|
|
857
|
+
data: _.__mathlib.resizeAndUnsharp(o, p.__mathCache)
|
|
858
|
+
};
|
|
859
|
+
});
|
|
860
|
+
}, G.prototype.__extractTileData = function(o, p, _, v, w) {
|
|
861
|
+
if (this.features.ww && D && // createImageBitmap doesn't work for images (Image, ImageBitmap) with Exif orientation in Chrome,
|
|
862
|
+
// can use canvas because canvas doesn't have orientation;
|
|
863
|
+
// see https://bugs.chromium.org/p/chromium/issues/detail?id=1220671
|
|
864
|
+
(u.isCanvas(p) || S))
|
|
865
|
+
return this.debug("Create tile for OffscreenCanvas"), createImageBitmap(v.srcImageBitmap || p, o.x, o.y, o.width, o.height).then(function(M) {
|
|
866
|
+
return w.srcBitmap = M, w;
|
|
867
|
+
});
|
|
868
|
+
if (u.isCanvas(p))
|
|
869
|
+
return v.srcCtx || (v.srcCtx = p.getContext("2d", {
|
|
870
|
+
alpha: !!_.alpha
|
|
871
|
+
})), this.debug("Get tile pixel data"), w.src = v.srcCtx.getImageData(o.x, o.y, o.width, o.height).data, w;
|
|
872
|
+
this.debug("Draw tile imageBitmap/image to temporary canvas");
|
|
873
|
+
var U = this.options.createCanvas(o.width, o.height), Q = U.getContext("2d", {
|
|
874
|
+
alpha: !!_.alpha
|
|
875
|
+
});
|
|
876
|
+
return Q.globalCompositeOperation = "copy", Q.drawImage(v.srcImageBitmap || p, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height), this.debug("Get tile pixel data"), w.src = Q.getImageData(0, 0, o.width, o.height).data, U.width = U.height = 0, w;
|
|
877
|
+
}, G.prototype.__landTileData = function(o, p, _) {
|
|
878
|
+
var v;
|
|
879
|
+
if (this.debug("Convert raw rgba tile result to ImageData"), p.bitmap)
|
|
880
|
+
return _.toCtx.drawImage(p.bitmap, o.toX, o.toY), null;
|
|
881
|
+
if (E)
|
|
882
|
+
v = new ImageData(new Uint8ClampedArray(p.data), o.toWidth, o.toHeight);
|
|
883
|
+
else if (v = _.toCtx.createImageData(o.toWidth, o.toHeight), v.data.set)
|
|
884
|
+
v.data.set(p.data);
|
|
885
|
+
else
|
|
886
|
+
for (var w = v.data.length - 1; w >= 0; w--)
|
|
887
|
+
v.data[w] = p.data[w];
|
|
888
|
+
return this.debug("Draw tile"), B ? _.toCtx.putImageData(v, o.toX, o.toY, o.toInnerX - o.toX, o.toInnerY - o.toY, o.toInnerWidth + 1e-5, o.toInnerHeight + 1e-5) : _.toCtx.putImageData(v, o.toX, o.toY, o.toInnerX - o.toX, o.toInnerY - o.toY, o.toInnerWidth, o.toInnerHeight), null;
|
|
889
|
+
}, G.prototype.__tileAndResize = function(o, p, _) {
|
|
890
|
+
var v = this, w = {
|
|
891
|
+
srcCtx: null,
|
|
892
|
+
srcImageBitmap: null,
|
|
893
|
+
isImageBitmapReused: !1,
|
|
894
|
+
toCtx: null
|
|
895
|
+
}, U = function(M) {
|
|
896
|
+
return v.__limit(function() {
|
|
897
|
+
if (_.canceled) return _.cancelToken;
|
|
898
|
+
var P = {
|
|
899
|
+
width: M.width,
|
|
900
|
+
height: M.height,
|
|
901
|
+
toWidth: M.toWidth,
|
|
902
|
+
toHeight: M.toHeight,
|
|
903
|
+
scaleX: M.scaleX,
|
|
904
|
+
scaleY: M.scaleY,
|
|
905
|
+
offsetX: M.offsetX,
|
|
906
|
+
offsetY: M.offsetY,
|
|
907
|
+
quality: _.quality,
|
|
908
|
+
alpha: _.alpha,
|
|
909
|
+
unsharpAmount: _.unsharpAmount,
|
|
910
|
+
unsharpRadius: _.unsharpRadius,
|
|
911
|
+
unsharpThreshold: _.unsharpThreshold
|
|
912
|
+
};
|
|
913
|
+
return v.debug("Invoke resize math"), Promise.resolve(P).then(function(T) {
|
|
914
|
+
return v.__extractTileData(M, o, _, w, T);
|
|
915
|
+
}).then(function(T) {
|
|
916
|
+
return v.debug("Invoke resize math"), v.__invokeResize(T, _);
|
|
917
|
+
}).then(function(T) {
|
|
918
|
+
return _.canceled ? _.cancelToken : (w.srcImageData = null, v.__landTileData(M, T, w));
|
|
919
|
+
});
|
|
920
|
+
});
|
|
921
|
+
};
|
|
922
|
+
return Promise.resolve().then(function() {
|
|
923
|
+
if (w.toCtx = p.getContext("2d", {
|
|
924
|
+
alpha: !!_.alpha
|
|
925
|
+
}), u.isCanvas(o)) return null;
|
|
926
|
+
if (u.isImageBitmap(o))
|
|
927
|
+
return w.srcImageBitmap = o, w.isImageBitmapReused = !0, null;
|
|
928
|
+
if (u.isImage(o))
|
|
929
|
+
return k ? (v.debug("Decode image via createImageBitmap"), createImageBitmap(o).then(function(Q) {
|
|
930
|
+
w.srcImageBitmap = Q;
|
|
931
|
+
}).catch(function(Q) {
|
|
932
|
+
return null;
|
|
933
|
+
})) : null;
|
|
934
|
+
throw new Error('Pica: ".from" should be Image, Canvas or ImageBitmap');
|
|
935
|
+
}).then(function() {
|
|
936
|
+
if (_.canceled) return _.cancelToken;
|
|
937
|
+
v.debug("Calculate tiles");
|
|
938
|
+
var Q = m({
|
|
939
|
+
width: _.width,
|
|
940
|
+
height: _.height,
|
|
941
|
+
srcTileSize: v.options.tile,
|
|
942
|
+
toWidth: _.toWidth,
|
|
943
|
+
toHeight: _.toHeight,
|
|
944
|
+
destTileBorder: _.__destTileBorder
|
|
945
|
+
}), M = Q.map(function(T) {
|
|
946
|
+
return U(T);
|
|
947
|
+
});
|
|
948
|
+
function P(T) {
|
|
949
|
+
T.srcImageBitmap && (T.isImageBitmapReused || T.srcImageBitmap.close(), T.srcImageBitmap = null);
|
|
950
|
+
}
|
|
951
|
+
return v.debug("Process tiles"), Promise.all(M).then(function() {
|
|
952
|
+
return v.debug("Finished!"), P(w), p;
|
|
953
|
+
}, function(T) {
|
|
954
|
+
throw P(w), T;
|
|
955
|
+
});
|
|
956
|
+
});
|
|
957
|
+
}, G.prototype.__processStages = function(o, p, _, v) {
|
|
958
|
+
var w = this;
|
|
959
|
+
if (v.canceled) return v.cancelToken;
|
|
960
|
+
var U = o.shift(), Q = g(U, 2), M = Q[0], P = Q[1], T = o.length === 0;
|
|
961
|
+
v = a({}, v, {
|
|
962
|
+
toWidth: M,
|
|
963
|
+
toHeight: P,
|
|
964
|
+
// only use user-defined quality for the last stage,
|
|
965
|
+
// use simpler (Hamming) filter for the first stages where
|
|
966
|
+
// scale factor is large enough (more than 2-3)
|
|
967
|
+
quality: T ? v.quality : Math.min(1, v.quality)
|
|
968
|
+
});
|
|
969
|
+
var z;
|
|
970
|
+
return T || (z = this.options.createCanvas(M, P)), this.__tileAndResize(p, T ? _ : z, v).then(function() {
|
|
971
|
+
return T ? _ : (v.width = M, v.height = P, w.__processStages(o, z, _, v));
|
|
972
|
+
}).then(function(Z) {
|
|
973
|
+
return z && (z.width = z.height = 0), Z;
|
|
974
|
+
});
|
|
975
|
+
}, G.prototype.__resizeViaCreateImageBitmap = function(o, p, _) {
|
|
976
|
+
var v = this, w = p.getContext("2d", {
|
|
977
|
+
alpha: !!_.alpha
|
|
978
|
+
});
|
|
979
|
+
return this.debug("Resize via createImageBitmap()"), createImageBitmap(o, {
|
|
980
|
+
resizeWidth: _.toWidth,
|
|
981
|
+
resizeHeight: _.toHeight,
|
|
982
|
+
resizeQuality: u.cib_quality_name(_.quality)
|
|
983
|
+
}).then(function(U) {
|
|
984
|
+
if (_.canceled) return _.cancelToken;
|
|
985
|
+
if (!_.unsharpAmount)
|
|
986
|
+
return w.drawImage(U, 0, 0), U.close(), w = null, v.debug("Finished!"), p;
|
|
987
|
+
v.debug("Unsharp result");
|
|
988
|
+
var Q = v.options.createCanvas(_.toWidth, _.toHeight), M = Q.getContext("2d", {
|
|
989
|
+
alpha: !!_.alpha
|
|
990
|
+
});
|
|
991
|
+
M.drawImage(U, 0, 0), U.close();
|
|
992
|
+
var P = M.getImageData(0, 0, _.toWidth, _.toHeight);
|
|
993
|
+
return v.__mathlib.unsharp_mask(P.data, _.toWidth, _.toHeight, _.unsharpAmount, _.unsharpRadius, _.unsharpThreshold), w.putImageData(P, 0, 0), Q.width = Q.height = 0, P = M = Q = w = null, v.debug("Finished!"), p;
|
|
994
|
+
});
|
|
995
|
+
}, G.prototype.resize = function(o, p, _) {
|
|
996
|
+
var v = this;
|
|
997
|
+
this.debug("Start resize...");
|
|
998
|
+
var w = a({}, O);
|
|
999
|
+
if (isNaN(_) ? _ && (w = a(w, _)) : w = a(w, {
|
|
1000
|
+
quality: _
|
|
1001
|
+
}), w.toWidth = p.width, w.toHeight = p.height, w.width = o.naturalWidth || o.width, w.height = o.naturalHeight || o.height, p.width === 0 || p.height === 0)
|
|
1002
|
+
return Promise.reject(new Error("Invalid output size: ".concat(p.width, "x").concat(p.height)));
|
|
1003
|
+
w.unsharpRadius > 2 && (w.unsharpRadius = 2), w.canceled = !1, w.cancelToken && (w.cancelToken = w.cancelToken.then(function(Q) {
|
|
1004
|
+
throw w.canceled = !0, Q;
|
|
1005
|
+
}, function(Q) {
|
|
1006
|
+
throw w.canceled = !0, Q;
|
|
1007
|
+
}));
|
|
1008
|
+
var U = 3;
|
|
1009
|
+
return w.__destTileBorder = Math.ceil(Math.max(U, 2.5 * w.unsharpRadius | 0)), this.init().then(function() {
|
|
1010
|
+
if (w.canceled) return w.cancelToken;
|
|
1011
|
+
if (v.features.cib)
|
|
1012
|
+
return v.__resizeViaCreateImageBitmap(o, p, w);
|
|
1013
|
+
if (!R) {
|
|
1014
|
+
var Q = new Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");
|
|
1015
|
+
throw Q.code = "ERR_GET_IMAGE_DATA", Q;
|
|
1016
|
+
}
|
|
1017
|
+
var M = y(w.width, w.height, w.toWidth, w.toHeight, v.options.tile, w.__destTileBorder);
|
|
1018
|
+
return v.__processStages(M, o, p, w);
|
|
1019
|
+
});
|
|
1020
|
+
}, G.prototype.resizeBuffer = function(o) {
|
|
1021
|
+
var p = this, _ = a({}, O, o);
|
|
1022
|
+
return this.init().then(function() {
|
|
1023
|
+
return p.__mathlib.resizeAndUnsharp(_);
|
|
1024
|
+
});
|
|
1025
|
+
}, G.prototype.toBlob = function(o, p, _) {
|
|
1026
|
+
return p = p || "image/png", new Promise(function(v) {
|
|
1027
|
+
if (o.toBlob) {
|
|
1028
|
+
o.toBlob(function(P) {
|
|
1029
|
+
return v(P);
|
|
1030
|
+
}, p, _);
|
|
1031
|
+
return;
|
|
1032
|
+
}
|
|
1033
|
+
if (o.convertToBlob) {
|
|
1034
|
+
v(o.convertToBlob({
|
|
1035
|
+
type: p,
|
|
1036
|
+
quality: _
|
|
1037
|
+
}));
|
|
1038
|
+
return;
|
|
1039
|
+
}
|
|
1040
|
+
for (var w = atob(o.toDataURL(p, _).split(",")[1]), U = w.length, Q = new Uint8Array(U), M = 0; M < U; M++)
|
|
1041
|
+
Q[M] = w.charCodeAt(M);
|
|
1042
|
+
v(new Blob([Q], {
|
|
1043
|
+
type: p
|
|
1044
|
+
}));
|
|
1045
|
+
});
|
|
1046
|
+
}, G.prototype.debug = function() {
|
|
1047
|
+
}, h.exports = G;
|
|
1048
|
+
}, { "./lib/mathlib": 1, "./lib/pool": 13, "./lib/stepper": 14, "./lib/tiler": 15, "./lib/utils": 16, "./lib/worker": 17, "object-assign": 23, webworkify: 24 }] }, {}, [])("/index.js");
|
|
1049
|
+
});
|
|
1050
|
+
}), Y = q(function(A) {
|
|
1051
|
+
function I(r, t) {
|
|
1052
|
+
var e = new Error(r);
|
|
1053
|
+
return e.code = t, e;
|
|
1054
|
+
}
|
|
1055
|
+
function d(r) {
|
|
1056
|
+
for (var t = r.toString(16).toUpperCase(), e = 2 - t.length; e > 0; e--) t = "0" + t;
|
|
1057
|
+
return "0x" + t;
|
|
1058
|
+
}
|
|
1059
|
+
function h(r) {
|
|
1060
|
+
try {
|
|
1061
|
+
return unescape(encodeURIComponent(r));
|
|
1062
|
+
} catch {
|
|
1063
|
+
return r;
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
function x(r) {
|
|
1067
|
+
try {
|
|
1068
|
+
return decodeURIComponent(escape(r));
|
|
1069
|
+
} catch {
|
|
1070
|
+
return r;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
function g(r) {
|
|
1074
|
+
return Object.prototype.toString.call(r) === "[object Uint8Array]";
|
|
1075
|
+
}
|
|
1076
|
+
function c(r, t, e) {
|
|
1077
|
+
this.input = r.subarray(t, e), this.start = t;
|
|
1078
|
+
var i = String.fromCharCode.apply(null, this.input.subarray(0, 4));
|
|
1079
|
+
if (i !== "II*\0" && i !== "MM\0*")
|
|
1080
|
+
throw I("invalid TIFF signature", "EBADDATA");
|
|
1081
|
+
this.big_endian = i[0] === "M";
|
|
1082
|
+
}
|
|
1083
|
+
c.prototype.each = function(r) {
|
|
1084
|
+
this.aborted = !1;
|
|
1085
|
+
var t = this.read_uint32(4);
|
|
1086
|
+
for (this.ifds_to_read = [{
|
|
1087
|
+
id: 0,
|
|
1088
|
+
offset: t
|
|
1089
|
+
}]; this.ifds_to_read.length > 0 && !this.aborted; ) {
|
|
1090
|
+
var e = this.ifds_to_read.shift();
|
|
1091
|
+
e.offset && this.scan_ifd(e.id, e.offset, r);
|
|
1092
|
+
}
|
|
1093
|
+
}, c.prototype.filter = function(r) {
|
|
1094
|
+
var t = {};
|
|
1095
|
+
t.ifd0 = { id: 0, entries: [] }, this.each(function(n) {
|
|
1096
|
+
r(n) === !1 && !n.is_subifd_link || n.is_subifd_link && n.count !== 1 && n.format !== 4 || (t["ifd" + n.ifd] || (t["ifd" + n.ifd] = { id: n.ifd, entries: [] }), t["ifd" + n.ifd].entries.push(n));
|
|
1097
|
+
}), delete t.ifd1;
|
|
1098
|
+
var e = 8;
|
|
1099
|
+
Object.keys(t).forEach(function(n) {
|
|
1100
|
+
e += 2, t[n].entries.forEach(function(s) {
|
|
1101
|
+
e += 12 + (s.data_length > 4 ? Math.ceil(s.data_length / 2) * 2 : 0);
|
|
1102
|
+
}), e += 4;
|
|
1103
|
+
}), this.output = new Uint8Array(e), this.output[0] = this.output[1] = (this.big_endian ? "M" : "I").charCodeAt(0), this.write_uint16(2, 42);
|
|
1104
|
+
var i = 8, a = this;
|
|
1105
|
+
if (this.write_uint32(4, i), Object.keys(t).forEach(function(n) {
|
|
1106
|
+
t[n].written_offset = i;
|
|
1107
|
+
var s = i, f = s + 2 + t[n].entries.length * 12 + 4;
|
|
1108
|
+
i = f, a.write_uint16(s, t[n].entries.length), t[n].entries.sort(function(l, y) {
|
|
1109
|
+
return l.tag - y.tag;
|
|
1110
|
+
}).forEach(function(l, y) {
|
|
1111
|
+
var m = s + 2 + y * 12;
|
|
1112
|
+
a.write_uint16(m, l.tag), a.write_uint16(m + 2, l.format), a.write_uint32(m + 4, l.count), l.is_subifd_link ? t["ifd" + l.tag] && (t["ifd" + l.tag].link_offset = m + 8) : l.data_length <= 4 ? a.output.set(
|
|
1113
|
+
a.input.subarray(l.data_offset - a.start, l.data_offset - a.start + 4),
|
|
1114
|
+
m + 8
|
|
1115
|
+
) : (a.write_uint32(m + 8, i), a.output.set(
|
|
1116
|
+
a.input.subarray(l.data_offset - a.start, l.data_offset - a.start + l.data_length),
|
|
1117
|
+
i
|
|
1118
|
+
), i += Math.ceil(l.data_length / 2) * 2);
|
|
1119
|
+
});
|
|
1120
|
+
var u = t["ifd" + (t[n].id + 1)];
|
|
1121
|
+
u && (u.link_offset = f - 4);
|
|
1122
|
+
}), Object.keys(t).forEach(function(n) {
|
|
1123
|
+
t[n].written_offset && t[n].link_offset && a.write_uint32(t[n].link_offset, t[n].written_offset);
|
|
1124
|
+
}), this.output.length !== i) throw I("internal error: incorrect buffer size allocated");
|
|
1125
|
+
return this.output;
|
|
1126
|
+
}, c.prototype.read_uint16 = function(r) {
|
|
1127
|
+
var t = this.input;
|
|
1128
|
+
if (r + 2 > t.length) throw I("unexpected EOF", "EBADDATA");
|
|
1129
|
+
return this.big_endian ? t[r] * 256 + t[r + 1] : t[r] + t[r + 1] * 256;
|
|
1130
|
+
}, c.prototype.read_uint32 = function(r) {
|
|
1131
|
+
var t = this.input;
|
|
1132
|
+
if (r + 4 > t.length) throw I("unexpected EOF", "EBADDATA");
|
|
1133
|
+
return this.big_endian ? t[r] * 16777216 + t[r + 1] * 65536 + t[r + 2] * 256 + t[r + 3] : t[r] + t[r + 1] * 256 + t[r + 2] * 65536 + t[r + 3] * 16777216;
|
|
1134
|
+
}, c.prototype.write_uint16 = function(r, t) {
|
|
1135
|
+
var e = this.output;
|
|
1136
|
+
this.big_endian ? (e[r] = t >>> 8 & 255, e[r + 1] = t & 255) : (e[r] = t & 255, e[r + 1] = t >>> 8 & 255);
|
|
1137
|
+
}, c.prototype.write_uint32 = function(r, t) {
|
|
1138
|
+
var e = this.output;
|
|
1139
|
+
this.big_endian ? (e[r] = t >>> 24 & 255, e[r + 1] = t >>> 16 & 255, e[r + 2] = t >>> 8 & 255, e[r + 3] = t & 255) : (e[r] = t & 255, e[r + 1] = t >>> 8 & 255, e[r + 2] = t >>> 16 & 255, e[r + 3] = t >>> 24 & 255);
|
|
1140
|
+
}, c.prototype.is_subifd_link = function(r, t) {
|
|
1141
|
+
return r === 0 && t === 34665 || // SubIFD
|
|
1142
|
+
r === 0 && t === 34853 || // GPS Info
|
|
1143
|
+
r === 34665 && t === 40965;
|
|
1144
|
+
}, c.prototype.exif_format_length = function(r) {
|
|
1145
|
+
switch (r) {
|
|
1146
|
+
case 1:
|
|
1147
|
+
// byte
|
|
1148
|
+
case 2:
|
|
1149
|
+
// ascii
|
|
1150
|
+
case 6:
|
|
1151
|
+
// sbyte
|
|
1152
|
+
case 7:
|
|
1153
|
+
return 1;
|
|
1154
|
+
case 3:
|
|
1155
|
+
// short
|
|
1156
|
+
case 8:
|
|
1157
|
+
return 2;
|
|
1158
|
+
case 4:
|
|
1159
|
+
// long
|
|
1160
|
+
case 9:
|
|
1161
|
+
// slong
|
|
1162
|
+
case 11:
|
|
1163
|
+
return 4;
|
|
1164
|
+
case 5:
|
|
1165
|
+
// rational
|
|
1166
|
+
case 10:
|
|
1167
|
+
// srational
|
|
1168
|
+
case 12:
|
|
1169
|
+
return 8;
|
|
1170
|
+
default:
|
|
1171
|
+
return 0;
|
|
1172
|
+
}
|
|
1173
|
+
}, c.prototype.exif_format_read = function(r, t) {
|
|
1174
|
+
var e;
|
|
1175
|
+
switch (r) {
|
|
1176
|
+
case 1:
|
|
1177
|
+
// byte
|
|
1178
|
+
case 2:
|
|
1179
|
+
return e = this.input[t], e;
|
|
1180
|
+
case 6:
|
|
1181
|
+
return e = this.input[t], e | (e & 128) * 33554430;
|
|
1182
|
+
case 3:
|
|
1183
|
+
return e = this.read_uint16(t), e;
|
|
1184
|
+
case 8:
|
|
1185
|
+
return e = this.read_uint16(t), e | (e & 32768) * 131070;
|
|
1186
|
+
case 4:
|
|
1187
|
+
return e = this.read_uint32(t), e;
|
|
1188
|
+
case 9:
|
|
1189
|
+
return e = this.read_uint32(t), e | 0;
|
|
1190
|
+
case 5:
|
|
1191
|
+
// rational
|
|
1192
|
+
case 10:
|
|
1193
|
+
// srational
|
|
1194
|
+
case 11:
|
|
1195
|
+
// float
|
|
1196
|
+
case 12:
|
|
1197
|
+
return null;
|
|
1198
|
+
// not implemented
|
|
1199
|
+
case 7:
|
|
1200
|
+
return null;
|
|
1201
|
+
// blob
|
|
1202
|
+
default:
|
|
1203
|
+
return null;
|
|
1204
|
+
}
|
|
1205
|
+
}, c.prototype.scan_ifd = function(r, t, e) {
|
|
1206
|
+
var i = this.read_uint16(t);
|
|
1207
|
+
t += 2;
|
|
1208
|
+
for (var a = 0; a < i; a++) {
|
|
1209
|
+
var n = this.read_uint16(t), s = this.read_uint16(t + 2), f = this.read_uint32(t + 4), u = this.exif_format_length(s), l = f * u, y = l <= 4 ? t + 8 : this.read_uint32(t + 8), m = !1;
|
|
1210
|
+
if (y + l > this.input.length)
|
|
1211
|
+
throw I("unexpected EOF", "EBADDATA");
|
|
1212
|
+
for (var b = [], B = y, C = 0; C < f; C++, B += u) {
|
|
1213
|
+
var F = this.exif_format_read(s, B);
|
|
1214
|
+
if (F === null) {
|
|
1215
|
+
b = null;
|
|
1216
|
+
break;
|
|
1217
|
+
}
|
|
1218
|
+
b.push(F);
|
|
1219
|
+
}
|
|
1220
|
+
if (Array.isArray(b) && s === 2) {
|
|
1221
|
+
try {
|
|
1222
|
+
b = x(String.fromCharCode.apply(null, b));
|
|
1223
|
+
} catch {
|
|
1224
|
+
b = null;
|
|
1225
|
+
}
|
|
1226
|
+
b && b[b.length - 1] === "\0" && (b = b.slice(0, -1));
|
|
1227
|
+
}
|
|
1228
|
+
this.is_subifd_link(r, n) && Array.isArray(b) && Number.isInteger(b[0]) && b[0] > 0 && (this.ifds_to_read.push({
|
|
1229
|
+
id: n,
|
|
1230
|
+
offset: b[0]
|
|
1231
|
+
}), m = !0);
|
|
1232
|
+
var O = {
|
|
1233
|
+
is_big_endian: this.big_endian,
|
|
1234
|
+
ifd: r,
|
|
1235
|
+
tag: n,
|
|
1236
|
+
format: s,
|
|
1237
|
+
count: f,
|
|
1238
|
+
entry_offset: t + this.start,
|
|
1239
|
+
data_length: l,
|
|
1240
|
+
data_offset: y + this.start,
|
|
1241
|
+
value: b,
|
|
1242
|
+
is_subifd_link: m
|
|
1243
|
+
};
|
|
1244
|
+
if (e(O) === !1) {
|
|
1245
|
+
this.aborted = !0;
|
|
1246
|
+
return;
|
|
1247
|
+
}
|
|
1248
|
+
t += 12;
|
|
1249
|
+
}
|
|
1250
|
+
r === 0 && this.ifds_to_read.push({
|
|
1251
|
+
id: 1,
|
|
1252
|
+
offset: this.read_uint32(t)
|
|
1253
|
+
});
|
|
1254
|
+
}, A.exports.is_jpeg = function(r) {
|
|
1255
|
+
return r.length >= 4 && r[0] === 255 && r[1] === 216 && r[2] === 255;
|
|
1256
|
+
}, A.exports.jpeg_segments_each = function(r, t) {
|
|
1257
|
+
if (!g(r))
|
|
1258
|
+
throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
|
|
1259
|
+
if (typeof t != "function")
|
|
1260
|
+
throw I("Invalid argument (on_segment), Function expected", "EINVAL");
|
|
1261
|
+
if (!A.exports.is_jpeg(r))
|
|
1262
|
+
throw I("Unknown file format", "ENOTJPEG");
|
|
1263
|
+
for (var e = 0, i = r.length, a = !1; ; ) {
|
|
1264
|
+
var n, s;
|
|
1265
|
+
if (e + 1 >= i) throw I("Unexpected EOF", "EBADDATA");
|
|
1266
|
+
var f = r[e], u = r[e + 1];
|
|
1267
|
+
if (f === 255 && u === 255)
|
|
1268
|
+
n = 255, s = 1;
|
|
1269
|
+
else if (f === 255 && u !== 0) {
|
|
1270
|
+
if (n = u, s = 2, !(208 <= n && n <= 217 || n === 1)) {
|
|
1271
|
+
if (e + 3 >= i) throw I("Unexpected EOF", "EBADDATA");
|
|
1272
|
+
if (s += r[e + 2] * 256 + r[e + 3], s < 2) throw I("Invalid segment length", "EBADDATA");
|
|
1273
|
+
if (e + s - 1 >= i) throw I("Unexpected EOF", "EBADDATA");
|
|
1274
|
+
}
|
|
1275
|
+
a && (n >= 208 && n <= 215 || (a = !1)), n === 218 && (a = !0);
|
|
1276
|
+
} else if (a)
|
|
1277
|
+
for (var l = e + 1; ; l++) {
|
|
1278
|
+
if (l >= i) throw I("Unexpected EOF", "EBADDATA");
|
|
1279
|
+
if (r[l] === 255) {
|
|
1280
|
+
if (l + 1 >= i) throw I("Unexpected EOF", "EBADDATA");
|
|
1281
|
+
if (r[l + 1] !== 0) {
|
|
1282
|
+
n = 0, s = l - e;
|
|
1283
|
+
break;
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
else
|
|
1288
|
+
throw I("Unexpected byte at segment start: " + d(f) + " (offset " + d(e) + ")", "EBADDATA");
|
|
1289
|
+
if (t({ code: n, offset: e, length: s }) === !1 || n === 217) break;
|
|
1290
|
+
e += s;
|
|
1291
|
+
}
|
|
1292
|
+
}, A.exports.jpeg_segments_filter = function(r, t) {
|
|
1293
|
+
if (!g(r))
|
|
1294
|
+
throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
|
|
1295
|
+
if (typeof t != "function")
|
|
1296
|
+
throw I("Invalid argument (on_segment), Function expected", "EINVAL");
|
|
1297
|
+
var e = [], i = 0;
|
|
1298
|
+
A.exports.jpeg_segments_each(r, function(s) {
|
|
1299
|
+
var f = t(s);
|
|
1300
|
+
if (g(f))
|
|
1301
|
+
e.push({ data: f }), i += f.length;
|
|
1302
|
+
else if (Array.isArray(f))
|
|
1303
|
+
f.filter(g).forEach(function(l) {
|
|
1304
|
+
e.push({ data: l }), i += l.length;
|
|
1305
|
+
});
|
|
1306
|
+
else if (f !== !1) {
|
|
1307
|
+
var u = { start: s.offset, end: s.offset + s.length };
|
|
1308
|
+
e.length > 0 && e[e.length - 1].end === u.start ? e[e.length - 1].end = u.end : e.push(u), i += s.length;
|
|
1309
|
+
}
|
|
1310
|
+
});
|
|
1311
|
+
var a = new Uint8Array(i), n = 0;
|
|
1312
|
+
return e.forEach(function(s) {
|
|
1313
|
+
var f = s.data || r.subarray(s.start, s.end);
|
|
1314
|
+
a.set(f, n), n += f.length;
|
|
1315
|
+
}), a;
|
|
1316
|
+
}, A.exports.jpeg_exif_tags_each = function(r, t) {
|
|
1317
|
+
if (!g(r))
|
|
1318
|
+
throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
|
|
1319
|
+
if (typeof t != "function")
|
|
1320
|
+
throw I("Invalid argument (on_exif_entry), Function expected", "EINVAL");
|
|
1321
|
+
A.exports.jpeg_segments_each(r, function(e) {
|
|
1322
|
+
if (e.code === 218) return !1;
|
|
1323
|
+
if (e.code === 225 && e.length >= 10 && r[e.offset + 4] === 69 && r[e.offset + 5] === 120 && r[e.offset + 6] === 105 && r[e.offset + 7] === 102 && r[e.offset + 8] === 0 && r[e.offset + 9] === 0)
|
|
1324
|
+
return new c(r, e.offset + 10, e.offset + e.length).each(t), !1;
|
|
1325
|
+
});
|
|
1326
|
+
}, A.exports.jpeg_exif_tags_filter = function(r, t) {
|
|
1327
|
+
if (!g(r))
|
|
1328
|
+
throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
|
|
1329
|
+
if (typeof t != "function")
|
|
1330
|
+
throw I("Invalid argument (on_exif_entry), Function expected", "EINVAL");
|
|
1331
|
+
var e = !1;
|
|
1332
|
+
return A.exports.jpeg_segments_filter(r, function(i) {
|
|
1333
|
+
if (!e && (i.code === 218 && (e = !0), i.code === 225 && i.length >= 10 && r[i.offset + 4] === 69 && r[i.offset + 5] === 120 && r[i.offset + 6] === 105 && r[i.offset + 7] === 102 && r[i.offset + 8] === 0 && r[i.offset + 9] === 0)) {
|
|
1334
|
+
var a = new c(r, i.offset + 10, i.offset + i.length).filter(t);
|
|
1335
|
+
if (!a) return !1;
|
|
1336
|
+
var n = new Uint8Array(10);
|
|
1337
|
+
return n.set(r.slice(i.offset, i.offset + 10)), n[2] = a.length + 8 >>> 8 & 255, n[3] = a.length + 8 & 255, e = !0, [n, a];
|
|
1338
|
+
}
|
|
1339
|
+
});
|
|
1340
|
+
}, A.exports.jpeg_add_comment = function(r, t) {
|
|
1341
|
+
var e = !1, i = 0;
|
|
1342
|
+
return A.exports.jpeg_segments_filter(r, function(a) {
|
|
1343
|
+
if (i++, !(i === 1 && a.code === 216) && !(i === 2 && a.code === 224) && !e) {
|
|
1344
|
+
t = h(t);
|
|
1345
|
+
var n = new Uint8Array(5 + t.length), s = 0;
|
|
1346
|
+
return n[s++] = 255, n[s++] = 254, n[s++] = t.length + 3 >>> 8 & 255, n[s++] = t.length + 3 & 255, t.split("").forEach(function(f) {
|
|
1347
|
+
n[s++] = f.charCodeAt(0) & 255;
|
|
1348
|
+
}), n[s++] = 0, e = !0, [n, r.subarray(a.offset, a.offset + a.length)];
|
|
1349
|
+
}
|
|
1350
|
+
});
|
|
1351
|
+
};
|
|
1352
|
+
});
|
|
1353
|
+
function tt(A) {
|
|
1354
|
+
return this._getUint8Array(A.blob).then(function(I) {
|
|
1355
|
+
if (A.is_jpeg = Y.is_jpeg(I), !A.is_jpeg) return Promise.resolve(A);
|
|
1356
|
+
A.orig_blob = A.blob;
|
|
1357
|
+
try {
|
|
1358
|
+
var d, h;
|
|
1359
|
+
if (Y.jpeg_exif_tags_each(I, function(g) {
|
|
1360
|
+
if (g.ifd === 0 && g.tag === 274 && Array.isArray(g.value))
|
|
1361
|
+
return A.orientation = g.value[0] || 1, d = g.is_big_endian, h = g.data_offset, !1;
|
|
1362
|
+
}), h) {
|
|
1363
|
+
var x = d ? new Uint8Array([0, 1]) : new Uint8Array([1, 0]);
|
|
1364
|
+
A.blob = new Blob([
|
|
1365
|
+
I.slice(0, h),
|
|
1366
|
+
x,
|
|
1367
|
+
I.slice(h + 2)
|
|
1368
|
+
], { type: "image/jpeg" });
|
|
1369
|
+
}
|
|
1370
|
+
} catch {
|
|
1371
|
+
}
|
|
1372
|
+
return A;
|
|
1373
|
+
});
|
|
1374
|
+
}
|
|
1375
|
+
function et(A) {
|
|
1376
|
+
if (!A.is_jpeg) return Promise.resolve(A);
|
|
1377
|
+
var I = A.orientation - 1;
|
|
1378
|
+
if (!I) return Promise.resolve(A);
|
|
1379
|
+
var d;
|
|
1380
|
+
I & 4 ? d = this.pica.options.createCanvas(A.out_canvas.height, A.out_canvas.width) : d = this.pica.options.createCanvas(A.out_canvas.width, A.out_canvas.height);
|
|
1381
|
+
var h = d.getContext("2d");
|
|
1382
|
+
return h.save(), I & 1 && h.transform(-1, 0, 0, 1, d.width, 0), I & 2 && h.transform(-1, 0, 0, -1, d.width, d.height), I & 4 && h.transform(0, 1, 1, 0, 0, 0), h.drawImage(A.out_canvas, 0, 0), h.restore(), A.out_canvas.width = A.out_canvas.height = 0, A.out_canvas = d, Promise.resolve(A);
|
|
1383
|
+
}
|
|
1384
|
+
function rt(A) {
|
|
1385
|
+
return A.is_jpeg ? Promise.all([
|
|
1386
|
+
this._getUint8Array(A.blob),
|
|
1387
|
+
this._getUint8Array(A.out_blob)
|
|
1388
|
+
]).then(function(I) {
|
|
1389
|
+
var d = I[0], h = I[1];
|
|
1390
|
+
if (!Y.is_jpeg(d)) return Promise.resolve(A);
|
|
1391
|
+
var x = [];
|
|
1392
|
+
return Y.jpeg_segments_each(d, function(g) {
|
|
1393
|
+
if (g.code === 218) return !1;
|
|
1394
|
+
x.push(g);
|
|
1395
|
+
}), x = x.filter(function(g) {
|
|
1396
|
+
return g.code === 226 ? !1 : g.code >= 224 && g.code < 240 || g.code === 254;
|
|
1397
|
+
}).map(function(g) {
|
|
1398
|
+
return d.slice(g.offset, g.offset + g.length);
|
|
1399
|
+
}), A.out_blob = new Blob(
|
|
1400
|
+
// intentionally omitting expected JFIF segment (offset 2 to 20)
|
|
1401
|
+
[h.slice(0, 2)].concat(x).concat([h.slice(20)]),
|
|
1402
|
+
{ type: "image/jpeg" }
|
|
1403
|
+
), A;
|
|
1404
|
+
}) : Promise.resolve(A);
|
|
1405
|
+
}
|
|
1406
|
+
function at(A) {
|
|
1407
|
+
A.before("_blob_to_image", tt), A.after("_transform", et), A.after("_create_blob", rt);
|
|
1408
|
+
}
|
|
1409
|
+
var it = at, nt = {
|
|
1410
|
+
assign: it
|
|
1411
|
+
};
|
|
1412
|
+
function L(A) {
|
|
1413
|
+
if (!(this instanceof L)) return new L(A);
|
|
1414
|
+
A = A || {}, this.pica = A.pica || X({}), this.initialized = !1, this.utils = W;
|
|
1415
|
+
}
|
|
1416
|
+
L.prototype.use = function(A) {
|
|
1417
|
+
var I = [this].concat(Array.prototype.slice.call(arguments, 1));
|
|
1418
|
+
return A.apply(A, I), this;
|
|
1419
|
+
};
|
|
1420
|
+
L.prototype.init = function() {
|
|
1421
|
+
this.use(nt.assign);
|
|
1422
|
+
};
|
|
1423
|
+
L.prototype.toBlob = function(A, I) {
|
|
1424
|
+
var d = W.assign({ max: 1 / 0 }, I), h = {
|
|
1425
|
+
blob: A,
|
|
1426
|
+
opts: d
|
|
1427
|
+
};
|
|
1428
|
+
return this.initialized || (this.init(), this.initialized = !0), Promise.resolve(h).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(this._create_blob).then(function(x) {
|
|
1429
|
+
return x.out_canvas.width = x.out_canvas.height = 0, x.out_blob;
|
|
1430
|
+
});
|
|
1431
|
+
};
|
|
1432
|
+
L.prototype.toCanvas = function(A, I) {
|
|
1433
|
+
var d = W.assign({ max: 1 / 0 }, I), h = {
|
|
1434
|
+
blob: A,
|
|
1435
|
+
opts: d
|
|
1436
|
+
};
|
|
1437
|
+
return this.initialized || (this.init(), this.initialized = !0), Promise.resolve(h).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(function(x) {
|
|
1438
|
+
return x.out_canvas;
|
|
1439
|
+
});
|
|
1440
|
+
};
|
|
1441
|
+
L.prototype.before = function(A, I) {
|
|
1442
|
+
if (!this[A]) throw new Error('Method "' + A + '" does not exist');
|
|
1443
|
+
if (typeof I != "function") throw new Error('Invalid argument "fn", function expected');
|
|
1444
|
+
var d = this[A], h = this;
|
|
1445
|
+
return this[A] = function(x) {
|
|
1446
|
+
return I.call(h, x).then(function(g) {
|
|
1447
|
+
return d.call(h, g);
|
|
1448
|
+
});
|
|
1449
|
+
}, this;
|
|
1450
|
+
};
|
|
1451
|
+
L.prototype.after = function(A, I) {
|
|
1452
|
+
if (!this[A]) throw new Error('Method "' + A + '" does not exist');
|
|
1453
|
+
if (typeof I != "function") throw new Error('Invalid argument "fn", function expected');
|
|
1454
|
+
var d = this[A], h = this;
|
|
1455
|
+
return this[A] = function(x) {
|
|
1456
|
+
return d.call(h, x).then(function(g) {
|
|
1457
|
+
return I.call(h, g);
|
|
1458
|
+
});
|
|
1459
|
+
}, this;
|
|
1460
|
+
};
|
|
1461
|
+
L.prototype._blob_to_image = function(A) {
|
|
1462
|
+
var I = window.URL || window.webkitURL || window.mozURL || window.msURL;
|
|
1463
|
+
return A.image = document.createElement("img"), A.image_url = I.createObjectURL(A.blob), A.image.src = A.image_url, new Promise(function(d, h) {
|
|
1464
|
+
A.image.onerror = function() {
|
|
1465
|
+
h(new Error("ImageBlobReduce: failed to create Image() from blob"));
|
|
1466
|
+
}, A.image.onload = function() {
|
|
1467
|
+
d(A);
|
|
1468
|
+
};
|
|
1469
|
+
});
|
|
1470
|
+
};
|
|
1471
|
+
L.prototype._calculate_size = function(A) {
|
|
1472
|
+
var I = A.opts.max / Math.max(A.image.width, A.image.height);
|
|
1473
|
+
return I > 1 && (I = 1), A.transform_width = Math.max(Math.round(A.image.width * I), 1), A.transform_height = Math.max(Math.round(A.image.height * I), 1), A.scale_factor = I, Promise.resolve(A);
|
|
1474
|
+
};
|
|
1475
|
+
L.prototype._transform = function(A) {
|
|
1476
|
+
A.out_canvas = this.pica.options.createCanvas(A.transform_width, A.transform_height), A.transform_width = null, A.transform_height = null;
|
|
1477
|
+
var I = { alpha: A.blob.type === "image/png" };
|
|
1478
|
+
return this.utils.assign(I, this.utils.pick_pica_resize_options(A.opts)), this.pica.resize(A.image, A.out_canvas, I).then(function() {
|
|
1479
|
+
return A;
|
|
1480
|
+
});
|
|
1481
|
+
};
|
|
1482
|
+
L.prototype._cleanup = function(A) {
|
|
1483
|
+
A.image.src = "", A.image = null;
|
|
1484
|
+
var I = window.URL || window.webkitURL || window.mozURL || window.msURL;
|
|
1485
|
+
return I.revokeObjectURL && I.revokeObjectURL(A.image_url), A.image_url = null, Promise.resolve(A);
|
|
1486
|
+
};
|
|
1487
|
+
L.prototype._create_blob = function(A) {
|
|
1488
|
+
return this.pica.toBlob(A.out_canvas, A.blob.type).then(function(I) {
|
|
1489
|
+
return A.out_blob = I, A;
|
|
1490
|
+
});
|
|
1491
|
+
};
|
|
1492
|
+
L.prototype._getUint8Array = function(A) {
|
|
1493
|
+
return A.arrayBuffer ? A.arrayBuffer().then(function(I) {
|
|
1494
|
+
return new Uint8Array(I);
|
|
1495
|
+
}) : new Promise(function(I, d) {
|
|
1496
|
+
var h = new FileReader();
|
|
1497
|
+
h.readAsArrayBuffer(A), h.onload = function() {
|
|
1498
|
+
I(new Uint8Array(h.result));
|
|
1499
|
+
}, h.onerror = function() {
|
|
1500
|
+
d(new Error("ImageBlobReduce: failed to load data from input blob")), h.abort();
|
|
1501
|
+
}, h.onabort = function() {
|
|
1502
|
+
d(new Error("ImageBlobReduce: failed to load data from input blob (aborted)"));
|
|
1503
|
+
};
|
|
1504
|
+
});
|
|
1505
|
+
};
|
|
1506
|
+
L.pica = X;
|
|
1507
|
+
var ot = L;
|
|
1508
|
+
export {
|
|
1509
|
+
ot as default
|
|
1510
|
+
};
|