nolo-cli 0.8.0-alpha.24 → 0.8.0-alpha.26
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/{_executeModel-2ZAPHFOX.js → _executeModel-HM7KOYQX.js} +48 -50
- package/{action-QM2ONPYZ.js → action-UAHWPMZB.js} +7 -8
- package/{addContentAction-UXY3GM53.js → addContentAction-PFIP76LT.js} +6 -8
- package/{addDialogAgentAction-MUBYOG65.js → addDialogAgentAction-LWDAIDEU.js} +8 -9
- package/{agentDeleteCommand-5TFSII4Z.js → agentDeleteCommand-M6KIV6ZZ.js} +35 -26
- package/{agentEmailCommands-XMXWGUMZ.js → agentEmailCommands-X24B32EE.js} +60 -61
- package/{agentListCommands-OWEFQEY4.js → agentListCommands-3TQWUC4W.js} +34 -26
- package/{agentMachineCommands-DGHYBBFC.js → agentMachineCommands-AHOFELNN.js} +37 -27
- package/{agentRecordCommands-I433EE5F.js → agentRecordCommands-GCX4YO5J.js} +53 -54
- package/{agentRunCommand-UQSX3IGW.js → agentRunCommand-6Z73OBXZ.js} +56 -59
- package/{agentRuntimeLocal-73SVOC5U.js → agentRuntimeLocal-6Q4CEFXY.js} +26 -13
- package/{agentSlice-JQCS4LR3.js → agentSlice-73367RQ3.js} +7 -8
- package/{authCommand-B6P2XYLN.js → authCommand-ELPMOABY.js} +13 -13
- package/{authCommands-4YKA4GTU.js → authCommands-PUQRVHHW.js} +5 -5
- package/{chunk-DS3VC4EA.js → chunk-2H4I6KR4.js} +5 -5
- package/{chunk-AFON4QUU.js → chunk-3QKO4EHV.js} +3 -3
- package/{chunk-LE6JAIXE.js → chunk-3WSPFJ7B.js} +6 -6
- package/{chunk-QWM7YWVT.js → chunk-4GBNEA5B.js} +1 -1
- package/{chunk-PXZAAB4L.js → chunk-4LG74DRG.js} +4 -4
- package/{chunk-IYMGQ3TN.js → chunk-66DXKPRS.js} +2 -2
- package/{chunk-L76QNLGU.js → chunk-6L2PIG7I.js} +1 -1
- package/{chunk-FZ2G3I4B.js → chunk-6PXKSN2M.js} +2 -2
- package/{chunk-GAKEBQD6.js → chunk-D6OQHXVG.js} +11 -7
- package/{chunk-GROGNZOA.js → chunk-DXLC3MIQ.js} +85 -2326
- package/{chunk-Q7S2ORXX.js → chunk-EUELM55L.js} +10 -10
- package/{chunk-BT57QC5K.js → chunk-GK7YFA5J.js} +14 -14
- package/chunk-GVQT3FIB.js +2286 -0
- package/{chunk-LRKEOCWY.js → chunk-HUHOMATY.js} +17 -17
- package/{chunk-6QFNUK2G.js → chunk-I2HCZWJU.js} +1 -1
- package/{chunk-WVS3GX3B.js → chunk-IB65MC33.js} +2 -2
- package/{chunk-C4DZRHFJ.js → chunk-IG2EZS3N.js} +64 -17
- package/{chunk-Z3NEXVYE.js → chunk-IKXL2HZ3.js} +38 -1
- package/{chunk-2CVZSC5L.js → chunk-IVAOVLM7.js} +1 -1
- package/{chunk-L3KWEH3V.js → chunk-KPFGD3YA.js} +43 -12
- package/{chunk-AVMKZHBC.js → chunk-L53FGHA4.js} +3 -2
- package/{chunk-WKQGZJVI.js → chunk-LFETMU66.js} +8 -8
- package/{chunk-AISLHYDB.js → chunk-LWYCA4ZT.js} +306 -42
- package/{chunk-SBVUZC2E.js → chunk-MMCDCZM4.js} +6 -6
- package/{chunk-YOCHZD7D.js → chunk-NCGFB7NN.js} +5 -3
- package/{chunk-C4FTUXVF.js → chunk-QLUFR47U.js} +11 -1
- package/{chunk-IPA2WQGY.js → chunk-QXZ4YDXW.js} +178 -75
- package/{chunk-RQPZX6KP.js → chunk-S37OTGU7.js} +2 -2
- package/{chunk-FVVST32H.js → chunk-SCBYSC74.js} +1 -1
- package/{chunk-WM7P5OWZ.js → chunk-TUIH56DJ.js} +87 -53
- package/{chunk-UBSKX3LP.js → chunk-UZZCXRHF.js} +6 -6
- package/{chunk-WTBWWBSF.js → chunk-VAHPL4CG.js} +63 -40
- package/{chunk-BQECZ3Q4.js → chunk-VDS3NXE5.js} +219 -46
- package/{chunk-G7KM6BBZ.js → chunk-VNGCTQ32.js} +1 -1
- package/{chunk-BKGNXJAM.js → chunk-WKWEV6K4.js} +1 -1
- package/{chunk-JTINRTBT.js → chunk-WPHL6ALY.js} +1 -1
- package/{chunk-KTHLAJEY.js → chunk-WZF7M6GX.js} +1 -1
- package/{chunk-LTH6AVG7.js → chunk-XDXO65DS.js} +3 -3
- package/{chunk-BFDWXLFF.js → chunk-XGMCGPEA.js} +64 -5
- package/{chunk-VBKJTOAW.js → chunk-XHQWJUW4.js} +2 -2
- package/{chunk-VUEXKW6U.js → chunk-XIZIRGXB.js} +15 -15
- package/{chunk-P2SPC3FT.js → chunk-XW6CFB3M.js} +27 -25
- package/{chunk-3KGTFX3T.js → chunk-ZR4VHQ5D.js} +13 -1
- package/{createAgentAutomationAction-GXZNLJZK.js → createAgentAutomationAction-MYQ7Z7VA.js} +22 -25
- package/{createDialogAction-KLW42ZGF.js → createDialogAction-PIV7Z7ZQ.js} +24 -27
- package/{createPageAction-IBJHE6MH.js → createPageAction-7ZAEDSUY.js} +24 -27
- package/{dbSlice-R5EJKZBW.js → dbSlice-V4H2JFNB.js} +5 -6
- package/{deleteFile-WPWVZE4B.js → deleteFile-M7UNIUOO.js} +3 -3
- package/{dialogCommands-7O5PUZRU.js → dialogCommands-UMT7AOOR.js} +30 -21
- package/{dialogSlice-GGV7PF53.js → dialogSlice-4PYFGN7J.js} +22 -25
- package/{docCreateCommands-7ZO2NQQF.js → docCreateCommands-MAZSFQQ5.js} +33 -24
- package/{docDeleteCommands-YKIXZYBR.js → docDeleteCommands-DOTLD7HA.js} +33 -25
- package/{docReadCommands-5UDONBUL.js → docReadCommands-PH255AKZ.js} +33 -24
- package/{docStore-VDWTATFH.js → docStore-P7PG4YDJ.js} +21 -24
- package/{docUpdateCommands-EPZIIQMY.js → docUpdateCommands-RLRID2K7.js} +33 -24
- package/fetchMessages-KTNM7QAR.js +1 -1
- package/getPricing-6TOZXPAU.js +1 -1
- package/{handleSendMessageAction-MMATC5V5.js → handleSendMessageAction-BHUXTQHK.js} +27 -30
- package/index.js +62 -62
- package/{localDialogRead-YSKFFRTT.js → localDialogRead-2VRI24F4.js} +1 -1
- package/{machineCommands-PTHPKSIZ.js → machineCommands-GD46ZUZC.js} +63 -62
- package/{machineWsRunDispatch-M5L2NVWJ.js → machineWsRunDispatch-5SF5RE7E.js} +52 -53
- package/{models-H524GH3U.js → models-LSCRJJ6P.js} +1 -2
- package/package.json +1 -1
- package/{read-5ZMY7FKP.js → read-2MIMRBZ2.js} +3 -3
- package/{readDocTool-2NXDK32S.js → readDocTool-QHVGQHUJ.js} +1 -1
- package/{readlineWorkspace-4NXMEOHP.js → readlineWorkspace-IKXTXTYB.js} +115 -100
- package/{removeDialogAgentAction-KOLQ2R5W.js → removeDialogAgentAction-7GO2PRVQ.js} +12 -13
- package/{runAgentClientLoop-FGUYNGSA.js → runAgentClientLoop-CRIQXO42.js} +45 -48
- package/{setDialogExtraReferencesAction-OMTEO7X6.js → setDialogExtraReferencesAction-ZIDAVJSZ.js} +8 -9
- package/{setPrimaryDialogAgentAction-DOCIS6V4.js → setPrimaryDialogAgentAction-LK35C2D7.js} +12 -13
- package/{settingSlice-UWZJYDOA.js → settingSlice-PRRC6IJ7.js} +6 -7
- package/{skillDiscovery-UGSQGX2U.js → skillDiscovery-ZYHSX7VD.js} +3 -3
- package/{spaceCommands-S3EB6TOS.js → spaceCommands-XE4PS24W.js} +35 -28
- package/{spaceSlice-RG2GSV7K.js → spaceSlice-NYR6BQDL.js} +20 -23
- package/{streamAgentChatTurn-X576C23M.js → streamAgentChatTurn-CYEFWT4D.js} +95 -88
- package/{toolApiClient-C7P7YSE4.js → toolApiClient-QI3YBNWB.js} +2 -2
- package/{tools-HURZ2N4O.js → tools-4YAV2HQH.js} +32 -35
- package/{tuiSummaryLlmCaller-DG2LBTBX.js → tuiSummaryLlmCaller-TXLF4MEI.js} +3 -3
- package/{updateDialogTitleAction-62LVIAUZ.js → updateDialogTitleAction-FEEBVBNP.js} +27 -29
- package/chunk-5MMAK75Q.js +0 -15
- package/chunk-AZPCASRE.js +0 -36
- package/chunk-IOQIOZNI.js +0 -42
- package/chunk-UAD2WT54.js +0 -64
- package/{agentPullCommand-N6UWRTVL.js → agentPullCommand-LHFBA5EI.js} +6 -6
- package/{chunk-JK7VW2FN.js → chunk-5MIDPSSK.js} +3 -3
- package/{chunk-VC6OZXO5.js → chunk-6WWHKODG.js} +4 -4
- package/{chunk-BT37DVDA.js → chunk-7VKWMOSI.js} +9 -9
- package/{chunk-3QAF2LTL.js → chunk-DZ3XJVET.js} +3 -3
- package/{chunk-5CS33IBL.js → chunk-PDL2AV3E.js} +3 -3
- package/{chunk-5MMZUWSG.js → chunk-TOILAPLH.js} +5 -5
- package/{chunk-3HPUUWOR.js → chunk-TSKWE74T.js} +3 -3
- package/{chunk-DVRHHFEA.js → chunk-TSUJOM6N.js} +3 -3
- package/{db-6QED3ZVO.js → db-HCJ5PRB5.js} +3 -3
- package/{memoryCommands-HG4WKTU7.js → memoryCommands-HGNEENIN.js} +3 -3
- package/{offlineMarxistsAgentCommand-BCPJITJL.js → offlineMarxistsAgentCommand-5OOWZLJI.js} +3 -3
- package/{runtimeDoctorCommands-UWR5UDSM.js → runtimeDoctorCommands-4YVMXBQP.js} +5 -5
- package/{tableCommands-M3DJUETS.js → tableCommands-LV2PPHNY.js} +6 -6
- package/{understanding-ZOESBLF3.js → understanding-3CUQQ6SV.js} +3 -3
|
@@ -15,10 +15,10 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
deleteServerSyncedCredential,
|
|
17
17
|
runLlm
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EUELM55L.js";
|
|
19
19
|
import {
|
|
20
20
|
cleanupCliSessionForDialog
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-XDXO65DS.js";
|
|
22
22
|
import {
|
|
23
23
|
getDialogAgentIds,
|
|
24
24
|
getPrimaryDialogAgentId
|
|
@@ -26,56 +26,79 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
require_date_fns
|
|
28
28
|
} from "./chunk-M76ECQRD.js";
|
|
29
|
+
import {
|
|
30
|
+
DEFAULT_CONTEXT_WINDOW,
|
|
31
|
+
getModelContextWindow,
|
|
32
|
+
getModelInfo,
|
|
33
|
+
normalizeAssistantContentBuffer,
|
|
34
|
+
planCompression,
|
|
35
|
+
serializeMessageContent
|
|
36
|
+
} from "./chunk-GVQT3FIB.js";
|
|
37
|
+
import {
|
|
38
|
+
findModelConfig,
|
|
39
|
+
getModelConfig
|
|
40
|
+
} from "./chunk-S3UTETIC.js";
|
|
41
|
+
import {
|
|
42
|
+
createFileCredentialBroker
|
|
43
|
+
} from "./chunk-PDL2AV3E.js";
|
|
44
|
+
import {
|
|
45
|
+
extractCustomId,
|
|
46
|
+
extractUserId
|
|
47
|
+
} from "./chunk-DFFIZ25G.js";
|
|
48
|
+
import {
|
|
49
|
+
abortActiveControllers,
|
|
50
|
+
addPageReferenceToRuntime,
|
|
51
|
+
applyClearDialogStateRuntime,
|
|
52
|
+
applyUpdateTokensFulfilled,
|
|
53
|
+
clearActiveControllers,
|
|
54
|
+
clearPendingAttachments,
|
|
55
|
+
clearPendingUserInputQueue,
|
|
56
|
+
deleteDialogRuntime,
|
|
57
|
+
getActiveDialogKey,
|
|
58
|
+
getDialogRuntimeTokens,
|
|
59
|
+
require_react,
|
|
60
|
+
resetDialogRuntimeSessionState,
|
|
61
|
+
selectCurrentDialogKey,
|
|
62
|
+
setActiveDialogKey,
|
|
63
|
+
setDialogConfigError
|
|
64
|
+
} from "./chunk-3ASDTTEI.js";
|
|
65
|
+
import {
|
|
66
|
+
toErrorMessage
|
|
67
|
+
} from "./chunk-HNMXYYJR.js";
|
|
68
|
+
import {
|
|
69
|
+
fetchMessages
|
|
70
|
+
} from "./chunk-SOTZ6RDN.js";
|
|
29
71
|
import {
|
|
30
72
|
isSystemAdmin,
|
|
31
73
|
nolotusId,
|
|
32
74
|
selectRemoteServer,
|
|
33
75
|
selectRemoteServers,
|
|
34
76
|
selectRemoteSyncServers
|
|
35
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-UZZCXRHF.js";
|
|
36
78
|
import {
|
|
37
|
-
|
|
38
|
-
} from "./chunk-
|
|
79
|
+
asRecordOrEmpty
|
|
80
|
+
} from "./chunk-KX6YBIHG.js";
|
|
39
81
|
import {
|
|
40
82
|
UNCATEGORIZED_ID,
|
|
41
83
|
addContentAction,
|
|
42
84
|
checkSpaceMembership,
|
|
43
|
-
localSpaceAuthorityPatchStamp
|
|
44
|
-
} from "./chunk-BFDWXLFF.js";
|
|
45
|
-
import {
|
|
46
85
|
createSpaceKey,
|
|
86
|
+
localSpaceAuthorityPatchStamp,
|
|
47
87
|
normalizeSpaceId
|
|
48
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-XGMCGPEA.js";
|
|
49
89
|
import {
|
|
50
90
|
patch,
|
|
51
91
|
read,
|
|
52
92
|
readAndWait,
|
|
53
93
|
remove,
|
|
94
|
+
resolveFileCategory,
|
|
54
95
|
selectById,
|
|
55
96
|
selectEntities,
|
|
56
97
|
toTimestampMs,
|
|
57
|
-
upload,
|
|
58
98
|
uploadFileAction,
|
|
59
99
|
upsertSSREntity,
|
|
60
100
|
write
|
|
61
|
-
} from "./chunk-
|
|
62
|
-
import {
|
|
63
|
-
resolveFileCategory
|
|
64
|
-
} from "./chunk-AZPCASRE.js";
|
|
65
|
-
import {
|
|
66
|
-
ALL_MODELS
|
|
67
|
-
} from "./chunk-IOQIOZNI.js";
|
|
68
|
-
import {
|
|
69
|
-
MODEL_LOOKUP_MAP,
|
|
70
|
-
findModelConfig,
|
|
71
|
-
getModelConfig
|
|
72
|
-
} from "./chunk-S3UTETIC.js";
|
|
73
|
-
import {
|
|
74
|
-
createFileCredentialBroker
|
|
75
|
-
} from "./chunk-5CS33IBL.js";
|
|
76
|
-
import {
|
|
77
|
-
asRecordOrEmpty
|
|
78
|
-
} from "./chunk-KX6YBIHG.js";
|
|
101
|
+
} from "./chunk-KPFGD3YA.js";
|
|
79
102
|
import {
|
|
80
103
|
DB_PREFIX,
|
|
81
104
|
SEPARATOR,
|
|
@@ -108,36 +131,12 @@ import {
|
|
|
108
131
|
import {
|
|
109
132
|
asOptionalFiniteNumber
|
|
110
133
|
} from "./chunk-WWC7I6TA.js";
|
|
111
|
-
import {
|
|
112
|
-
extractCustomId,
|
|
113
|
-
extractUserId
|
|
114
|
-
} from "./chunk-DFFIZ25G.js";
|
|
115
|
-
import {
|
|
116
|
-
abortActiveControllers,
|
|
117
|
-
addPageReferenceToRuntime,
|
|
118
|
-
applyClearDialogStateRuntime,
|
|
119
|
-
applyUpdateTokensFulfilled,
|
|
120
|
-
clearActiveControllers,
|
|
121
|
-
clearPendingAttachments,
|
|
122
|
-
clearPendingUserInputQueue,
|
|
123
|
-
deleteDialogRuntime,
|
|
124
|
-
getActiveDialogKey,
|
|
125
|
-
getDialogRuntimeTokens,
|
|
126
|
-
require_react,
|
|
127
|
-
resetDialogRuntimeSessionState,
|
|
128
|
-
selectCurrentDialogKey,
|
|
129
|
-
setActiveDialogKey,
|
|
130
|
-
setDialogConfigError
|
|
131
|
-
} from "./chunk-3ASDTTEI.js";
|
|
132
134
|
import {
|
|
133
135
|
asTrimmedLowercaseString
|
|
134
136
|
} from "./chunk-QSJ3HFEF.js";
|
|
135
|
-
import {
|
|
136
|
-
toErrorMessage
|
|
137
|
-
} from "./chunk-HNMXYYJR.js";
|
|
138
137
|
import {
|
|
139
138
|
readAction
|
|
140
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-XHQWJUW4.js";
|
|
141
140
|
import {
|
|
142
141
|
DEVICE_LOCAL_OWNER_ID,
|
|
143
142
|
asyncThunkCreator,
|
|
@@ -158,7 +157,7 @@ import {
|
|
|
158
157
|
selectIdentityToken,
|
|
159
158
|
selectIdentityUserId,
|
|
160
159
|
selectRuntimeSnapshot
|
|
161
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-TSUJOM6N.js";
|
|
162
161
|
import {
|
|
163
162
|
createClientLogger,
|
|
164
163
|
fetchFromServer,
|
|
@@ -172,22 +171,19 @@ import {
|
|
|
172
171
|
isTombstoneRecord,
|
|
173
172
|
shouldReplaceWithNextRecord
|
|
174
173
|
} from "./chunk-GBRG75BQ.js";
|
|
174
|
+
import {
|
|
175
|
+
isRecord
|
|
176
|
+
} from "./chunk-KUG52IAP.js";
|
|
175
177
|
import {
|
|
176
178
|
asTrimmedString
|
|
177
179
|
} from "./chunk-3EUW3WEO.js";
|
|
178
180
|
import {
|
|
179
181
|
asOptionalPositiveFiniteNumber
|
|
180
182
|
} from "./chunk-U6VC4MU4.js";
|
|
181
|
-
import {
|
|
182
|
-
isRecord
|
|
183
|
-
} from "./chunk-KUG52IAP.js";
|
|
184
183
|
import {
|
|
185
184
|
API_ENDPOINTS,
|
|
186
185
|
API_VERSION
|
|
187
186
|
} from "./chunk-LCBAMY2M.js";
|
|
188
|
-
import {
|
|
189
|
-
normalizeServerOrigin
|
|
190
|
-
} from "./chunk-CF7PE763.js";
|
|
191
187
|
import {
|
|
192
188
|
asOptionalTrimmedString
|
|
193
189
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -915,1765 +911,6 @@ var require_jsx_runtime = __commonJS({
|
|
|
915
911
|
}
|
|
916
912
|
});
|
|
917
913
|
|
|
918
|
-
// node_modules/browser-image-compression/dist/browser-image-compression.js
|
|
919
|
-
var require_browser_image_compression = __commonJS({
|
|
920
|
-
"node_modules/browser-image-compression/dist/browser-image-compression.js"(exports, module) {
|
|
921
|
-
!function(e, t2) {
|
|
922
|
-
"object" == typeof exports && "undefined" != typeof module ? module.exports = t2() : "function" == typeof define && define.amd ? define(t2) : (e = "undefined" != typeof globalThis ? globalThis : e || self).imageCompression = t2();
|
|
923
|
-
}(exports, function() {
|
|
924
|
-
"use strict";
|
|
925
|
-
function _mergeNamespaces(e2, t3) {
|
|
926
|
-
return t3.forEach(function(t4) {
|
|
927
|
-
t4 && "string" != typeof t4 && !Array.isArray(t4) && Object.keys(t4).forEach(function(r2) {
|
|
928
|
-
if ("default" !== r2 && !(r2 in e2)) {
|
|
929
|
-
var i2 = Object.getOwnPropertyDescriptor(t4, r2);
|
|
930
|
-
Object.defineProperty(e2, r2, i2.get ? i2 : { enumerable: true, get: function() {
|
|
931
|
-
return t4[r2];
|
|
932
|
-
} });
|
|
933
|
-
}
|
|
934
|
-
});
|
|
935
|
-
}), Object.freeze(e2);
|
|
936
|
-
}
|
|
937
|
-
function copyExifWithoutOrientation(e2, t3) {
|
|
938
|
-
return new Promise(function(r2, i2) {
|
|
939
|
-
let o2;
|
|
940
|
-
return getApp1Segment(e2).then(function(e3) {
|
|
941
|
-
try {
|
|
942
|
-
return o2 = e3, r2(new Blob([t3.slice(0, 2), o2, t3.slice(2)], { type: "image/jpeg" }));
|
|
943
|
-
} catch (e4) {
|
|
944
|
-
return i2(e4);
|
|
945
|
-
}
|
|
946
|
-
}, i2);
|
|
947
|
-
});
|
|
948
|
-
}
|
|
949
|
-
const getApp1Segment = (e2) => new Promise((t3, r2) => {
|
|
950
|
-
const i2 = new FileReader();
|
|
951
|
-
i2.addEventListener("load", ({ target: { result: e3 } }) => {
|
|
952
|
-
const i3 = new DataView(e3);
|
|
953
|
-
let o2 = 0;
|
|
954
|
-
if (65496 !== i3.getUint16(o2)) return r2("not a valid JPEG");
|
|
955
|
-
for (o2 += 2; ; ) {
|
|
956
|
-
const a2 = i3.getUint16(o2);
|
|
957
|
-
if (65498 === a2) break;
|
|
958
|
-
const s2 = i3.getUint16(o2 + 2);
|
|
959
|
-
if (65505 === a2 && 1165519206 === i3.getUint32(o2 + 4)) {
|
|
960
|
-
const a3 = o2 + 10;
|
|
961
|
-
let f2;
|
|
962
|
-
switch (i3.getUint16(a3)) {
|
|
963
|
-
case 18761:
|
|
964
|
-
f2 = true;
|
|
965
|
-
break;
|
|
966
|
-
case 19789:
|
|
967
|
-
f2 = false;
|
|
968
|
-
break;
|
|
969
|
-
default:
|
|
970
|
-
return r2("TIFF header contains invalid endian");
|
|
971
|
-
}
|
|
972
|
-
if (42 !== i3.getUint16(a3 + 2, f2)) return r2("TIFF header contains invalid version");
|
|
973
|
-
const l2 = i3.getUint32(a3 + 4, f2), c = a3 + l2 + 2 + 12 * i3.getUint16(a3 + l2, f2);
|
|
974
|
-
for (let e4 = a3 + l2 + 2; e4 < c; e4 += 12) {
|
|
975
|
-
if (274 == i3.getUint16(e4, f2)) {
|
|
976
|
-
if (3 !== i3.getUint16(e4 + 2, f2)) return r2("Orientation data type is invalid");
|
|
977
|
-
if (1 !== i3.getUint32(e4 + 4, f2)) return r2("Orientation data count is invalid");
|
|
978
|
-
i3.setUint16(e4 + 8, 1, f2);
|
|
979
|
-
break;
|
|
980
|
-
}
|
|
981
|
-
}
|
|
982
|
-
return t3(e3.slice(o2, o2 + 2 + s2));
|
|
983
|
-
}
|
|
984
|
-
o2 += 2 + s2;
|
|
985
|
-
}
|
|
986
|
-
return t3(new Blob());
|
|
987
|
-
}), i2.readAsArrayBuffer(e2);
|
|
988
|
-
});
|
|
989
|
-
var e = {};
|
|
990
|
-
!function(e2) {
|
|
991
|
-
var t3, r2, UZIP2 = {};
|
|
992
|
-
e2.exports = UZIP2, UZIP2.parse = function(e3, t4) {
|
|
993
|
-
for (var r3 = UZIP2.bin.readUshort, i2 = UZIP2.bin.readUint, o2 = 0, a2 = {}, s2 = new Uint8Array(e3), f2 = s2.length - 4; 101010256 != i2(s2, f2); ) f2--;
|
|
994
|
-
o2 = f2;
|
|
995
|
-
o2 += 4;
|
|
996
|
-
var l2 = r3(s2, o2 += 4);
|
|
997
|
-
r3(s2, o2 += 2);
|
|
998
|
-
var c = i2(s2, o2 += 2), u = i2(s2, o2 += 4);
|
|
999
|
-
o2 += 4, o2 = u;
|
|
1000
|
-
for (var h = 0; h < l2; h++) {
|
|
1001
|
-
i2(s2, o2), o2 += 4, o2 += 4, o2 += 4, i2(s2, o2 += 4);
|
|
1002
|
-
c = i2(s2, o2 += 4);
|
|
1003
|
-
var d = i2(s2, o2 += 4), A = r3(s2, o2 += 4), g = r3(s2, o2 + 2), p = r3(s2, o2 + 4);
|
|
1004
|
-
o2 += 6;
|
|
1005
|
-
var m = i2(s2, o2 += 8);
|
|
1006
|
-
o2 += 4, o2 += A + g + p, UZIP2._readLocal(s2, m, a2, c, d, t4);
|
|
1007
|
-
}
|
|
1008
|
-
return a2;
|
|
1009
|
-
}, UZIP2._readLocal = function(e3, t4, r3, i2, o2, a2) {
|
|
1010
|
-
var s2 = UZIP2.bin.readUshort, f2 = UZIP2.bin.readUint;
|
|
1011
|
-
f2(e3, t4), s2(e3, t4 += 4), s2(e3, t4 += 2);
|
|
1012
|
-
var l2 = s2(e3, t4 += 2);
|
|
1013
|
-
f2(e3, t4 += 2), f2(e3, t4 += 4), t4 += 4;
|
|
1014
|
-
var c = s2(e3, t4 += 8), u = s2(e3, t4 += 2);
|
|
1015
|
-
t4 += 2;
|
|
1016
|
-
var h = UZIP2.bin.readUTF8(e3, t4, c);
|
|
1017
|
-
if (t4 += c, t4 += u, a2) r3[h] = { size: o2, csize: i2 };
|
|
1018
|
-
else {
|
|
1019
|
-
var d = new Uint8Array(e3.buffer, t4);
|
|
1020
|
-
if (0 == l2) r3[h] = new Uint8Array(d.buffer.slice(t4, t4 + i2));
|
|
1021
|
-
else {
|
|
1022
|
-
if (8 != l2) throw "unknown compression method: " + l2;
|
|
1023
|
-
var A = new Uint8Array(o2);
|
|
1024
|
-
UZIP2.inflateRaw(d, A), r3[h] = A;
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1027
|
-
}, UZIP2.inflateRaw = function(e3, t4) {
|
|
1028
|
-
return UZIP2.F.inflate(e3, t4);
|
|
1029
|
-
}, UZIP2.inflate = function(e3, t4) {
|
|
1030
|
-
return e3[0], e3[1], UZIP2.inflateRaw(new Uint8Array(e3.buffer, e3.byteOffset + 2, e3.length - 6), t4);
|
|
1031
|
-
}, UZIP2.deflate = function(e3, t4) {
|
|
1032
|
-
null == t4 && (t4 = { level: 6 });
|
|
1033
|
-
var r3 = 0, i2 = new Uint8Array(50 + Math.floor(1.1 * e3.length));
|
|
1034
|
-
i2[r3] = 120, i2[r3 + 1] = 156, r3 += 2, r3 = UZIP2.F.deflateRaw(e3, i2, r3, t4.level);
|
|
1035
|
-
var o2 = UZIP2.adler(e3, 0, e3.length);
|
|
1036
|
-
return i2[r3 + 0] = o2 >>> 24 & 255, i2[r3 + 1] = o2 >>> 16 & 255, i2[r3 + 2] = o2 >>> 8 & 255, i2[r3 + 3] = o2 >>> 0 & 255, new Uint8Array(i2.buffer, 0, r3 + 4);
|
|
1037
|
-
}, UZIP2.deflateRaw = function(e3, t4) {
|
|
1038
|
-
null == t4 && (t4 = { level: 6 });
|
|
1039
|
-
var r3 = new Uint8Array(50 + Math.floor(1.1 * e3.length)), i2 = UZIP2.F.deflateRaw(e3, r3, i2, t4.level);
|
|
1040
|
-
return new Uint8Array(r3.buffer, 0, i2);
|
|
1041
|
-
}, UZIP2.encode = function(e3, t4) {
|
|
1042
|
-
null == t4 && (t4 = false);
|
|
1043
|
-
var r3 = 0, i2 = UZIP2.bin.writeUint, o2 = UZIP2.bin.writeUshort, a2 = {};
|
|
1044
|
-
for (var s2 in e3) {
|
|
1045
|
-
var f2 = !UZIP2._noNeed(s2) && !t4, l2 = e3[s2], c = UZIP2.crc.crc(l2, 0, l2.length);
|
|
1046
|
-
a2[s2] = { cpr: f2, usize: l2.length, crc: c, file: f2 ? UZIP2.deflateRaw(l2) : l2 };
|
|
1047
|
-
}
|
|
1048
|
-
for (var s2 in a2) r3 += a2[s2].file.length + 30 + 46 + 2 * UZIP2.bin.sizeUTF8(s2);
|
|
1049
|
-
r3 += 22;
|
|
1050
|
-
var u = new Uint8Array(r3), h = 0, d = [];
|
|
1051
|
-
for (var s2 in a2) {
|
|
1052
|
-
var A = a2[s2];
|
|
1053
|
-
d.push(h), h = UZIP2._writeHeader(u, h, s2, A, 0);
|
|
1054
|
-
}
|
|
1055
|
-
var g = 0, p = h;
|
|
1056
|
-
for (var s2 in a2) {
|
|
1057
|
-
A = a2[s2];
|
|
1058
|
-
d.push(h), h = UZIP2._writeHeader(u, h, s2, A, 1, d[g++]);
|
|
1059
|
-
}
|
|
1060
|
-
var m = h - p;
|
|
1061
|
-
return i2(u, h, 101010256), h += 4, o2(u, h += 4, g), o2(u, h += 2, g), i2(u, h += 2, m), i2(u, h += 4, p), h += 4, h += 2, u.buffer;
|
|
1062
|
-
}, UZIP2._noNeed = function(e3) {
|
|
1063
|
-
var t4 = e3.split(".").pop().toLowerCase();
|
|
1064
|
-
return -1 != "png,jpg,jpeg,zip".indexOf(t4);
|
|
1065
|
-
}, UZIP2._writeHeader = function(e3, t4, r3, i2, o2, a2) {
|
|
1066
|
-
var s2 = UZIP2.bin.writeUint, f2 = UZIP2.bin.writeUshort, l2 = i2.file;
|
|
1067
|
-
return s2(e3, t4, 0 == o2 ? 67324752 : 33639248), t4 += 4, 1 == o2 && (t4 += 2), f2(e3, t4, 20), f2(e3, t4 += 2, 0), f2(e3, t4 += 2, i2.cpr ? 8 : 0), s2(e3, t4 += 2, 0), s2(e3, t4 += 4, i2.crc), s2(e3, t4 += 4, l2.length), s2(e3, t4 += 4, i2.usize), f2(e3, t4 += 4, UZIP2.bin.sizeUTF8(r3)), f2(e3, t4 += 2, 0), t4 += 2, 1 == o2 && (t4 += 2, t4 += 2, s2(e3, t4 += 6, a2), t4 += 4), t4 += UZIP2.bin.writeUTF8(e3, t4, r3), 0 == o2 && (e3.set(l2, t4), t4 += l2.length), t4;
|
|
1068
|
-
}, UZIP2.crc = { table: function() {
|
|
1069
|
-
for (var e3 = new Uint32Array(256), t4 = 0; t4 < 256; t4++) {
|
|
1070
|
-
for (var r3 = t4, i2 = 0; i2 < 8; i2++) 1 & r3 ? r3 = 3988292384 ^ r3 >>> 1 : r3 >>>= 1;
|
|
1071
|
-
e3[t4] = r3;
|
|
1072
|
-
}
|
|
1073
|
-
return e3;
|
|
1074
|
-
}(), update: function(e3, t4, r3, i2) {
|
|
1075
|
-
for (var o2 = 0; o2 < i2; o2++) e3 = UZIP2.crc.table[255 & (e3 ^ t4[r3 + o2])] ^ e3 >>> 8;
|
|
1076
|
-
return e3;
|
|
1077
|
-
}, crc: function(e3, t4, r3) {
|
|
1078
|
-
return 4294967295 ^ UZIP2.crc.update(4294967295, e3, t4, r3);
|
|
1079
|
-
} }, UZIP2.adler = function(e3, t4, r3) {
|
|
1080
|
-
for (var i2 = 1, o2 = 0, a2 = t4, s2 = t4 + r3; a2 < s2; ) {
|
|
1081
|
-
for (var f2 = Math.min(a2 + 5552, s2); a2 < f2; ) o2 += i2 += e3[a2++];
|
|
1082
|
-
i2 %= 65521, o2 %= 65521;
|
|
1083
|
-
}
|
|
1084
|
-
return o2 << 16 | i2;
|
|
1085
|
-
}, UZIP2.bin = { readUshort: function(e3, t4) {
|
|
1086
|
-
return e3[t4] | e3[t4 + 1] << 8;
|
|
1087
|
-
}, writeUshort: function(e3, t4, r3) {
|
|
1088
|
-
e3[t4] = 255 & r3, e3[t4 + 1] = r3 >> 8 & 255;
|
|
1089
|
-
}, readUint: function(e3, t4) {
|
|
1090
|
-
return 16777216 * e3[t4 + 3] + (e3[t4 + 2] << 16 | e3[t4 + 1] << 8 | e3[t4]);
|
|
1091
|
-
}, writeUint: function(e3, t4, r3) {
|
|
1092
|
-
e3[t4] = 255 & r3, e3[t4 + 1] = r3 >> 8 & 255, e3[t4 + 2] = r3 >> 16 & 255, e3[t4 + 3] = r3 >> 24 & 255;
|
|
1093
|
-
}, readASCII: function(e3, t4, r3) {
|
|
1094
|
-
for (var i2 = "", o2 = 0; o2 < r3; o2++) i2 += String.fromCharCode(e3[t4 + o2]);
|
|
1095
|
-
return i2;
|
|
1096
|
-
}, writeASCII: function(e3, t4, r3) {
|
|
1097
|
-
for (var i2 = 0; i2 < r3.length; i2++) e3[t4 + i2] = r3.charCodeAt(i2);
|
|
1098
|
-
}, pad: function(e3) {
|
|
1099
|
-
return e3.length < 2 ? "0" + e3 : e3;
|
|
1100
|
-
}, readUTF8: function(e3, t4, r3) {
|
|
1101
|
-
for (var i2, o2 = "", a2 = 0; a2 < r3; a2++) o2 += "%" + UZIP2.bin.pad(e3[t4 + a2].toString(16));
|
|
1102
|
-
try {
|
|
1103
|
-
i2 = decodeURIComponent(o2);
|
|
1104
|
-
} catch (i3) {
|
|
1105
|
-
return UZIP2.bin.readASCII(e3, t4, r3);
|
|
1106
|
-
}
|
|
1107
|
-
return i2;
|
|
1108
|
-
}, writeUTF8: function(e3, t4, r3) {
|
|
1109
|
-
for (var i2 = r3.length, o2 = 0, a2 = 0; a2 < i2; a2++) {
|
|
1110
|
-
var s2 = r3.charCodeAt(a2);
|
|
1111
|
-
if (0 == (4294967168 & s2)) e3[t4 + o2] = s2, o2++;
|
|
1112
|
-
else if (0 == (4294965248 & s2)) e3[t4 + o2] = 192 | s2 >> 6, e3[t4 + o2 + 1] = 128 | s2 >> 0 & 63, o2 += 2;
|
|
1113
|
-
else if (0 == (4294901760 & s2)) e3[t4 + o2] = 224 | s2 >> 12, e3[t4 + o2 + 1] = 128 | s2 >> 6 & 63, e3[t4 + o2 + 2] = 128 | s2 >> 0 & 63, o2 += 3;
|
|
1114
|
-
else {
|
|
1115
|
-
if (0 != (4292870144 & s2)) throw "e";
|
|
1116
|
-
e3[t4 + o2] = 240 | s2 >> 18, e3[t4 + o2 + 1] = 128 | s2 >> 12 & 63, e3[t4 + o2 + 2] = 128 | s2 >> 6 & 63, e3[t4 + o2 + 3] = 128 | s2 >> 0 & 63, o2 += 4;
|
|
1117
|
-
}
|
|
1118
|
-
}
|
|
1119
|
-
return o2;
|
|
1120
|
-
}, sizeUTF8: function(e3) {
|
|
1121
|
-
for (var t4 = e3.length, r3 = 0, i2 = 0; i2 < t4; i2++) {
|
|
1122
|
-
var o2 = e3.charCodeAt(i2);
|
|
1123
|
-
if (0 == (4294967168 & o2)) r3++;
|
|
1124
|
-
else if (0 == (4294965248 & o2)) r3 += 2;
|
|
1125
|
-
else if (0 == (4294901760 & o2)) r3 += 3;
|
|
1126
|
-
else {
|
|
1127
|
-
if (0 != (4292870144 & o2)) throw "e";
|
|
1128
|
-
r3 += 4;
|
|
1129
|
-
}
|
|
1130
|
-
}
|
|
1131
|
-
return r3;
|
|
1132
|
-
} }, UZIP2.F = {}, UZIP2.F.deflateRaw = function(e3, t4, r3, i2) {
|
|
1133
|
-
var o2 = [[0, 0, 0, 0, 0], [4, 4, 8, 4, 0], [4, 5, 16, 8, 0], [4, 6, 16, 16, 0], [4, 10, 16, 32, 0], [8, 16, 32, 32, 0], [8, 16, 128, 128, 0], [8, 32, 128, 256, 0], [32, 128, 258, 1024, 1], [32, 258, 258, 4096, 1]][i2], a2 = UZIP2.F.U, s2 = UZIP2.F._goodIndex;
|
|
1134
|
-
UZIP2.F._hash;
|
|
1135
|
-
var f2 = UZIP2.F._putsE, l2 = 0, c = r3 << 3, u = 0, h = e3.length;
|
|
1136
|
-
if (0 == i2) {
|
|
1137
|
-
for (; l2 < h; ) {
|
|
1138
|
-
f2(t4, c, l2 + (_ = Math.min(65535, h - l2)) == h ? 1 : 0), c = UZIP2.F._copyExact(e3, l2, _, t4, c + 8), l2 += _;
|
|
1139
|
-
}
|
|
1140
|
-
return c >>> 3;
|
|
1141
|
-
}
|
|
1142
|
-
var d = a2.lits, A = a2.strt, g = a2.prev, p = 0, m = 0, w = 0, v = 0, b = 0, y = 0;
|
|
1143
|
-
for (h > 2 && (A[y = UZIP2.F._hash(e3, 0)] = 0), l2 = 0; l2 < h; l2++) {
|
|
1144
|
-
if (b = y, l2 + 1 < h - 2) {
|
|
1145
|
-
y = UZIP2.F._hash(e3, l2 + 1);
|
|
1146
|
-
var E = l2 + 1 & 32767;
|
|
1147
|
-
g[E] = A[y], A[y] = E;
|
|
1148
|
-
}
|
|
1149
|
-
if (u <= l2) {
|
|
1150
|
-
(p > 14e3 || m > 26697) && h - l2 > 100 && (u < l2 && (d[p] = l2 - u, p += 2, u = l2), c = UZIP2.F._writeBlock(l2 == h - 1 || u == h ? 1 : 0, d, p, v, e3, w, l2 - w, t4, c), p = m = v = 0, w = l2);
|
|
1151
|
-
var F = 0;
|
|
1152
|
-
l2 < h - 2 && (F = UZIP2.F._bestMatch(e3, l2, g, b, Math.min(o2[2], h - l2), o2[3]));
|
|
1153
|
-
var _ = F >>> 16, B = 65535 & F;
|
|
1154
|
-
if (0 != F) {
|
|
1155
|
-
B = 65535 & F;
|
|
1156
|
-
var U = s2(_ = F >>> 16, a2.of0);
|
|
1157
|
-
a2.lhst[257 + U]++;
|
|
1158
|
-
var C = s2(B, a2.df0);
|
|
1159
|
-
a2.dhst[C]++, v += a2.exb[U] + a2.dxb[C], d[p] = _ << 23 | l2 - u, d[p + 1] = B << 16 | U << 8 | C, p += 2, u = l2 + _;
|
|
1160
|
-
} else a2.lhst[e3[l2]]++;
|
|
1161
|
-
m++;
|
|
1162
|
-
}
|
|
1163
|
-
}
|
|
1164
|
-
for (w == l2 && 0 != e3.length || (u < l2 && (d[p] = l2 - u, p += 2, u = l2), c = UZIP2.F._writeBlock(1, d, p, v, e3, w, l2 - w, t4, c), p = 0, m = 0, p = m = v = 0, w = l2); 0 != (7 & c); ) c++;
|
|
1165
|
-
return c >>> 3;
|
|
1166
|
-
}, UZIP2.F._bestMatch = function(e3, t4, r3, i2, o2, a2) {
|
|
1167
|
-
var s2 = 32767 & t4, f2 = r3[s2], l2 = s2 - f2 + 32768 & 32767;
|
|
1168
|
-
if (f2 == s2 || i2 != UZIP2.F._hash(e3, t4 - l2)) return 0;
|
|
1169
|
-
for (var c = 0, u = 0, h = Math.min(32767, t4); l2 <= h && 0 != --a2 && f2 != s2; ) {
|
|
1170
|
-
if (0 == c || e3[t4 + c] == e3[t4 + c - l2]) {
|
|
1171
|
-
var d = UZIP2.F._howLong(e3, t4, l2);
|
|
1172
|
-
if (d > c) {
|
|
1173
|
-
if (u = l2, (c = d) >= o2) break;
|
|
1174
|
-
l2 + 2 < d && (d = l2 + 2);
|
|
1175
|
-
for (var A = 0, g = 0; g < d - 2; g++) {
|
|
1176
|
-
var p = t4 - l2 + g + 32768 & 32767, m = p - r3[p] + 32768 & 32767;
|
|
1177
|
-
m > A && (A = m, f2 = p);
|
|
1178
|
-
}
|
|
1179
|
-
}
|
|
1180
|
-
}
|
|
1181
|
-
l2 += (s2 = f2) - (f2 = r3[s2]) + 32768 & 32767;
|
|
1182
|
-
}
|
|
1183
|
-
return c << 16 | u;
|
|
1184
|
-
}, UZIP2.F._howLong = function(e3, t4, r3) {
|
|
1185
|
-
if (e3[t4] != e3[t4 - r3] || e3[t4 + 1] != e3[t4 + 1 - r3] || e3[t4 + 2] != e3[t4 + 2 - r3]) return 0;
|
|
1186
|
-
var i2 = t4, o2 = Math.min(e3.length, t4 + 258);
|
|
1187
|
-
for (t4 += 3; t4 < o2 && e3[t4] == e3[t4 - r3]; ) t4++;
|
|
1188
|
-
return t4 - i2;
|
|
1189
|
-
}, UZIP2.F._hash = function(e3, t4) {
|
|
1190
|
-
return (e3[t4] << 8 | e3[t4 + 1]) + (e3[t4 + 2] << 4) & 65535;
|
|
1191
|
-
}, UZIP2.saved = 0, UZIP2.F._writeBlock = function(e3, t4, r3, i2, o2, a2, s2, f2, l2) {
|
|
1192
|
-
var c, u, h, d, A, g, p, m, w, v = UZIP2.F.U, b = UZIP2.F._putsF, y = UZIP2.F._putsE;
|
|
1193
|
-
v.lhst[256]++, u = (c = UZIP2.F.getTrees())[0], h = c[1], d = c[2], A = c[3], g = c[4], p = c[5], m = c[6], w = c[7];
|
|
1194
|
-
var E = 32 + (0 == (l2 + 3 & 7) ? 0 : 8 - (l2 + 3 & 7)) + (s2 << 3), F = i2 + UZIP2.F.contSize(v.fltree, v.lhst) + UZIP2.F.contSize(v.fdtree, v.dhst), _ = i2 + UZIP2.F.contSize(v.ltree, v.lhst) + UZIP2.F.contSize(v.dtree, v.dhst);
|
|
1195
|
-
_ += 14 + 3 * p + UZIP2.F.contSize(v.itree, v.ihst) + (2 * v.ihst[16] + 3 * v.ihst[17] + 7 * v.ihst[18]);
|
|
1196
|
-
for (var B = 0; B < 286; B++) v.lhst[B] = 0;
|
|
1197
|
-
for (B = 0; B < 30; B++) v.dhst[B] = 0;
|
|
1198
|
-
for (B = 0; B < 19; B++) v.ihst[B] = 0;
|
|
1199
|
-
var U = E < F && E < _ ? 0 : F < _ ? 1 : 2;
|
|
1200
|
-
if (b(f2, l2, e3), b(f2, l2 + 1, U), l2 += 3, 0 == U) {
|
|
1201
|
-
for (; 0 != (7 & l2); ) l2++;
|
|
1202
|
-
l2 = UZIP2.F._copyExact(o2, a2, s2, f2, l2);
|
|
1203
|
-
} else {
|
|
1204
|
-
var C, I;
|
|
1205
|
-
if (1 == U && (C = v.fltree, I = v.fdtree), 2 == U) {
|
|
1206
|
-
UZIP2.F.makeCodes(v.ltree, u), UZIP2.F.revCodes(v.ltree, u), UZIP2.F.makeCodes(v.dtree, h), UZIP2.F.revCodes(v.dtree, h), UZIP2.F.makeCodes(v.itree, d), UZIP2.F.revCodes(v.itree, d), C = v.ltree, I = v.dtree, y(f2, l2, A - 257), y(f2, l2 += 5, g - 1), y(f2, l2 += 5, p - 4), l2 += 4;
|
|
1207
|
-
for (var Q = 0; Q < p; Q++) y(f2, l2 + 3 * Q, v.itree[1 + (v.ordr[Q] << 1)]);
|
|
1208
|
-
l2 += 3 * p, l2 = UZIP2.F._codeTiny(m, v.itree, f2, l2), l2 = UZIP2.F._codeTiny(w, v.itree, f2, l2);
|
|
1209
|
-
}
|
|
1210
|
-
for (var M = a2, x = 0; x < r3; x += 2) {
|
|
1211
|
-
for (var T = t4[x], S = T >>> 23, R = M + (8388607 & T); M < R; ) l2 = UZIP2.F._writeLit(o2[M++], C, f2, l2);
|
|
1212
|
-
if (0 != S) {
|
|
1213
|
-
var O = t4[x + 1], P = O >> 16, H = O >> 8 & 255, L = 255 & O;
|
|
1214
|
-
y(f2, l2 = UZIP2.F._writeLit(257 + H, C, f2, l2), S - v.of0[H]), l2 += v.exb[H], b(f2, l2 = UZIP2.F._writeLit(L, I, f2, l2), P - v.df0[L]), l2 += v.dxb[L], M += S;
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1217
|
-
l2 = UZIP2.F._writeLit(256, C, f2, l2);
|
|
1218
|
-
}
|
|
1219
|
-
return l2;
|
|
1220
|
-
}, UZIP2.F._copyExact = function(e3, t4, r3, i2, o2) {
|
|
1221
|
-
var a2 = o2 >>> 3;
|
|
1222
|
-
return i2[a2] = r3, i2[a2 + 1] = r3 >>> 8, i2[a2 + 2] = 255 - i2[a2], i2[a2 + 3] = 255 - i2[a2 + 1], a2 += 4, i2.set(new Uint8Array(e3.buffer, t4, r3), a2), o2 + (r3 + 4 << 3);
|
|
1223
|
-
}, UZIP2.F.getTrees = function() {
|
|
1224
|
-
for (var e3 = UZIP2.F.U, t4 = UZIP2.F._hufTree(e3.lhst, e3.ltree, 15), r3 = UZIP2.F._hufTree(e3.dhst, e3.dtree, 15), i2 = [], o2 = UZIP2.F._lenCodes(e3.ltree, i2), a2 = [], s2 = UZIP2.F._lenCodes(e3.dtree, a2), f2 = 0; f2 < i2.length; f2 += 2) e3.ihst[i2[f2]]++;
|
|
1225
|
-
for (f2 = 0; f2 < a2.length; f2 += 2) e3.ihst[a2[f2]]++;
|
|
1226
|
-
for (var l2 = UZIP2.F._hufTree(e3.ihst, e3.itree, 7), c = 19; c > 4 && 0 == e3.itree[1 + (e3.ordr[c - 1] << 1)]; ) c--;
|
|
1227
|
-
return [t4, r3, l2, o2, s2, c, i2, a2];
|
|
1228
|
-
}, UZIP2.F.getSecond = function(e3) {
|
|
1229
|
-
for (var t4 = [], r3 = 0; r3 < e3.length; r3 += 2) t4.push(e3[r3 + 1]);
|
|
1230
|
-
return t4;
|
|
1231
|
-
}, UZIP2.F.nonZero = function(e3) {
|
|
1232
|
-
for (var t4 = "", r3 = 0; r3 < e3.length; r3 += 2) 0 != e3[r3 + 1] && (t4 += (r3 >> 1) + ",");
|
|
1233
|
-
return t4;
|
|
1234
|
-
}, UZIP2.F.contSize = function(e3, t4) {
|
|
1235
|
-
for (var r3 = 0, i2 = 0; i2 < t4.length; i2++) r3 += t4[i2] * e3[1 + (i2 << 1)];
|
|
1236
|
-
return r3;
|
|
1237
|
-
}, UZIP2.F._codeTiny = function(e3, t4, r3, i2) {
|
|
1238
|
-
for (var o2 = 0; o2 < e3.length; o2 += 2) {
|
|
1239
|
-
var a2 = e3[o2], s2 = e3[o2 + 1];
|
|
1240
|
-
i2 = UZIP2.F._writeLit(a2, t4, r3, i2);
|
|
1241
|
-
var f2 = 16 == a2 ? 2 : 17 == a2 ? 3 : 7;
|
|
1242
|
-
a2 > 15 && (UZIP2.F._putsE(r3, i2, s2, f2), i2 += f2);
|
|
1243
|
-
}
|
|
1244
|
-
return i2;
|
|
1245
|
-
}, UZIP2.F._lenCodes = function(e3, t4) {
|
|
1246
|
-
for (var r3 = e3.length; 2 != r3 && 0 == e3[r3 - 1]; ) r3 -= 2;
|
|
1247
|
-
for (var i2 = 0; i2 < r3; i2 += 2) {
|
|
1248
|
-
var o2 = e3[i2 + 1], a2 = i2 + 3 < r3 ? e3[i2 + 3] : -1, s2 = i2 + 5 < r3 ? e3[i2 + 5] : -1, f2 = 0 == i2 ? -1 : e3[i2 - 1];
|
|
1249
|
-
if (0 == o2 && a2 == o2 && s2 == o2) {
|
|
1250
|
-
for (var l2 = i2 + 5; l2 + 2 < r3 && e3[l2 + 2] == o2; ) l2 += 2;
|
|
1251
|
-
(c = Math.min(l2 + 1 - i2 >>> 1, 138)) < 11 ? t4.push(17, c - 3) : t4.push(18, c - 11), i2 += 2 * c - 2;
|
|
1252
|
-
} else if (o2 == f2 && a2 == o2 && s2 == o2) {
|
|
1253
|
-
for (l2 = i2 + 5; l2 + 2 < r3 && e3[l2 + 2] == o2; ) l2 += 2;
|
|
1254
|
-
var c = Math.min(l2 + 1 - i2 >>> 1, 6);
|
|
1255
|
-
t4.push(16, c - 3), i2 += 2 * c - 2;
|
|
1256
|
-
} else t4.push(o2, 0);
|
|
1257
|
-
}
|
|
1258
|
-
return r3 >>> 1;
|
|
1259
|
-
}, UZIP2.F._hufTree = function(e3, t4, r3) {
|
|
1260
|
-
var i2 = [], o2 = e3.length, a2 = t4.length, s2 = 0;
|
|
1261
|
-
for (s2 = 0; s2 < a2; s2 += 2) t4[s2] = 0, t4[s2 + 1] = 0;
|
|
1262
|
-
for (s2 = 0; s2 < o2; s2++) 0 != e3[s2] && i2.push({ lit: s2, f: e3[s2] });
|
|
1263
|
-
var f2 = i2.length, l2 = i2.slice(0);
|
|
1264
|
-
if (0 == f2) return 0;
|
|
1265
|
-
if (1 == f2) {
|
|
1266
|
-
var c = i2[0].lit;
|
|
1267
|
-
l2 = 0 == c ? 1 : 0;
|
|
1268
|
-
return t4[1 + (c << 1)] = 1, t4[1 + (l2 << 1)] = 1, 1;
|
|
1269
|
-
}
|
|
1270
|
-
i2.sort(function(e4, t5) {
|
|
1271
|
-
return e4.f - t5.f;
|
|
1272
|
-
});
|
|
1273
|
-
var u = i2[0], h = i2[1], d = 0, A = 1, g = 2;
|
|
1274
|
-
for (i2[0] = { lit: -1, f: u.f + h.f, l: u, r: h, d: 0 }; A != f2 - 1; ) u = d != A && (g == f2 || i2[d].f < i2[g].f) ? i2[d++] : i2[g++], h = d != A && (g == f2 || i2[d].f < i2[g].f) ? i2[d++] : i2[g++], i2[A++] = { lit: -1, f: u.f + h.f, l: u, r: h };
|
|
1275
|
-
var p = UZIP2.F.setDepth(i2[A - 1], 0);
|
|
1276
|
-
for (p > r3 && (UZIP2.F.restrictDepth(l2, r3, p), p = r3), s2 = 0; s2 < f2; s2++) t4[1 + (l2[s2].lit << 1)] = l2[s2].d;
|
|
1277
|
-
return p;
|
|
1278
|
-
}, UZIP2.F.setDepth = function(e3, t4) {
|
|
1279
|
-
return -1 != e3.lit ? (e3.d = t4, t4) : Math.max(UZIP2.F.setDepth(e3.l, t4 + 1), UZIP2.F.setDepth(e3.r, t4 + 1));
|
|
1280
|
-
}, UZIP2.F.restrictDepth = function(e3, t4, r3) {
|
|
1281
|
-
var i2 = 0, o2 = 1 << r3 - t4, a2 = 0;
|
|
1282
|
-
for (e3.sort(function(e4, t5) {
|
|
1283
|
-
return t5.d == e4.d ? e4.f - t5.f : t5.d - e4.d;
|
|
1284
|
-
}), i2 = 0; i2 < e3.length && e3[i2].d > t4; i2++) {
|
|
1285
|
-
var s2 = e3[i2].d;
|
|
1286
|
-
e3[i2].d = t4, a2 += o2 - (1 << r3 - s2);
|
|
1287
|
-
}
|
|
1288
|
-
for (a2 >>>= r3 - t4; a2 > 0; ) {
|
|
1289
|
-
(s2 = e3[i2].d) < t4 ? (e3[i2].d++, a2 -= 1 << t4 - s2 - 1) : i2++;
|
|
1290
|
-
}
|
|
1291
|
-
for (; i2 >= 0; i2--) e3[i2].d == t4 && a2 < 0 && (e3[i2].d--, a2++);
|
|
1292
|
-
0 != a2 && console.log("debt left");
|
|
1293
|
-
}, UZIP2.F._goodIndex = function(e3, t4) {
|
|
1294
|
-
var r3 = 0;
|
|
1295
|
-
return t4[16 | r3] <= e3 && (r3 |= 16), t4[8 | r3] <= e3 && (r3 |= 8), t4[4 | r3] <= e3 && (r3 |= 4), t4[2 | r3] <= e3 && (r3 |= 2), t4[1 | r3] <= e3 && (r3 |= 1), r3;
|
|
1296
|
-
}, UZIP2.F._writeLit = function(e3, t4, r3, i2) {
|
|
1297
|
-
return UZIP2.F._putsF(r3, i2, t4[e3 << 1]), i2 + t4[1 + (e3 << 1)];
|
|
1298
|
-
}, UZIP2.F.inflate = function(e3, t4) {
|
|
1299
|
-
var r3 = Uint8Array;
|
|
1300
|
-
if (3 == e3[0] && 0 == e3[1]) return t4 || new r3(0);
|
|
1301
|
-
var i2 = UZIP2.F, o2 = i2._bitsF, a2 = i2._bitsE, s2 = i2._decodeTiny, f2 = i2.makeCodes, l2 = i2.codes2map, c = i2._get17, u = i2.U, h = null == t4;
|
|
1302
|
-
h && (t4 = new r3(e3.length >>> 2 << 3));
|
|
1303
|
-
for (var d, A, g = 0, p = 0, m = 0, w = 0, v = 0, b = 0, y = 0, E = 0, F = 0; 0 == g; ) if (g = o2(e3, F, 1), p = o2(e3, F + 1, 2), F += 3, 0 != p) {
|
|
1304
|
-
if (h && (t4 = UZIP2.F._check(t4, E + (1 << 17))), 1 == p && (d = u.flmap, A = u.fdmap, b = 511, y = 31), 2 == p) {
|
|
1305
|
-
m = a2(e3, F, 5) + 257, w = a2(e3, F + 5, 5) + 1, v = a2(e3, F + 10, 4) + 4, F += 14;
|
|
1306
|
-
for (var _ = 0; _ < 38; _ += 2) u.itree[_] = 0, u.itree[_ + 1] = 0;
|
|
1307
|
-
var B = 1;
|
|
1308
|
-
for (_ = 0; _ < v; _++) {
|
|
1309
|
-
var U = a2(e3, F + 3 * _, 3);
|
|
1310
|
-
u.itree[1 + (u.ordr[_] << 1)] = U, U > B && (B = U);
|
|
1311
|
-
}
|
|
1312
|
-
F += 3 * v, f2(u.itree, B), l2(u.itree, B, u.imap), d = u.lmap, A = u.dmap, F = s2(u.imap, (1 << B) - 1, m + w, e3, F, u.ttree);
|
|
1313
|
-
var C = i2._copyOut(u.ttree, 0, m, u.ltree);
|
|
1314
|
-
b = (1 << C) - 1;
|
|
1315
|
-
var I = i2._copyOut(u.ttree, m, w, u.dtree);
|
|
1316
|
-
y = (1 << I) - 1, f2(u.ltree, C), l2(u.ltree, C, d), f2(u.dtree, I), l2(u.dtree, I, A);
|
|
1317
|
-
}
|
|
1318
|
-
for (; ; ) {
|
|
1319
|
-
var Q = d[c(e3, F) & b];
|
|
1320
|
-
F += 15 & Q;
|
|
1321
|
-
var M = Q >>> 4;
|
|
1322
|
-
if (M >>> 8 == 0) t4[E++] = M;
|
|
1323
|
-
else {
|
|
1324
|
-
if (256 == M) break;
|
|
1325
|
-
var x = E + M - 254;
|
|
1326
|
-
if (M > 264) {
|
|
1327
|
-
var T = u.ldef[M - 257];
|
|
1328
|
-
x = E + (T >>> 3) + a2(e3, F, 7 & T), F += 7 & T;
|
|
1329
|
-
}
|
|
1330
|
-
var S = A[c(e3, F) & y];
|
|
1331
|
-
F += 15 & S;
|
|
1332
|
-
var R = S >>> 4, O = u.ddef[R], P = (O >>> 4) + o2(e3, F, 15 & O);
|
|
1333
|
-
for (F += 15 & O, h && (t4 = UZIP2.F._check(t4, E + (1 << 17))); E < x; ) t4[E] = t4[E++ - P], t4[E] = t4[E++ - P], t4[E] = t4[E++ - P], t4[E] = t4[E++ - P];
|
|
1334
|
-
E = x;
|
|
1335
|
-
}
|
|
1336
|
-
}
|
|
1337
|
-
} else {
|
|
1338
|
-
0 != (7 & F) && (F += 8 - (7 & F));
|
|
1339
|
-
var H = 4 + (F >>> 3), L = e3[H - 4] | e3[H - 3] << 8;
|
|
1340
|
-
h && (t4 = UZIP2.F._check(t4, E + L)), t4.set(new r3(e3.buffer, e3.byteOffset + H, L), E), F = H + L << 3, E += L;
|
|
1341
|
-
}
|
|
1342
|
-
return t4.length == E ? t4 : t4.slice(0, E);
|
|
1343
|
-
}, UZIP2.F._check = function(e3, t4) {
|
|
1344
|
-
var r3 = e3.length;
|
|
1345
|
-
if (t4 <= r3) return e3;
|
|
1346
|
-
var i2 = new Uint8Array(Math.max(r3 << 1, t4));
|
|
1347
|
-
return i2.set(e3, 0), i2;
|
|
1348
|
-
}, UZIP2.F._decodeTiny = function(e3, t4, r3, i2, o2, a2) {
|
|
1349
|
-
for (var s2 = UZIP2.F._bitsE, f2 = UZIP2.F._get17, l2 = 0; l2 < r3; ) {
|
|
1350
|
-
var c = e3[f2(i2, o2) & t4];
|
|
1351
|
-
o2 += 15 & c;
|
|
1352
|
-
var u = c >>> 4;
|
|
1353
|
-
if (u <= 15) a2[l2] = u, l2++;
|
|
1354
|
-
else {
|
|
1355
|
-
var h = 0, d = 0;
|
|
1356
|
-
16 == u ? (d = 3 + s2(i2, o2, 2), o2 += 2, h = a2[l2 - 1]) : 17 == u ? (d = 3 + s2(i2, o2, 3), o2 += 3) : 18 == u && (d = 11 + s2(i2, o2, 7), o2 += 7);
|
|
1357
|
-
for (var A = l2 + d; l2 < A; ) a2[l2] = h, l2++;
|
|
1358
|
-
}
|
|
1359
|
-
}
|
|
1360
|
-
return o2;
|
|
1361
|
-
}, UZIP2.F._copyOut = function(e3, t4, r3, i2) {
|
|
1362
|
-
for (var o2 = 0, a2 = 0, s2 = i2.length >>> 1; a2 < r3; ) {
|
|
1363
|
-
var f2 = e3[a2 + t4];
|
|
1364
|
-
i2[a2 << 1] = 0, i2[1 + (a2 << 1)] = f2, f2 > o2 && (o2 = f2), a2++;
|
|
1365
|
-
}
|
|
1366
|
-
for (; a2 < s2; ) i2[a2 << 1] = 0, i2[1 + (a2 << 1)] = 0, a2++;
|
|
1367
|
-
return o2;
|
|
1368
|
-
}, UZIP2.F.makeCodes = function(e3, t4) {
|
|
1369
|
-
for (var r3, i2, o2, a2, s2 = UZIP2.F.U, f2 = e3.length, l2 = s2.bl_count, c = 0; c <= t4; c++) l2[c] = 0;
|
|
1370
|
-
for (c = 1; c < f2; c += 2) l2[e3[c]]++;
|
|
1371
|
-
var u = s2.next_code;
|
|
1372
|
-
for (r3 = 0, l2[0] = 0, i2 = 1; i2 <= t4; i2++) r3 = r3 + l2[i2 - 1] << 1, u[i2] = r3;
|
|
1373
|
-
for (o2 = 0; o2 < f2; o2 += 2) 0 != (a2 = e3[o2 + 1]) && (e3[o2] = u[a2], u[a2]++);
|
|
1374
|
-
}, UZIP2.F.codes2map = function(e3, t4, r3) {
|
|
1375
|
-
for (var i2 = e3.length, o2 = UZIP2.F.U.rev15, a2 = 0; a2 < i2; a2 += 2) if (0 != e3[a2 + 1]) for (var s2 = a2 >> 1, f2 = e3[a2 + 1], l2 = s2 << 4 | f2, c = t4 - f2, u = e3[a2] << c, h = u + (1 << c); u != h; ) {
|
|
1376
|
-
r3[o2[u] >>> 15 - t4] = l2, u++;
|
|
1377
|
-
}
|
|
1378
|
-
}, UZIP2.F.revCodes = function(e3, t4) {
|
|
1379
|
-
for (var r3 = UZIP2.F.U.rev15, i2 = 15 - t4, o2 = 0; o2 < e3.length; o2 += 2) {
|
|
1380
|
-
var a2 = e3[o2] << t4 - e3[o2 + 1];
|
|
1381
|
-
e3[o2] = r3[a2] >>> i2;
|
|
1382
|
-
}
|
|
1383
|
-
}, UZIP2.F._putsE = function(e3, t4, r3) {
|
|
1384
|
-
r3 <<= 7 & t4;
|
|
1385
|
-
var i2 = t4 >>> 3;
|
|
1386
|
-
e3[i2] |= r3, e3[i2 + 1] |= r3 >>> 8;
|
|
1387
|
-
}, UZIP2.F._putsF = function(e3, t4, r3) {
|
|
1388
|
-
r3 <<= 7 & t4;
|
|
1389
|
-
var i2 = t4 >>> 3;
|
|
1390
|
-
e3[i2] |= r3, e3[i2 + 1] |= r3 >>> 8, e3[i2 + 2] |= r3 >>> 16;
|
|
1391
|
-
}, UZIP2.F._bitsE = function(e3, t4, r3) {
|
|
1392
|
-
return (e3[t4 >>> 3] | e3[1 + (t4 >>> 3)] << 8) >>> (7 & t4) & (1 << r3) - 1;
|
|
1393
|
-
}, UZIP2.F._bitsF = function(e3, t4, r3) {
|
|
1394
|
-
return (e3[t4 >>> 3] | e3[1 + (t4 >>> 3)] << 8 | e3[2 + (t4 >>> 3)] << 16) >>> (7 & t4) & (1 << r3) - 1;
|
|
1395
|
-
}, UZIP2.F._get17 = function(e3, t4) {
|
|
1396
|
-
return (e3[t4 >>> 3] | e3[1 + (t4 >>> 3)] << 8 | e3[2 + (t4 >>> 3)] << 16) >>> (7 & t4);
|
|
1397
|
-
}, UZIP2.F._get25 = function(e3, t4) {
|
|
1398
|
-
return (e3[t4 >>> 3] | e3[1 + (t4 >>> 3)] << 8 | e3[2 + (t4 >>> 3)] << 16 | e3[3 + (t4 >>> 3)] << 24) >>> (7 & t4);
|
|
1399
|
-
}, UZIP2.F.U = (t3 = Uint16Array, r2 = Uint32Array, { next_code: new t3(16), bl_count: new t3(16), ordr: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], of0: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999], exb: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0], ldef: new t3(32), df0: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535], dxb: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0], ddef: new r2(32), flmap: new t3(512), fltree: [], fdmap: new t3(32), fdtree: [], lmap: new t3(32768), ltree: [], ttree: [], dmap: new t3(32768), dtree: [], imap: new t3(512), itree: [], rev15: new t3(32768), lhst: new r2(286), dhst: new r2(30), ihst: new r2(19), lits: new r2(15e3), strt: new t3(65536), prev: new t3(32768) }), function() {
|
|
1400
|
-
for (var e3 = UZIP2.F.U, t4 = 0; t4 < 32768; t4++) {
|
|
1401
|
-
var r3 = t4;
|
|
1402
|
-
r3 = (4278255360 & (r3 = (4042322160 & (r3 = (3435973836 & (r3 = (2863311530 & r3) >>> 1 | (1431655765 & r3) << 1)) >>> 2 | (858993459 & r3) << 2)) >>> 4 | (252645135 & r3) << 4)) >>> 8 | (16711935 & r3) << 8, e3.rev15[t4] = (r3 >>> 16 | r3 << 16) >>> 17;
|
|
1403
|
-
}
|
|
1404
|
-
function pushV(e4, t5, r4) {
|
|
1405
|
-
for (; 0 != t5--; ) e4.push(0, r4);
|
|
1406
|
-
}
|
|
1407
|
-
for (t4 = 0; t4 < 32; t4++) e3.ldef[t4] = e3.of0[t4] << 3 | e3.exb[t4], e3.ddef[t4] = e3.df0[t4] << 4 | e3.dxb[t4];
|
|
1408
|
-
pushV(e3.fltree, 144, 8), pushV(e3.fltree, 112, 9), pushV(e3.fltree, 24, 7), pushV(e3.fltree, 8, 8), UZIP2.F.makeCodes(e3.fltree, 9), UZIP2.F.codes2map(e3.fltree, 9, e3.flmap), UZIP2.F.revCodes(e3.fltree, 9), pushV(e3.fdtree, 32, 5), UZIP2.F.makeCodes(e3.fdtree, 5), UZIP2.F.codes2map(e3.fdtree, 5, e3.fdmap), UZIP2.F.revCodes(e3.fdtree, 5), pushV(e3.itree, 19, 0), pushV(e3.ltree, 286, 0), pushV(e3.dtree, 30, 0), pushV(e3.ttree, 320, 0);
|
|
1409
|
-
}();
|
|
1410
|
-
}({ get exports() {
|
|
1411
|
-
return e;
|
|
1412
|
-
}, set exports(t3) {
|
|
1413
|
-
e = t3;
|
|
1414
|
-
} });
|
|
1415
|
-
var UZIP = _mergeNamespaces({ __proto__: null, default: e }, [e]);
|
|
1416
|
-
const UPNG = function() {
|
|
1417
|
-
var e2 = { nextZero(e3, t4) {
|
|
1418
|
-
for (; 0 != e3[t4]; ) t4++;
|
|
1419
|
-
return t4;
|
|
1420
|
-
}, readUshort: (e3, t4) => e3[t4] << 8 | e3[t4 + 1], writeUshort(e3, t4, r2) {
|
|
1421
|
-
e3[t4] = r2 >> 8 & 255, e3[t4 + 1] = 255 & r2;
|
|
1422
|
-
}, readUint: (e3, t4) => 16777216 * e3[t4] + (e3[t4 + 1] << 16 | e3[t4 + 2] << 8 | e3[t4 + 3]), writeUint(e3, t4, r2) {
|
|
1423
|
-
e3[t4] = r2 >> 24 & 255, e3[t4 + 1] = r2 >> 16 & 255, e3[t4 + 2] = r2 >> 8 & 255, e3[t4 + 3] = 255 & r2;
|
|
1424
|
-
}, readASCII(e3, t4, r2) {
|
|
1425
|
-
let i2 = "";
|
|
1426
|
-
for (let o2 = 0; o2 < r2; o2++) i2 += String.fromCharCode(e3[t4 + o2]);
|
|
1427
|
-
return i2;
|
|
1428
|
-
}, writeASCII(e3, t4, r2) {
|
|
1429
|
-
for (let i2 = 0; i2 < r2.length; i2++) e3[t4 + i2] = r2.charCodeAt(i2);
|
|
1430
|
-
}, readBytes(e3, t4, r2) {
|
|
1431
|
-
const i2 = [];
|
|
1432
|
-
for (let o2 = 0; o2 < r2; o2++) i2.push(e3[t4 + o2]);
|
|
1433
|
-
return i2;
|
|
1434
|
-
}, pad: (e3) => e3.length < 2 ? `0${e3}` : e3, readUTF8(t4, r2, i2) {
|
|
1435
|
-
let o2, a2 = "";
|
|
1436
|
-
for (let o3 = 0; o3 < i2; o3++) a2 += `%${e2.pad(t4[r2 + o3].toString(16))}`;
|
|
1437
|
-
try {
|
|
1438
|
-
o2 = decodeURIComponent(a2);
|
|
1439
|
-
} catch (o3) {
|
|
1440
|
-
return e2.readASCII(t4, r2, i2);
|
|
1441
|
-
}
|
|
1442
|
-
return o2;
|
|
1443
|
-
} };
|
|
1444
|
-
function decodeImage(t4, r2, i2, o2) {
|
|
1445
|
-
const a2 = r2 * i2, s2 = _getBPP(o2), f2 = Math.ceil(r2 * s2 / 8), l2 = new Uint8Array(4 * a2), c = new Uint32Array(l2.buffer), { ctype: u } = o2, { depth: h } = o2, d = e2.readUshort;
|
|
1446
|
-
if (6 == u) {
|
|
1447
|
-
const e3 = a2 << 2;
|
|
1448
|
-
if (8 == h) for (var A = 0; A < e3; A += 4) l2[A] = t4[A], l2[A + 1] = t4[A + 1], l2[A + 2] = t4[A + 2], l2[A + 3] = t4[A + 3];
|
|
1449
|
-
if (16 == h) for (A = 0; A < e3; A++) l2[A] = t4[A << 1];
|
|
1450
|
-
} else if (2 == u) {
|
|
1451
|
-
const e3 = o2.tabs.tRNS;
|
|
1452
|
-
if (null == e3) {
|
|
1453
|
-
if (8 == h) for (A = 0; A < a2; A++) {
|
|
1454
|
-
var g = 3 * A;
|
|
1455
|
-
c[A] = 255 << 24 | t4[g + 2] << 16 | t4[g + 1] << 8 | t4[g];
|
|
1456
|
-
}
|
|
1457
|
-
if (16 == h) for (A = 0; A < a2; A++) {
|
|
1458
|
-
g = 6 * A;
|
|
1459
|
-
c[A] = 255 << 24 | t4[g + 4] << 16 | t4[g + 2] << 8 | t4[g];
|
|
1460
|
-
}
|
|
1461
|
-
} else {
|
|
1462
|
-
var p = e3[0];
|
|
1463
|
-
const r3 = e3[1], i3 = e3[2];
|
|
1464
|
-
if (8 == h) for (A = 0; A < a2; A++) {
|
|
1465
|
-
var m = A << 2;
|
|
1466
|
-
g = 3 * A;
|
|
1467
|
-
c[A] = 255 << 24 | t4[g + 2] << 16 | t4[g + 1] << 8 | t4[g], t4[g] == p && t4[g + 1] == r3 && t4[g + 2] == i3 && (l2[m + 3] = 0);
|
|
1468
|
-
}
|
|
1469
|
-
if (16 == h) for (A = 0; A < a2; A++) {
|
|
1470
|
-
m = A << 2, g = 6 * A;
|
|
1471
|
-
c[A] = 255 << 24 | t4[g + 4] << 16 | t4[g + 2] << 8 | t4[g], d(t4, g) == p && d(t4, g + 2) == r3 && d(t4, g + 4) == i3 && (l2[m + 3] = 0);
|
|
1472
|
-
}
|
|
1473
|
-
}
|
|
1474
|
-
} else if (3 == u) {
|
|
1475
|
-
const e3 = o2.tabs.PLTE, s3 = o2.tabs.tRNS, c2 = s3 ? s3.length : 0;
|
|
1476
|
-
if (1 == h) for (var w = 0; w < i2; w++) {
|
|
1477
|
-
var v = w * f2, b = w * r2;
|
|
1478
|
-
for (A = 0; A < r2; A++) {
|
|
1479
|
-
m = b + A << 2;
|
|
1480
|
-
var y = 3 * (E = t4[v + (A >> 3)] >> 7 - ((7 & A) << 0) & 1);
|
|
1481
|
-
l2[m] = e3[y], l2[m + 1] = e3[y + 1], l2[m + 2] = e3[y + 2], l2[m + 3] = E < c2 ? s3[E] : 255;
|
|
1482
|
-
}
|
|
1483
|
-
}
|
|
1484
|
-
if (2 == h) for (w = 0; w < i2; w++) for (v = w * f2, b = w * r2, A = 0; A < r2; A++) {
|
|
1485
|
-
m = b + A << 2, y = 3 * (E = t4[v + (A >> 2)] >> 6 - ((3 & A) << 1) & 3);
|
|
1486
|
-
l2[m] = e3[y], l2[m + 1] = e3[y + 1], l2[m + 2] = e3[y + 2], l2[m + 3] = E < c2 ? s3[E] : 255;
|
|
1487
|
-
}
|
|
1488
|
-
if (4 == h) for (w = 0; w < i2; w++) for (v = w * f2, b = w * r2, A = 0; A < r2; A++) {
|
|
1489
|
-
m = b + A << 2, y = 3 * (E = t4[v + (A >> 1)] >> 4 - ((1 & A) << 2) & 15);
|
|
1490
|
-
l2[m] = e3[y], l2[m + 1] = e3[y + 1], l2[m + 2] = e3[y + 2], l2[m + 3] = E < c2 ? s3[E] : 255;
|
|
1491
|
-
}
|
|
1492
|
-
if (8 == h) for (A = 0; A < a2; A++) {
|
|
1493
|
-
var E;
|
|
1494
|
-
m = A << 2, y = 3 * (E = t4[A]);
|
|
1495
|
-
l2[m] = e3[y], l2[m + 1] = e3[y + 1], l2[m + 2] = e3[y + 2], l2[m + 3] = E < c2 ? s3[E] : 255;
|
|
1496
|
-
}
|
|
1497
|
-
} else if (4 == u) {
|
|
1498
|
-
if (8 == h) for (A = 0; A < a2; A++) {
|
|
1499
|
-
m = A << 2;
|
|
1500
|
-
var F = t4[_ = A << 1];
|
|
1501
|
-
l2[m] = F, l2[m + 1] = F, l2[m + 2] = F, l2[m + 3] = t4[_ + 1];
|
|
1502
|
-
}
|
|
1503
|
-
if (16 == h) for (A = 0; A < a2; A++) {
|
|
1504
|
-
var _;
|
|
1505
|
-
m = A << 2, F = t4[_ = A << 2];
|
|
1506
|
-
l2[m] = F, l2[m + 1] = F, l2[m + 2] = F, l2[m + 3] = t4[_ + 2];
|
|
1507
|
-
}
|
|
1508
|
-
} else if (0 == u) for (p = o2.tabs.tRNS ? o2.tabs.tRNS : -1, w = 0; w < i2; w++) {
|
|
1509
|
-
const e3 = w * f2, i3 = w * r2;
|
|
1510
|
-
if (1 == h) for (var B = 0; B < r2; B++) {
|
|
1511
|
-
var U = (F = 255 * (t4[e3 + (B >>> 3)] >>> 7 - (7 & B) & 1)) == 255 * p ? 0 : 255;
|
|
1512
|
-
c[i3 + B] = U << 24 | F << 16 | F << 8 | F;
|
|
1513
|
-
}
|
|
1514
|
-
else if (2 == h) for (B = 0; B < r2; B++) {
|
|
1515
|
-
U = (F = 85 * (t4[e3 + (B >>> 2)] >>> 6 - ((3 & B) << 1) & 3)) == 85 * p ? 0 : 255;
|
|
1516
|
-
c[i3 + B] = U << 24 | F << 16 | F << 8 | F;
|
|
1517
|
-
}
|
|
1518
|
-
else if (4 == h) for (B = 0; B < r2; B++) {
|
|
1519
|
-
U = (F = 17 * (t4[e3 + (B >>> 1)] >>> 4 - ((1 & B) << 2) & 15)) == 17 * p ? 0 : 255;
|
|
1520
|
-
c[i3 + B] = U << 24 | F << 16 | F << 8 | F;
|
|
1521
|
-
}
|
|
1522
|
-
else if (8 == h) for (B = 0; B < r2; B++) {
|
|
1523
|
-
U = (F = t4[e3 + B]) == p ? 0 : 255;
|
|
1524
|
-
c[i3 + B] = U << 24 | F << 16 | F << 8 | F;
|
|
1525
|
-
}
|
|
1526
|
-
else if (16 == h) for (B = 0; B < r2; B++) {
|
|
1527
|
-
F = t4[e3 + (B << 1)], U = d(t4, e3 + (B << 1)) == p ? 0 : 255;
|
|
1528
|
-
c[i3 + B] = U << 24 | F << 16 | F << 8 | F;
|
|
1529
|
-
}
|
|
1530
|
-
}
|
|
1531
|
-
return l2;
|
|
1532
|
-
}
|
|
1533
|
-
function _decompress(e3, r2, i2, o2) {
|
|
1534
|
-
const a2 = _getBPP(e3), s2 = Math.ceil(i2 * a2 / 8), f2 = new Uint8Array((s2 + 1 + e3.interlace) * o2);
|
|
1535
|
-
return r2 = e3.tabs.CgBI ? t3(r2, f2) : _inflate(r2, f2), 0 == e3.interlace ? r2 = _filterZero(r2, e3, 0, i2, o2) : 1 == e3.interlace && (r2 = function _readInterlace(e4, t4) {
|
|
1536
|
-
const r3 = t4.width, i3 = t4.height, o3 = _getBPP(t4), a3 = o3 >> 3, s3 = Math.ceil(r3 * o3 / 8), f3 = new Uint8Array(i3 * s3);
|
|
1537
|
-
let l2 = 0;
|
|
1538
|
-
const c = [0, 0, 4, 0, 2, 0, 1], u = [0, 4, 0, 2, 0, 1, 0], h = [8, 8, 8, 4, 4, 2, 2], d = [8, 8, 4, 4, 2, 2, 1];
|
|
1539
|
-
let A = 0;
|
|
1540
|
-
for (; A < 7; ) {
|
|
1541
|
-
const p = h[A], m = d[A];
|
|
1542
|
-
let w = 0, v = 0, b = c[A];
|
|
1543
|
-
for (; b < i3; ) b += p, v++;
|
|
1544
|
-
let y = u[A];
|
|
1545
|
-
for (; y < r3; ) y += m, w++;
|
|
1546
|
-
const E = Math.ceil(w * o3 / 8);
|
|
1547
|
-
_filterZero(e4, t4, l2, w, v);
|
|
1548
|
-
let F = 0, _ = c[A];
|
|
1549
|
-
for (; _ < i3; ) {
|
|
1550
|
-
let t5 = u[A], i4 = l2 + F * E << 3;
|
|
1551
|
-
for (; t5 < r3; ) {
|
|
1552
|
-
var g;
|
|
1553
|
-
if (1 == o3) g = (g = e4[i4 >> 3]) >> 7 - (7 & i4) & 1, f3[_ * s3 + (t5 >> 3)] |= g << 7 - ((7 & t5) << 0);
|
|
1554
|
-
if (2 == o3) g = (g = e4[i4 >> 3]) >> 6 - (7 & i4) & 3, f3[_ * s3 + (t5 >> 2)] |= g << 6 - ((3 & t5) << 1);
|
|
1555
|
-
if (4 == o3) g = (g = e4[i4 >> 3]) >> 4 - (7 & i4) & 15, f3[_ * s3 + (t5 >> 1)] |= g << 4 - ((1 & t5) << 2);
|
|
1556
|
-
if (o3 >= 8) {
|
|
1557
|
-
const r4 = _ * s3 + t5 * a3;
|
|
1558
|
-
for (let t6 = 0; t6 < a3; t6++) f3[r4 + t6] = e4[(i4 >> 3) + t6];
|
|
1559
|
-
}
|
|
1560
|
-
i4 += o3, t5 += m;
|
|
1561
|
-
}
|
|
1562
|
-
F++, _ += p;
|
|
1563
|
-
}
|
|
1564
|
-
w * v != 0 && (l2 += v * (1 + E)), A += 1;
|
|
1565
|
-
}
|
|
1566
|
-
return f3;
|
|
1567
|
-
}(r2, e3)), r2;
|
|
1568
|
-
}
|
|
1569
|
-
function _inflate(e3, r2) {
|
|
1570
|
-
return t3(new Uint8Array(e3.buffer, 2, e3.length - 6), r2);
|
|
1571
|
-
}
|
|
1572
|
-
var t3 = function() {
|
|
1573
|
-
const e3 = { H: {} };
|
|
1574
|
-
return e3.H.N = function(t4, r2) {
|
|
1575
|
-
const i2 = Uint8Array;
|
|
1576
|
-
let o2, a2, s2 = 0, f2 = 0, l2 = 0, c = 0, u = 0, h = 0, d = 0, A = 0, g = 0;
|
|
1577
|
-
if (3 == t4[0] && 0 == t4[1]) return r2 || new i2(0);
|
|
1578
|
-
const p = e3.H, m = p.b, w = p.e, v = p.R, b = p.n, y = p.A, E = p.Z, F = p.m, _ = null == r2;
|
|
1579
|
-
for (_ && (r2 = new i2(t4.length >>> 2 << 5)); 0 == s2; ) if (s2 = m(t4, g, 1), f2 = m(t4, g + 1, 2), g += 3, 0 != f2) {
|
|
1580
|
-
if (_ && (r2 = e3.H.W(r2, A + (1 << 17))), 1 == f2 && (o2 = F.J, a2 = F.h, h = 511, d = 31), 2 == f2) {
|
|
1581
|
-
l2 = w(t4, g, 5) + 257, c = w(t4, g + 5, 5) + 1, u = w(t4, g + 10, 4) + 4, g += 14;
|
|
1582
|
-
let e4 = 1;
|
|
1583
|
-
for (var B = 0; B < 38; B += 2) F.Q[B] = 0, F.Q[B + 1] = 0;
|
|
1584
|
-
for (B = 0; B < u; B++) {
|
|
1585
|
-
const r4 = w(t4, g + 3 * B, 3);
|
|
1586
|
-
F.Q[1 + (F.X[B] << 1)] = r4, r4 > e4 && (e4 = r4);
|
|
1587
|
-
}
|
|
1588
|
-
g += 3 * u, b(F.Q, e4), y(F.Q, e4, F.u), o2 = F.w, a2 = F.d, g = v(F.u, (1 << e4) - 1, l2 + c, t4, g, F.v);
|
|
1589
|
-
const r3 = p.V(F.v, 0, l2, F.C);
|
|
1590
|
-
h = (1 << r3) - 1;
|
|
1591
|
-
const i3 = p.V(F.v, l2, c, F.D);
|
|
1592
|
-
d = (1 << i3) - 1, b(F.C, r3), y(F.C, r3, o2), b(F.D, i3), y(F.D, i3, a2);
|
|
1593
|
-
}
|
|
1594
|
-
for (; ; ) {
|
|
1595
|
-
const e4 = o2[E(t4, g) & h];
|
|
1596
|
-
g += 15 & e4;
|
|
1597
|
-
const i3 = e4 >>> 4;
|
|
1598
|
-
if (i3 >>> 8 == 0) r2[A++] = i3;
|
|
1599
|
-
else {
|
|
1600
|
-
if (256 == i3) break;
|
|
1601
|
-
{
|
|
1602
|
-
let e5 = A + i3 - 254;
|
|
1603
|
-
if (i3 > 264) {
|
|
1604
|
-
const r3 = F.q[i3 - 257];
|
|
1605
|
-
e5 = A + (r3 >>> 3) + w(t4, g, 7 & r3), g += 7 & r3;
|
|
1606
|
-
}
|
|
1607
|
-
const o3 = a2[E(t4, g) & d];
|
|
1608
|
-
g += 15 & o3;
|
|
1609
|
-
const s3 = o3 >>> 4, f3 = F.c[s3], l3 = (f3 >>> 4) + m(t4, g, 15 & f3);
|
|
1610
|
-
for (g += 15 & f3; A < e5; ) r2[A] = r2[A++ - l3], r2[A] = r2[A++ - l3], r2[A] = r2[A++ - l3], r2[A] = r2[A++ - l3];
|
|
1611
|
-
A = e5;
|
|
1612
|
-
}
|
|
1613
|
-
}
|
|
1614
|
-
}
|
|
1615
|
-
} else {
|
|
1616
|
-
0 != (7 & g) && (g += 8 - (7 & g));
|
|
1617
|
-
const o3 = 4 + (g >>> 3), a3 = t4[o3 - 4] | t4[o3 - 3] << 8;
|
|
1618
|
-
_ && (r2 = e3.H.W(r2, A + a3)), r2.set(new i2(t4.buffer, t4.byteOffset + o3, a3), A), g = o3 + a3 << 3, A += a3;
|
|
1619
|
-
}
|
|
1620
|
-
return r2.length == A ? r2 : r2.slice(0, A);
|
|
1621
|
-
}, e3.H.W = function(e4, t4) {
|
|
1622
|
-
const r2 = e4.length;
|
|
1623
|
-
if (t4 <= r2) return e4;
|
|
1624
|
-
const i2 = new Uint8Array(r2 << 1);
|
|
1625
|
-
return i2.set(e4, 0), i2;
|
|
1626
|
-
}, e3.H.R = function(t4, r2, i2, o2, a2, s2) {
|
|
1627
|
-
const f2 = e3.H.e, l2 = e3.H.Z;
|
|
1628
|
-
let c = 0;
|
|
1629
|
-
for (; c < i2; ) {
|
|
1630
|
-
const e4 = t4[l2(o2, a2) & r2];
|
|
1631
|
-
a2 += 15 & e4;
|
|
1632
|
-
const i3 = e4 >>> 4;
|
|
1633
|
-
if (i3 <= 15) s2[c] = i3, c++;
|
|
1634
|
-
else {
|
|
1635
|
-
let e5 = 0, t5 = 0;
|
|
1636
|
-
16 == i3 ? (t5 = 3 + f2(o2, a2, 2), a2 += 2, e5 = s2[c - 1]) : 17 == i3 ? (t5 = 3 + f2(o2, a2, 3), a2 += 3) : 18 == i3 && (t5 = 11 + f2(o2, a2, 7), a2 += 7);
|
|
1637
|
-
const r3 = c + t5;
|
|
1638
|
-
for (; c < r3; ) s2[c] = e5, c++;
|
|
1639
|
-
}
|
|
1640
|
-
}
|
|
1641
|
-
return a2;
|
|
1642
|
-
}, e3.H.V = function(e4, t4, r2, i2) {
|
|
1643
|
-
let o2 = 0, a2 = 0;
|
|
1644
|
-
const s2 = i2.length >>> 1;
|
|
1645
|
-
for (; a2 < r2; ) {
|
|
1646
|
-
const r3 = e4[a2 + t4];
|
|
1647
|
-
i2[a2 << 1] = 0, i2[1 + (a2 << 1)] = r3, r3 > o2 && (o2 = r3), a2++;
|
|
1648
|
-
}
|
|
1649
|
-
for (; a2 < s2; ) i2[a2 << 1] = 0, i2[1 + (a2 << 1)] = 0, a2++;
|
|
1650
|
-
return o2;
|
|
1651
|
-
}, e3.H.n = function(t4, r2) {
|
|
1652
|
-
const i2 = e3.H.m, o2 = t4.length;
|
|
1653
|
-
let a2, s2, f2;
|
|
1654
|
-
let l2;
|
|
1655
|
-
const c = i2.j;
|
|
1656
|
-
for (var u = 0; u <= r2; u++) c[u] = 0;
|
|
1657
|
-
for (u = 1; u < o2; u += 2) c[t4[u]]++;
|
|
1658
|
-
const h = i2.K;
|
|
1659
|
-
for (a2 = 0, c[0] = 0, s2 = 1; s2 <= r2; s2++) a2 = a2 + c[s2 - 1] << 1, h[s2] = a2;
|
|
1660
|
-
for (f2 = 0; f2 < o2; f2 += 2) l2 = t4[f2 + 1], 0 != l2 && (t4[f2] = h[l2], h[l2]++);
|
|
1661
|
-
}, e3.H.A = function(t4, r2, i2) {
|
|
1662
|
-
const o2 = t4.length, a2 = e3.H.m.r;
|
|
1663
|
-
for (let e4 = 0; e4 < o2; e4 += 2) if (0 != t4[e4 + 1]) {
|
|
1664
|
-
const o3 = e4 >> 1, s2 = t4[e4 + 1], f2 = o3 << 4 | s2, l2 = r2 - s2;
|
|
1665
|
-
let c = t4[e4] << l2;
|
|
1666
|
-
const u = c + (1 << l2);
|
|
1667
|
-
for (; c != u; ) {
|
|
1668
|
-
i2[a2[c] >>> 15 - r2] = f2, c++;
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
}, e3.H.l = function(t4, r2) {
|
|
1672
|
-
const i2 = e3.H.m.r, o2 = 15 - r2;
|
|
1673
|
-
for (let e4 = 0; e4 < t4.length; e4 += 2) {
|
|
1674
|
-
const a2 = t4[e4] << r2 - t4[e4 + 1];
|
|
1675
|
-
t4[e4] = i2[a2] >>> o2;
|
|
1676
|
-
}
|
|
1677
|
-
}, e3.H.M = function(e4, t4, r2) {
|
|
1678
|
-
r2 <<= 7 & t4;
|
|
1679
|
-
const i2 = t4 >>> 3;
|
|
1680
|
-
e4[i2] |= r2, e4[i2 + 1] |= r2 >>> 8;
|
|
1681
|
-
}, e3.H.I = function(e4, t4, r2) {
|
|
1682
|
-
r2 <<= 7 & t4;
|
|
1683
|
-
const i2 = t4 >>> 3;
|
|
1684
|
-
e4[i2] |= r2, e4[i2 + 1] |= r2 >>> 8, e4[i2 + 2] |= r2 >>> 16;
|
|
1685
|
-
}, e3.H.e = function(e4, t4, r2) {
|
|
1686
|
-
return (e4[t4 >>> 3] | e4[1 + (t4 >>> 3)] << 8) >>> (7 & t4) & (1 << r2) - 1;
|
|
1687
|
-
}, e3.H.b = function(e4, t4, r2) {
|
|
1688
|
-
return (e4[t4 >>> 3] | e4[1 + (t4 >>> 3)] << 8 | e4[2 + (t4 >>> 3)] << 16) >>> (7 & t4) & (1 << r2) - 1;
|
|
1689
|
-
}, e3.H.Z = function(e4, t4) {
|
|
1690
|
-
return (e4[t4 >>> 3] | e4[1 + (t4 >>> 3)] << 8 | e4[2 + (t4 >>> 3)] << 16) >>> (7 & t4);
|
|
1691
|
-
}, e3.H.i = function(e4, t4) {
|
|
1692
|
-
return (e4[t4 >>> 3] | e4[1 + (t4 >>> 3)] << 8 | e4[2 + (t4 >>> 3)] << 16 | e4[3 + (t4 >>> 3)] << 24) >>> (7 & t4);
|
|
1693
|
-
}, e3.H.m = function() {
|
|
1694
|
-
const e4 = Uint16Array, t4 = Uint32Array;
|
|
1695
|
-
return { K: new e4(16), j: new e4(16), X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], S: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999], T: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0], q: new e4(32), p: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535], z: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0], c: new t4(32), J: new e4(512), _: [], h: new e4(32), $: [], w: new e4(32768), C: [], v: [], d: new e4(32768), D: [], u: new e4(512), Q: [], r: new e4(32768), s: new t4(286), Y: new t4(30), a: new t4(19), t: new t4(15e3), k: new e4(65536), g: new e4(32768) };
|
|
1696
|
-
}(), function() {
|
|
1697
|
-
const t4 = e3.H.m;
|
|
1698
|
-
for (var r2 = 0; r2 < 32768; r2++) {
|
|
1699
|
-
let e4 = r2;
|
|
1700
|
-
e4 = (2863311530 & e4) >>> 1 | (1431655765 & e4) << 1, e4 = (3435973836 & e4) >>> 2 | (858993459 & e4) << 2, e4 = (4042322160 & e4) >>> 4 | (252645135 & e4) << 4, e4 = (4278255360 & e4) >>> 8 | (16711935 & e4) << 8, t4.r[r2] = (e4 >>> 16 | e4 << 16) >>> 17;
|
|
1701
|
-
}
|
|
1702
|
-
function n(e4, t5, r3) {
|
|
1703
|
-
for (; 0 != t5--; ) e4.push(0, r3);
|
|
1704
|
-
}
|
|
1705
|
-
for (r2 = 0; r2 < 32; r2++) t4.q[r2] = t4.S[r2] << 3 | t4.T[r2], t4.c[r2] = t4.p[r2] << 4 | t4.z[r2];
|
|
1706
|
-
n(t4._, 144, 8), n(t4._, 112, 9), n(t4._, 24, 7), n(t4._, 8, 8), e3.H.n(t4._, 9), e3.H.A(t4._, 9, t4.J), e3.H.l(t4._, 9), n(t4.$, 32, 5), e3.H.n(t4.$, 5), e3.H.A(t4.$, 5, t4.h), e3.H.l(t4.$, 5), n(t4.Q, 19, 0), n(t4.C, 286, 0), n(t4.D, 30, 0), n(t4.v, 320, 0);
|
|
1707
|
-
}(), e3.H.N;
|
|
1708
|
-
}();
|
|
1709
|
-
function _getBPP(e3) {
|
|
1710
|
-
return [1, null, 3, 1, 2, null, 4][e3.ctype] * e3.depth;
|
|
1711
|
-
}
|
|
1712
|
-
function _filterZero(e3, t4, r2, i2, o2) {
|
|
1713
|
-
let a2 = _getBPP(t4);
|
|
1714
|
-
const s2 = Math.ceil(i2 * a2 / 8);
|
|
1715
|
-
let f2, l2;
|
|
1716
|
-
a2 = Math.ceil(a2 / 8);
|
|
1717
|
-
let c = e3[r2], u = 0;
|
|
1718
|
-
if (c > 1 && (e3[r2] = [0, 0, 1][c - 2]), 3 == c) for (u = a2; u < s2; u++) e3[u + 1] = e3[u + 1] + (e3[u + 1 - a2] >>> 1) & 255;
|
|
1719
|
-
for (let t5 = 0; t5 < o2; t5++) if (f2 = r2 + t5 * s2, l2 = f2 + t5 + 1, c = e3[l2 - 1], u = 0, 0 == c) for (; u < s2; u++) e3[f2 + u] = e3[l2 + u];
|
|
1720
|
-
else if (1 == c) {
|
|
1721
|
-
for (; u < a2; u++) e3[f2 + u] = e3[l2 + u];
|
|
1722
|
-
for (; u < s2; u++) e3[f2 + u] = e3[l2 + u] + e3[f2 + u - a2];
|
|
1723
|
-
} else if (2 == c) for (; u < s2; u++) e3[f2 + u] = e3[l2 + u] + e3[f2 + u - s2];
|
|
1724
|
-
else if (3 == c) {
|
|
1725
|
-
for (; u < a2; u++) e3[f2 + u] = e3[l2 + u] + (e3[f2 + u - s2] >>> 1);
|
|
1726
|
-
for (; u < s2; u++) e3[f2 + u] = e3[l2 + u] + (e3[f2 + u - s2] + e3[f2 + u - a2] >>> 1);
|
|
1727
|
-
} else {
|
|
1728
|
-
for (; u < a2; u++) e3[f2 + u] = e3[l2 + u] + _paeth(0, e3[f2 + u - s2], 0);
|
|
1729
|
-
for (; u < s2; u++) e3[f2 + u] = e3[l2 + u] + _paeth(e3[f2 + u - a2], e3[f2 + u - s2], e3[f2 + u - a2 - s2]);
|
|
1730
|
-
}
|
|
1731
|
-
return e3;
|
|
1732
|
-
}
|
|
1733
|
-
function _paeth(e3, t4, r2) {
|
|
1734
|
-
const i2 = e3 + t4 - r2, o2 = i2 - e3, a2 = i2 - t4, s2 = i2 - r2;
|
|
1735
|
-
return o2 * o2 <= a2 * a2 && o2 * o2 <= s2 * s2 ? e3 : a2 * a2 <= s2 * s2 ? t4 : r2;
|
|
1736
|
-
}
|
|
1737
|
-
function _IHDR(t4, r2, i2) {
|
|
1738
|
-
i2.width = e2.readUint(t4, r2), r2 += 4, i2.height = e2.readUint(t4, r2), r2 += 4, i2.depth = t4[r2], r2++, i2.ctype = t4[r2], r2++, i2.compress = t4[r2], r2++, i2.filter = t4[r2], r2++, i2.interlace = t4[r2], r2++;
|
|
1739
|
-
}
|
|
1740
|
-
function _copyTile(e3, t4, r2, i2, o2, a2, s2, f2, l2) {
|
|
1741
|
-
const c = Math.min(t4, o2), u = Math.min(r2, a2);
|
|
1742
|
-
let h = 0, d = 0;
|
|
1743
|
-
for (let r3 = 0; r3 < u; r3++) for (let a3 = 0; a3 < c; a3++) if (s2 >= 0 && f2 >= 0 ? (h = r3 * t4 + a3 << 2, d = (f2 + r3) * o2 + s2 + a3 << 2) : (h = (-f2 + r3) * t4 - s2 + a3 << 2, d = r3 * o2 + a3 << 2), 0 == l2) i2[d] = e3[h], i2[d + 1] = e3[h + 1], i2[d + 2] = e3[h + 2], i2[d + 3] = e3[h + 3];
|
|
1744
|
-
else if (1 == l2) {
|
|
1745
|
-
var A = e3[h + 3] * (1 / 255), g = e3[h] * A, p = e3[h + 1] * A, m = e3[h + 2] * A, w = i2[d + 3] * (1 / 255), v = i2[d] * w, b = i2[d + 1] * w, y = i2[d + 2] * w;
|
|
1746
|
-
const t5 = 1 - A, r4 = A + w * t5, o3 = 0 == r4 ? 0 : 1 / r4;
|
|
1747
|
-
i2[d + 3] = 255 * r4, i2[d + 0] = (g + v * t5) * o3, i2[d + 1] = (p + b * t5) * o3, i2[d + 2] = (m + y * t5) * o3;
|
|
1748
|
-
} else if (2 == l2) {
|
|
1749
|
-
A = e3[h + 3], g = e3[h], p = e3[h + 1], m = e3[h + 2], w = i2[d + 3], v = i2[d], b = i2[d + 1], y = i2[d + 2];
|
|
1750
|
-
A == w && g == v && p == b && m == y ? (i2[d] = 0, i2[d + 1] = 0, i2[d + 2] = 0, i2[d + 3] = 0) : (i2[d] = g, i2[d + 1] = p, i2[d + 2] = m, i2[d + 3] = A);
|
|
1751
|
-
} else if (3 == l2) {
|
|
1752
|
-
A = e3[h + 3], g = e3[h], p = e3[h + 1], m = e3[h + 2], w = i2[d + 3], v = i2[d], b = i2[d + 1], y = i2[d + 2];
|
|
1753
|
-
if (A == w && g == v && p == b && m == y) continue;
|
|
1754
|
-
if (A < 220 && w > 20) return false;
|
|
1755
|
-
}
|
|
1756
|
-
return true;
|
|
1757
|
-
}
|
|
1758
|
-
return { decode: function decode2(r2) {
|
|
1759
|
-
const i2 = new Uint8Array(r2);
|
|
1760
|
-
let o2 = 8;
|
|
1761
|
-
const a2 = e2, s2 = a2.readUshort, f2 = a2.readUint, l2 = { tabs: {}, frames: [] }, c = new Uint8Array(i2.length);
|
|
1762
|
-
let u, h = 0, d = 0;
|
|
1763
|
-
const A = [137, 80, 78, 71, 13, 10, 26, 10];
|
|
1764
|
-
for (var g = 0; g < 8; g++) if (i2[g] != A[g]) throw "The input is not a PNG file!";
|
|
1765
|
-
for (; o2 < i2.length; ) {
|
|
1766
|
-
const e3 = a2.readUint(i2, o2);
|
|
1767
|
-
o2 += 4;
|
|
1768
|
-
const r3 = a2.readASCII(i2, o2, 4);
|
|
1769
|
-
if (o2 += 4, "IHDR" == r3) _IHDR(i2, o2, l2);
|
|
1770
|
-
else if ("iCCP" == r3) {
|
|
1771
|
-
for (var p = o2; 0 != i2[p]; ) p++;
|
|
1772
|
-
a2.readASCII(i2, o2, p - o2), i2[p + 1];
|
|
1773
|
-
const s3 = i2.slice(p + 2, o2 + e3);
|
|
1774
|
-
let f3 = null;
|
|
1775
|
-
try {
|
|
1776
|
-
f3 = _inflate(s3);
|
|
1777
|
-
} catch (e4) {
|
|
1778
|
-
f3 = t3(s3);
|
|
1779
|
-
}
|
|
1780
|
-
l2.tabs[r3] = f3;
|
|
1781
|
-
} else if ("CgBI" == r3) l2.tabs[r3] = i2.slice(o2, o2 + 4);
|
|
1782
|
-
else if ("IDAT" == r3) {
|
|
1783
|
-
for (g = 0; g < e3; g++) c[h + g] = i2[o2 + g];
|
|
1784
|
-
h += e3;
|
|
1785
|
-
} else if ("acTL" == r3) l2.tabs[r3] = { num_frames: f2(i2, o2), num_plays: f2(i2, o2 + 4) }, u = new Uint8Array(i2.length);
|
|
1786
|
-
else if ("fcTL" == r3) {
|
|
1787
|
-
if (0 != d) (E = l2.frames[l2.frames.length - 1]).data = _decompress(l2, u.slice(0, d), E.rect.width, E.rect.height), d = 0;
|
|
1788
|
-
const e4 = { x: f2(i2, o2 + 12), y: f2(i2, o2 + 16), width: f2(i2, o2 + 4), height: f2(i2, o2 + 8) };
|
|
1789
|
-
let t4 = s2(i2, o2 + 22);
|
|
1790
|
-
t4 = s2(i2, o2 + 20) / (0 == t4 ? 100 : t4);
|
|
1791
|
-
const r4 = { rect: e4, delay: Math.round(1e3 * t4), dispose: i2[o2 + 24], blend: i2[o2 + 25] };
|
|
1792
|
-
l2.frames.push(r4);
|
|
1793
|
-
} else if ("fdAT" == r3) {
|
|
1794
|
-
for (g = 0; g < e3 - 4; g++) u[d + g] = i2[o2 + g + 4];
|
|
1795
|
-
d += e3 - 4;
|
|
1796
|
-
} else if ("pHYs" == r3) l2.tabs[r3] = [a2.readUint(i2, o2), a2.readUint(i2, o2 + 4), i2[o2 + 8]];
|
|
1797
|
-
else if ("cHRM" == r3) {
|
|
1798
|
-
l2.tabs[r3] = [];
|
|
1799
|
-
for (g = 0; g < 8; g++) l2.tabs[r3].push(a2.readUint(i2, o2 + 4 * g));
|
|
1800
|
-
} else if ("tEXt" == r3 || "zTXt" == r3) {
|
|
1801
|
-
null == l2.tabs[r3] && (l2.tabs[r3] = {});
|
|
1802
|
-
var m = a2.nextZero(i2, o2), w = a2.readASCII(i2, o2, m - o2), v = o2 + e3 - m - 1;
|
|
1803
|
-
if ("tEXt" == r3) y = a2.readASCII(i2, m + 1, v);
|
|
1804
|
-
else {
|
|
1805
|
-
var b = _inflate(i2.slice(m + 2, m + 2 + v));
|
|
1806
|
-
y = a2.readUTF8(b, 0, b.length);
|
|
1807
|
-
}
|
|
1808
|
-
l2.tabs[r3][w] = y;
|
|
1809
|
-
} else if ("iTXt" == r3) {
|
|
1810
|
-
null == l2.tabs[r3] && (l2.tabs[r3] = {});
|
|
1811
|
-
m = 0, p = o2;
|
|
1812
|
-
m = a2.nextZero(i2, p);
|
|
1813
|
-
w = a2.readASCII(i2, p, m - p);
|
|
1814
|
-
const t4 = i2[p = m + 1];
|
|
1815
|
-
var y;
|
|
1816
|
-
i2[p + 1], p += 2, m = a2.nextZero(i2, p), a2.readASCII(i2, p, m - p), p = m + 1, m = a2.nextZero(i2, p), a2.readUTF8(i2, p, m - p);
|
|
1817
|
-
v = e3 - ((p = m + 1) - o2);
|
|
1818
|
-
if (0 == t4) y = a2.readUTF8(i2, p, v);
|
|
1819
|
-
else {
|
|
1820
|
-
b = _inflate(i2.slice(p, p + v));
|
|
1821
|
-
y = a2.readUTF8(b, 0, b.length);
|
|
1822
|
-
}
|
|
1823
|
-
l2.tabs[r3][w] = y;
|
|
1824
|
-
} else if ("PLTE" == r3) l2.tabs[r3] = a2.readBytes(i2, o2, e3);
|
|
1825
|
-
else if ("hIST" == r3) {
|
|
1826
|
-
const e4 = l2.tabs.PLTE.length / 3;
|
|
1827
|
-
l2.tabs[r3] = [];
|
|
1828
|
-
for (g = 0; g < e4; g++) l2.tabs[r3].push(s2(i2, o2 + 2 * g));
|
|
1829
|
-
} else if ("tRNS" == r3) 3 == l2.ctype ? l2.tabs[r3] = a2.readBytes(i2, o2, e3) : 0 == l2.ctype ? l2.tabs[r3] = s2(i2, o2) : 2 == l2.ctype && (l2.tabs[r3] = [s2(i2, o2), s2(i2, o2 + 2), s2(i2, o2 + 4)]);
|
|
1830
|
-
else if ("gAMA" == r3) l2.tabs[r3] = a2.readUint(i2, o2) / 1e5;
|
|
1831
|
-
else if ("sRGB" == r3) l2.tabs[r3] = i2[o2];
|
|
1832
|
-
else if ("bKGD" == r3) 0 == l2.ctype || 4 == l2.ctype ? l2.tabs[r3] = [s2(i2, o2)] : 2 == l2.ctype || 6 == l2.ctype ? l2.tabs[r3] = [s2(i2, o2), s2(i2, o2 + 2), s2(i2, o2 + 4)] : 3 == l2.ctype && (l2.tabs[r3] = i2[o2]);
|
|
1833
|
-
else if ("IEND" == r3) break;
|
|
1834
|
-
o2 += e3, a2.readUint(i2, o2), o2 += 4;
|
|
1835
|
-
}
|
|
1836
|
-
var E;
|
|
1837
|
-
return 0 != d && ((E = l2.frames[l2.frames.length - 1]).data = _decompress(l2, u.slice(0, d), E.rect.width, E.rect.height)), l2.data = _decompress(l2, c, l2.width, l2.height), delete l2.compress, delete l2.interlace, delete l2.filter, l2;
|
|
1838
|
-
}, toRGBA8: function toRGBA8(e3) {
|
|
1839
|
-
const t4 = e3.width, r2 = e3.height;
|
|
1840
|
-
if (null == e3.tabs.acTL) return [decodeImage(e3.data, t4, r2, e3).buffer];
|
|
1841
|
-
const i2 = [];
|
|
1842
|
-
null == e3.frames[0].data && (e3.frames[0].data = e3.data);
|
|
1843
|
-
const o2 = t4 * r2 * 4, a2 = new Uint8Array(o2), s2 = new Uint8Array(o2), f2 = new Uint8Array(o2);
|
|
1844
|
-
for (let c = 0; c < e3.frames.length; c++) {
|
|
1845
|
-
const u = e3.frames[c], h = u.rect.x, d = u.rect.y, A = u.rect.width, g = u.rect.height, p = decodeImage(u.data, A, g, e3);
|
|
1846
|
-
if (0 != c) for (var l2 = 0; l2 < o2; l2++) f2[l2] = a2[l2];
|
|
1847
|
-
if (0 == u.blend ? _copyTile(p, A, g, a2, t4, r2, h, d, 0) : 1 == u.blend && _copyTile(p, A, g, a2, t4, r2, h, d, 1), i2.push(a2.buffer.slice(0)), 0 == u.dispose) ;
|
|
1848
|
-
else if (1 == u.dispose) _copyTile(s2, A, g, a2, t4, r2, h, d, 0);
|
|
1849
|
-
else if (2 == u.dispose) for (l2 = 0; l2 < o2; l2++) a2[l2] = f2[l2];
|
|
1850
|
-
}
|
|
1851
|
-
return i2;
|
|
1852
|
-
}, _paeth, _copyTile, _bin: e2 };
|
|
1853
|
-
}();
|
|
1854
|
-
!function() {
|
|
1855
|
-
const { _copyTile: e2 } = UPNG, { _bin: t3 } = UPNG, r2 = UPNG._paeth;
|
|
1856
|
-
var i2 = { table: function() {
|
|
1857
|
-
const e3 = new Uint32Array(256);
|
|
1858
|
-
for (let t4 = 0; t4 < 256; t4++) {
|
|
1859
|
-
let r3 = t4;
|
|
1860
|
-
for (let e4 = 0; e4 < 8; e4++) 1 & r3 ? r3 = 3988292384 ^ r3 >>> 1 : r3 >>>= 1;
|
|
1861
|
-
e3[t4] = r3;
|
|
1862
|
-
}
|
|
1863
|
-
return e3;
|
|
1864
|
-
}(), update(e3, t4, r3, o3) {
|
|
1865
|
-
for (let a2 = 0; a2 < o3; a2++) e3 = i2.table[255 & (e3 ^ t4[r3 + a2])] ^ e3 >>> 8;
|
|
1866
|
-
return e3;
|
|
1867
|
-
}, crc: (e3, t4, r3) => 4294967295 ^ i2.update(4294967295, e3, t4, r3) };
|
|
1868
|
-
function addErr(e3, t4, r3, i3) {
|
|
1869
|
-
t4[r3] += e3[0] * i3 >> 4, t4[r3 + 1] += e3[1] * i3 >> 4, t4[r3 + 2] += e3[2] * i3 >> 4, t4[r3 + 3] += e3[3] * i3 >> 4;
|
|
1870
|
-
}
|
|
1871
|
-
function N(e3) {
|
|
1872
|
-
return Math.max(0, Math.min(255, e3));
|
|
1873
|
-
}
|
|
1874
|
-
function D(e3, t4) {
|
|
1875
|
-
const r3 = e3[0] - t4[0], i3 = e3[1] - t4[1], o3 = e3[2] - t4[2], a2 = e3[3] - t4[3];
|
|
1876
|
-
return r3 * r3 + i3 * i3 + o3 * o3 + a2 * a2;
|
|
1877
|
-
}
|
|
1878
|
-
function dither(e3, t4, r3, i3, o3, a2, s2) {
|
|
1879
|
-
null == s2 && (s2 = 1);
|
|
1880
|
-
const f2 = i3.length, l2 = [];
|
|
1881
|
-
for (var c = 0; c < f2; c++) {
|
|
1882
|
-
const e4 = i3[c];
|
|
1883
|
-
l2.push([e4 >>> 0 & 255, e4 >>> 8 & 255, e4 >>> 16 & 255, e4 >>> 24 & 255]);
|
|
1884
|
-
}
|
|
1885
|
-
for (c = 0; c < f2; c++) {
|
|
1886
|
-
let e4 = 4294967295;
|
|
1887
|
-
for (var u = 0, h = 0; h < f2; h++) {
|
|
1888
|
-
var d = D(l2[c], l2[h]);
|
|
1889
|
-
h != c && d < e4 && (e4 = d, u = h);
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
|
-
const A = new Uint32Array(o3.buffer), g = new Int16Array(t4 * r3 * 4), p = [0, 8, 2, 10, 12, 4, 14, 6, 3, 11, 1, 9, 15, 7, 13, 5];
|
|
1893
|
-
for (c = 0; c < p.length; c++) p[c] = 255 * ((p[c] + 0.5) / 16 - 0.5);
|
|
1894
|
-
for (let o4 = 0; o4 < r3; o4++) for (let w = 0; w < t4; w++) {
|
|
1895
|
-
var m;
|
|
1896
|
-
c = 4 * (o4 * t4 + w);
|
|
1897
|
-
if (2 != s2) m = [N(e3[c] + g[c]), N(e3[c + 1] + g[c + 1]), N(e3[c + 2] + g[c + 2]), N(e3[c + 3] + g[c + 3])];
|
|
1898
|
-
else {
|
|
1899
|
-
d = p[4 * (3 & o4) + (3 & w)];
|
|
1900
|
-
m = [N(e3[c] + d), N(e3[c + 1] + d), N(e3[c + 2] + d), N(e3[c + 3] + d)];
|
|
1901
|
-
}
|
|
1902
|
-
u = 0;
|
|
1903
|
-
let v = 16777215;
|
|
1904
|
-
for (h = 0; h < f2; h++) {
|
|
1905
|
-
const e4 = D(m, l2[h]);
|
|
1906
|
-
e4 < v && (v = e4, u = h);
|
|
1907
|
-
}
|
|
1908
|
-
const b = l2[u], y = [m[0] - b[0], m[1] - b[1], m[2] - b[2], m[3] - b[3]];
|
|
1909
|
-
1 == s2 && (w != t4 - 1 && addErr(y, g, c + 4, 7), o4 != r3 - 1 && (0 != w && addErr(y, g, c + 4 * t4 - 4, 3), addErr(y, g, c + 4 * t4, 5), w != t4 - 1 && addErr(y, g, c + 4 * t4 + 4, 1))), a2[c >> 2] = u, A[c >> 2] = i3[u];
|
|
1910
|
-
}
|
|
1911
|
-
}
|
|
1912
|
-
function _main(e3, r3, o3, a2, s2) {
|
|
1913
|
-
null == s2 && (s2 = {});
|
|
1914
|
-
const { crc: f2 } = i2, l2 = t3.writeUint, c = t3.writeUshort, u = t3.writeASCII;
|
|
1915
|
-
let h = 8;
|
|
1916
|
-
const d = e3.frames.length > 1;
|
|
1917
|
-
let A, g = false, p = 33 + (d ? 20 : 0);
|
|
1918
|
-
if (null != s2.sRGB && (p += 13), null != s2.pHYs && (p += 21), null != s2.iCCP && (A = pako.deflate(s2.iCCP), p += 21 + A.length + 4), 3 == e3.ctype) {
|
|
1919
|
-
for (var m = e3.plte.length, w = 0; w < m; w++) e3.plte[w] >>> 24 != 255 && (g = true);
|
|
1920
|
-
p += 8 + 3 * m + 4 + (g ? 8 + 1 * m + 4 : 0);
|
|
1921
|
-
}
|
|
1922
|
-
for (var v = 0; v < e3.frames.length; v++) {
|
|
1923
|
-
d && (p += 38), p += (F = e3.frames[v]).cimg.length + 12, 0 != v && (p += 4);
|
|
1924
|
-
}
|
|
1925
|
-
p += 12;
|
|
1926
|
-
const b = new Uint8Array(p), y = [137, 80, 78, 71, 13, 10, 26, 10];
|
|
1927
|
-
for (w = 0; w < 8; w++) b[w] = y[w];
|
|
1928
|
-
if (l2(b, h, 13), h += 4, u(b, h, "IHDR"), h += 4, l2(b, h, r3), h += 4, l2(b, h, o3), h += 4, b[h] = e3.depth, h++, b[h] = e3.ctype, h++, b[h] = 0, h++, b[h] = 0, h++, b[h] = 0, h++, l2(b, h, f2(b, h - 17, 17)), h += 4, null != s2.sRGB && (l2(b, h, 1), h += 4, u(b, h, "sRGB"), h += 4, b[h] = s2.sRGB, h++, l2(b, h, f2(b, h - 5, 5)), h += 4), null != s2.iCCP) {
|
|
1929
|
-
const e4 = 13 + A.length;
|
|
1930
|
-
l2(b, h, e4), h += 4, u(b, h, "iCCP"), h += 4, u(b, h, "ICC profile"), h += 11, h += 2, b.set(A, h), h += A.length, l2(b, h, f2(b, h - (e4 + 4), e4 + 4)), h += 4;
|
|
1931
|
-
}
|
|
1932
|
-
if (null != s2.pHYs && (l2(b, h, 9), h += 4, u(b, h, "pHYs"), h += 4, l2(b, h, s2.pHYs[0]), h += 4, l2(b, h, s2.pHYs[1]), h += 4, b[h] = s2.pHYs[2], h++, l2(b, h, f2(b, h - 13, 13)), h += 4), d && (l2(b, h, 8), h += 4, u(b, h, "acTL"), h += 4, l2(b, h, e3.frames.length), h += 4, l2(b, h, null != s2.loop ? s2.loop : 0), h += 4, l2(b, h, f2(b, h - 12, 12)), h += 4), 3 == e3.ctype) {
|
|
1933
|
-
l2(b, h, 3 * (m = e3.plte.length)), h += 4, u(b, h, "PLTE"), h += 4;
|
|
1934
|
-
for (w = 0; w < m; w++) {
|
|
1935
|
-
const t4 = 3 * w, r4 = e3.plte[w], i3 = 255 & r4, o4 = r4 >>> 8 & 255, a3 = r4 >>> 16 & 255;
|
|
1936
|
-
b[h + t4 + 0] = i3, b[h + t4 + 1] = o4, b[h + t4 + 2] = a3;
|
|
1937
|
-
}
|
|
1938
|
-
if (h += 3 * m, l2(b, h, f2(b, h - 3 * m - 4, 3 * m + 4)), h += 4, g) {
|
|
1939
|
-
l2(b, h, m), h += 4, u(b, h, "tRNS"), h += 4;
|
|
1940
|
-
for (w = 0; w < m; w++) b[h + w] = e3.plte[w] >>> 24 & 255;
|
|
1941
|
-
h += m, l2(b, h, f2(b, h - m - 4, m + 4)), h += 4;
|
|
1942
|
-
}
|
|
1943
|
-
}
|
|
1944
|
-
let E = 0;
|
|
1945
|
-
for (v = 0; v < e3.frames.length; v++) {
|
|
1946
|
-
var F = e3.frames[v];
|
|
1947
|
-
d && (l2(b, h, 26), h += 4, u(b, h, "fcTL"), h += 4, l2(b, h, E++), h += 4, l2(b, h, F.rect.width), h += 4, l2(b, h, F.rect.height), h += 4, l2(b, h, F.rect.x), h += 4, l2(b, h, F.rect.y), h += 4, c(b, h, a2[v]), h += 2, c(b, h, 1e3), h += 2, b[h] = F.dispose, h++, b[h] = F.blend, h++, l2(b, h, f2(b, h - 30, 30)), h += 4);
|
|
1948
|
-
const t4 = F.cimg;
|
|
1949
|
-
l2(b, h, (m = t4.length) + (0 == v ? 0 : 4)), h += 4;
|
|
1950
|
-
const r4 = h;
|
|
1951
|
-
u(b, h, 0 == v ? "IDAT" : "fdAT"), h += 4, 0 != v && (l2(b, h, E++), h += 4), b.set(t4, h), h += m, l2(b, h, f2(b, r4, h - r4)), h += 4;
|
|
1952
|
-
}
|
|
1953
|
-
return l2(b, h, 0), h += 4, u(b, h, "IEND"), h += 4, l2(b, h, f2(b, h - 4, 4)), h += 4, b.buffer;
|
|
1954
|
-
}
|
|
1955
|
-
function compressPNG(e3, t4, r3) {
|
|
1956
|
-
for (let i3 = 0; i3 < e3.frames.length; i3++) {
|
|
1957
|
-
const o3 = e3.frames[i3];
|
|
1958
|
-
o3.rect.width;
|
|
1959
|
-
const a2 = o3.rect.height, s2 = new Uint8Array(a2 * o3.bpl + a2);
|
|
1960
|
-
o3.cimg = _filterZero(o3.img, a2, o3.bpp, o3.bpl, s2, t4, r3);
|
|
1961
|
-
}
|
|
1962
|
-
}
|
|
1963
|
-
function compress2(t4, r3, i3, o3, a2) {
|
|
1964
|
-
const s2 = a2[0], f2 = a2[1], l2 = a2[2], c = a2[3], u = a2[4], h = a2[5];
|
|
1965
|
-
let d = 6, A = 8, g = 255;
|
|
1966
|
-
for (var p = 0; p < t4.length; p++) {
|
|
1967
|
-
const e3 = new Uint8Array(t4[p]);
|
|
1968
|
-
for (var m = e3.length, w = 0; w < m; w += 4) g &= e3[w + 3];
|
|
1969
|
-
}
|
|
1970
|
-
const v = 255 != g, b = function framize(t5, r4, i4, o4, a3, s3) {
|
|
1971
|
-
const f3 = [];
|
|
1972
|
-
for (var l3 = 0; l3 < t5.length; l3++) {
|
|
1973
|
-
const h3 = new Uint8Array(t5[l3]), A3 = new Uint32Array(h3.buffer);
|
|
1974
|
-
var c2;
|
|
1975
|
-
let g2 = 0, p2 = 0, m2 = r4, w2 = i4, v2 = o4 ? 1 : 0;
|
|
1976
|
-
if (0 != l3) {
|
|
1977
|
-
const b2 = s3 || o4 || 1 == l3 || 0 != f3[l3 - 2].dispose ? 1 : 2;
|
|
1978
|
-
let y2 = 0, E2 = 1e9;
|
|
1979
|
-
for (let e3 = 0; e3 < b2; e3++) {
|
|
1980
|
-
var u2 = new Uint8Array(t5[l3 - 1 - e3]);
|
|
1981
|
-
const o5 = new Uint32Array(t5[l3 - 1 - e3]);
|
|
1982
|
-
let s4 = r4, f4 = i4, c3 = -1, h4 = -1;
|
|
1983
|
-
for (let e4 = 0; e4 < i4; e4++) for (let t6 = 0; t6 < r4; t6++) {
|
|
1984
|
-
A3[d2 = e4 * r4 + t6] != o5[d2] && (t6 < s4 && (s4 = t6), t6 > c3 && (c3 = t6), e4 < f4 && (f4 = e4), e4 > h4 && (h4 = e4));
|
|
1985
|
-
}
|
|
1986
|
-
-1 == c3 && (s4 = f4 = c3 = h4 = 0), a3 && (1 == (1 & s4) && s4--, 1 == (1 & f4) && f4--);
|
|
1987
|
-
const v3 = (c3 - s4 + 1) * (h4 - f4 + 1);
|
|
1988
|
-
v3 < E2 && (E2 = v3, y2 = e3, g2 = s4, p2 = f4, m2 = c3 - s4 + 1, w2 = h4 - f4 + 1);
|
|
1989
|
-
}
|
|
1990
|
-
u2 = new Uint8Array(t5[l3 - 1 - y2]);
|
|
1991
|
-
1 == y2 && (f3[l3 - 1].dispose = 2), c2 = new Uint8Array(m2 * w2 * 4), e2(u2, r4, i4, c2, m2, w2, -g2, -p2, 0), v2 = e2(h3, r4, i4, c2, m2, w2, -g2, -p2, 3) ? 1 : 0, 1 == v2 ? _prepareDiff(h3, r4, i4, c2, { x: g2, y: p2, width: m2, height: w2 }) : e2(h3, r4, i4, c2, m2, w2, -g2, -p2, 0);
|
|
1992
|
-
} else c2 = h3.slice(0);
|
|
1993
|
-
f3.push({ rect: { x: g2, y: p2, width: m2, height: w2 }, img: c2, blend: v2, dispose: 0 });
|
|
1994
|
-
}
|
|
1995
|
-
if (o4) for (l3 = 0; l3 < f3.length; l3++) {
|
|
1996
|
-
if (1 == (A2 = f3[l3]).blend) continue;
|
|
1997
|
-
const e3 = A2.rect, o5 = f3[l3 - 1].rect, s4 = Math.min(e3.x, o5.x), c3 = Math.min(e3.y, o5.y), u3 = { x: s4, y: c3, width: Math.max(e3.x + e3.width, o5.x + o5.width) - s4, height: Math.max(e3.y + e3.height, o5.y + o5.height) - c3 };
|
|
1998
|
-
f3[l3 - 1].dispose = 1, l3 - 1 != 0 && _updateFrame(t5, r4, i4, f3, l3 - 1, u3, a3), _updateFrame(t5, r4, i4, f3, l3, u3, a3);
|
|
1999
|
-
}
|
|
2000
|
-
let h2 = 0;
|
|
2001
|
-
if (1 != t5.length) for (var d2 = 0; d2 < f3.length; d2++) {
|
|
2002
|
-
var A2;
|
|
2003
|
-
h2 += (A2 = f3[d2]).rect.width * A2.rect.height;
|
|
2004
|
-
}
|
|
2005
|
-
return f3;
|
|
2006
|
-
}(t4, r3, i3, s2, f2, l2), y = {}, E = [], F = [];
|
|
2007
|
-
if (0 != o3) {
|
|
2008
|
-
const e3 = [];
|
|
2009
|
-
for (w = 0; w < b.length; w++) e3.push(b[w].img.buffer);
|
|
2010
|
-
const t5 = function concatRGBA(e4) {
|
|
2011
|
-
let t6 = 0;
|
|
2012
|
-
for (var r5 = 0; r5 < e4.length; r5++) t6 += e4[r5].byteLength;
|
|
2013
|
-
const i5 = new Uint8Array(t6);
|
|
2014
|
-
let o4 = 0;
|
|
2015
|
-
for (r5 = 0; r5 < e4.length; r5++) {
|
|
2016
|
-
const t7 = new Uint8Array(e4[r5]), a3 = t7.length;
|
|
2017
|
-
for (let e5 = 0; e5 < a3; e5 += 4) {
|
|
2018
|
-
let r6 = t7[e5], a4 = t7[e5 + 1], s3 = t7[e5 + 2];
|
|
2019
|
-
const f3 = t7[e5 + 3];
|
|
2020
|
-
0 == f3 && (r6 = a4 = s3 = 0), i5[o4 + e5] = r6, i5[o4 + e5 + 1] = a4, i5[o4 + e5 + 2] = s3, i5[o4 + e5 + 3] = f3;
|
|
2021
|
-
}
|
|
2022
|
-
o4 += a3;
|
|
2023
|
-
}
|
|
2024
|
-
return i5.buffer;
|
|
2025
|
-
}(e3), r4 = quantize(t5, o3);
|
|
2026
|
-
for (w = 0; w < r4.plte.length; w++) E.push(r4.plte[w].est.rgba);
|
|
2027
|
-
let i4 = 0;
|
|
2028
|
-
for (w = 0; w < b.length; w++) {
|
|
2029
|
-
const e4 = (B = b[w]).img.length;
|
|
2030
|
-
var _ = new Uint8Array(r4.inds.buffer, i4 >> 2, e4 >> 2);
|
|
2031
|
-
F.push(_);
|
|
2032
|
-
const t6 = new Uint8Array(r4.abuf, i4, e4);
|
|
2033
|
-
h && dither(B.img, B.rect.width, B.rect.height, E, t6, _), B.img.set(t6), i4 += e4;
|
|
2034
|
-
}
|
|
2035
|
-
} else for (p = 0; p < b.length; p++) {
|
|
2036
|
-
var B = b[p];
|
|
2037
|
-
const e3 = new Uint32Array(B.img.buffer);
|
|
2038
|
-
var U = B.rect.width;
|
|
2039
|
-
m = e3.length, _ = new Uint8Array(m);
|
|
2040
|
-
F.push(_);
|
|
2041
|
-
for (w = 0; w < m; w++) {
|
|
2042
|
-
const t5 = e3[w];
|
|
2043
|
-
if (0 != w && t5 == e3[w - 1]) _[w] = _[w - 1];
|
|
2044
|
-
else if (w > U && t5 == e3[w - U]) _[w] = _[w - U];
|
|
2045
|
-
else {
|
|
2046
|
-
let e4 = y[t5];
|
|
2047
|
-
if (null == e4 && (y[t5] = e4 = E.length, E.push(t5), E.length >= 300)) break;
|
|
2048
|
-
_[w] = e4;
|
|
2049
|
-
}
|
|
2050
|
-
}
|
|
2051
|
-
}
|
|
2052
|
-
const C = E.length;
|
|
2053
|
-
C <= 256 && 0 == u && (A = C <= 2 ? 1 : C <= 4 ? 2 : C <= 16 ? 4 : 8, A = Math.max(A, c));
|
|
2054
|
-
for (p = 0; p < b.length; p++) {
|
|
2055
|
-
(B = b[p]).rect.x, B.rect.y;
|
|
2056
|
-
U = B.rect.width;
|
|
2057
|
-
const e3 = B.rect.height;
|
|
2058
|
-
let t5 = B.img;
|
|
2059
|
-
new Uint32Array(t5.buffer);
|
|
2060
|
-
let r4 = 4 * U, i4 = 4;
|
|
2061
|
-
if (C <= 256 && 0 == u) {
|
|
2062
|
-
r4 = Math.ceil(A * U / 8);
|
|
2063
|
-
var I = new Uint8Array(r4 * e3);
|
|
2064
|
-
const o4 = F[p];
|
|
2065
|
-
for (let t6 = 0; t6 < e3; t6++) {
|
|
2066
|
-
w = t6 * r4;
|
|
2067
|
-
const e4 = t6 * U;
|
|
2068
|
-
if (8 == A) for (var Q = 0; Q < U; Q++) I[w + Q] = o4[e4 + Q];
|
|
2069
|
-
else if (4 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 1)] |= o4[e4 + Q] << 4 - 4 * (1 & Q);
|
|
2070
|
-
else if (2 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 2)] |= o4[e4 + Q] << 6 - 2 * (3 & Q);
|
|
2071
|
-
else if (1 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 3)] |= o4[e4 + Q] << 7 - 1 * (7 & Q);
|
|
2072
|
-
}
|
|
2073
|
-
t5 = I, d = 3, i4 = 1;
|
|
2074
|
-
} else if (0 == v && 1 == b.length) {
|
|
2075
|
-
I = new Uint8Array(U * e3 * 3);
|
|
2076
|
-
const o4 = U * e3;
|
|
2077
|
-
for (w = 0; w < o4; w++) {
|
|
2078
|
-
const e4 = 3 * w, r5 = 4 * w;
|
|
2079
|
-
I[e4] = t5[r5], I[e4 + 1] = t5[r5 + 1], I[e4 + 2] = t5[r5 + 2];
|
|
2080
|
-
}
|
|
2081
|
-
t5 = I, d = 2, i4 = 3, r4 = 3 * U;
|
|
2082
|
-
}
|
|
2083
|
-
B.img = t5, B.bpl = r4, B.bpp = i4;
|
|
2084
|
-
}
|
|
2085
|
-
return { ctype: d, depth: A, plte: E, frames: b };
|
|
2086
|
-
}
|
|
2087
|
-
function _updateFrame(t4, r3, i3, o3, a2, s2, f2) {
|
|
2088
|
-
const l2 = Uint8Array, c = Uint32Array, u = new l2(t4[a2 - 1]), h = new c(t4[a2 - 1]), d = a2 + 1 < t4.length ? new l2(t4[a2 + 1]) : null, A = new l2(t4[a2]), g = new c(A.buffer);
|
|
2089
|
-
let p = r3, m = i3, w = -1, v = -1;
|
|
2090
|
-
for (let e3 = 0; e3 < s2.height; e3++) for (let t5 = 0; t5 < s2.width; t5++) {
|
|
2091
|
-
const i4 = s2.x + t5, f3 = s2.y + e3, l3 = f3 * r3 + i4, c2 = g[l3];
|
|
2092
|
-
0 == c2 || 0 == o3[a2 - 1].dispose && h[l3] == c2 && (null == d || 0 != d[4 * l3 + 3]) || (i4 < p && (p = i4), i4 > w && (w = i4), f3 < m && (m = f3), f3 > v && (v = f3));
|
|
2093
|
-
}
|
|
2094
|
-
-1 == w && (p = m = w = v = 0), f2 && (1 == (1 & p) && p--, 1 == (1 & m) && m--), s2 = { x: p, y: m, width: w - p + 1, height: v - m + 1 };
|
|
2095
|
-
const b = o3[a2];
|
|
2096
|
-
b.rect = s2, b.blend = 1, b.img = new Uint8Array(s2.width * s2.height * 4), 0 == o3[a2 - 1].dispose ? (e2(u, r3, i3, b.img, s2.width, s2.height, -s2.x, -s2.y, 0), _prepareDiff(A, r3, i3, b.img, s2)) : e2(A, r3, i3, b.img, s2.width, s2.height, -s2.x, -s2.y, 0);
|
|
2097
|
-
}
|
|
2098
|
-
function _prepareDiff(t4, r3, i3, o3, a2) {
|
|
2099
|
-
e2(t4, r3, i3, o3, a2.width, a2.height, -a2.x, -a2.y, 2);
|
|
2100
|
-
}
|
|
2101
|
-
function _filterZero(e3, t4, r3, i3, o3, a2, s2) {
|
|
2102
|
-
const f2 = [];
|
|
2103
|
-
let l2, c = [0, 1, 2, 3, 4];
|
|
2104
|
-
-1 != a2 ? c = [a2] : (t4 * i3 > 5e5 || 1 == r3) && (c = [0]), s2 && (l2 = { level: 0 });
|
|
2105
|
-
const u = UZIP;
|
|
2106
|
-
for (var h = 0; h < c.length; h++) {
|
|
2107
|
-
for (let a3 = 0; a3 < t4; a3++) _filterLine(o3, e3, a3, i3, r3, c[h]);
|
|
2108
|
-
f2.push(u.deflate(o3, l2));
|
|
2109
|
-
}
|
|
2110
|
-
let d, A = 1e9;
|
|
2111
|
-
for (h = 0; h < f2.length; h++) f2[h].length < A && (d = h, A = f2[h].length);
|
|
2112
|
-
return f2[d];
|
|
2113
|
-
}
|
|
2114
|
-
function _filterLine(e3, t4, i3, o3, a2, s2) {
|
|
2115
|
-
const f2 = i3 * o3;
|
|
2116
|
-
let l2 = f2 + i3;
|
|
2117
|
-
if (e3[l2] = s2, l2++, 0 == s2) if (o3 < 500) for (var c = 0; c < o3; c++) e3[l2 + c] = t4[f2 + c];
|
|
2118
|
-
else e3.set(new Uint8Array(t4.buffer, f2, o3), l2);
|
|
2119
|
-
else if (1 == s2) {
|
|
2120
|
-
for (c = 0; c < a2; c++) e3[l2 + c] = t4[f2 + c];
|
|
2121
|
-
for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c] - t4[f2 + c - a2] + 256 & 255;
|
|
2122
|
-
} else if (0 == i3) {
|
|
2123
|
-
for (c = 0; c < a2; c++) e3[l2 + c] = t4[f2 + c];
|
|
2124
|
-
if (2 == s2) for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c];
|
|
2125
|
-
if (3 == s2) for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c] - (t4[f2 + c - a2] >> 1) + 256 & 255;
|
|
2126
|
-
if (4 == s2) for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c] - r2(t4[f2 + c - a2], 0, 0) + 256 & 255;
|
|
2127
|
-
} else {
|
|
2128
|
-
if (2 == s2) for (c = 0; c < o3; c++) e3[l2 + c] = t4[f2 + c] + 256 - t4[f2 + c - o3] & 255;
|
|
2129
|
-
if (3 == s2) {
|
|
2130
|
-
for (c = 0; c < a2; c++) e3[l2 + c] = t4[f2 + c] + 256 - (t4[f2 + c - o3] >> 1) & 255;
|
|
2131
|
-
for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c] + 256 - (t4[f2 + c - o3] + t4[f2 + c - a2] >> 1) & 255;
|
|
2132
|
-
}
|
|
2133
|
-
if (4 == s2) {
|
|
2134
|
-
for (c = 0; c < a2; c++) e3[l2 + c] = t4[f2 + c] + 256 - r2(0, t4[f2 + c - o3], 0) & 255;
|
|
2135
|
-
for (c = a2; c < o3; c++) e3[l2 + c] = t4[f2 + c] + 256 - r2(t4[f2 + c - a2], t4[f2 + c - o3], t4[f2 + c - a2 - o3]) & 255;
|
|
2136
|
-
}
|
|
2137
|
-
}
|
|
2138
|
-
}
|
|
2139
|
-
function quantize(e3, t4) {
|
|
2140
|
-
const r3 = new Uint8Array(e3), i3 = r3.slice(0), o3 = new Uint32Array(i3.buffer), a2 = getKDtree(i3, t4), s2 = a2[0], f2 = a2[1], l2 = r3.length, c = new Uint8Array(l2 >> 2);
|
|
2141
|
-
let u;
|
|
2142
|
-
if (r3.length < 2e7) for (var h = 0; h < l2; h += 4) {
|
|
2143
|
-
u = getNearest(s2, d = r3[h] * (1 / 255), A = r3[h + 1] * (1 / 255), g = r3[h + 2] * (1 / 255), p = r3[h + 3] * (1 / 255)), c[h >> 2] = u.ind, o3[h >> 2] = u.est.rgba;
|
|
2144
|
-
}
|
|
2145
|
-
else for (h = 0; h < l2; h += 4) {
|
|
2146
|
-
var d = r3[h] * (1 / 255), A = r3[h + 1] * (1 / 255), g = r3[h + 2] * (1 / 255), p = r3[h + 3] * (1 / 255);
|
|
2147
|
-
for (u = s2; u.left; ) u = planeDst(u.est, d, A, g, p) <= 0 ? u.left : u.right;
|
|
2148
|
-
c[h >> 2] = u.ind, o3[h >> 2] = u.est.rgba;
|
|
2149
|
-
}
|
|
2150
|
-
return { abuf: i3.buffer, inds: c, plte: f2 };
|
|
2151
|
-
}
|
|
2152
|
-
function getKDtree(e3, t4, r3) {
|
|
2153
|
-
null == r3 && (r3 = 1e-4);
|
|
2154
|
-
const i3 = new Uint32Array(e3.buffer), o3 = { i0: 0, i1: e3.length, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2155
|
-
o3.bst = stats(e3, o3.i0, o3.i1), o3.est = estats(o3.bst);
|
|
2156
|
-
const a2 = [o3];
|
|
2157
|
-
for (; a2.length < t4; ) {
|
|
2158
|
-
let t5 = 0, o4 = 0;
|
|
2159
|
-
for (var s2 = 0; s2 < a2.length; s2++) a2[s2].est.L > t5 && (t5 = a2[s2].est.L, o4 = s2);
|
|
2160
|
-
if (t5 < r3) break;
|
|
2161
|
-
const f2 = a2[o4], l2 = splitPixels(e3, i3, f2.i0, f2.i1, f2.est.e, f2.est.eMq255);
|
|
2162
|
-
if (f2.i0 >= l2 || f2.i1 <= l2) {
|
|
2163
|
-
f2.est.L = 0;
|
|
2164
|
-
continue;
|
|
2165
|
-
}
|
|
2166
|
-
const c = { i0: f2.i0, i1: l2, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2167
|
-
c.bst = stats(e3, c.i0, c.i1), c.est = estats(c.bst);
|
|
2168
|
-
const u = { i0: l2, i1: f2.i1, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2169
|
-
u.bst = { R: [], m: [], N: f2.bst.N - c.bst.N };
|
|
2170
|
-
for (s2 = 0; s2 < 16; s2++) u.bst.R[s2] = f2.bst.R[s2] - c.bst.R[s2];
|
|
2171
|
-
for (s2 = 0; s2 < 4; s2++) u.bst.m[s2] = f2.bst.m[s2] - c.bst.m[s2];
|
|
2172
|
-
u.est = estats(u.bst), f2.left = c, f2.right = u, a2[o4] = c, a2.push(u);
|
|
2173
|
-
}
|
|
2174
|
-
a2.sort((e4, t5) => t5.bst.N - e4.bst.N);
|
|
2175
|
-
for (s2 = 0; s2 < a2.length; s2++) a2[s2].ind = s2;
|
|
2176
|
-
return [o3, a2];
|
|
2177
|
-
}
|
|
2178
|
-
function getNearest(e3, t4, r3, i3, o3) {
|
|
2179
|
-
if (null == e3.left) return e3.tdst = function dist(e4, t5, r4, i4, o4) {
|
|
2180
|
-
const a3 = t5 - e4[0], s3 = r4 - e4[1], f3 = i4 - e4[2], l3 = o4 - e4[3];
|
|
2181
|
-
return a3 * a3 + s3 * s3 + f3 * f3 + l3 * l3;
|
|
2182
|
-
}(e3.est.q, t4, r3, i3, o3), e3;
|
|
2183
|
-
const a2 = planeDst(e3.est, t4, r3, i3, o3);
|
|
2184
|
-
let s2 = e3.left, f2 = e3.right;
|
|
2185
|
-
a2 > 0 && (s2 = e3.right, f2 = e3.left);
|
|
2186
|
-
const l2 = getNearest(s2, t4, r3, i3, o3);
|
|
2187
|
-
if (l2.tdst <= a2 * a2) return l2;
|
|
2188
|
-
const c = getNearest(f2, t4, r3, i3, o3);
|
|
2189
|
-
return c.tdst < l2.tdst ? c : l2;
|
|
2190
|
-
}
|
|
2191
|
-
function planeDst(e3, t4, r3, i3, o3) {
|
|
2192
|
-
const { e: a2 } = e3;
|
|
2193
|
-
return a2[0] * t4 + a2[1] * r3 + a2[2] * i3 + a2[3] * o3 - e3.eMq;
|
|
2194
|
-
}
|
|
2195
|
-
function splitPixels(e3, t4, r3, i3, o3, a2) {
|
|
2196
|
-
for (i3 -= 4; r3 < i3; ) {
|
|
2197
|
-
for (; vecDot(e3, r3, o3) <= a2; ) r3 += 4;
|
|
2198
|
-
for (; vecDot(e3, i3, o3) > a2; ) i3 -= 4;
|
|
2199
|
-
if (r3 >= i3) break;
|
|
2200
|
-
const s2 = t4[r3 >> 2];
|
|
2201
|
-
t4[r3 >> 2] = t4[i3 >> 2], t4[i3 >> 2] = s2, r3 += 4, i3 -= 4;
|
|
2202
|
-
}
|
|
2203
|
-
for (; vecDot(e3, r3, o3) > a2; ) r3 -= 4;
|
|
2204
|
-
return r3 + 4;
|
|
2205
|
-
}
|
|
2206
|
-
function vecDot(e3, t4, r3) {
|
|
2207
|
-
return e3[t4] * r3[0] + e3[t4 + 1] * r3[1] + e3[t4 + 2] * r3[2] + e3[t4 + 3] * r3[3];
|
|
2208
|
-
}
|
|
2209
|
-
function stats(e3, t4, r3) {
|
|
2210
|
-
const i3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], o3 = [0, 0, 0, 0], a2 = r3 - t4 >> 2;
|
|
2211
|
-
for (let a3 = t4; a3 < r3; a3 += 4) {
|
|
2212
|
-
const t5 = e3[a3] * (1 / 255), r4 = e3[a3 + 1] * (1 / 255), s2 = e3[a3 + 2] * (1 / 255), f2 = e3[a3 + 3] * (1 / 255);
|
|
2213
|
-
o3[0] += t5, o3[1] += r4, o3[2] += s2, o3[3] += f2, i3[0] += t5 * t5, i3[1] += t5 * r4, i3[2] += t5 * s2, i3[3] += t5 * f2, i3[5] += r4 * r4, i3[6] += r4 * s2, i3[7] += r4 * f2, i3[10] += s2 * s2, i3[11] += s2 * f2, i3[15] += f2 * f2;
|
|
2214
|
-
}
|
|
2215
|
-
return i3[4] = i3[1], i3[8] = i3[2], i3[9] = i3[6], i3[12] = i3[3], i3[13] = i3[7], i3[14] = i3[11], { R: i3, m: o3, N: a2 };
|
|
2216
|
-
}
|
|
2217
|
-
function estats(e3) {
|
|
2218
|
-
const { R: t4 } = e3, { m: r3 } = e3, { N: i3 } = e3, a2 = r3[0], s2 = r3[1], f2 = r3[2], l2 = r3[3], c = 0 == i3 ? 0 : 1 / i3, u = [t4[0] - a2 * a2 * c, t4[1] - a2 * s2 * c, t4[2] - a2 * f2 * c, t4[3] - a2 * l2 * c, t4[4] - s2 * a2 * c, t4[5] - s2 * s2 * c, t4[6] - s2 * f2 * c, t4[7] - s2 * l2 * c, t4[8] - f2 * a2 * c, t4[9] - f2 * s2 * c, t4[10] - f2 * f2 * c, t4[11] - f2 * l2 * c, t4[12] - l2 * a2 * c, t4[13] - l2 * s2 * c, t4[14] - l2 * f2 * c, t4[15] - l2 * l2 * c], h = u, d = o2;
|
|
2219
|
-
let A = [Math.random(), Math.random(), Math.random(), Math.random()], g = 0, p = 0;
|
|
2220
|
-
if (0 != i3) for (let e4 = 0; e4 < 16 && (A = d.multVec(h, A), p = Math.sqrt(d.dot(A, A)), A = d.sml(1 / p, A), !(0 != e4 && Math.abs(p - g) < 1e-9)); e4++) g = p;
|
|
2221
|
-
const m = [a2 * c, s2 * c, f2 * c, l2 * c];
|
|
2222
|
-
return { Cov: u, q: m, e: A, L: g, eMq255: d.dot(d.sml(255, m), A), eMq: d.dot(A, m), rgba: (Math.round(255 * m[3]) << 24 | Math.round(255 * m[2]) << 16 | Math.round(255 * m[1]) << 8 | Math.round(255 * m[0]) << 0) >>> 0 };
|
|
2223
|
-
}
|
|
2224
|
-
var o2 = { multVec: (e3, t4) => [e3[0] * t4[0] + e3[1] * t4[1] + e3[2] * t4[2] + e3[3] * t4[3], e3[4] * t4[0] + e3[5] * t4[1] + e3[6] * t4[2] + e3[7] * t4[3], e3[8] * t4[0] + e3[9] * t4[1] + e3[10] * t4[2] + e3[11] * t4[3], e3[12] * t4[0] + e3[13] * t4[1] + e3[14] * t4[2] + e3[15] * t4[3]], dot: (e3, t4) => e3[0] * t4[0] + e3[1] * t4[1] + e3[2] * t4[2] + e3[3] * t4[3], sml: (e3, t4) => [e3 * t4[0], e3 * t4[1], e3 * t4[2], e3 * t4[3]] };
|
|
2225
|
-
UPNG.encode = function encode2(e3, t4, r3, i3, o3, a2, s2) {
|
|
2226
|
-
null == i3 && (i3 = 0), null == s2 && (s2 = false);
|
|
2227
|
-
const f2 = compress2(e3, t4, r3, i3, [false, false, false, 0, s2, false]);
|
|
2228
|
-
return compressPNG(f2, -1), _main(f2, t4, r3, o3, a2);
|
|
2229
|
-
}, UPNG.encodeLL = function encodeLL(e3, t4, r3, i3, o3, a2, s2, f2) {
|
|
2230
|
-
const l2 = { ctype: 0 + (1 == i3 ? 0 : 2) + (0 == o3 ? 0 : 4), depth: a2, frames: [] }, c = (i3 + o3) * a2, u = c * t4;
|
|
2231
|
-
for (let i4 = 0; i4 < e3.length; i4++) l2.frames.push({ rect: { x: 0, y: 0, width: t4, height: r3 }, img: new Uint8Array(e3[i4]), blend: 0, dispose: 1, bpp: Math.ceil(c / 8), bpl: Math.ceil(u / 8) });
|
|
2232
|
-
return compressPNG(l2, 0, true), _main(l2, t4, r3, s2, f2);
|
|
2233
|
-
}, UPNG.encode.compress = compress2, UPNG.encode.dither = dither, UPNG.quantize = quantize, UPNG.quantize.getKDtree = getKDtree, UPNG.quantize.getNearest = getNearest;
|
|
2234
|
-
}();
|
|
2235
|
-
const t2 = { toArrayBuffer(e2, r2) {
|
|
2236
|
-
const i2 = e2.width, o2 = e2.height, a2 = i2 << 2, s2 = e2.getContext("2d").getImageData(0, 0, i2, o2), f2 = new Uint32Array(s2.data.buffer), l2 = (32 * i2 + 31) / 32 << 2, c = l2 * o2, u = 122 + c, h = new ArrayBuffer(u), d = new DataView(h), A = 1 << 20;
|
|
2237
|
-
let g, p, m, w, v = A, b = 0, y = 0, E = 0;
|
|
2238
|
-
function set16(e3) {
|
|
2239
|
-
d.setUint16(y, e3, true), y += 2;
|
|
2240
|
-
}
|
|
2241
|
-
function set32(e3) {
|
|
2242
|
-
d.setUint32(y, e3, true), y += 4;
|
|
2243
|
-
}
|
|
2244
|
-
function seek(e3) {
|
|
2245
|
-
y += e3;
|
|
2246
|
-
}
|
|
2247
|
-
set16(19778), set32(u), seek(4), set32(122), set32(108), set32(i2), set32(-o2 >>> 0), set16(1), set16(32), set32(3), set32(c), set32(2835), set32(2835), seek(8), set32(16711680), set32(65280), set32(255), set32(4278190080), set32(1466527264), function convert() {
|
|
2248
|
-
for (; b < o2 && v > 0; ) {
|
|
2249
|
-
for (w = 122 + b * l2, g = 0; g < a2; ) v--, p = f2[E++], m = p >>> 24, d.setUint32(w + g, p << 8 | m), g += 4;
|
|
2250
|
-
b++;
|
|
2251
|
-
}
|
|
2252
|
-
E < f2.length ? (v = A, setTimeout(convert, t2._dly)) : r2(h);
|
|
2253
|
-
}();
|
|
2254
|
-
}, toBlob(e2, t3) {
|
|
2255
|
-
this.toArrayBuffer(e2, (e3) => {
|
|
2256
|
-
t3(new Blob([e3], { type: "image/bmp" }));
|
|
2257
|
-
});
|
|
2258
|
-
}, _dly: 9 };
|
|
2259
|
-
var r = { CHROME: "CHROME", FIREFOX: "FIREFOX", DESKTOP_SAFARI: "DESKTOP_SAFARI", IE: "IE", IOS: "IOS", ETC: "ETC" }, i = { [r.CHROME]: 16384, [r.FIREFOX]: 11180, [r.DESKTOP_SAFARI]: 16384, [r.IE]: 8192, [r.IOS]: 4096, [r.ETC]: 8192 };
|
|
2260
|
-
const o = "undefined" != typeof window, a = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope, s = o && window.cordova && window.cordova.require && window.cordova.require("cordova/modulemapper"), CustomFile = (o || a) && (s && s.getOriginalSymbol(window, "File") || "undefined" != typeof File && File), CustomFileReader = (o || a) && (s && s.getOriginalSymbol(window, "FileReader") || "undefined" != typeof FileReader && FileReader);
|
|
2261
|
-
function getFilefromDataUrl(e2, t3, r2 = Date.now()) {
|
|
2262
|
-
return new Promise((i2) => {
|
|
2263
|
-
const o2 = e2.split(","), a2 = o2[0].match(/:(.*?);/)[1], s2 = globalThis.atob(o2[1]);
|
|
2264
|
-
let f2 = s2.length;
|
|
2265
|
-
const l2 = new Uint8Array(f2);
|
|
2266
|
-
for (; f2--; ) l2[f2] = s2.charCodeAt(f2);
|
|
2267
|
-
const c = new Blob([l2], { type: a2 });
|
|
2268
|
-
c.name = t3, c.lastModified = r2, i2(c);
|
|
2269
|
-
});
|
|
2270
|
-
}
|
|
2271
|
-
function getDataUrlFromFile(e2) {
|
|
2272
|
-
return new Promise((t3, r2) => {
|
|
2273
|
-
const i2 = new CustomFileReader();
|
|
2274
|
-
i2.onload = () => t3(i2.result), i2.onerror = (e3) => r2(e3), i2.readAsDataURL(e2);
|
|
2275
|
-
});
|
|
2276
|
-
}
|
|
2277
|
-
function loadImage(e2) {
|
|
2278
|
-
return new Promise((t3, r2) => {
|
|
2279
|
-
const i2 = new Image();
|
|
2280
|
-
i2.onload = () => t3(i2), i2.onerror = (e3) => r2(e3), i2.src = e2;
|
|
2281
|
-
});
|
|
2282
|
-
}
|
|
2283
|
-
function getBrowserName() {
|
|
2284
|
-
if (void 0 !== getBrowserName.cachedResult) return getBrowserName.cachedResult;
|
|
2285
|
-
let e2 = r.ETC;
|
|
2286
|
-
const { userAgent: t3 } = navigator;
|
|
2287
|
-
return /Chrom(e|ium)/i.test(t3) ? e2 = r.CHROME : /iP(ad|od|hone)/i.test(t3) && /WebKit/i.test(t3) ? e2 = r.IOS : /Safari/i.test(t3) ? e2 = r.DESKTOP_SAFARI : /Firefox/i.test(t3) ? e2 = r.FIREFOX : (/MSIE/i.test(t3) || true == !!document.documentMode) && (e2 = r.IE), getBrowserName.cachedResult = e2, getBrowserName.cachedResult;
|
|
2288
|
-
}
|
|
2289
|
-
function approximateBelowMaximumCanvasSizeOfBrowser(e2, t3) {
|
|
2290
|
-
const r2 = getBrowserName(), o2 = i[r2];
|
|
2291
|
-
let a2 = e2, s2 = t3, f2 = a2 * s2;
|
|
2292
|
-
const l2 = a2 > s2 ? s2 / a2 : a2 / s2;
|
|
2293
|
-
for (; f2 > o2 * o2; ) {
|
|
2294
|
-
const e3 = (o2 + a2) / 2, t4 = (o2 + s2) / 2;
|
|
2295
|
-
e3 < t4 ? (s2 = t4, a2 = t4 * l2) : (s2 = e3 * l2, a2 = e3), f2 = a2 * s2;
|
|
2296
|
-
}
|
|
2297
|
-
return { width: a2, height: s2 };
|
|
2298
|
-
}
|
|
2299
|
-
function getNewCanvasAndCtx(e2, t3) {
|
|
2300
|
-
let r2, i2;
|
|
2301
|
-
try {
|
|
2302
|
-
if (r2 = new OffscreenCanvas(e2, t3), i2 = r2.getContext("2d"), null === i2) throw new Error("getContext of OffscreenCanvas returns null");
|
|
2303
|
-
} catch (e3) {
|
|
2304
|
-
r2 = document.createElement("canvas"), i2 = r2.getContext("2d");
|
|
2305
|
-
}
|
|
2306
|
-
return r2.width = e2, r2.height = t3, [r2, i2];
|
|
2307
|
-
}
|
|
2308
|
-
function drawImageInCanvas(e2, t3) {
|
|
2309
|
-
const { width: r2, height: i2 } = approximateBelowMaximumCanvasSizeOfBrowser(e2.width, e2.height), [o2, a2] = getNewCanvasAndCtx(r2, i2);
|
|
2310
|
-
return t3 && /jpe?g/.test(t3) && (a2.fillStyle = "white", a2.fillRect(0, 0, o2.width, o2.height)), a2.drawImage(e2, 0, 0, o2.width, o2.height), o2;
|
|
2311
|
-
}
|
|
2312
|
-
function isIOS() {
|
|
2313
|
-
return void 0 !== isIOS.cachedResult || (isIOS.cachedResult = ["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "undefined" != typeof document && "ontouchend" in document), isIOS.cachedResult;
|
|
2314
|
-
}
|
|
2315
|
-
function drawFileInCanvas(e2, t3 = {}) {
|
|
2316
|
-
return new Promise(function(i2, o2) {
|
|
2317
|
-
let a2, s2;
|
|
2318
|
-
var $Try_2_Post = function() {
|
|
2319
|
-
try {
|
|
2320
|
-
return s2 = drawImageInCanvas(a2, t3.fileType || e2.type), i2([a2, s2]);
|
|
2321
|
-
} catch (e3) {
|
|
2322
|
-
return o2(e3);
|
|
2323
|
-
}
|
|
2324
|
-
}, $Try_2_Catch = function(t4) {
|
|
2325
|
-
try {
|
|
2326
|
-
0;
|
|
2327
|
-
var $Try_3_Catch = function(e3) {
|
|
2328
|
-
try {
|
|
2329
|
-
throw e3;
|
|
2330
|
-
} catch (e4) {
|
|
2331
|
-
return o2(e4);
|
|
2332
|
-
}
|
|
2333
|
-
};
|
|
2334
|
-
try {
|
|
2335
|
-
let t5;
|
|
2336
|
-
return getDataUrlFromFile(e2).then(function(e3) {
|
|
2337
|
-
try {
|
|
2338
|
-
return t5 = e3, loadImage(t5).then(function(e4) {
|
|
2339
|
-
try {
|
|
2340
|
-
return a2 = e4, function() {
|
|
2341
|
-
try {
|
|
2342
|
-
return $Try_2_Post();
|
|
2343
|
-
} catch (e5) {
|
|
2344
|
-
return o2(e5);
|
|
2345
|
-
}
|
|
2346
|
-
}();
|
|
2347
|
-
} catch (e5) {
|
|
2348
|
-
return $Try_3_Catch(e5);
|
|
2349
|
-
}
|
|
2350
|
-
}, $Try_3_Catch);
|
|
2351
|
-
} catch (e4) {
|
|
2352
|
-
return $Try_3_Catch(e4);
|
|
2353
|
-
}
|
|
2354
|
-
}, $Try_3_Catch);
|
|
2355
|
-
} catch (e3) {
|
|
2356
|
-
$Try_3_Catch(e3);
|
|
2357
|
-
}
|
|
2358
|
-
} catch (e3) {
|
|
2359
|
-
return o2(e3);
|
|
2360
|
-
}
|
|
2361
|
-
};
|
|
2362
|
-
try {
|
|
2363
|
-
if (isIOS() || [r.DESKTOP_SAFARI, r.MOBILE_SAFARI].includes(getBrowserName())) throw new Error("Skip createImageBitmap on IOS and Safari");
|
|
2364
|
-
return createImageBitmap(e2).then(function(e3) {
|
|
2365
|
-
try {
|
|
2366
|
-
return a2 = e3, $Try_2_Post();
|
|
2367
|
-
} catch (e4) {
|
|
2368
|
-
return $Try_2_Catch();
|
|
2369
|
-
}
|
|
2370
|
-
}, $Try_2_Catch);
|
|
2371
|
-
} catch (e3) {
|
|
2372
|
-
$Try_2_Catch();
|
|
2373
|
-
}
|
|
2374
|
-
});
|
|
2375
|
-
}
|
|
2376
|
-
function canvasToFile(e2, r2, i2, o2, a2 = 1) {
|
|
2377
|
-
return new Promise(function(s2, f2) {
|
|
2378
|
-
let l2;
|
|
2379
|
-
if ("image/png" === r2) {
|
|
2380
|
-
let c, u, h;
|
|
2381
|
-
return c = e2.getContext("2d"), { data: u } = c.getImageData(0, 0, e2.width, e2.height), h = UPNG.encode([u.buffer], e2.width, e2.height, 4096 * a2), l2 = new Blob([h], { type: r2 }), l2.name = i2, l2.lastModified = o2, $If_4.call(this);
|
|
2382
|
-
}
|
|
2383
|
-
{
|
|
2384
|
-
let $If_5 = function() {
|
|
2385
|
-
return $If_4.call(this);
|
|
2386
|
-
};
|
|
2387
|
-
if ("image/bmp" === r2) return new Promise((r3) => t2.toBlob(e2, r3)).then(function(e3) {
|
|
2388
|
-
try {
|
|
2389
|
-
return l2 = e3, l2.name = i2, l2.lastModified = o2, $If_5.call(this);
|
|
2390
|
-
} catch (e4) {
|
|
2391
|
-
return f2(e4);
|
|
2392
|
-
}
|
|
2393
|
-
}.bind(this), f2);
|
|
2394
|
-
{
|
|
2395
|
-
let $If_6 = function() {
|
|
2396
|
-
return $If_5.call(this);
|
|
2397
|
-
};
|
|
2398
|
-
if ("function" == typeof OffscreenCanvas && e2 instanceof OffscreenCanvas) return e2.convertToBlob({ type: r2, quality: a2 }).then(function(e3) {
|
|
2399
|
-
try {
|
|
2400
|
-
return l2 = e3, l2.name = i2, l2.lastModified = o2, $If_6.call(this);
|
|
2401
|
-
} catch (e4) {
|
|
2402
|
-
return f2(e4);
|
|
2403
|
-
}
|
|
2404
|
-
}.bind(this), f2);
|
|
2405
|
-
{
|
|
2406
|
-
let d;
|
|
2407
|
-
return d = e2.toDataURL(r2, a2), getFilefromDataUrl(d, i2, o2).then(function(e3) {
|
|
2408
|
-
try {
|
|
2409
|
-
return l2 = e3, $If_6.call(this);
|
|
2410
|
-
} catch (e4) {
|
|
2411
|
-
return f2(e4);
|
|
2412
|
-
}
|
|
2413
|
-
}.bind(this), f2);
|
|
2414
|
-
}
|
|
2415
|
-
}
|
|
2416
|
-
}
|
|
2417
|
-
function $If_4() {
|
|
2418
|
-
return s2(l2);
|
|
2419
|
-
}
|
|
2420
|
-
});
|
|
2421
|
-
}
|
|
2422
|
-
function cleanupCanvasMemory(e2) {
|
|
2423
|
-
e2.width = 0, e2.height = 0;
|
|
2424
|
-
}
|
|
2425
|
-
function isAutoOrientationInBrowser() {
|
|
2426
|
-
return new Promise(function(e2, t3) {
|
|
2427
|
-
let r2, i2, o2, a2, s2;
|
|
2428
|
-
return void 0 !== isAutoOrientationInBrowser.cachedResult ? e2(isAutoOrientationInBrowser.cachedResult) : (r2 = "data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", getFilefromDataUrl("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", "test.jpg", Date.now()).then(function(r3) {
|
|
2429
|
-
try {
|
|
2430
|
-
return i2 = r3, drawFileInCanvas(i2).then(function(r4) {
|
|
2431
|
-
try {
|
|
2432
|
-
return o2 = r4[1], canvasToFile(o2, i2.type, i2.name, i2.lastModified).then(function(r5) {
|
|
2433
|
-
try {
|
|
2434
|
-
return a2 = r5, cleanupCanvasMemory(o2), drawFileInCanvas(a2).then(function(r6) {
|
|
2435
|
-
try {
|
|
2436
|
-
return s2 = r6[0], isAutoOrientationInBrowser.cachedResult = 1 === s2.width && 2 === s2.height, e2(isAutoOrientationInBrowser.cachedResult);
|
|
2437
|
-
} catch (e3) {
|
|
2438
|
-
return t3(e3);
|
|
2439
|
-
}
|
|
2440
|
-
}, t3);
|
|
2441
|
-
} catch (e3) {
|
|
2442
|
-
return t3(e3);
|
|
2443
|
-
}
|
|
2444
|
-
}, t3);
|
|
2445
|
-
} catch (e3) {
|
|
2446
|
-
return t3(e3);
|
|
2447
|
-
}
|
|
2448
|
-
}, t3);
|
|
2449
|
-
} catch (e3) {
|
|
2450
|
-
return t3(e3);
|
|
2451
|
-
}
|
|
2452
|
-
}, t3));
|
|
2453
|
-
});
|
|
2454
|
-
}
|
|
2455
|
-
function getExifOrientation(e2) {
|
|
2456
|
-
return new Promise((t3, r2) => {
|
|
2457
|
-
const i2 = new CustomFileReader();
|
|
2458
|
-
i2.onload = (e3) => {
|
|
2459
|
-
const r3 = new DataView(e3.target.result);
|
|
2460
|
-
if (65496 != r3.getUint16(0, false)) return t3(-2);
|
|
2461
|
-
const i3 = r3.byteLength;
|
|
2462
|
-
let o2 = 2;
|
|
2463
|
-
for (; o2 < i3; ) {
|
|
2464
|
-
if (r3.getUint16(o2 + 2, false) <= 8) return t3(-1);
|
|
2465
|
-
const e4 = r3.getUint16(o2, false);
|
|
2466
|
-
if (o2 += 2, 65505 == e4) {
|
|
2467
|
-
if (1165519206 != r3.getUint32(o2 += 2, false)) return t3(-1);
|
|
2468
|
-
const e5 = 18761 == r3.getUint16(o2 += 6, false);
|
|
2469
|
-
o2 += r3.getUint32(o2 + 4, e5);
|
|
2470
|
-
const i4 = r3.getUint16(o2, e5);
|
|
2471
|
-
o2 += 2;
|
|
2472
|
-
for (let a2 = 0; a2 < i4; a2++) if (274 == r3.getUint16(o2 + 12 * a2, e5)) return t3(r3.getUint16(o2 + 12 * a2 + 8, e5));
|
|
2473
|
-
} else {
|
|
2474
|
-
if (65280 != (65280 & e4)) break;
|
|
2475
|
-
o2 += r3.getUint16(o2, false);
|
|
2476
|
-
}
|
|
2477
|
-
}
|
|
2478
|
-
return t3(-1);
|
|
2479
|
-
}, i2.onerror = (e3) => r2(e3), i2.readAsArrayBuffer(e2);
|
|
2480
|
-
});
|
|
2481
|
-
}
|
|
2482
|
-
function handleMaxWidthOrHeight(e2, t3) {
|
|
2483
|
-
const { width: r2 } = e2, { height: i2 } = e2, { maxWidthOrHeight: o2 } = t3;
|
|
2484
|
-
let a2, s2 = e2;
|
|
2485
|
-
return isFinite(o2) && (r2 > o2 || i2 > o2) && ([s2, a2] = getNewCanvasAndCtx(r2, i2), r2 > i2 ? (s2.width = o2, s2.height = i2 / r2 * o2) : (s2.width = r2 / i2 * o2, s2.height = o2), a2.drawImage(e2, 0, 0, s2.width, s2.height), cleanupCanvasMemory(e2)), s2;
|
|
2486
|
-
}
|
|
2487
|
-
function followExifOrientation(e2, t3) {
|
|
2488
|
-
const { width: r2 } = e2, { height: i2 } = e2, [o2, a2] = getNewCanvasAndCtx(r2, i2);
|
|
2489
|
-
switch (t3 > 4 && t3 < 9 ? (o2.width = i2, o2.height = r2) : (o2.width = r2, o2.height = i2), t3) {
|
|
2490
|
-
case 2:
|
|
2491
|
-
a2.transform(-1, 0, 0, 1, r2, 0);
|
|
2492
|
-
break;
|
|
2493
|
-
case 3:
|
|
2494
|
-
a2.transform(-1, 0, 0, -1, r2, i2);
|
|
2495
|
-
break;
|
|
2496
|
-
case 4:
|
|
2497
|
-
a2.transform(1, 0, 0, -1, 0, i2);
|
|
2498
|
-
break;
|
|
2499
|
-
case 5:
|
|
2500
|
-
a2.transform(0, 1, 1, 0, 0, 0);
|
|
2501
|
-
break;
|
|
2502
|
-
case 6:
|
|
2503
|
-
a2.transform(0, 1, -1, 0, i2, 0);
|
|
2504
|
-
break;
|
|
2505
|
-
case 7:
|
|
2506
|
-
a2.transform(0, -1, -1, 0, i2, r2);
|
|
2507
|
-
break;
|
|
2508
|
-
case 8:
|
|
2509
|
-
a2.transform(0, -1, 1, 0, 0, r2);
|
|
2510
|
-
}
|
|
2511
|
-
return a2.drawImage(e2, 0, 0, r2, i2), cleanupCanvasMemory(e2), o2;
|
|
2512
|
-
}
|
|
2513
|
-
function compress(e2, t3, r2 = 0) {
|
|
2514
|
-
return new Promise(function(i2, o2) {
|
|
2515
|
-
let a2, s2, f2, l2, c, u, h, d, A, g, p, m, w, v, b, y, E, F, _, B;
|
|
2516
|
-
function incProgress(e3 = 5) {
|
|
2517
|
-
if (t3.signal && t3.signal.aborted) throw t3.signal.reason;
|
|
2518
|
-
a2 += e3, t3.onProgress(Math.min(a2, 100));
|
|
2519
|
-
}
|
|
2520
|
-
function setProgress(e3) {
|
|
2521
|
-
if (t3.signal && t3.signal.aborted) throw t3.signal.reason;
|
|
2522
|
-
a2 = Math.min(Math.max(e3, a2), 100), t3.onProgress(a2);
|
|
2523
|
-
}
|
|
2524
|
-
return a2 = r2, s2 = t3.maxIteration || 10, f2 = 1024 * t3.maxSizeMB * 1024, incProgress(), drawFileInCanvas(e2, t3).then(function(r3) {
|
|
2525
|
-
try {
|
|
2526
|
-
return [, l2] = r3, incProgress(), c = handleMaxWidthOrHeight(l2, t3), incProgress(), new Promise(function(r4, i3) {
|
|
2527
|
-
var o3;
|
|
2528
|
-
if (!(o3 = t3.exifOrientation)) return getExifOrientation(e2).then(function(e3) {
|
|
2529
|
-
try {
|
|
2530
|
-
return o3 = e3, $If_2.call(this);
|
|
2531
|
-
} catch (e4) {
|
|
2532
|
-
return i3(e4);
|
|
2533
|
-
}
|
|
2534
|
-
}.bind(this), i3);
|
|
2535
|
-
function $If_2() {
|
|
2536
|
-
return r4(o3);
|
|
2537
|
-
}
|
|
2538
|
-
return $If_2.call(this);
|
|
2539
|
-
}).then(function(r4) {
|
|
2540
|
-
try {
|
|
2541
|
-
return u = r4, incProgress(), isAutoOrientationInBrowser().then(function(r5) {
|
|
2542
|
-
try {
|
|
2543
|
-
return h = r5 ? c : followExifOrientation(c, u), incProgress(), d = t3.initialQuality || 1, A = t3.fileType || e2.type, canvasToFile(h, A, e2.name, e2.lastModified, d).then(function(r6) {
|
|
2544
|
-
try {
|
|
2545
|
-
{
|
|
2546
|
-
let $Loop_3 = function() {
|
|
2547
|
-
if (s2-- && (b > f2 || b > w)) {
|
|
2548
|
-
let t4, r7;
|
|
2549
|
-
return t4 = B ? 0.95 * _.width : _.width, r7 = B ? 0.95 * _.height : _.height, [E, F] = getNewCanvasAndCtx(t4, r7), F.drawImage(_, 0, 0, t4, r7), d *= "image/png" === A ? 0.85 : 0.95, canvasToFile(E, A, e2.name, e2.lastModified, d).then(function(e3) {
|
|
2550
|
-
try {
|
|
2551
|
-
return y = e3, cleanupCanvasMemory(_), _ = E, b = y.size, setProgress(Math.min(99, Math.floor((v - b) / (v - f2) * 100))), $Loop_3;
|
|
2552
|
-
} catch (e4) {
|
|
2553
|
-
return o2(e4);
|
|
2554
|
-
}
|
|
2555
|
-
}, o2);
|
|
2556
|
-
}
|
|
2557
|
-
return [1];
|
|
2558
|
-
}, $Loop_3_exit = function() {
|
|
2559
|
-
return cleanupCanvasMemory(_), cleanupCanvasMemory(E), cleanupCanvasMemory(c), cleanupCanvasMemory(h), cleanupCanvasMemory(l2), setProgress(100), i2(y);
|
|
2560
|
-
};
|
|
2561
|
-
if (g = r6, incProgress(), p = g.size > f2, m = g.size > e2.size, !p && !m) return setProgress(100), i2(g);
|
|
2562
|
-
var a3;
|
|
2563
|
-
return w = e2.size, v = g.size, b = v, _ = h, B = !t3.alwaysKeepResolution && p, (a3 = function(e3) {
|
|
2564
|
-
for (; e3; ) {
|
|
2565
|
-
if (e3.then) return void e3.then(a3, o2);
|
|
2566
|
-
try {
|
|
2567
|
-
if (e3.pop) {
|
|
2568
|
-
if (e3.length) return e3.pop() ? $Loop_3_exit.call(this) : e3;
|
|
2569
|
-
e3 = $Loop_3;
|
|
2570
|
-
} else e3 = e3.call(this);
|
|
2571
|
-
} catch (e4) {
|
|
2572
|
-
return o2(e4);
|
|
2573
|
-
}
|
|
2574
|
-
}
|
|
2575
|
-
}.bind(this))($Loop_3);
|
|
2576
|
-
}
|
|
2577
|
-
} catch (u2) {
|
|
2578
|
-
return o2(u2);
|
|
2579
|
-
}
|
|
2580
|
-
}.bind(this), o2);
|
|
2581
|
-
} catch (e3) {
|
|
2582
|
-
return o2(e3);
|
|
2583
|
-
}
|
|
2584
|
-
}.bind(this), o2);
|
|
2585
|
-
} catch (e3) {
|
|
2586
|
-
return o2(e3);
|
|
2587
|
-
}
|
|
2588
|
-
}.bind(this), o2);
|
|
2589
|
-
} catch (e3) {
|
|
2590
|
-
return o2(e3);
|
|
2591
|
-
}
|
|
2592
|
-
}.bind(this), o2);
|
|
2593
|
-
});
|
|
2594
|
-
}
|
|
2595
|
-
const f = "\nlet scriptImported = false\nself.addEventListener('message', async (e) => {\n const { file, id, imageCompressionLibUrl, options } = e.data\n options.onProgress = (progress) => self.postMessage({ progress, id })\n try {\n if (!scriptImported) {\n // console.log('[worker] importScripts', imageCompressionLibUrl)\n self.importScripts(imageCompressionLibUrl)\n scriptImported = true\n }\n // console.log('[worker] self', self)\n const compressedFile = await imageCompression(file, options)\n self.postMessage({ file: compressedFile, id })\n } catch (e) {\n // console.error('[worker] error', e)\n self.postMessage({ error: e.message + '\\n' + e.stack, id })\n }\n})\n";
|
|
2596
|
-
let l;
|
|
2597
|
-
function compressOnWebWorker(e2, t3) {
|
|
2598
|
-
return new Promise((r2, i2) => {
|
|
2599
|
-
l || (l = function createWorkerScriptURL(e3) {
|
|
2600
|
-
const t4 = [];
|
|
2601
|
-
return "function" == typeof e3 ? t4.push(`(${e3})()`) : t4.push(e3), URL.createObjectURL(new Blob(t4));
|
|
2602
|
-
}(f));
|
|
2603
|
-
const o2 = new Worker(l);
|
|
2604
|
-
o2.addEventListener("message", function handler(e3) {
|
|
2605
|
-
if (t3.signal && t3.signal.aborted) o2.terminate();
|
|
2606
|
-
else if (void 0 === e3.data.progress) {
|
|
2607
|
-
if (e3.data.error) return i2(new Error(e3.data.error)), void o2.terminate();
|
|
2608
|
-
r2(e3.data.file), o2.terminate();
|
|
2609
|
-
} else t3.onProgress(e3.data.progress);
|
|
2610
|
-
}), o2.addEventListener("error", i2), t3.signal && t3.signal.addEventListener("abort", () => {
|
|
2611
|
-
i2(t3.signal.reason), o2.terminate();
|
|
2612
|
-
}), o2.postMessage({ file: e2, imageCompressionLibUrl: t3.libURL, options: { ...t3, onProgress: void 0, signal: void 0 } });
|
|
2613
|
-
});
|
|
2614
|
-
}
|
|
2615
|
-
function imageCompression2(e2, t3) {
|
|
2616
|
-
return new Promise(function(r2, i2) {
|
|
2617
|
-
let o2, a2, s2, f2, l2, c;
|
|
2618
|
-
if (o2 = { ...t3 }, s2 = 0, { onProgress: f2 } = o2, o2.maxSizeMB = o2.maxSizeMB || Number.POSITIVE_INFINITY, l2 = "boolean" != typeof o2.useWebWorker || o2.useWebWorker, delete o2.useWebWorker, o2.onProgress = (e3) => {
|
|
2619
|
-
s2 = e3, "function" == typeof f2 && f2(s2);
|
|
2620
|
-
}, !(e2 instanceof Blob || e2 instanceof CustomFile)) return i2(new Error("The file given is not an instance of Blob or File"));
|
|
2621
|
-
if (!/^image/.test(e2.type)) return i2(new Error("The file given is not an image"));
|
|
2622
|
-
if (c = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope, !l2 || "function" != typeof Worker || c) return compress(e2, o2).then(function(e3) {
|
|
2623
|
-
try {
|
|
2624
|
-
return a2 = e3, $If_4.call(this);
|
|
2625
|
-
} catch (e4) {
|
|
2626
|
-
return i2(e4);
|
|
2627
|
-
}
|
|
2628
|
-
}.bind(this), i2);
|
|
2629
|
-
var u = function() {
|
|
2630
|
-
try {
|
|
2631
|
-
return $If_4.call(this);
|
|
2632
|
-
} catch (e3) {
|
|
2633
|
-
return i2(e3);
|
|
2634
|
-
}
|
|
2635
|
-
}.bind(this), $Try_1_Catch = function(t4) {
|
|
2636
|
-
try {
|
|
2637
|
-
return compress(e2, o2).then(function(e3) {
|
|
2638
|
-
try {
|
|
2639
|
-
return a2 = e3, u();
|
|
2640
|
-
} catch (e4) {
|
|
2641
|
-
return i2(e4);
|
|
2642
|
-
}
|
|
2643
|
-
}, i2);
|
|
2644
|
-
} catch (e3) {
|
|
2645
|
-
return i2(e3);
|
|
2646
|
-
}
|
|
2647
|
-
};
|
|
2648
|
-
try {
|
|
2649
|
-
return o2.libURL = o2.libURL || "https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js", compressOnWebWorker(e2, o2).then(function(e3) {
|
|
2650
|
-
try {
|
|
2651
|
-
return a2 = e3, u();
|
|
2652
|
-
} catch (e4) {
|
|
2653
|
-
return $Try_1_Catch();
|
|
2654
|
-
}
|
|
2655
|
-
}, $Try_1_Catch);
|
|
2656
|
-
} catch (e3) {
|
|
2657
|
-
$Try_1_Catch();
|
|
2658
|
-
}
|
|
2659
|
-
function $If_4() {
|
|
2660
|
-
try {
|
|
2661
|
-
a2.name = e2.name, a2.lastModified = e2.lastModified;
|
|
2662
|
-
} catch (e3) {
|
|
2663
|
-
}
|
|
2664
|
-
try {
|
|
2665
|
-
o2.preserveExif && "image/jpeg" === e2.type && (!o2.fileType || o2.fileType && o2.fileType === e2.type) && (a2 = copyExifWithoutOrientation(e2, a2));
|
|
2666
|
-
} catch (e3) {
|
|
2667
|
-
}
|
|
2668
|
-
return r2(a2);
|
|
2669
|
-
}
|
|
2670
|
-
});
|
|
2671
|
-
}
|
|
2672
|
-
return imageCompression2.getDataUrlFromFile = getDataUrlFromFile, imageCompression2.getFilefromDataUrl = getFilefromDataUrl, imageCompression2.loadImage = loadImage, imageCompression2.drawImageInCanvas = drawImageInCanvas, imageCompression2.drawFileInCanvas = drawFileInCanvas, imageCompression2.canvasToFile = canvasToFile, imageCompression2.getExifOrientation = getExifOrientation, imageCompression2.handleMaxWidthOrHeight = handleMaxWidthOrHeight, imageCompression2.followExifOrientation = followExifOrientation, imageCompression2.cleanupCanvasMemory = cleanupCanvasMemory, imageCompression2.isAutoOrientationInBrowser = isAutoOrientationInBrowser, imageCompression2.approximateBelowMaximumCanvasSizeOfBrowser = approximateBelowMaximumCanvasSizeOfBrowser, imageCompression2.copyExifWithoutOrientation = copyExifWithoutOrientation, imageCompression2.getBrowserName = getBrowserName, imageCompression2.version = "2.0.2", imageCompression2;
|
|
2673
|
-
});
|
|
2674
|
-
}
|
|
2675
|
-
});
|
|
2676
|
-
|
|
2677
914
|
// node_modules/crypto-js/core.js
|
|
2678
915
|
var require_core = __commonJS({
|
|
2679
916
|
"node_modules/crypto-js/core.js"(exports, module) {
|
|
@@ -10129,484 +8366,6 @@ var fetchAndCacheMessages = async (options) => {
|
|
|
10129
8366
|
return remotePromise;
|
|
10130
8367
|
};
|
|
10131
8368
|
|
|
10132
|
-
// packages/app/utils/imageUtils.ts
|
|
10133
|
-
var import_browser_image_compression = __toESM(require_browser_image_compression());
|
|
10134
|
-
var BYTES_PER_MB = 1024 * 1024;
|
|
10135
|
-
var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
10136
|
-
var parseDataUrl = (dataUrl) => {
|
|
10137
|
-
const trimmed = dataUrl.trim();
|
|
10138
|
-
const parts = trimmed.split(",");
|
|
10139
|
-
if (parts.length < 2 || !parts[0] || !parts[1]) {
|
|
10140
|
-
console.warn("[imageUtils] parseDataUrl: invalid data URL", {
|
|
10141
|
-
hasHeader: !!parts[0],
|
|
10142
|
-
hasBody: !!parts[1]
|
|
10143
|
-
});
|
|
10144
|
-
return null;
|
|
10145
|
-
}
|
|
10146
|
-
const header = parts[0];
|
|
10147
|
-
const base64 = parts[1];
|
|
10148
|
-
const mimeMatch = header.match(/:(.*?);/);
|
|
10149
|
-
const mime = mimeMatch?.[1];
|
|
10150
|
-
if (!mime) {
|
|
10151
|
-
console.warn("[imageUtils] parseDataUrl: cannot extract mime from", header);
|
|
10152
|
-
return null;
|
|
10153
|
-
}
|
|
10154
|
-
return { mime, base64 };
|
|
10155
|
-
};
|
|
10156
|
-
function dataURLtoFile(dataUrl, filename) {
|
|
10157
|
-
try {
|
|
10158
|
-
const parsed = parseDataUrl(dataUrl);
|
|
10159
|
-
if (!parsed) return null;
|
|
10160
|
-
const { mime, base64 } = parsed;
|
|
10161
|
-
const binaryString = atob(base64);
|
|
10162
|
-
const length = binaryString.length;
|
|
10163
|
-
const u8arr = new Uint8Array(length);
|
|
10164
|
-
for (let i = 0; i < length; i++) {
|
|
10165
|
-
u8arr[i] = binaryString.charCodeAt(i);
|
|
10166
|
-
}
|
|
10167
|
-
return new File([u8arr], filename, { type: mime });
|
|
10168
|
-
} catch (error) {
|
|
10169
|
-
console.error("[imageUtils] Error converting data URL to File:", error);
|
|
10170
|
-
return null;
|
|
10171
|
-
}
|
|
10172
|
-
}
|
|
10173
|
-
var appendNoCacheQuery = (url) => {
|
|
10174
|
-
const stamp = `_t=${Date.now()}`;
|
|
10175
|
-
return url.includes("?") ? `${url}&${stamp}` : `${url}?${stamp}`;
|
|
10176
|
-
};
|
|
10177
|
-
var tryLoadImage = (url) => new Promise((resolve) => {
|
|
10178
|
-
const img = new Image();
|
|
10179
|
-
const cleanup = () => {
|
|
10180
|
-
img.onload = null;
|
|
10181
|
-
img.onerror = null;
|
|
10182
|
-
};
|
|
10183
|
-
img.onload = () => {
|
|
10184
|
-
cleanup();
|
|
10185
|
-
resolve(true);
|
|
10186
|
-
};
|
|
10187
|
-
img.onerror = () => {
|
|
10188
|
-
cleanup();
|
|
10189
|
-
resolve(false);
|
|
10190
|
-
};
|
|
10191
|
-
img.src = url;
|
|
10192
|
-
});
|
|
10193
|
-
var waitForFileReady = async (url, {
|
|
10194
|
-
maxWaitMs = 4e3,
|
|
10195
|
-
intervalMs = 250
|
|
10196
|
-
} = {}) => {
|
|
10197
|
-
const start = Date.now();
|
|
10198
|
-
while (Date.now() - start < maxWaitMs) {
|
|
10199
|
-
const tryUrl = appendNoCacheQuery(url);
|
|
10200
|
-
const ok = await tryLoadImage(tryUrl);
|
|
10201
|
-
if (ok) {
|
|
10202
|
-
console.debug("[imageUtils] waitForFileReady: image loaded for", url);
|
|
10203
|
-
return true;
|
|
10204
|
-
}
|
|
10205
|
-
await sleep(intervalMs);
|
|
10206
|
-
}
|
|
10207
|
-
console.warn("[imageUtils] waitForFileReady: timeout for", url);
|
|
10208
|
-
return false;
|
|
10209
|
-
};
|
|
10210
|
-
|
|
10211
|
-
// packages/database/fileUrl.ts
|
|
10212
|
-
var normalizeFileId = (fileId) => {
|
|
10213
|
-
if (typeof fileId !== "string") return "";
|
|
10214
|
-
return fileId.trim();
|
|
10215
|
-
};
|
|
10216
|
-
var buildDatabaseFileContentUrl = (serverOrigin, fileId) => {
|
|
10217
|
-
const normalizedServer = normalizeServerOrigin(serverOrigin);
|
|
10218
|
-
const normalizedFileId = normalizeFileId(fileId);
|
|
10219
|
-
if (!normalizedServer || !normalizedFileId) {
|
|
10220
|
-
return null;
|
|
10221
|
-
}
|
|
10222
|
-
return `${normalizedServer}${API_ENDPOINTS.DATABASE}/file/content/${normalizedFileId}`;
|
|
10223
|
-
};
|
|
10224
|
-
|
|
10225
|
-
// packages/chat/messages/fileUrl.ts
|
|
10226
|
-
var buildMessageFileContentUrl = (serverOrigin, fileId) => buildDatabaseFileContentUrl(serverOrigin, fileId);
|
|
10227
|
-
|
|
10228
|
-
// packages/chat/messages/imagePayloadPersistence.ts
|
|
10229
|
-
var stripDurableImageInlinePayload = (part) => {
|
|
10230
|
-
if (!part || typeof part !== "object") return part;
|
|
10231
|
-
const { original_data_url: _originalDataUrl, ...withoutOriginalDataUrl } = part;
|
|
10232
|
-
if (withoutOriginalDataUrl.type !== "image_url" || !withoutOriginalDataUrl.google_native || typeof withoutOriginalDataUrl.google_native !== "object") {
|
|
10233
|
-
return withoutOriginalDataUrl;
|
|
10234
|
-
}
|
|
10235
|
-
const { google_native: _googleNative, ...durablePart } = withoutOriginalDataUrl;
|
|
10236
|
-
return durablePart;
|
|
10237
|
-
};
|
|
10238
|
-
|
|
10239
|
-
// packages/core/chat/messageContentSerialize.ts
|
|
10240
|
-
var serializeMessageContent = (content, imagePlaceholder = "[\u56FE\u7247]") => {
|
|
10241
|
-
if (typeof content === "string") {
|
|
10242
|
-
return content.trim() || null;
|
|
10243
|
-
}
|
|
10244
|
-
if (Array.isArray(content)) {
|
|
10245
|
-
const fragments = [];
|
|
10246
|
-
for (const part of content) {
|
|
10247
|
-
if (!part || typeof part !== "object") continue;
|
|
10248
|
-
if (part.type === "text" && typeof part.text === "string") {
|
|
10249
|
-
const text = part.text.trim();
|
|
10250
|
-
if (text) fragments.push(text);
|
|
10251
|
-
} else if (part.type === "image_url") {
|
|
10252
|
-
fragments.push(imagePlaceholder);
|
|
10253
|
-
}
|
|
10254
|
-
}
|
|
10255
|
-
const joined = fragments.join("\n").trim();
|
|
10256
|
-
return joined || null;
|
|
10257
|
-
}
|
|
10258
|
-
return null;
|
|
10259
|
-
};
|
|
10260
|
-
|
|
10261
|
-
// packages/chat/messages/messageContent.ts
|
|
10262
|
-
var isDataUrlImage = (url) => typeof url === "string" && url.startsWith("data:image");
|
|
10263
|
-
var uploadGeneratedImageDataUrl = async (url, dialogId, messageId, index, dispatch, getState, options) => {
|
|
10264
|
-
const fileName = `generated-image-${dialogId}-${messageId}-${index}.png`;
|
|
10265
|
-
const file = dataURLtoFile(url, fileName);
|
|
10266
|
-
if (!file) {
|
|
10267
|
-
console.warn(
|
|
10268
|
-
"[messageContent] dataURLtoFile failed, drop generated image inline payload"
|
|
10269
|
-
);
|
|
10270
|
-
return null;
|
|
10271
|
-
}
|
|
10272
|
-
const customKey = `generated-image-${dialogId}-${messageId}-${index}`;
|
|
10273
|
-
let metadata;
|
|
10274
|
-
try {
|
|
10275
|
-
metadata = await dispatch(upload({ file, customKey })).unwrap();
|
|
10276
|
-
} catch (err) {
|
|
10277
|
-
console.warn(
|
|
10278
|
-
"[messageContent] upload generated image failed, drop inline payload:",
|
|
10279
|
-
err
|
|
10280
|
-
);
|
|
10281
|
-
return null;
|
|
10282
|
-
}
|
|
10283
|
-
const state3 = getState();
|
|
10284
|
-
const { currentServer } = getRuntimeServerContext(state3);
|
|
10285
|
-
const fileId = metadata?.dbKey || metadata?.id;
|
|
10286
|
-
if (!currentServer || !fileId) {
|
|
10287
|
-
console.warn(
|
|
10288
|
-
"[messageContent] missing currentServer or fileId, drop inline payload",
|
|
10289
|
-
{ currentServer, fileId }
|
|
10290
|
-
);
|
|
10291
|
-
return null;
|
|
10292
|
-
}
|
|
10293
|
-
if (options?.spaceId) {
|
|
10294
|
-
try {
|
|
10295
|
-
const agentPrefix = options.agentName ? `[${options.agentName}] ` : "";
|
|
10296
|
-
const title = `${agentPrefix}Generated Image ${index + 1}`;
|
|
10297
|
-
await addContentAction({
|
|
10298
|
-
spaceId: options.spaceId,
|
|
10299
|
-
contentKey: fileId,
|
|
10300
|
-
title,
|
|
10301
|
-
type: "image" /* IMAGE */
|
|
10302
|
-
}, { dispatch, getState });
|
|
10303
|
-
console.log(`[messageContent] Saved generated image to space: ${options.spaceId}`);
|
|
10304
|
-
} catch (err) {
|
|
10305
|
-
console.error("[messageContent] Failed to save generated image to space:", err);
|
|
10306
|
-
}
|
|
10307
|
-
}
|
|
10308
|
-
const imageUrl = buildMessageFileContentUrl(currentServer, fileId);
|
|
10309
|
-
if (!imageUrl) {
|
|
10310
|
-
return null;
|
|
10311
|
-
}
|
|
10312
|
-
const ready = await waitForFileReady(imageUrl);
|
|
10313
|
-
if (!ready) {
|
|
10314
|
-
console.warn(
|
|
10315
|
-
"[messageContent] uploaded generated image not ready, drop inline payload:",
|
|
10316
|
-
imageUrl
|
|
10317
|
-
);
|
|
10318
|
-
return null;
|
|
10319
|
-
}
|
|
10320
|
-
return imageUrl;
|
|
10321
|
-
};
|
|
10322
|
-
var normalizeAssistantContentBuffer = async (contentBuffer, dialogId, messageId, dispatch, getState, options) => {
|
|
10323
|
-
if (!Array.isArray(contentBuffer) || contentBuffer.length === 0) {
|
|
10324
|
-
return contentBuffer;
|
|
10325
|
-
}
|
|
10326
|
-
const updated = await Promise.all(
|
|
10327
|
-
contentBuffer.map(async (part, index) => {
|
|
10328
|
-
if (!part || part.type !== "image_url" || !part.image_url || !isDataUrlImage(part.image_url.url)) {
|
|
10329
|
-
return part;
|
|
10330
|
-
}
|
|
10331
|
-
const newUrl = await uploadGeneratedImageDataUrl(
|
|
10332
|
-
part.image_url.url,
|
|
10333
|
-
dialogId,
|
|
10334
|
-
messageId,
|
|
10335
|
-
index,
|
|
10336
|
-
dispatch,
|
|
10337
|
-
getState,
|
|
10338
|
-
options
|
|
10339
|
-
);
|
|
10340
|
-
if (!newUrl) {
|
|
10341
|
-
return {
|
|
10342
|
-
type: "text",
|
|
10343
|
-
text: "[\u56FE\u7247\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u751F\u6210\u56FE\u7247]"
|
|
10344
|
-
};
|
|
10345
|
-
}
|
|
10346
|
-
return stripDurableImageInlinePayload({
|
|
10347
|
-
...part,
|
|
10348
|
-
image_url: {
|
|
10349
|
-
...part.image_url,
|
|
10350
|
-
url: newUrl
|
|
10351
|
-
}
|
|
10352
|
-
});
|
|
10353
|
-
})
|
|
10354
|
-
);
|
|
10355
|
-
return updated;
|
|
10356
|
-
};
|
|
10357
|
-
|
|
10358
|
-
// packages/ai/llm/getModelContextWindow.ts
|
|
10359
|
-
var DEFAULT_CONTEXT_WINDOW = 256e3;
|
|
10360
|
-
var QWEN_3_6_CONTEXT_WINDOW = 262144;
|
|
10361
|
-
var GLM_5_2_CONTEXT_WINDOW = 1e6;
|
|
10362
|
-
var fullModelMap = null;
|
|
10363
|
-
var getFullModelMap = () => {
|
|
10364
|
-
if (!fullModelMap) {
|
|
10365
|
-
fullModelMap = /* @__PURE__ */ new Map();
|
|
10366
|
-
for (const [provider, models] of Object.entries(MODEL_LOOKUP_MAP)) {
|
|
10367
|
-
for (const model of models) {
|
|
10368
|
-
const entry = { ...model, provider };
|
|
10369
|
-
fullModelMap.set(model.name, entry);
|
|
10370
|
-
if (model.displayName) {
|
|
10371
|
-
fullModelMap.set(model.displayName.toLowerCase(), entry);
|
|
10372
|
-
}
|
|
10373
|
-
}
|
|
10374
|
-
}
|
|
10375
|
-
}
|
|
10376
|
-
return fullModelMap;
|
|
10377
|
-
};
|
|
10378
|
-
var legacyModelMap = null;
|
|
10379
|
-
var getLegacyModelMap = () => {
|
|
10380
|
-
if (!legacyModelMap) {
|
|
10381
|
-
legacyModelMap = /* @__PURE__ */ new Map();
|
|
10382
|
-
for (const model of ALL_MODELS) {
|
|
10383
|
-
legacyModelMap.set(model.name, model);
|
|
10384
|
-
if (model.displayName) {
|
|
10385
|
-
legacyModelMap.set(model.displayName.toLowerCase(), model);
|
|
10386
|
-
}
|
|
10387
|
-
}
|
|
10388
|
-
}
|
|
10389
|
-
return legacyModelMap;
|
|
10390
|
-
};
|
|
10391
|
-
function fuzzyContextWindow(normalizedName) {
|
|
10392
|
-
if (normalizedName.includes("qwen-long") || normalizedName.includes("qwen3-long")) return 10485760;
|
|
10393
|
-
if (normalizedName.includes("qwen-coder") || normalizedName.includes("qwen3-coder")) return 1048576;
|
|
10394
|
-
if (normalizedName.includes("qwen3.8") || normalizedName.includes("qwen3p8")) return 1e6;
|
|
10395
|
-
if (normalizedName.includes("minimax-m3") || normalizedName.includes("minimax_m3")) return 1e6;
|
|
10396
|
-
if (normalizedName.includes("glm-5.2") || normalizedName.includes("glm5.2")) return GLM_5_2_CONTEXT_WINDOW;
|
|
10397
|
-
if (normalizedName.includes("deepseek")) return 1e6;
|
|
10398
|
-
if (normalizedName.includes("gpt-5") || normalizedName.includes("gpt-4.1")) return 1047576;
|
|
10399
|
-
if (normalizedName.includes("qwen3.6") || normalizedName.includes("qwen3p6")) return QWEN_3_6_CONTEXT_WINDOW;
|
|
10400
|
-
if (normalizedName.includes("qwen3.7") || normalizedName.includes("qwen3p7")) return 262144;
|
|
10401
|
-
if (normalizedName.includes("minimax-m2") || normalizedName.includes("minimax_m2")) return 262144;
|
|
10402
|
-
if (normalizedName.includes("claude")) return 2e5;
|
|
10403
|
-
return void 0;
|
|
10404
|
-
}
|
|
10405
|
-
var getModelContextWindow = (modelName) => {
|
|
10406
|
-
if (!modelName) return DEFAULT_CONTEXT_WINDOW;
|
|
10407
|
-
const normalizedName = modelName.toLowerCase();
|
|
10408
|
-
const map = getFullModelMap();
|
|
10409
|
-
const model = map.get(modelName) || map.get(normalizedName);
|
|
10410
|
-
if (model?.contextWindow) {
|
|
10411
|
-
return typeof model.contextWindow === "number" ? model.contextWindow : DEFAULT_CONTEXT_WINDOW;
|
|
10412
|
-
}
|
|
10413
|
-
return fuzzyContextWindow(normalizedName) ?? DEFAULT_CONTEXT_WINDOW;
|
|
10414
|
-
};
|
|
10415
|
-
var getModelInfo = (modelName) => {
|
|
10416
|
-
if (!modelName) return null;
|
|
10417
|
-
const map = getLegacyModelMap();
|
|
10418
|
-
return map.get(modelName) || map.get(modelName.toLowerCase()) || null;
|
|
10419
|
-
};
|
|
10420
|
-
|
|
10421
|
-
// packages/ai/context/tokenUtils.ts
|
|
10422
|
-
var estimateTokenCount = (text) => {
|
|
10423
|
-
if (!text) return 0;
|
|
10424
|
-
const chineseChars = (text.match(/[\u4e00-\u9fa5\u3400-\u4dbf]/g) || []).length;
|
|
10425
|
-
const otherChars = text.length - chineseChars;
|
|
10426
|
-
return Math.ceil(chineseChars * 1.5 + otherChars * 0.25);
|
|
10427
|
-
};
|
|
10428
|
-
|
|
10429
|
-
// packages/ai/context/retention.ts
|
|
10430
|
-
var SAFE_BUFFER_RATIO = 0.95;
|
|
10431
|
-
var CACHE_FIRST_RETENTION_STRENGTH = 0.95;
|
|
10432
|
-
var clamp = (v, min, max) => Math.min(max, Math.max(min, v));
|
|
10433
|
-
var planContextUsage = (params) => {
|
|
10434
|
-
const { contextWindow, summaryTokens, recentLoad } = params;
|
|
10435
|
-
const safeWindowLimit = Math.floor(contextWindow * SAFE_BUFFER_RATIO);
|
|
10436
|
-
const iq = CACHE_FIRST_RETENTION_STRENGTH;
|
|
10437
|
-
const isLargeWindow = contextWindow >= 512e3;
|
|
10438
|
-
const isSmallWindow = contextWindow <= 64e3;
|
|
10439
|
-
let baseHistoryRatio;
|
|
10440
|
-
if (isLargeWindow) {
|
|
10441
|
-
baseHistoryRatio = 0.8 + 0.2 * iq;
|
|
10442
|
-
} else if (isSmallWindow) {
|
|
10443
|
-
baseHistoryRatio = 0.35 + 0.3 * iq;
|
|
10444
|
-
} else {
|
|
10445
|
-
baseHistoryRatio = 0.55 + 0.3 * iq;
|
|
10446
|
-
}
|
|
10447
|
-
let historyRatio = baseHistoryRatio;
|
|
10448
|
-
switch (recentLoad) {
|
|
10449
|
-
case "light": {
|
|
10450
|
-
const maxRatio = isLargeWindow ? 1 : isSmallWindow ? 0.75 : 0.85;
|
|
10451
|
-
historyRatio = clamp(historyRatio * 1.05, 0.3, maxRatio);
|
|
10452
|
-
break;
|
|
10453
|
-
}
|
|
10454
|
-
case "heavy": {
|
|
10455
|
-
const maxRatio = isLargeWindow ? 0.98 : isSmallWindow ? 0.7 : 0.8;
|
|
10456
|
-
const multiplier = isLargeWindow ? 0.98 : isSmallWindow ? 0.9 : 0.9;
|
|
10457
|
-
historyRatio = clamp(historyRatio * multiplier, 0.3, maxRatio);
|
|
10458
|
-
break;
|
|
10459
|
-
}
|
|
10460
|
-
case "medium":
|
|
10461
|
-
default: {
|
|
10462
|
-
const maxRatio = isLargeWindow ? 1 : isSmallWindow ? 0.75 : 0.85;
|
|
10463
|
-
historyRatio = clamp(historyRatio, 0.3, maxRatio);
|
|
10464
|
-
break;
|
|
10465
|
-
}
|
|
10466
|
-
}
|
|
10467
|
-
const historyBudget = Math.max(
|
|
10468
|
-
0,
|
|
10469
|
-
Math.floor(safeWindowLimit * historyRatio)
|
|
10470
|
-
);
|
|
10471
|
-
const minRawRatio = isSmallWindow ? 0.5 : isLargeWindow ? 0.2 : 0.3;
|
|
10472
|
-
const rawMessageBudget = Math.max(
|
|
10473
|
-
Math.floor(historyBudget * minRawRatio),
|
|
10474
|
-
historyBudget - summaryTokens,
|
|
10475
|
-
0
|
|
10476
|
-
);
|
|
10477
|
-
let minTailTokens;
|
|
10478
|
-
if (recentLoad === "light") {
|
|
10479
|
-
minTailTokens = Math.min(
|
|
10480
|
-
Math.floor(safeWindowLimit * 0.3),
|
|
10481
|
-
8e3
|
|
10482
|
-
);
|
|
10483
|
-
} else if (recentLoad === "heavy") {
|
|
10484
|
-
minTailTokens = Math.max(
|
|
10485
|
-
Math.floor(safeWindowLimit * 0.25),
|
|
10486
|
-
16e3
|
|
10487
|
-
);
|
|
10488
|
-
} else {
|
|
10489
|
-
minTailTokens = Math.floor(safeWindowLimit * 0.2);
|
|
10490
|
-
}
|
|
10491
|
-
return { historyBudget, rawMessageBudget, minTailTokens };
|
|
10492
|
-
};
|
|
10493
|
-
|
|
10494
|
-
// packages/ai/context/planCompression.ts
|
|
10495
|
-
var MIN_COMPRESS_COUNT = 5;
|
|
10496
|
-
var ACTIVE_SUMMARY_TAIL_KEEP_COUNT = 2;
|
|
10497
|
-
var getMessageTokenCount = (msg) => {
|
|
10498
|
-
if (msg.usage?.completion_tokens) {
|
|
10499
|
-
return msg.usage.completion_tokens;
|
|
10500
|
-
}
|
|
10501
|
-
const content = serializeMessageContent(msg.content) || "";
|
|
10502
|
-
return estimateTokenCount(content);
|
|
10503
|
-
};
|
|
10504
|
-
var hasOpenEndedToolCall = (msg) => !!msg && Array.isArray(msg.tool_calls) && msg.tool_calls.length > 0;
|
|
10505
|
-
var isActiveSummaryWorthDoing = (pendingTokens, contextWindow) => {
|
|
10506
|
-
const minTokens = Math.min(
|
|
10507
|
-
4e4,
|
|
10508
|
-
Math.max(1e4, Math.floor(contextWindow * 0.05))
|
|
10509
|
-
);
|
|
10510
|
-
return pendingTokens >= minTokens;
|
|
10511
|
-
};
|
|
10512
|
-
var classifyConversationLoad = (msgs) => {
|
|
10513
|
-
const N = 20;
|
|
10514
|
-
if (!Array.isArray(msgs) || msgs.length === 0) return "light";
|
|
10515
|
-
const tail = msgs.slice(-N);
|
|
10516
|
-
const tokenSamples = tail.map(getMessageTokenCount);
|
|
10517
|
-
if (tokenSamples.length === 0) return "light";
|
|
10518
|
-
const sum = tokenSamples.reduce((acc, v) => acc + v, 0);
|
|
10519
|
-
const avg = sum / tokenSamples.length;
|
|
10520
|
-
const sorted = [...tokenSamples].sort((a, b) => a - b);
|
|
10521
|
-
const p95 = sorted[Math.floor((sorted.length - 1) * 0.95)];
|
|
10522
|
-
if (p95 < 200 && avg < 120) {
|
|
10523
|
-
return "light";
|
|
10524
|
-
}
|
|
10525
|
-
if (p95 > 2e3 || avg > 1200) {
|
|
10526
|
-
return "heavy";
|
|
10527
|
-
}
|
|
10528
|
-
return "medium";
|
|
10529
|
-
};
|
|
10530
|
-
var emptyPlan = (startIndex) => ({
|
|
10531
|
-
shouldCompress: false,
|
|
10532
|
-
compressCount: 0,
|
|
10533
|
-
msgsToCompress: [],
|
|
10534
|
-
msgsToKeep: [],
|
|
10535
|
-
newSummarizedBeforeId: void 0,
|
|
10536
|
-
startIndex
|
|
10537
|
-
});
|
|
10538
|
-
function planCompression(input) {
|
|
10539
|
-
const {
|
|
10540
|
-
allMsgs,
|
|
10541
|
-
summarizedBeforeId,
|
|
10542
|
-
summary,
|
|
10543
|
-
contextWindow,
|
|
10544
|
-
force = false,
|
|
10545
|
-
reason
|
|
10546
|
-
} = input;
|
|
10547
|
-
let startIndex = 0;
|
|
10548
|
-
if (summarizedBeforeId) {
|
|
10549
|
-
const found = allMsgs.findIndex((m) => m.id === summarizedBeforeId);
|
|
10550
|
-
if (found !== -1) {
|
|
10551
|
-
startIndex = found + 1;
|
|
10552
|
-
}
|
|
10553
|
-
}
|
|
10554
|
-
const pendingMsgs = allMsgs.slice(startIndex);
|
|
10555
|
-
if (pendingMsgs.length === 0) {
|
|
10556
|
-
return emptyPlan(startIndex);
|
|
10557
|
-
}
|
|
10558
|
-
const summaryTokens = estimateTokenCount(summary || "");
|
|
10559
|
-
const pendingTokens = pendingMsgs.reduce(
|
|
10560
|
-
(sum, msg) => sum + getMessageTokenCount(msg),
|
|
10561
|
-
0
|
|
10562
|
-
);
|
|
10563
|
-
const totalUsed = summaryTokens + pendingTokens;
|
|
10564
|
-
const adjustedSummaryTokens = Math.max(summaryTokens, 1e3);
|
|
10565
|
-
const recentLoad = classifyConversationLoad(pendingMsgs);
|
|
10566
|
-
const { historyBudget, rawMessageBudget } = planContextUsage({
|
|
10567
|
-
contextWindow,
|
|
10568
|
-
summaryTokens: adjustedSummaryTokens,
|
|
10569
|
-
recentLoad
|
|
10570
|
-
});
|
|
10571
|
-
const shouldRunActiveSummary = force && reason === "manual" && !hasOpenEndedToolCall(pendingMsgs[pendingMsgs.length - 1]) && isActiveSummaryWorthDoing(pendingTokens, contextWindow);
|
|
10572
|
-
if (totalUsed < historyBudget && !shouldRunActiveSummary) {
|
|
10573
|
-
return emptyPlan(startIndex);
|
|
10574
|
-
}
|
|
10575
|
-
let tokensToKeep = 0;
|
|
10576
|
-
let keepCount = 0;
|
|
10577
|
-
for (let i = pendingMsgs.length - 1; i >= 0; i--) {
|
|
10578
|
-
const t2 = getMessageTokenCount(pendingMsgs[i]);
|
|
10579
|
-
if (tokensToKeep + t2 > rawMessageBudget) break;
|
|
10580
|
-
tokensToKeep += t2;
|
|
10581
|
-
keepCount++;
|
|
10582
|
-
}
|
|
10583
|
-
let compressCount = shouldRunActiveSummary && totalUsed < historyBudget ? Math.max(0, pendingMsgs.length - ACTIVE_SUMMARY_TAIL_KEEP_COUNT) : pendingMsgs.length - keepCount;
|
|
10584
|
-
while (compressCount > 0 && compressCount < pendingMsgs.length && pendingMsgs[compressCount].role === "tool") {
|
|
10585
|
-
compressCount--;
|
|
10586
|
-
}
|
|
10587
|
-
if (compressCount > 0) {
|
|
10588
|
-
const lastCompressed = pendingMsgs[compressCount - 1];
|
|
10589
|
-
const hasToolCalls = Array.isArray(lastCompressed.tool_calls) && lastCompressed.tool_calls.length > 0;
|
|
10590
|
-
if (hasToolCalls) {
|
|
10591
|
-
compressCount--;
|
|
10592
|
-
}
|
|
10593
|
-
}
|
|
10594
|
-
if (compressCount < MIN_COMPRESS_COUNT) {
|
|
10595
|
-
return emptyPlan(startIndex);
|
|
10596
|
-
}
|
|
10597
|
-
const msgsToCompress = pendingMsgs.slice(0, compressCount);
|
|
10598
|
-
const msgsToKeep = pendingMsgs.slice(compressCount);
|
|
10599
|
-
const newSummarizedBeforeId = msgsToCompress[msgsToCompress.length - 1].id;
|
|
10600
|
-
return {
|
|
10601
|
-
shouldCompress: true,
|
|
10602
|
-
compressCount,
|
|
10603
|
-
msgsToCompress,
|
|
10604
|
-
msgsToKeep,
|
|
10605
|
-
newSummarizedBeforeId,
|
|
10606
|
-
startIndex
|
|
10607
|
-
};
|
|
10608
|
-
}
|
|
10609
|
-
|
|
10610
8369
|
// packages/chat/messages/parseJsonRecord.ts
|
|
10611
8370
|
function asOptionalJsonRecord(value) {
|
|
10612
8371
|
if (typeof value === "string") {
|
|
@@ -11816,7 +9575,7 @@ async function captureUnderstandingFromCompletedUiTurn(input) {
|
|
|
11816
9575
|
if (!input.agentKey) return;
|
|
11817
9576
|
const latestUserInput = getLatestUserInputFromMessages(input.messages);
|
|
11818
9577
|
if (!latestUserInput) return;
|
|
11819
|
-
const { captureUnderstandingMemoryFromDialog } = await import("./understanding-
|
|
9578
|
+
const { captureUnderstandingMemoryFromDialog } = await import("./understanding-3CUQQ6SV.js");
|
|
11820
9579
|
await captureUnderstandingMemoryFromDialog({
|
|
11821
9580
|
db: input.db,
|
|
11822
9581
|
userId: selectIdentityUserId(input.state),
|
|
@@ -12741,7 +10500,7 @@ var messageSlice = createSliceWithThunks({
|
|
|
12741
10500
|
runtimeOptions: args.runtimeOptions
|
|
12742
10501
|
});
|
|
12743
10502
|
if (agentKeyToUse) {
|
|
12744
|
-
const { streamAgentChatTurn } = await import("./agentSlice-
|
|
10503
|
+
const { streamAgentChatTurn } = await import("./agentSlice-73367RQ3.js");
|
|
12745
10504
|
await dispatch(
|
|
12746
10505
|
streamAgentChatTurn({
|
|
12747
10506
|
agentKey: agentKeyToUse,
|
|
@@ -15022,7 +12781,10 @@ var prepareTokenUsageData = ({
|
|
|
15022
12781
|
agentId,
|
|
15023
12782
|
cybotId,
|
|
15024
12783
|
dialogId,
|
|
15025
|
-
timestamp = Date.now()
|
|
12784
|
+
timestamp = Date.now(),
|
|
12785
|
+
stable_prefix_hash,
|
|
12786
|
+
stable_prefix_estimated_tokens,
|
|
12787
|
+
entry_path
|
|
15026
12788
|
}) => {
|
|
15027
12789
|
const resolvedAgentId = typeof agentId === "string" && agentId.trim() || typeof cybotId === "string" && cybotId.trim() || "";
|
|
15028
12790
|
if (!resolvedAgentId) {
|
|
@@ -15080,7 +12842,10 @@ var prepareTokenUsageData = ({
|
|
|
15080
12842
|
cost,
|
|
15081
12843
|
pay,
|
|
15082
12844
|
timestamp,
|
|
15083
|
-
billable
|
|
12845
|
+
billable,
|
|
12846
|
+
...stable_prefix_hash !== void 0 ? { stable_prefix_hash } : {},
|
|
12847
|
+
...stable_prefix_estimated_tokens !== void 0 ? { stable_prefix_estimated_tokens } : {},
|
|
12848
|
+
...entry_path !== void 0 ? { entry_path } : {}
|
|
15084
12849
|
}
|
|
15085
12850
|
};
|
|
15086
12851
|
};
|
|
@@ -15248,7 +13013,8 @@ var updateTokensAction = async ({ dialogId, dialogKey, usage: usageRaw, agentCon
|
|
|
15248
13013
|
username: currentUser?.username,
|
|
15249
13014
|
agentId: agentConfig.id,
|
|
15250
13015
|
dialogId,
|
|
15251
|
-
timestamp
|
|
13016
|
+
timestamp,
|
|
13017
|
+
entry_path: "web-chat"
|
|
15252
13018
|
});
|
|
15253
13019
|
const { usage, tokenData, recordProvider, billedModel } = prepared;
|
|
15254
13020
|
const result = { cost: tokenData.cost, pay: tokenData.pay };
|
|
@@ -15383,7 +13149,7 @@ var deleteOwnedDialogAttachments = async (args) => {
|
|
|
15383
13149
|
metadataReadFailures
|
|
15384
13150
|
});
|
|
15385
13151
|
if (!plan.deleteCandidates.length) return plan;
|
|
15386
|
-
const { deleteFileAction } = await import("./deleteFile-
|
|
13152
|
+
const { deleteFileAction } = await import("./deleteFile-M7UNIUOO.js");
|
|
15387
13153
|
for (const candidate of plan.deleteCandidates) {
|
|
15388
13154
|
if (candidate.fileDbKey) {
|
|
15389
13155
|
await deleteFileAction(candidate.fileDbKey, args.thunkApi);
|
|
@@ -15445,7 +13211,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
15445
13211
|
}
|
|
15446
13212
|
if (isCurrentDialog) {
|
|
15447
13213
|
await thunkApi.dispatch(resetMsgs());
|
|
15448
|
-
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-
|
|
13214
|
+
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-4PYFGN7J.js");
|
|
15449
13215
|
dispatch(clearPendingAttachments2());
|
|
15450
13216
|
clearWorkflow();
|
|
15451
13217
|
}
|
|
@@ -15454,35 +13220,35 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
15454
13220
|
|
|
15455
13221
|
// packages/chat/dialog/dialogSlice.ts
|
|
15456
13222
|
var runCreateDialogAction = async (args, thunkApi) => {
|
|
15457
|
-
const { createDialogAction } = await import("./createDialogAction-
|
|
13223
|
+
const { createDialogAction } = await import("./createDialogAction-PIV7Z7ZQ.js");
|
|
15458
13224
|
return createDialogAction(args, thunkApi);
|
|
15459
13225
|
};
|
|
15460
13226
|
var runCreateAgentAutomationAction = async (args, thunkApi) => {
|
|
15461
|
-
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-
|
|
13227
|
+
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-MYQ7Z7VA.js");
|
|
15462
13228
|
return createAgentAutomationAction(args, thunkApi);
|
|
15463
13229
|
};
|
|
15464
13230
|
var runUpdateDialogTitleAction = async (args, thunkApi) => {
|
|
15465
|
-
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-
|
|
13231
|
+
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-FEEBVBNP.js");
|
|
15466
13232
|
return updateDialogTitleAction(args, thunkApi);
|
|
15467
13233
|
};
|
|
15468
13234
|
var runAddDialogAgentAction = async (args, thunkApi) => {
|
|
15469
|
-
const { addDialogAgentAction } = await import("./addDialogAgentAction-
|
|
13235
|
+
const { addDialogAgentAction } = await import("./addDialogAgentAction-LWDAIDEU.js");
|
|
15470
13236
|
return addDialogAgentAction(args, thunkApi);
|
|
15471
13237
|
};
|
|
15472
13238
|
var runRemoveDialogAgentAction = async (args, thunkApi) => {
|
|
15473
|
-
const { removeDialogAgentAction } = await import("./removeDialogAgentAction-
|
|
13239
|
+
const { removeDialogAgentAction } = await import("./removeDialogAgentAction-7GO2PRVQ.js");
|
|
15474
13240
|
return removeDialogAgentAction(args, thunkApi);
|
|
15475
13241
|
};
|
|
15476
13242
|
var runSetPrimaryDialogAgentAction = async (args, thunkApi) => {
|
|
15477
|
-
const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-
|
|
13243
|
+
const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-LK35C2D7.js");
|
|
15478
13244
|
return setPrimaryDialogAgentAction(args, thunkApi);
|
|
15479
13245
|
};
|
|
15480
13246
|
var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
|
|
15481
|
-
const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-
|
|
13247
|
+
const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-ZIDAVJSZ.js");
|
|
15482
13248
|
return setDialogExtraReferencesAction(args, thunkApi);
|
|
15483
13249
|
};
|
|
15484
13250
|
var runHandleSendMessageAction = async (args, thunkApi) => {
|
|
15485
|
-
const { handleSendMessageAction } = await import("./handleSendMessageAction-
|
|
13251
|
+
const { handleSendMessageAction } = await import("./handleSendMessageAction-BHUXTQHK.js");
|
|
15486
13252
|
return handleSendMessageAction(args, thunkApi);
|
|
15487
13253
|
};
|
|
15488
13254
|
function clearDialogState() {
|
|
@@ -15495,7 +13261,7 @@ var createPageAndAddReference = createAsyncThunk(
|
|
|
15495
13261
|
async (payload, { dispatch, getState, rejectWithValue }) => {
|
|
15496
13262
|
const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
|
|
15497
13263
|
try {
|
|
15498
|
-
const { createDocState } = await import("./docStore-
|
|
13264
|
+
const { createDocState } = await import("./docStore-P7PG4YDJ.js");
|
|
15499
13265
|
const pageKey = await createDocState(
|
|
15500
13266
|
{ slateData, title },
|
|
15501
13267
|
{ dispatch, getState }
|
|
@@ -19452,11 +17218,11 @@ var ENTITY_DELETE_STRATEGIES = {
|
|
|
19452
17218
|
await dispatch(deleteTable({ dbKey: key })).unwrap();
|
|
19453
17219
|
},
|
|
19454
17220
|
file: async (key, { thunkAPI }) => {
|
|
19455
|
-
const { deleteFileAction } = await import("./deleteFile-
|
|
17221
|
+
const { deleteFileAction } = await import("./deleteFile-M7UNIUOO.js");
|
|
19456
17222
|
await deleteFileAction(key, thunkAPI);
|
|
19457
17223
|
},
|
|
19458
17224
|
image: async (key, { thunkAPI }) => {
|
|
19459
|
-
const { deleteFileAction } = await import("./deleteFile-
|
|
17225
|
+
const { deleteFileAction } = await import("./deleteFile-M7UNIUOO.js");
|
|
19460
17226
|
await deleteFileAction(key, thunkAPI);
|
|
19461
17227
|
},
|
|
19462
17228
|
agent: async (key, { dispatch, userId, sourceServerOrigin }) => {
|
|
@@ -21624,7 +19390,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
|
|
|
21624
19390
|
const spaceKey = createSpaceKey.space(spaceId);
|
|
21625
19391
|
const readSpace = async (dbKey) => {
|
|
21626
19392
|
try {
|
|
21627
|
-
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-
|
|
19393
|
+
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-V4H2JFNB.js");
|
|
21628
19394
|
if (fresh) {
|
|
21629
19395
|
return await dispatch(readAndWait2(dbKey)).unwrap();
|
|
21630
19396
|
}
|
|
@@ -22274,19 +20040,14 @@ var selectViewMode = createSelector(
|
|
|
22274
20040
|
var spaceSlice_default = spaceSlice.reducer;
|
|
22275
20041
|
|
|
22276
20042
|
export {
|
|
20043
|
+
API_REPORTED_COST_MULTIPLIER,
|
|
20044
|
+
shouldUseServerProxy,
|
|
20045
|
+
prepareTokenUsageData,
|
|
22277
20046
|
instance,
|
|
22278
20047
|
initReactI18next,
|
|
22279
20048
|
i18nBaseConfig,
|
|
22280
20049
|
isAssistantToolStub,
|
|
22281
20050
|
fetchAndCacheMessages,
|
|
22282
|
-
buildDatabaseFileContentUrl,
|
|
22283
|
-
serializeMessageContent,
|
|
22284
|
-
DEFAULT_CONTEXT_WINDOW,
|
|
22285
|
-
getModelContextWindow,
|
|
22286
|
-
getModelInfo,
|
|
22287
|
-
estimateTokenCount,
|
|
22288
|
-
planContextUsage,
|
|
22289
|
-
planCompression,
|
|
22290
20051
|
extractReferenceKeysFromMessage,
|
|
22291
20052
|
normalizeAppRouteId,
|
|
22292
20053
|
uiAskChoiceFunctionSchema,
|
|
@@ -22373,8 +20134,6 @@ export {
|
|
|
22373
20134
|
selectViewMode,
|
|
22374
20135
|
spaceSlice_default,
|
|
22375
20136
|
selectCurrentUserBalance,
|
|
22376
|
-
API_REPORTED_COST_MULTIPLIER,
|
|
22377
|
-
shouldUseServerProxy,
|
|
22378
20137
|
updateTokensAction,
|
|
22379
20138
|
clearDialogState,
|
|
22380
20139
|
createPageAndAddReference,
|