@keystrokehq/cli 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/alias-RTYYYW3D-CLFgrowj.mjs +98 -0
- package/dist/alias-RTYYYW3D-CLFgrowj.mjs.map +1 -0
- package/dist/awk2-LA3USKJP-BbsfXVlR.mjs +2737 -0
- package/dist/awk2-LA3USKJP-BbsfXVlR.mjs.map +1 -0
- package/dist/base64-C2AIWVNC-C0WIgu5V.mjs +123 -0
- package/dist/base64-C2AIWVNC-C0WIgu5V.mjs.map +1 -0
- package/dist/basename-UB3CIYNI-BgNN3bGm.mjs +53 -0
- package/dist/basename-UB3CIYNI-BgNN3bGm.mjs.map +1 -0
- package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs +118 -0
- package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs.map +1 -0
- package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs +63 -0
- package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs.map +1 -0
- package/dist/chmod-TFEPA42X-YF02QJUv.mjs +125 -0
- package/dist/chmod-TFEPA42X-YF02QJUv.mjs.map +1 -0
- package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs +100 -0
- package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs.map +1 -0
- package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs +719 -0
- package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs.map +1 -0
- package/dist/chunk-4RUAZWKT-D60fyWAB.mjs +22543 -0
- package/dist/chunk-4RUAZWKT-D60fyWAB.mjs.map +1 -0
- package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs +69 -0
- package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs.map +1 -0
- package/dist/chunk-5H5SCKJM-BvfXlL01.mjs +606 -0
- package/dist/chunk-5H5SCKJM-BvfXlL01.mjs.map +1 -0
- package/dist/chunk-AQ6FYS2X-CkVetjym.mjs +37 -0
- package/dist/chunk-AQ6FYS2X-CkVetjym.mjs.map +1 -0
- package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs +34 -0
- package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs.map +1 -0
- package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs +594 -0
- package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs.map +1 -0
- package/dist/chunk-DLL7UR66-BUYgzxnR.mjs +14 -0
- package/dist/chunk-DLL7UR66-BUYgzxnR.mjs.map +1 -0
- package/dist/chunk-DiodbrVj.mjs +27 -0
- package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs +247 -0
- package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs.map +1 -0
- package/dist/chunk-FOCWZZDE-BIntqBh2.mjs +19 -0
- package/dist/chunk-FOCWZZDE-BIntqBh2.mjs.map +1 -0
- package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs +10 -0
- package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs.map +1 -0
- package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs +14 -0
- package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs.map +1 -0
- package/dist/chunk-L64BMZUV-CyR7RKok.mjs +30 -0
- package/dist/chunk-L64BMZUV-CyR7RKok.mjs.map +1 -0
- package/dist/chunk-LEKBROJD-CJMrAyu9.mjs +3113 -0
- package/dist/chunk-LEKBROJD-CJMrAyu9.mjs.map +1 -0
- package/dist/chunk-NRSASXYY-CuWyREpD.mjs +41 -0
- package/dist/chunk-NRSASXYY-CuWyREpD.mjs.map +1 -0
- package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs +63 -0
- package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs.map +1 -0
- package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs +93 -0
- package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs.map +1 -0
- package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs +26 -0
- package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs.map +1 -0
- package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs +140 -0
- package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs.map +1 -0
- package/dist/chunk-STHBFACM-lyj-j2a-.mjs +8 -0
- package/dist/chunk-STHBFACM-lyj-j2a-.mjs.map +1 -0
- package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs +20 -0
- package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs.map +1 -0
- package/dist/chunk-TDD4NFYE-wsWW75MX.mjs +21 -0
- package/dist/chunk-TDD4NFYE-wsWW75MX.mjs.map +1 -0
- package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs +1137 -0
- package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs.map +1 -0
- package/dist/chunk-VPADYNBD-BKlA28GJ.mjs +122 -0
- package/dist/chunk-VPADYNBD-BKlA28GJ.mjs.map +1 -0
- package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs +11 -0
- package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs.map +1 -0
- package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs +34 -0
- package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs.map +1 -0
- package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs +16 -0
- package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs.map +1 -0
- package/dist/chunk-YCLFEX4T-COc1AThz.mjs +77 -0
- package/dist/chunk-YCLFEX4T-COc1AThz.mjs.map +1 -0
- package/dist/clear-HKGFEOF6-CekN2x-O.mjs +28 -0
- package/dist/clear-HKGFEOF6-CekN2x-O.mjs.map +1 -0
- package/dist/column-XT6UFXNQ-DHENV9D2.mjs +143 -0
- package/dist/column-XT6UFXNQ-DHENV9D2.mjs.map +1 -0
- package/dist/comm-VV2LDX2J-ppxDJFkY.mjs +87 -0
- package/dist/comm-VV2LDX2J-ppxDJFkY.mjs.map +1 -0
- package/dist/cp-BISAAS7A-CMWayU4n.mjs +106 -0
- package/dist/cp-BISAAS7A-CMWayU4n.mjs.map +1 -0
- package/dist/cut-OKARJCCV-Bt8b58eI.mjs +119 -0
- package/dist/cut-OKARJCCV-Bt8b58eI.mjs.map +1 -0
- package/dist/date-UUUPW43J-B7T5OTZZ.mjs +188 -0
- package/dist/date-UUUPW43J-B7T5OTZZ.mjs.map +1 -0
- package/dist/diff-MWJFIG7X-DhnPc_5r.mjs +755 -0
- package/dist/diff-MWJFIG7X-DhnPc_5r.mjs.map +1 -0
- package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs +43 -0
- package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs.map +1 -0
- package/dist/{dist-DjfxlOWX.mjs → dist-C47GdlWY.mjs} +18 -93
- package/dist/{dist-DjfxlOWX.mjs.map → dist-C47GdlWY.mjs.map} +1 -1
- package/dist/{dist-DWcRd4Se.mjs → dist-CJL2zYbP.mjs} +4 -71
- package/dist/dist-CJL2zYbP.mjs.map +1 -0
- package/dist/dist-Ch53z2P3.mjs +3 -0
- package/dist/dist-CwR72_PS.mjs +1887 -0
- package/dist/dist-CwR72_PS.mjs.map +1 -0
- package/dist/du-572XNP42-ClP4jXB1.mjs +176 -0
- package/dist/du-572XNP42-ClP4jXB1.mjs.map +1 -0
- package/dist/echo-NDWZZHPO-CCp_-MxA.mjs +137 -0
- package/dist/echo-NDWZZHPO-CCp_-MxA.mjs.map +1 -0
- package/dist/env-36M5BO7M-CsP_aiWr.mjs +119 -0
- package/dist/env-36M5BO7M-CsP_aiWr.mjs.map +1 -0
- package/dist/expand-JSPG6VOP-B-YUvYpu.mjs +145 -0
- package/dist/expand-JSPG6VOP-B-YUvYpu.mjs.map +1 -0
- package/dist/expr-5JAACS4X-1TBq84gG.mjs +153 -0
- package/dist/expr-5JAACS4X-1TBq84gG.mjs.map +1 -0
- package/dist/file-IPZJC3FQ-DcZNOWyY.mjs +4201 -0
- package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +1 -0
- package/dist/find-INTH3OLC-6p47KeeT.mjs +1332 -0
- package/dist/find-INTH3OLC-6p47KeeT.mjs.map +1 -0
- package/dist/fold-4TQNYMSW-C54bHzLd.mjs +138 -0
- package/dist/fold-4TQNYMSW-C54bHzLd.mjs.map +1 -0
- package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs +335 -0
- package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs.map +1 -0
- package/dist/gzip-O5ASJAFY-CZDRROqP.mjs +592 -0
- package/dist/gzip-O5ASJAFY-CZDRROqP.mjs.map +1 -0
- package/dist/head-442HYESI-D96RMdki.mjs +36 -0
- package/dist/head-442HYESI-D96RMdki.mjs.map +1 -0
- package/dist/help-HZ6M2CKN--DK8mY2L.mjs +123 -0
- package/dist/help-HZ6M2CKN--DK8mY2L.mjs.map +1 -0
- package/dist/history-WYYKSLSZ-ACNQVupn.mjs +48 -0
- package/dist/history-WYYKSLSZ-ACNQVupn.mjs.map +1 -0
- package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs +24 -0
- package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs.map +1 -0
- package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs +15890 -0
- package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map +1 -0
- package/dist/index.mjs +9 -9
- package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs +198 -0
- package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs.map +1 -0
- package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs +257 -0
- package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs.map +1 -0
- package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs +333 -0
- package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs.map +1 -0
- package/dist/lib-D4GpdNNK.mjs +45 -0
- package/dist/lib-D4GpdNNK.mjs.map +1 -0
- package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs +101 -0
- package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs.map +1 -0
- package/dist/ls-ZJGQER7M-DLDSfI4x.mjs +1891 -0
- package/dist/ls-ZJGQER7M-DLDSfI4x.mjs.map +1 -0
- package/dist/lzma-CTMDi254.mjs +1135 -0
- package/dist/lzma-CTMDi254.mjs.map +1 -0
- package/dist/{maybe-auto-update-Ou7H6dXT.mjs → maybe-auto-update-B0kal2FM.mjs} +2 -2
- package/dist/{maybe-auto-update-Ou7H6dXT.mjs.map → maybe-auto-update-B0kal2FM.mjs.map} +1 -1
- package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs +16 -0
- package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs.map +1 -0
- package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs +58 -0
- package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs.map +1 -0
- package/dist/mv-W5BIQ646-CdSIyY-U.mjs +93 -0
- package/dist/mv-W5BIQ646-CdSIyY-U.mjs.map +1 -0
- package/dist/nl-WSDW7I4O-DmtCnyKU.mjs +208 -0
- package/dist/nl-WSDW7I4O-DmtCnyKU.mjs.map +1 -0
- package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs +73 -0
- package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs.map +1 -0
- package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs +113 -0
- package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs.map +1 -0
- package/dist/printf-TWGXF445-B7cTysaa.mjs +880 -0
- package/dist/printf-TWGXF445-B7cTysaa.mjs.map +1 -0
- package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs +34 -0
- package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs.map +1 -0
- package/dist/python3-POMOR4OA-CKy80mpF.mjs +299 -0
- package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +1 -0
- package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs +76 -0
- package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map +1 -0
- package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs +66 -0
- package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs.map +1 -0
- package/dist/rg-S4FXYXWB-BbXVo6JX.mjs +1539 -0
- package/dist/rg-S4FXYXWB-BbXVo6JX.mjs.map +1 -0
- package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs +81 -0
- package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs.map +1 -0
- package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs +132 -0
- package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs.map +1 -0
- package/dist/sed-S5UIK574-DE1KeTk3.mjs +1722 -0
- package/dist/sed-S5UIK574-DE1KeTk3.mjs.map +1 -0
- package/dist/seq-M5EC7Q57-BHfGjQvK.mjs +85 -0
- package/dist/seq-M5EC7Q57-BHfGjQvK.mjs.map +1 -0
- package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs +16 -0
- package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs.map +1 -0
- package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs +16 -0
- package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs.map +1 -0
- package/dist/sleep-X22JJINO-Do5hEQQW.mjs +67 -0
- package/dist/sleep-X22JJINO-Do5hEQQW.mjs.map +1 -0
- package/dist/sort-SW2YEO5B-B7j1zw8k.mjs +320 -0
- package/dist/sort-SW2YEO5B-B7j1zw8k.mjs.map +1 -0
- package/dist/split-4KKZZXXE-h8GD4HP4.mjs +248 -0
- package/dist/split-4KKZZXXE-h8GD4HP4.mjs.map +1 -0
- package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs +2879 -0
- package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs.map +1 -0
- package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs +65 -0
- package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs.map +1 -0
- package/dist/strings-6WDHLGMX-DdiEdoL-.mjs +179 -0
- package/dist/strings-6WDHLGMX-DdiEdoL-.mjs.map +1 -0
- package/dist/tac-2STMMJYW-DPyeWM9R.mjs +53 -0
- package/dist/tac-2STMMJYW-DPyeWM9R.mjs.map +1 -0
- package/dist/tail-R4PCA2C4-CUfroNeu.mjs +37 -0
- package/dist/tail-R4PCA2C4-CUfroNeu.mjs.map +1 -0
- package/dist/tar-STHHZTZ6-DRf60e-G.mjs +2838 -0
- package/dist/tar-STHHZTZ6-DRf60e-G.mjs.map +1 -0
- package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs +46 -0
- package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs.map +1 -0
- package/dist/time-D4LNBSWX-DVWhAldK.mjs +112 -0
- package/dist/time-D4LNBSWX-DVWhAldK.mjs.map +1 -0
- package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs +113 -0
- package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs.map +1 -0
- package/dist/touch-UA33VN3N-oW1SBT1r.mjs +104 -0
- package/dist/touch-UA33VN3N-oW1SBT1r.mjs.map +1 -0
- package/dist/tr-36LHWFRQ-CTq3z6wq.mjs +167 -0
- package/dist/tr-36LHWFRQ-CTq3z6wq.mjs.map +1 -0
- package/dist/tree-YLD52CNT-CIozNsLQ.mjs +186 -0
- package/dist/tree-YLD52CNT-CIozNsLQ.mjs.map +1 -0
- package/dist/true-FHQXJXBE-DsJOznSp.mjs +31 -0
- package/dist/true-FHQXJXBE-DsJOznSp.mjs.map +1 -0
- package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs +155 -0
- package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs.map +1 -0
- package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs +92 -0
- package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs.map +1 -0
- package/dist/{version-n-JpPeUF.mjs → version-Dxl3y5p6.mjs} +2 -2
- package/dist/{version-n-JpPeUF.mjs.map → version-Dxl3y5p6.mjs.map} +1 -1
- package/dist/wc-LF7NU4LA-BFPabrwD.mjs +111 -0
- package/dist/wc-LF7NU4LA-BFPabrwD.mjs.map +1 -0
- package/dist/which-XEM24D5D-2LvlkpUo.mjs +62 -0
- package/dist/which-XEM24D5D-2LvlkpUo.mjs.map +1 -0
- package/dist/whoami-XMTX52VE-24Kwqrk6.mjs +24 -0
- package/dist/whoami-XMTX52VE-24Kwqrk6.mjs.map +1 -0
- package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs +2832 -0
- package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs.map +1 -0
- package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs +12 -0
- package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs.map +1 -0
- package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs +112 -0
- package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs.map +1 -0
- package/dist/yq-4QJW3EQG-XhB3aACo.mjs +8610 -0
- package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/dist-DWcRd4Se.mjs.map +0 -1
- package/dist/dist-DitNZUHA.mjs +0 -3
- package/dist/dist-vwoMCz6d.mjs +0 -775
- package/dist/dist-vwoMCz6d.mjs.map +0 -1
|
@@ -0,0 +1,2838 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { r as __toESM, t as __commonJSMin } from "./chunk-DiodbrVj.mjs";
|
|
3
|
+
import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
|
|
4
|
+
import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
|
|
5
|
+
import { t as _$1 } from "./chunk-TN7HHBQW-CSB_R-XD.mjs";
|
|
6
|
+
import { t as I1 } from "./chunk-4RUAZWKT-D60fyWAB.mjs";
|
|
7
|
+
import "./chunk-NRSASXYY-CuWyREpD.mjs";
|
|
8
|
+
import { t as x } from "./chunk-TDD4NFYE-wsWW75MX.mjs";
|
|
9
|
+
import { createRequire } from "node:module";
|
|
10
|
+
//#region ../../node_modules/.pnpm/seek-bzip@2.0.0/node_modules/seek-bzip/lib/bitreader.js
|
|
11
|
+
var require_bitreader = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
12
|
+
var BITMASK = [
|
|
13
|
+
0,
|
|
14
|
+
1,
|
|
15
|
+
3,
|
|
16
|
+
7,
|
|
17
|
+
15,
|
|
18
|
+
31,
|
|
19
|
+
63,
|
|
20
|
+
127,
|
|
21
|
+
255
|
|
22
|
+
];
|
|
23
|
+
var BitReader = function(stream) {
|
|
24
|
+
this.stream = stream;
|
|
25
|
+
this.bitOffset = 0;
|
|
26
|
+
this.curByte = 0;
|
|
27
|
+
this.hasByte = false;
|
|
28
|
+
};
|
|
29
|
+
BitReader.prototype._ensureByte = function() {
|
|
30
|
+
if (!this.hasByte) {
|
|
31
|
+
this.curByte = this.stream.readByte();
|
|
32
|
+
this.hasByte = true;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
BitReader.prototype.read = function(bits) {
|
|
36
|
+
var result = 0;
|
|
37
|
+
while (bits > 0) {
|
|
38
|
+
this._ensureByte();
|
|
39
|
+
var remaining = 8 - this.bitOffset;
|
|
40
|
+
if (bits >= remaining) {
|
|
41
|
+
result <<= remaining;
|
|
42
|
+
result |= BITMASK[remaining] & this.curByte;
|
|
43
|
+
this.hasByte = false;
|
|
44
|
+
this.bitOffset = 0;
|
|
45
|
+
bits -= remaining;
|
|
46
|
+
} else {
|
|
47
|
+
result <<= bits;
|
|
48
|
+
var shift = remaining - bits;
|
|
49
|
+
result |= (this.curByte & BITMASK[bits] << shift) >> shift;
|
|
50
|
+
this.bitOffset += bits;
|
|
51
|
+
bits = 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
BitReader.prototype.seek = function(pos) {
|
|
57
|
+
var n_bit = pos % 8;
|
|
58
|
+
var n_byte = (pos - n_bit) / 8;
|
|
59
|
+
this.bitOffset = n_bit;
|
|
60
|
+
this.stream.seek(n_byte);
|
|
61
|
+
this.hasByte = false;
|
|
62
|
+
};
|
|
63
|
+
BitReader.prototype.pi = function() {
|
|
64
|
+
var buf = new Buffer(6), i;
|
|
65
|
+
for (i = 0; i < buf.length; i++) buf[i] = this.read(8);
|
|
66
|
+
return buf.toString("hex");
|
|
67
|
+
};
|
|
68
|
+
module.exports = BitReader;
|
|
69
|
+
}));
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region ../../node_modules/.pnpm/seek-bzip@2.0.0/node_modules/seek-bzip/lib/stream.js
|
|
72
|
+
var require_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73
|
+
var Stream = function() {};
|
|
74
|
+
/** Returns the next byte, or -1 for EOF. */
|
|
75
|
+
Stream.prototype.readByte = function() {
|
|
76
|
+
throw new Error("abstract method readByte() not implemented");
|
|
77
|
+
};
|
|
78
|
+
/** Attempts to fill the buffer; returns number of bytes read, or
|
|
79
|
+
* -1 for EOF. */
|
|
80
|
+
Stream.prototype.read = function(buffer, bufOffset, length) {
|
|
81
|
+
var bytesRead = 0;
|
|
82
|
+
while (bytesRead < length) {
|
|
83
|
+
var c = this.readByte();
|
|
84
|
+
if (c < 0) return bytesRead === 0 ? -1 : bytesRead;
|
|
85
|
+
buffer[bufOffset++] = c;
|
|
86
|
+
bytesRead++;
|
|
87
|
+
}
|
|
88
|
+
return bytesRead;
|
|
89
|
+
};
|
|
90
|
+
Stream.prototype.seek = function(new_pos) {
|
|
91
|
+
throw new Error("abstract method seek() not implemented");
|
|
92
|
+
};
|
|
93
|
+
Stream.prototype.writeByte = function(_byte) {
|
|
94
|
+
throw new Error("abstract method readByte() not implemented");
|
|
95
|
+
};
|
|
96
|
+
Stream.prototype.write = function(buffer, bufOffset, length) {
|
|
97
|
+
var i;
|
|
98
|
+
for (i = 0; i < length; i++) this.writeByte(buffer[bufOffset++]);
|
|
99
|
+
return length;
|
|
100
|
+
};
|
|
101
|
+
Stream.prototype.flush = function() {};
|
|
102
|
+
module.exports = Stream;
|
|
103
|
+
}));
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region ../../node_modules/.pnpm/seek-bzip@2.0.0/node_modules/seek-bzip/lib/crc32.js
|
|
106
|
+
var require_crc32 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
107
|
+
module.exports = (function() {
|
|
108
|
+
/**
|
|
109
|
+
* A static CRC lookup table
|
|
110
|
+
*/
|
|
111
|
+
var crc32Lookup = new Uint32Array([
|
|
112
|
+
0,
|
|
113
|
+
79764919,
|
|
114
|
+
159529838,
|
|
115
|
+
222504665,
|
|
116
|
+
319059676,
|
|
117
|
+
398814059,
|
|
118
|
+
445009330,
|
|
119
|
+
507990021,
|
|
120
|
+
638119352,
|
|
121
|
+
583659535,
|
|
122
|
+
797628118,
|
|
123
|
+
726387553,
|
|
124
|
+
890018660,
|
|
125
|
+
835552979,
|
|
126
|
+
1015980042,
|
|
127
|
+
944750013,
|
|
128
|
+
1276238704,
|
|
129
|
+
1221641927,
|
|
130
|
+
1167319070,
|
|
131
|
+
1095957929,
|
|
132
|
+
1595256236,
|
|
133
|
+
1540665371,
|
|
134
|
+
1452775106,
|
|
135
|
+
1381403509,
|
|
136
|
+
1780037320,
|
|
137
|
+
1859660671,
|
|
138
|
+
1671105958,
|
|
139
|
+
1733955601,
|
|
140
|
+
2031960084,
|
|
141
|
+
2111593891,
|
|
142
|
+
1889500026,
|
|
143
|
+
1952343757,
|
|
144
|
+
2552477408,
|
|
145
|
+
2632100695,
|
|
146
|
+
2443283854,
|
|
147
|
+
2506133561,
|
|
148
|
+
2334638140,
|
|
149
|
+
2414271883,
|
|
150
|
+
2191915858,
|
|
151
|
+
2254759653,
|
|
152
|
+
3190512472,
|
|
153
|
+
3135915759,
|
|
154
|
+
3081330742,
|
|
155
|
+
3009969537,
|
|
156
|
+
2905550212,
|
|
157
|
+
2850959411,
|
|
158
|
+
2762807018,
|
|
159
|
+
2691435357,
|
|
160
|
+
3560074640,
|
|
161
|
+
3505614887,
|
|
162
|
+
3719321342,
|
|
163
|
+
3648080713,
|
|
164
|
+
3342211916,
|
|
165
|
+
3287746299,
|
|
166
|
+
3467911202,
|
|
167
|
+
3396681109,
|
|
168
|
+
4063920168,
|
|
169
|
+
4143685023,
|
|
170
|
+
4223187782,
|
|
171
|
+
4286162673,
|
|
172
|
+
3779000052,
|
|
173
|
+
3858754371,
|
|
174
|
+
3904687514,
|
|
175
|
+
3967668269,
|
|
176
|
+
881225847,
|
|
177
|
+
809987520,
|
|
178
|
+
1023691545,
|
|
179
|
+
969234094,
|
|
180
|
+
662832811,
|
|
181
|
+
591600412,
|
|
182
|
+
771767749,
|
|
183
|
+
717299826,
|
|
184
|
+
311336399,
|
|
185
|
+
374308984,
|
|
186
|
+
453813921,
|
|
187
|
+
533576470,
|
|
188
|
+
25881363,
|
|
189
|
+
88864420,
|
|
190
|
+
134795389,
|
|
191
|
+
214552010,
|
|
192
|
+
2023205639,
|
|
193
|
+
2086057648,
|
|
194
|
+
1897238633,
|
|
195
|
+
1976864222,
|
|
196
|
+
1804852699,
|
|
197
|
+
1867694188,
|
|
198
|
+
1645340341,
|
|
199
|
+
1724971778,
|
|
200
|
+
1587496639,
|
|
201
|
+
1516133128,
|
|
202
|
+
1461550545,
|
|
203
|
+
1406951526,
|
|
204
|
+
1302016099,
|
|
205
|
+
1230646740,
|
|
206
|
+
1142491917,
|
|
207
|
+
1087903418,
|
|
208
|
+
2896545431,
|
|
209
|
+
2825181984,
|
|
210
|
+
2770861561,
|
|
211
|
+
2716262478,
|
|
212
|
+
3215044683,
|
|
213
|
+
3143675388,
|
|
214
|
+
3055782693,
|
|
215
|
+
3001194130,
|
|
216
|
+
2326604591,
|
|
217
|
+
2389456536,
|
|
218
|
+
2200899649,
|
|
219
|
+
2280525302,
|
|
220
|
+
2578013683,
|
|
221
|
+
2640855108,
|
|
222
|
+
2418763421,
|
|
223
|
+
2498394922,
|
|
224
|
+
3769900519,
|
|
225
|
+
3832873040,
|
|
226
|
+
3912640137,
|
|
227
|
+
3992402750,
|
|
228
|
+
4088425275,
|
|
229
|
+
4151408268,
|
|
230
|
+
4197601365,
|
|
231
|
+
4277358050,
|
|
232
|
+
3334271071,
|
|
233
|
+
3263032808,
|
|
234
|
+
3476998961,
|
|
235
|
+
3422541446,
|
|
236
|
+
3585640067,
|
|
237
|
+
3514407732,
|
|
238
|
+
3694837229,
|
|
239
|
+
3640369242,
|
|
240
|
+
1762451694,
|
|
241
|
+
1842216281,
|
|
242
|
+
1619975040,
|
|
243
|
+
1682949687,
|
|
244
|
+
2047383090,
|
|
245
|
+
2127137669,
|
|
246
|
+
1938468188,
|
|
247
|
+
2001449195,
|
|
248
|
+
1325665622,
|
|
249
|
+
1271206113,
|
|
250
|
+
1183200824,
|
|
251
|
+
1111960463,
|
|
252
|
+
1543535498,
|
|
253
|
+
1489069629,
|
|
254
|
+
1434599652,
|
|
255
|
+
1363369299,
|
|
256
|
+
622672798,
|
|
257
|
+
568075817,
|
|
258
|
+
748617968,
|
|
259
|
+
677256519,
|
|
260
|
+
907627842,
|
|
261
|
+
853037301,
|
|
262
|
+
1067152940,
|
|
263
|
+
995781531,
|
|
264
|
+
51762726,
|
|
265
|
+
131386257,
|
|
266
|
+
177728840,
|
|
267
|
+
240578815,
|
|
268
|
+
269590778,
|
|
269
|
+
349224269,
|
|
270
|
+
429104020,
|
|
271
|
+
491947555,
|
|
272
|
+
4046411278,
|
|
273
|
+
4126034873,
|
|
274
|
+
4172115296,
|
|
275
|
+
4234965207,
|
|
276
|
+
3794477266,
|
|
277
|
+
3874110821,
|
|
278
|
+
3953728444,
|
|
279
|
+
4016571915,
|
|
280
|
+
3609705398,
|
|
281
|
+
3555108353,
|
|
282
|
+
3735388376,
|
|
283
|
+
3664026991,
|
|
284
|
+
3290680682,
|
|
285
|
+
3236090077,
|
|
286
|
+
3449943556,
|
|
287
|
+
3378572211,
|
|
288
|
+
3174993278,
|
|
289
|
+
3120533705,
|
|
290
|
+
3032266256,
|
|
291
|
+
2961025959,
|
|
292
|
+
2923101090,
|
|
293
|
+
2868635157,
|
|
294
|
+
2813903052,
|
|
295
|
+
2742672763,
|
|
296
|
+
2604032198,
|
|
297
|
+
2683796849,
|
|
298
|
+
2461293480,
|
|
299
|
+
2524268063,
|
|
300
|
+
2284983834,
|
|
301
|
+
2364738477,
|
|
302
|
+
2175806836,
|
|
303
|
+
2238787779,
|
|
304
|
+
1569362073,
|
|
305
|
+
1498123566,
|
|
306
|
+
1409854455,
|
|
307
|
+
1355396672,
|
|
308
|
+
1317987909,
|
|
309
|
+
1246755826,
|
|
310
|
+
1192025387,
|
|
311
|
+
1137557660,
|
|
312
|
+
2072149281,
|
|
313
|
+
2135122070,
|
|
314
|
+
1912620623,
|
|
315
|
+
1992383480,
|
|
316
|
+
1753615357,
|
|
317
|
+
1816598090,
|
|
318
|
+
1627664531,
|
|
319
|
+
1707420964,
|
|
320
|
+
295390185,
|
|
321
|
+
358241886,
|
|
322
|
+
404320391,
|
|
323
|
+
483945776,
|
|
324
|
+
43990325,
|
|
325
|
+
106832002,
|
|
326
|
+
186451547,
|
|
327
|
+
266083308,
|
|
328
|
+
932423249,
|
|
329
|
+
861060070,
|
|
330
|
+
1041341759,
|
|
331
|
+
986742920,
|
|
332
|
+
613929101,
|
|
333
|
+
542559546,
|
|
334
|
+
756411363,
|
|
335
|
+
701822548,
|
|
336
|
+
3316196985,
|
|
337
|
+
3244833742,
|
|
338
|
+
3425377559,
|
|
339
|
+
3370778784,
|
|
340
|
+
3601682597,
|
|
341
|
+
3530312978,
|
|
342
|
+
3744426955,
|
|
343
|
+
3689838204,
|
|
344
|
+
3819031489,
|
|
345
|
+
3881883254,
|
|
346
|
+
3928223919,
|
|
347
|
+
4007849240,
|
|
348
|
+
4037393693,
|
|
349
|
+
4100235434,
|
|
350
|
+
4180117107,
|
|
351
|
+
4259748804,
|
|
352
|
+
2310601993,
|
|
353
|
+
2373574846,
|
|
354
|
+
2151335527,
|
|
355
|
+
2231098320,
|
|
356
|
+
2596047829,
|
|
357
|
+
2659030626,
|
|
358
|
+
2470359227,
|
|
359
|
+
2550115596,
|
|
360
|
+
2947551409,
|
|
361
|
+
2876312838,
|
|
362
|
+
2788305887,
|
|
363
|
+
2733848168,
|
|
364
|
+
3165939309,
|
|
365
|
+
3094707162,
|
|
366
|
+
3040238851,
|
|
367
|
+
2985771188
|
|
368
|
+
]);
|
|
369
|
+
var CRC32 = function() {
|
|
370
|
+
/**
|
|
371
|
+
* The current CRC
|
|
372
|
+
*/
|
|
373
|
+
var crc = 4294967295;
|
|
374
|
+
/**
|
|
375
|
+
* @return The current CRC
|
|
376
|
+
*/
|
|
377
|
+
this.getCRC = function() {
|
|
378
|
+
return ~crc >>> 0;
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* Update the CRC with a single byte
|
|
382
|
+
* @param value The value to update the CRC with
|
|
383
|
+
*/
|
|
384
|
+
this.updateCRC = function(value) {
|
|
385
|
+
crc = crc << 8 ^ crc32Lookup[(crc >>> 24 ^ value) & 255];
|
|
386
|
+
};
|
|
387
|
+
/**
|
|
388
|
+
* Update the CRC with a sequence of identical bytes
|
|
389
|
+
* @param value The value to update the CRC with
|
|
390
|
+
* @param count The number of bytes
|
|
391
|
+
*/
|
|
392
|
+
this.updateCRCRun = function(value, count) {
|
|
393
|
+
while (count-- > 0) crc = crc << 8 ^ crc32Lookup[(crc >>> 24 ^ value) & 255];
|
|
394
|
+
};
|
|
395
|
+
};
|
|
396
|
+
return CRC32;
|
|
397
|
+
})();
|
|
398
|
+
}));
|
|
399
|
+
//#endregion
|
|
400
|
+
//#region ../../node_modules/.pnpm/seek-bzip@2.0.0/node_modules/seek-bzip/package.json
|
|
401
|
+
var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
402
|
+
module.exports = {
|
|
403
|
+
"name": "seek-bzip",
|
|
404
|
+
"version": "2.0.0",
|
|
405
|
+
"contributors": [
|
|
406
|
+
"C. Scott Ananian (http://cscott.net)",
|
|
407
|
+
"Eli Skeggs",
|
|
408
|
+
"Kevin Kwok",
|
|
409
|
+
"Rob Landley (http://landley.net)"
|
|
410
|
+
],
|
|
411
|
+
"description": "a pure-JavaScript Node.JS module for random-access decoding bzip2 data",
|
|
412
|
+
"main": "./lib/index.js",
|
|
413
|
+
"repository": {
|
|
414
|
+
"type": "git",
|
|
415
|
+
"url": "https://github.com/cscott/seek-bzip.git"
|
|
416
|
+
},
|
|
417
|
+
"license": "MIT",
|
|
418
|
+
"bin": {
|
|
419
|
+
"seek-bunzip": "./bin/seek-bunzip",
|
|
420
|
+
"seek-table": "./bin/seek-bzip-table"
|
|
421
|
+
},
|
|
422
|
+
"directories": { "test": "test" },
|
|
423
|
+
"dependencies": { "commander": "^6.0.0" },
|
|
424
|
+
"devDependencies": {
|
|
425
|
+
"fibers": "^5.0.0",
|
|
426
|
+
"mocha": "^8.1.0"
|
|
427
|
+
},
|
|
428
|
+
"scripts": { "test": "mocha" }
|
|
429
|
+
};
|
|
430
|
+
}));
|
|
431
|
+
//#endregion
|
|
432
|
+
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-MZFCCXPZ.js
|
|
433
|
+
var import_lib = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
434
|
+
var BitReader = require_bitreader();
|
|
435
|
+
var Stream = require_stream();
|
|
436
|
+
var CRC32 = require_crc32();
|
|
437
|
+
var pjson = require_package();
|
|
438
|
+
var MAX_HUFCODE_BITS = 20;
|
|
439
|
+
var MAX_SYMBOLS = 258;
|
|
440
|
+
var SYMBOL_RUNA = 0;
|
|
441
|
+
var SYMBOL_RUNB = 1;
|
|
442
|
+
var MIN_GROUPS = 2;
|
|
443
|
+
var MAX_GROUPS = 6;
|
|
444
|
+
var GROUP_SIZE = 50;
|
|
445
|
+
var WHOLEPI = "314159265359";
|
|
446
|
+
var SQRTPI = "177245385090";
|
|
447
|
+
var mtf = function(array, index) {
|
|
448
|
+
var src = array[index], i;
|
|
449
|
+
for (i = index; i > 0; i--) array[i] = array[i - 1];
|
|
450
|
+
array[0] = src;
|
|
451
|
+
return src;
|
|
452
|
+
};
|
|
453
|
+
var Err = {
|
|
454
|
+
OK: 0,
|
|
455
|
+
LAST_BLOCK: -1,
|
|
456
|
+
NOT_BZIP_DATA: -2,
|
|
457
|
+
UNEXPECTED_INPUT_EOF: -3,
|
|
458
|
+
UNEXPECTED_OUTPUT_EOF: -4,
|
|
459
|
+
DATA_ERROR: -5,
|
|
460
|
+
OUT_OF_MEMORY: -6,
|
|
461
|
+
OBSOLETE_INPUT: -7,
|
|
462
|
+
END_OF_BLOCK: -8
|
|
463
|
+
};
|
|
464
|
+
var ErrorMessages = {};
|
|
465
|
+
ErrorMessages[Err.LAST_BLOCK] = "Bad file checksum";
|
|
466
|
+
ErrorMessages[Err.NOT_BZIP_DATA] = "Not bzip data";
|
|
467
|
+
ErrorMessages[Err.UNEXPECTED_INPUT_EOF] = "Unexpected input EOF";
|
|
468
|
+
ErrorMessages[Err.UNEXPECTED_OUTPUT_EOF] = "Unexpected output EOF";
|
|
469
|
+
ErrorMessages[Err.DATA_ERROR] = "Data error";
|
|
470
|
+
ErrorMessages[Err.OUT_OF_MEMORY] = "Out of memory";
|
|
471
|
+
ErrorMessages[Err.OBSOLETE_INPUT] = "Obsolete (pre 0.9.5) bzip format not supported.";
|
|
472
|
+
var _throw = function(status, optDetail) {
|
|
473
|
+
var msg = ErrorMessages[status] || "unknown error";
|
|
474
|
+
if (optDetail) msg += ": " + optDetail;
|
|
475
|
+
var e = new TypeError(msg);
|
|
476
|
+
e.errorCode = status;
|
|
477
|
+
throw e;
|
|
478
|
+
};
|
|
479
|
+
var Bunzip = function(inputStream, outputStream) {
|
|
480
|
+
this.writePos = this.writeCurrent = this.writeCount = 0;
|
|
481
|
+
this._start_bunzip(inputStream, outputStream);
|
|
482
|
+
};
|
|
483
|
+
Bunzip.prototype._init_block = function() {
|
|
484
|
+
if (!this._get_next_block()) {
|
|
485
|
+
this.writeCount = -1;
|
|
486
|
+
return false;
|
|
487
|
+
}
|
|
488
|
+
this.blockCRC = new CRC32();
|
|
489
|
+
return true;
|
|
490
|
+
};
|
|
491
|
+
Bunzip.prototype._start_bunzip = function(inputStream, outputStream) {
|
|
492
|
+
var buf = new Buffer(4);
|
|
493
|
+
if (inputStream.read(buf, 0, 4) !== 4 || String.fromCharCode(buf[0], buf[1], buf[2]) !== "BZh") _throw(Err.NOT_BZIP_DATA, "bad magic");
|
|
494
|
+
var level = buf[3] - 48;
|
|
495
|
+
if (level < 1 || level > 9) _throw(Err.NOT_BZIP_DATA, "level out of range");
|
|
496
|
+
this.reader = new BitReader(inputStream);
|
|
497
|
+
this.dbufSize = 1e5 * level;
|
|
498
|
+
this.nextoutput = 0;
|
|
499
|
+
this.outputStream = outputStream;
|
|
500
|
+
this.streamCRC = 0;
|
|
501
|
+
};
|
|
502
|
+
Bunzip.prototype._get_next_block = function() {
|
|
503
|
+
var i, j, k;
|
|
504
|
+
var reader = this.reader;
|
|
505
|
+
var h = reader.pi();
|
|
506
|
+
if (h === SQRTPI) return false;
|
|
507
|
+
if (h !== WHOLEPI) _throw(Err.NOT_BZIP_DATA);
|
|
508
|
+
this.targetBlockCRC = reader.read(32) >>> 0;
|
|
509
|
+
this.streamCRC = (this.targetBlockCRC ^ (this.streamCRC << 1 | this.streamCRC >>> 31)) >>> 0;
|
|
510
|
+
if (reader.read(1)) _throw(Err.OBSOLETE_INPUT);
|
|
511
|
+
var origPointer = reader.read(24);
|
|
512
|
+
if (origPointer > this.dbufSize) _throw(Err.DATA_ERROR, "initial position out of bounds");
|
|
513
|
+
var t = reader.read(16);
|
|
514
|
+
var symToByte = new Buffer(256), symTotal = 0;
|
|
515
|
+
for (i = 0; i < 16; i++) if (t & 1 << 15 - i) {
|
|
516
|
+
var o = i * 16;
|
|
517
|
+
k = reader.read(16);
|
|
518
|
+
for (j = 0; j < 16; j++) if (k & 1 << 15 - j) symToByte[symTotal++] = o + j;
|
|
519
|
+
}
|
|
520
|
+
var groupCount = reader.read(3);
|
|
521
|
+
if (groupCount < MIN_GROUPS || groupCount > MAX_GROUPS) _throw(Err.DATA_ERROR);
|
|
522
|
+
var nSelectors = reader.read(15);
|
|
523
|
+
if (nSelectors === 0) _throw(Err.DATA_ERROR);
|
|
524
|
+
var mtfSymbol = new Buffer(256);
|
|
525
|
+
for (i = 0; i < groupCount; i++) mtfSymbol[i] = i;
|
|
526
|
+
var selectors = new Buffer(nSelectors);
|
|
527
|
+
for (i = 0; i < nSelectors; i++) {
|
|
528
|
+
for (j = 0; reader.read(1); j++) if (j >= groupCount) _throw(Err.DATA_ERROR);
|
|
529
|
+
selectors[i] = mtf(mtfSymbol, j);
|
|
530
|
+
}
|
|
531
|
+
var symCount = symTotal + 2;
|
|
532
|
+
var groups = [], hufGroup;
|
|
533
|
+
for (j = 0; j < groupCount; j++) {
|
|
534
|
+
var length = new Buffer(symCount), temp = new Uint16Array(MAX_HUFCODE_BITS + 1);
|
|
535
|
+
t = reader.read(5);
|
|
536
|
+
for (i = 0; i < symCount; i++) {
|
|
537
|
+
for (;;) {
|
|
538
|
+
if (t < 1 || t > MAX_HUFCODE_BITS) _throw(Err.DATA_ERROR);
|
|
539
|
+
if (!reader.read(1)) break;
|
|
540
|
+
if (!reader.read(1)) t++;
|
|
541
|
+
else t--;
|
|
542
|
+
}
|
|
543
|
+
length[i] = t;
|
|
544
|
+
}
|
|
545
|
+
var minLen = maxLen = length[0], maxLen;
|
|
546
|
+
for (i = 1; i < symCount; i++) if (length[i] > maxLen) maxLen = length[i];
|
|
547
|
+
else if (length[i] < minLen) minLen = length[i];
|
|
548
|
+
hufGroup = {};
|
|
549
|
+
groups.push(hufGroup);
|
|
550
|
+
hufGroup.permute = new Uint16Array(MAX_SYMBOLS);
|
|
551
|
+
hufGroup.limit = new Uint32Array(MAX_HUFCODE_BITS + 2);
|
|
552
|
+
hufGroup.base = new Uint32Array(MAX_HUFCODE_BITS + 1);
|
|
553
|
+
hufGroup.minLen = minLen;
|
|
554
|
+
hufGroup.maxLen = maxLen;
|
|
555
|
+
var pp = 0;
|
|
556
|
+
for (i = minLen; i <= maxLen; i++) {
|
|
557
|
+
temp[i] = hufGroup.limit[i] = 0;
|
|
558
|
+
for (t = 0; t < symCount; t++) if (length[t] === i) hufGroup.permute[pp++] = t;
|
|
559
|
+
}
|
|
560
|
+
for (i = 0; i < symCount; i++) temp[length[i]]++;
|
|
561
|
+
pp = t = 0;
|
|
562
|
+
for (i = minLen; i < maxLen; i++) {
|
|
563
|
+
pp += temp[i];
|
|
564
|
+
hufGroup.limit[i] = pp - 1;
|
|
565
|
+
pp <<= 1;
|
|
566
|
+
t += temp[i];
|
|
567
|
+
hufGroup.base[i + 1] = pp - t;
|
|
568
|
+
}
|
|
569
|
+
hufGroup.limit[maxLen + 1] = Number.MAX_VALUE;
|
|
570
|
+
hufGroup.limit[maxLen] = pp + temp[maxLen] - 1;
|
|
571
|
+
hufGroup.base[minLen] = 0;
|
|
572
|
+
}
|
|
573
|
+
var byteCount = new Uint32Array(256);
|
|
574
|
+
for (i = 0; i < 256; i++) mtfSymbol[i] = i;
|
|
575
|
+
var runPos = 0, dbufCount = 0, selector = 0, uc;
|
|
576
|
+
var dbuf = this.dbuf = new Uint32Array(this.dbufSize);
|
|
577
|
+
symCount = 0;
|
|
578
|
+
for (;;) {
|
|
579
|
+
if (!symCount--) {
|
|
580
|
+
symCount = GROUP_SIZE - 1;
|
|
581
|
+
if (selector >= nSelectors) _throw(Err.DATA_ERROR);
|
|
582
|
+
hufGroup = groups[selectors[selector++]];
|
|
583
|
+
}
|
|
584
|
+
i = hufGroup.minLen;
|
|
585
|
+
j = reader.read(i);
|
|
586
|
+
for (;; i++) {
|
|
587
|
+
if (i > hufGroup.maxLen) _throw(Err.DATA_ERROR);
|
|
588
|
+
if (j <= hufGroup.limit[i]) break;
|
|
589
|
+
j = j << 1 | reader.read(1);
|
|
590
|
+
}
|
|
591
|
+
j -= hufGroup.base[i];
|
|
592
|
+
if (j < 0 || j >= MAX_SYMBOLS) _throw(Err.DATA_ERROR);
|
|
593
|
+
var nextSym = hufGroup.permute[j];
|
|
594
|
+
if (nextSym === SYMBOL_RUNA || nextSym === SYMBOL_RUNB) {
|
|
595
|
+
if (!runPos) {
|
|
596
|
+
runPos = 1;
|
|
597
|
+
t = 0;
|
|
598
|
+
}
|
|
599
|
+
if (nextSym === SYMBOL_RUNA) t += runPos;
|
|
600
|
+
else t += 2 * runPos;
|
|
601
|
+
runPos <<= 1;
|
|
602
|
+
continue;
|
|
603
|
+
}
|
|
604
|
+
if (runPos) {
|
|
605
|
+
runPos = 0;
|
|
606
|
+
if (dbufCount + t > this.dbufSize) _throw(Err.DATA_ERROR);
|
|
607
|
+
uc = symToByte[mtfSymbol[0]];
|
|
608
|
+
byteCount[uc] += t;
|
|
609
|
+
while (t--) dbuf[dbufCount++] = uc;
|
|
610
|
+
}
|
|
611
|
+
if (nextSym > symTotal) break;
|
|
612
|
+
if (dbufCount >= this.dbufSize) _throw(Err.DATA_ERROR);
|
|
613
|
+
i = nextSym - 1;
|
|
614
|
+
uc = mtf(mtfSymbol, i);
|
|
615
|
+
uc = symToByte[uc];
|
|
616
|
+
byteCount[uc]++;
|
|
617
|
+
dbuf[dbufCount++] = uc;
|
|
618
|
+
}
|
|
619
|
+
if (origPointer < 0 || origPointer >= dbufCount) _throw(Err.DATA_ERROR);
|
|
620
|
+
j = 0;
|
|
621
|
+
for (i = 0; i < 256; i++) {
|
|
622
|
+
k = j + byteCount[i];
|
|
623
|
+
byteCount[i] = j;
|
|
624
|
+
j = k;
|
|
625
|
+
}
|
|
626
|
+
for (i = 0; i < dbufCount; i++) {
|
|
627
|
+
uc = dbuf[i] & 255;
|
|
628
|
+
dbuf[byteCount[uc]] |= i << 8;
|
|
629
|
+
byteCount[uc]++;
|
|
630
|
+
}
|
|
631
|
+
var pos = 0, current = 0, run = 0;
|
|
632
|
+
if (dbufCount) {
|
|
633
|
+
pos = dbuf[origPointer];
|
|
634
|
+
current = pos & 255;
|
|
635
|
+
pos >>= 8;
|
|
636
|
+
run = -1;
|
|
637
|
+
}
|
|
638
|
+
this.writePos = pos;
|
|
639
|
+
this.writeCurrent = current;
|
|
640
|
+
this.writeCount = dbufCount;
|
|
641
|
+
this.writeRun = run;
|
|
642
|
+
return true;
|
|
643
|
+
};
|
|
644
|
+
Bunzip.prototype._read_bunzip = function(outputBuffer, len) {
|
|
645
|
+
var copies, previous, outbyte;
|
|
646
|
+
if (this.writeCount < 0) return 0;
|
|
647
|
+
var dbuf = this.dbuf, pos = this.writePos, current = this.writeCurrent, dbufCount = this.writeCount;
|
|
648
|
+
this.outputsize;
|
|
649
|
+
var run = this.writeRun;
|
|
650
|
+
while (dbufCount) {
|
|
651
|
+
dbufCount--;
|
|
652
|
+
previous = current;
|
|
653
|
+
pos = dbuf[pos];
|
|
654
|
+
current = pos & 255;
|
|
655
|
+
pos >>= 8;
|
|
656
|
+
if (run++ === 3) {
|
|
657
|
+
copies = current;
|
|
658
|
+
outbyte = previous;
|
|
659
|
+
current = -1;
|
|
660
|
+
} else {
|
|
661
|
+
copies = 1;
|
|
662
|
+
outbyte = current;
|
|
663
|
+
}
|
|
664
|
+
this.blockCRC.updateCRCRun(outbyte, copies);
|
|
665
|
+
while (copies--) {
|
|
666
|
+
this.outputStream.writeByte(outbyte);
|
|
667
|
+
this.nextoutput++;
|
|
668
|
+
}
|
|
669
|
+
if (current != previous) run = 0;
|
|
670
|
+
}
|
|
671
|
+
this.writeCount = dbufCount;
|
|
672
|
+
if (this.blockCRC.getCRC() !== this.targetBlockCRC) _throw(Err.DATA_ERROR, "Bad block CRC (got " + this.blockCRC.getCRC().toString(16) + " expected " + this.targetBlockCRC.toString(16) + ")");
|
|
673
|
+
return this.nextoutput;
|
|
674
|
+
};
|
|
675
|
+
var coerceInputStream = function(input) {
|
|
676
|
+
if ("readByte" in input) return input;
|
|
677
|
+
var inputStream = new Stream();
|
|
678
|
+
inputStream.pos = 0;
|
|
679
|
+
inputStream.readByte = function() {
|
|
680
|
+
return input[this.pos++];
|
|
681
|
+
};
|
|
682
|
+
inputStream.seek = function(pos) {
|
|
683
|
+
this.pos = pos;
|
|
684
|
+
};
|
|
685
|
+
inputStream.eof = function() {
|
|
686
|
+
return this.pos >= input.length;
|
|
687
|
+
};
|
|
688
|
+
return inputStream;
|
|
689
|
+
};
|
|
690
|
+
var coerceOutputStream = function(output) {
|
|
691
|
+
var outputStream = new Stream();
|
|
692
|
+
var resizeOk = true;
|
|
693
|
+
if (output) if (typeof output === "number") {
|
|
694
|
+
outputStream.buffer = new Buffer(output);
|
|
695
|
+
resizeOk = false;
|
|
696
|
+
} else if ("writeByte" in output) return output;
|
|
697
|
+
else {
|
|
698
|
+
outputStream.buffer = output;
|
|
699
|
+
resizeOk = false;
|
|
700
|
+
}
|
|
701
|
+
else outputStream.buffer = new Buffer(16384);
|
|
702
|
+
outputStream.pos = 0;
|
|
703
|
+
outputStream.writeByte = function(_byte) {
|
|
704
|
+
if (resizeOk && this.pos >= this.buffer.length) {
|
|
705
|
+
var newBuffer = new Buffer(this.buffer.length * 2);
|
|
706
|
+
this.buffer.copy(newBuffer);
|
|
707
|
+
this.buffer = newBuffer;
|
|
708
|
+
}
|
|
709
|
+
this.buffer[this.pos++] = _byte;
|
|
710
|
+
};
|
|
711
|
+
outputStream.getBuffer = function() {
|
|
712
|
+
if (this.pos !== this.buffer.length) {
|
|
713
|
+
if (!resizeOk) throw new TypeError("outputsize does not match decoded input");
|
|
714
|
+
var newBuffer = new Buffer(this.pos);
|
|
715
|
+
this.buffer.copy(newBuffer, 0, 0, this.pos);
|
|
716
|
+
this.buffer = newBuffer;
|
|
717
|
+
}
|
|
718
|
+
return this.buffer;
|
|
719
|
+
};
|
|
720
|
+
outputStream._coerced = true;
|
|
721
|
+
return outputStream;
|
|
722
|
+
};
|
|
723
|
+
Bunzip.Err = Err;
|
|
724
|
+
Bunzip.decode = function(input, output, multistream) {
|
|
725
|
+
var inputStream = coerceInputStream(input);
|
|
726
|
+
var outputStream = coerceOutputStream(output);
|
|
727
|
+
var bz = new Bunzip(inputStream, outputStream);
|
|
728
|
+
while (true) {
|
|
729
|
+
if ("eof" in inputStream && inputStream.eof()) break;
|
|
730
|
+
if (bz._init_block()) bz._read_bunzip();
|
|
731
|
+
else {
|
|
732
|
+
var targetStreamCRC = bz.reader.read(32) >>> 0;
|
|
733
|
+
if (targetStreamCRC !== bz.streamCRC) _throw(Err.DATA_ERROR, "Bad stream CRC (got " + bz.streamCRC.toString(16) + " expected " + targetStreamCRC.toString(16) + ")");
|
|
734
|
+
if (multistream && "eof" in inputStream && !inputStream.eof()) bz._start_bunzip(inputStream, outputStream);
|
|
735
|
+
else break;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
if ("getBuffer" in outputStream) return outputStream.getBuffer();
|
|
739
|
+
};
|
|
740
|
+
Bunzip.decodeBlock = function(input, pos, output) {
|
|
741
|
+
var inputStream = coerceInputStream(input);
|
|
742
|
+
var outputStream = coerceOutputStream(output);
|
|
743
|
+
var bz = new Bunzip(inputStream, outputStream);
|
|
744
|
+
bz.reader.seek(pos);
|
|
745
|
+
if (bz._get_next_block()) {
|
|
746
|
+
bz.blockCRC = new CRC32();
|
|
747
|
+
bz.writeCopies = 0;
|
|
748
|
+
bz._read_bunzip();
|
|
749
|
+
}
|
|
750
|
+
if ("getBuffer" in outputStream) return outputStream.getBuffer();
|
|
751
|
+
};
|
|
752
|
+
Bunzip.table = function(input, callback, multistream) {
|
|
753
|
+
var inputStream = new Stream();
|
|
754
|
+
inputStream.delegate = coerceInputStream(input);
|
|
755
|
+
inputStream.pos = 0;
|
|
756
|
+
inputStream.readByte = function() {
|
|
757
|
+
this.pos++;
|
|
758
|
+
return this.delegate.readByte();
|
|
759
|
+
};
|
|
760
|
+
if (inputStream.delegate.eof) inputStream.eof = inputStream.delegate.eof.bind(inputStream.delegate);
|
|
761
|
+
var outputStream = new Stream();
|
|
762
|
+
outputStream.pos = 0;
|
|
763
|
+
outputStream.writeByte = function() {
|
|
764
|
+
this.pos++;
|
|
765
|
+
};
|
|
766
|
+
var bz = new Bunzip(inputStream, outputStream);
|
|
767
|
+
var blockSize = bz.dbufSize;
|
|
768
|
+
while (true) {
|
|
769
|
+
if ("eof" in inputStream && inputStream.eof()) break;
|
|
770
|
+
var position = inputStream.pos * 8 + bz.reader.bitOffset;
|
|
771
|
+
if (bz.reader.hasByte) position -= 8;
|
|
772
|
+
if (bz._init_block()) {
|
|
773
|
+
var start = outputStream.pos;
|
|
774
|
+
bz._read_bunzip();
|
|
775
|
+
callback(position, outputStream.pos - start);
|
|
776
|
+
} else {
|
|
777
|
+
bz.reader.read(32);
|
|
778
|
+
if (multistream && "eof" in inputStream && !inputStream.eof()) {
|
|
779
|
+
bz._start_bunzip(inputStream, outputStream);
|
|
780
|
+
console.assert(bz.dbufSize === blockSize, "shouldn't change block size within multistream file");
|
|
781
|
+
} else break;
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
};
|
|
785
|
+
Bunzip.Stream = Stream;
|
|
786
|
+
Bunzip.version = pjson.version;
|
|
787
|
+
Bunzip.license = pjson.license;
|
|
788
|
+
module.exports = Bunzip;
|
|
789
|
+
})))(), 1);
|
|
790
|
+
createRequire(import.meta.url);
|
|
791
|
+
var Ke = "file", Je = "link", Ve = "symlink", ke = "directory", Qe = {
|
|
792
|
+
file: "0",
|
|
793
|
+
link: "1",
|
|
794
|
+
symlink: "2",
|
|
795
|
+
"character-device": "3",
|
|
796
|
+
"block-device": "4",
|
|
797
|
+
directory: "5",
|
|
798
|
+
fifo: "6",
|
|
799
|
+
"pax-header": "x",
|
|
800
|
+
"pax-global-header": "g",
|
|
801
|
+
"gnu-long-name": "L",
|
|
802
|
+
"gnu-long-link-name": "K"
|
|
803
|
+
}, et = {
|
|
804
|
+
0: Ke,
|
|
805
|
+
1: Je,
|
|
806
|
+
2: Ve,
|
|
807
|
+
3: "character-device",
|
|
808
|
+
4: "block-device",
|
|
809
|
+
5: ke,
|
|
810
|
+
6: "fifo",
|
|
811
|
+
x: "pax-header",
|
|
812
|
+
g: "pax-global-header",
|
|
813
|
+
L: "gnu-long-name",
|
|
814
|
+
K: "gnu-long-link-name"
|
|
815
|
+
}, tt = new Uint8Array(512), _ = new Uint8Array(0), T = new TextEncoder(), ze = new TextDecoder();
|
|
816
|
+
function P(e, t, i, r) {
|
|
817
|
+
r && T.encodeInto(r, e.subarray(t, t + i));
|
|
818
|
+
}
|
|
819
|
+
function L(e, t, i, r) {
|
|
820
|
+
if (r === void 0) return;
|
|
821
|
+
let n = r.toString(8).padStart(i - 1, "0");
|
|
822
|
+
T.encodeInto(n, e.subarray(t, t + i - 1));
|
|
823
|
+
}
|
|
824
|
+
function S(e, t, i) {
|
|
825
|
+
let r = e.indexOf(0, t), n = r === -1 || r > t + i ? t + i : r;
|
|
826
|
+
return ze.decode(e.subarray(t, n));
|
|
827
|
+
}
|
|
828
|
+
function ne(e, t, i) {
|
|
829
|
+
let r = 0, n = t + i;
|
|
830
|
+
for (let s = t; s < n; s++) {
|
|
831
|
+
let a = e[s];
|
|
832
|
+
if (a === 0) break;
|
|
833
|
+
a !== 32 && (r = r * 8 + (a - 48));
|
|
834
|
+
}
|
|
835
|
+
return r;
|
|
836
|
+
}
|
|
837
|
+
function W(e, t, i) {
|
|
838
|
+
if (e[t] & 128) {
|
|
839
|
+
let r = 0;
|
|
840
|
+
r = e[t] & 127;
|
|
841
|
+
for (let n = 1; n < i; n++) r = r * 256 + e[t + n];
|
|
842
|
+
if (!Number.isSafeInteger(r)) throw new Error("TAR number too large");
|
|
843
|
+
return r;
|
|
844
|
+
}
|
|
845
|
+
return ne(e, t, i);
|
|
846
|
+
}
|
|
847
|
+
var N = (e) => e.type === "directory" || e.type === "symlink" || e.type === "link" || e.type === "character-device" || e.type === "block-device" || e.type === "fifo";
|
|
848
|
+
async function Ce(e) {
|
|
849
|
+
if (e == null) return _;
|
|
850
|
+
if (e instanceof Uint8Array) return e;
|
|
851
|
+
if (typeof e == "string") return T.encode(e);
|
|
852
|
+
if (e instanceof ArrayBuffer) return new Uint8Array(e);
|
|
853
|
+
if (e instanceof Blob) return new Uint8Array(await e.arrayBuffer());
|
|
854
|
+
throw new TypeError("Unsupported content type for entry body.");
|
|
855
|
+
}
|
|
856
|
+
var we = (e, t) => {
|
|
857
|
+
let i = e.split("/").filter(Boolean);
|
|
858
|
+
return t >= i.length ? "" : i.slice(t).join("/");
|
|
859
|
+
};
|
|
860
|
+
function Ae(e, t) {
|
|
861
|
+
let { strip: i, filter: r, map: n } = t;
|
|
862
|
+
if (!i && !r && !n) return e;
|
|
863
|
+
let s = { ...e };
|
|
864
|
+
if (i && i > 0) {
|
|
865
|
+
let o = we(s.name, i);
|
|
866
|
+
if (!o) return null;
|
|
867
|
+
if (s.name = s.type === "directory" && !o.endsWith("/") ? `${o}/` : o, s.linkname) {
|
|
868
|
+
let c = s.linkname.startsWith("/");
|
|
869
|
+
if (c || s.type === "link") {
|
|
870
|
+
let l = we(s.linkname, i);
|
|
871
|
+
s.linkname = c ? `/${l}` || "/" : l;
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
if (r?.(s) === !1) return null;
|
|
876
|
+
let a = n ? n(s) : s;
|
|
877
|
+
return a && (!a.name || !a.name.trim() || a.name === "." || a.name === "/") ? null : a;
|
|
878
|
+
}
|
|
879
|
+
var re = 32, rt = 48;
|
|
880
|
+
function nt(e) {
|
|
881
|
+
let t = ne(e, 148, 8), i = 0;
|
|
882
|
+
for (let r = 0; r < e.length; r++) r >= 148 && r < 156 ? i += re : i += e[r];
|
|
883
|
+
return t === i;
|
|
884
|
+
}
|
|
885
|
+
function it(e) {
|
|
886
|
+
e.fill(re, 148, 156);
|
|
887
|
+
let t = 0;
|
|
888
|
+
for (let i of e) t += i;
|
|
889
|
+
for (let i = 153; i >= 148; i--) e[i] = (t & 7) + rt, t >>= 3;
|
|
890
|
+
e[154] = 0, e[155] = re;
|
|
891
|
+
}
|
|
892
|
+
var st = 256;
|
|
893
|
+
function ot(e) {
|
|
894
|
+
let t = {};
|
|
895
|
+
T.encode(e.name).length > 100 && Ee(e.name) === null && (t.path = e.name), e.linkname && T.encode(e.linkname).length > 100 && (t.linkpath = e.linkname), e.uname && T.encode(e.uname).length > 32 && (t.uname = e.uname), e.gname && T.encode(e.gname).length > 32 && (t.gname = e.gname), e.uid != null && e.uid > 2097151 && (t.uid = String(e.uid)), e.gid != null && e.gid > 2097151 && (t.gid = String(e.gid)), e.size != null && e.size > 8589934591 && (t.size = String(e.size)), e.pax && Object.assign(t, e.pax);
|
|
896
|
+
let i = Object.entries(t);
|
|
897
|
+
if (i.length === 0) return null;
|
|
898
|
+
let r = T.encode(i.map(([n, s]) => {
|
|
899
|
+
let a = `${n}=${s}
|
|
900
|
+
`, o = T.encode(a).length + 1, c = o + String(o).length;
|
|
901
|
+
return c = o + String(c).length, `${c} ${a}`;
|
|
902
|
+
}).join(""));
|
|
903
|
+
return {
|
|
904
|
+
paxHeader: $e({
|
|
905
|
+
name: ze.decode(T.encode(`PaxHeader/${e.name}`).slice(0, 100)),
|
|
906
|
+
size: r.length,
|
|
907
|
+
type: "pax-header",
|
|
908
|
+
mode: 420,
|
|
909
|
+
mtime: e.mtime,
|
|
910
|
+
uname: e.uname,
|
|
911
|
+
gname: e.gname,
|
|
912
|
+
uid: e.uid,
|
|
913
|
+
gid: e.gid
|
|
914
|
+
}),
|
|
915
|
+
paxBody: r
|
|
916
|
+
};
|
|
917
|
+
}
|
|
918
|
+
function Ee(e) {
|
|
919
|
+
let t = T.encode(e).length;
|
|
920
|
+
if (t <= 100 || t > st) return null;
|
|
921
|
+
for (let i = e.length - 1; i > 0; i--) {
|
|
922
|
+
if (e[i] !== "/") continue;
|
|
923
|
+
let r = e.slice(0, i), n = e.slice(i + 1);
|
|
924
|
+
if (T.encode(r).length <= 155 && T.encode(n).length <= 100) return {
|
|
925
|
+
prefix: r,
|
|
926
|
+
name: n
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
return null;
|
|
930
|
+
}
|
|
931
|
+
function $e(e) {
|
|
932
|
+
let t = new Uint8Array(512), i = N(e) ? 0 : e.size ?? 0, r = e.name, n = "";
|
|
933
|
+
if (!e.pax?.path) {
|
|
934
|
+
let s = Ee(r);
|
|
935
|
+
s && (r = s.name, n = s.prefix);
|
|
936
|
+
}
|
|
937
|
+
return P(t, 0, 100, r), L(t, 100, 8, e.mode ?? (e.type === "directory" ? 493 : 420)), L(t, 108, 8, e.uid ?? 0), L(t, 116, 8, e.gid ?? 0), L(t, 124, 12, i), L(t, 136, 12, Math.floor((e.mtime?.getTime() ?? Date.now()) / 1e3)), P(t, 156, 1, Qe[e.type ?? "file"]), P(t, 157, 100, e.linkname), P(t, 257, 6, "ustar\0"), P(t, 263, 2, "00"), P(t, 265, 32, e.uname), P(t, 297, 32, e.gname), P(t, 345, 155, n), it(t), t;
|
|
938
|
+
}
|
|
939
|
+
function at(e, t) {
|
|
940
|
+
if (t && !nt(e)) throw new Error("Invalid tar header checksum.");
|
|
941
|
+
let i = S(e, 156, 1), r = {
|
|
942
|
+
name: S(e, 0, 100),
|
|
943
|
+
mode: ne(e, 100, 8),
|
|
944
|
+
uid: W(e, 108, 8),
|
|
945
|
+
gid: W(e, 116, 8),
|
|
946
|
+
size: W(e, 124, 12),
|
|
947
|
+
mtime: /* @__PURE__ */ new Date(W(e, 136, 12) * 1e3),
|
|
948
|
+
type: et[i] || "file",
|
|
949
|
+
linkname: S(e, 157, 100)
|
|
950
|
+
}, n = S(e, 257, 6);
|
|
951
|
+
return N(r) && (r.size = 0), n.trim() === "ustar" && (r.uname = S(e, 265, 32), r.gname = S(e, 297, 32)), n === "ustar" && (r.prefix = S(e, 345, 155)), r;
|
|
952
|
+
}
|
|
953
|
+
var be = {
|
|
954
|
+
path: ["name", (e) => e],
|
|
955
|
+
linkpath: ["linkname", (e) => e],
|
|
956
|
+
size: ["size", (e) => parseInt(e, 10)],
|
|
957
|
+
mtime: ["mtime", parseFloat],
|
|
958
|
+
uid: ["uid", (e) => parseInt(e, 10)],
|
|
959
|
+
gid: ["gid", (e) => parseInt(e, 10)],
|
|
960
|
+
uname: ["uname", (e) => e],
|
|
961
|
+
gname: ["gname", (e) => e]
|
|
962
|
+
};
|
|
963
|
+
function lt(e) {
|
|
964
|
+
let t = new TextDecoder("utf-8"), i = Object.create(null), r = Object.create(null), n = 0;
|
|
965
|
+
for (; n < e.length;) {
|
|
966
|
+
let s = e.indexOf(32, n);
|
|
967
|
+
if (s === -1) break;
|
|
968
|
+
let a = parseInt(t.decode(e.subarray(n, s)), 10);
|
|
969
|
+
if (Number.isNaN(a) || a === 0) break;
|
|
970
|
+
let o = n + a, [c, l] = t.decode(e.subarray(s + 1, o - 1)).split("=", 2);
|
|
971
|
+
if (c && l !== void 0 && (r[c] = l, Object.hasOwn(be, c))) {
|
|
972
|
+
let [f, u] = be[c], y = u(l);
|
|
973
|
+
(typeof y == "string" || !Number.isNaN(y)) && (i[f] = y);
|
|
974
|
+
}
|
|
975
|
+
n = o;
|
|
976
|
+
}
|
|
977
|
+
return Object.keys(r).length > 0 && (i.pax = r), i;
|
|
978
|
+
}
|
|
979
|
+
function xe(e, t) {
|
|
980
|
+
t.name !== void 0 && (e.name = t.name), t.linkname !== void 0 && (e.linkname = t.linkname), t.size !== void 0 && (e.size = t.size), t.mtime !== void 0 && (e.mtime = /* @__PURE__ */ new Date(t.mtime * 1e3)), t.uid !== void 0 && (e.uid = t.uid), t.gid !== void 0 && (e.gid = t.gid), t.uname !== void 0 && (e.uname = t.uname), t.gname !== void 0 && (e.gname = t.gname), t.pax && (e.pax = Object.assign({}, e.pax ?? {}, t.pax));
|
|
981
|
+
}
|
|
982
|
+
function ct(e) {
|
|
983
|
+
switch (e) {
|
|
984
|
+
case "pax-global-header":
|
|
985
|
+
case "pax-header": return lt;
|
|
986
|
+
case "gnu-long-name": return (t) => ({ name: S(t, 0, t.length) });
|
|
987
|
+
case "gnu-long-link-name": return (t) => ({ linkname: S(t, 0, t.length) });
|
|
988
|
+
default: return;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
function ft(e) {
|
|
992
|
+
let t = $e(e), i = ot(e);
|
|
993
|
+
if (!i) return [t];
|
|
994
|
+
let r = -i.paxBody.length & 511, n = r > 0 ? [tt.subarray(0, r)] : [];
|
|
995
|
+
return [
|
|
996
|
+
i.paxHeader,
|
|
997
|
+
i.paxBody,
|
|
998
|
+
...n,
|
|
999
|
+
t
|
|
1000
|
+
];
|
|
1001
|
+
}
|
|
1002
|
+
var ut = new Uint8Array(512 * 2);
|
|
1003
|
+
function Be(e, t, i) {
|
|
1004
|
+
let r = null, n = 0, s = !1, a = (o) => {
|
|
1005
|
+
let c = new Error(o);
|
|
1006
|
+
throw t(c), c;
|
|
1007
|
+
};
|
|
1008
|
+
return {
|
|
1009
|
+
add(o) {
|
|
1010
|
+
s && a("No new tar entries after finalize."), r !== null && a("Previous entry must be completed before adding a new one");
|
|
1011
|
+
let c = N(o) ? 0 : o.size;
|
|
1012
|
+
(!Number.isSafeInteger(c) || c < 0) && a("Invalid tar entry size.");
|
|
1013
|
+
try {
|
|
1014
|
+
let l = ft({
|
|
1015
|
+
...o,
|
|
1016
|
+
size: c
|
|
1017
|
+
});
|
|
1018
|
+
for (let f of l) e(f);
|
|
1019
|
+
r = {
|
|
1020
|
+
...o,
|
|
1021
|
+
size: c
|
|
1022
|
+
}, n = 0;
|
|
1023
|
+
} catch (l) {
|
|
1024
|
+
t(l);
|
|
1025
|
+
}
|
|
1026
|
+
},
|
|
1027
|
+
write(o) {
|
|
1028
|
+
r || a("No active tar entry."), s && a("Cannot write data after finalize.");
|
|
1029
|
+
let c = n + o.length;
|
|
1030
|
+
c > r.size && a(`"${r.name}" exceeds given size of ${r.size} bytes.`);
|
|
1031
|
+
try {
|
|
1032
|
+
n = c, e(o);
|
|
1033
|
+
} catch (l) {
|
|
1034
|
+
t(l);
|
|
1035
|
+
}
|
|
1036
|
+
},
|
|
1037
|
+
endEntry() {
|
|
1038
|
+
r || a("No active entry to end."), s && a("Cannot end entry after finalize.");
|
|
1039
|
+
try {
|
|
1040
|
+
n !== r.size && a(`Size mismatch for "${r.name}".`);
|
|
1041
|
+
let o = -r.size & 511;
|
|
1042
|
+
o > 0 && e(new Uint8Array(o)), r = null, n = 0;
|
|
1043
|
+
} catch (o) {
|
|
1044
|
+
throw t(o), o;
|
|
1045
|
+
}
|
|
1046
|
+
},
|
|
1047
|
+
finalize() {
|
|
1048
|
+
s && a("Archive has already been finalized"), r !== null && a("Cannot finalize while an entry is still active");
|
|
1049
|
+
try {
|
|
1050
|
+
e(ut), s = !0, i && i();
|
|
1051
|
+
} catch (o) {
|
|
1052
|
+
t(o);
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
};
|
|
1056
|
+
}
|
|
1057
|
+
var j = 256;
|
|
1058
|
+
function dt() {
|
|
1059
|
+
let e = new Array(j), t = e.length - 1, i = 0, r = 0, n = 0, s = (o) => {
|
|
1060
|
+
let c = e[i];
|
|
1061
|
+
o === c.length ? (e[i] = _, i = i + 1 & t) : e[i] = c.subarray(o), n -= o, n === 0 && e.length > j && (e = new Array(j), t = j - 1, i = 0, r = 0);
|
|
1062
|
+
};
|
|
1063
|
+
function a(o, c) {
|
|
1064
|
+
if (c) {
|
|
1065
|
+
let g = 0, d = Math.min(o, n);
|
|
1066
|
+
for (; d > 0;) {
|
|
1067
|
+
let p = e[i], m = Math.min(d, p.length), x = m === p.length ? p : p.subarray(0, m);
|
|
1068
|
+
if (s(m), d -= m, g += m, !c(x)) break;
|
|
1069
|
+
}
|
|
1070
|
+
return g;
|
|
1071
|
+
}
|
|
1072
|
+
if (n < o) return null;
|
|
1073
|
+
if (o === 0) return _;
|
|
1074
|
+
let l = e[i];
|
|
1075
|
+
if (l.length >= o) {
|
|
1076
|
+
let g = l.length === o ? l : l.subarray(0, o);
|
|
1077
|
+
return s(o), g;
|
|
1078
|
+
}
|
|
1079
|
+
let f = new Uint8Array(o), u = 0, y = o;
|
|
1080
|
+
for (; y > 0;) {
|
|
1081
|
+
let g = e[i], d = Math.min(y, g.length);
|
|
1082
|
+
f.set(d === g.length ? g : g.subarray(0, d), u), u += d, y -= d, s(d);
|
|
1083
|
+
}
|
|
1084
|
+
return f;
|
|
1085
|
+
}
|
|
1086
|
+
return {
|
|
1087
|
+
push: (o) => {
|
|
1088
|
+
if (o.length === 0) return;
|
|
1089
|
+
let c = r + 1 & t;
|
|
1090
|
+
if (c === i) {
|
|
1091
|
+
let l = e.length, f = l * 2, u = new Array(f), y = r - i + l & l - 1;
|
|
1092
|
+
if (i < r) for (let g = 0; g < y; g++) u[g] = e[i + g];
|
|
1093
|
+
else if (y > 0) {
|
|
1094
|
+
let g = l - i;
|
|
1095
|
+
for (let d = 0; d < g; d++) u[d] = e[i + d];
|
|
1096
|
+
for (let d = 0; d < r; d++) u[g + d] = e[d];
|
|
1097
|
+
}
|
|
1098
|
+
e = u, t = f - 1, i = 0, r = y, c = r + 1 & t;
|
|
1099
|
+
}
|
|
1100
|
+
e[r] = o, r = c, n += o.length;
|
|
1101
|
+
},
|
|
1102
|
+
available: () => n,
|
|
1103
|
+
peek: (o) => {
|
|
1104
|
+
if (n < o) return null;
|
|
1105
|
+
if (o === 0) return _;
|
|
1106
|
+
let c = e[i];
|
|
1107
|
+
if (c.length >= o) return c.length === o ? c : c.subarray(0, o);
|
|
1108
|
+
let l = new Uint8Array(o), f = 0, u = i;
|
|
1109
|
+
for (; f < o;) {
|
|
1110
|
+
let y = e[u], g = Math.min(o - f, y.length);
|
|
1111
|
+
g === y.length ? l.set(y, f) : l.set(y.subarray(0, g), f), f += g, u = u + 1 & t;
|
|
1112
|
+
}
|
|
1113
|
+
return l;
|
|
1114
|
+
},
|
|
1115
|
+
discard: (o) => {
|
|
1116
|
+
if (o > n) throw new Error("Too many bytes consumed");
|
|
1117
|
+
if (o === 0) return;
|
|
1118
|
+
let c = o;
|
|
1119
|
+
for (; c > 0;) {
|
|
1120
|
+
let l = e[i], f = Math.min(c, l.length);
|
|
1121
|
+
s(f), c -= f;
|
|
1122
|
+
}
|
|
1123
|
+
},
|
|
1124
|
+
pull: a
|
|
1125
|
+
};
|
|
1126
|
+
}
|
|
1127
|
+
var te = 0, D = 1, H = /* @__PURE__ */ new Error("Tar archive is truncated.");
|
|
1128
|
+
function Te(e = {}) {
|
|
1129
|
+
let t = e.strict ?? !1, { available: i, peek: r, push: n, discard: s, pull: a } = dt(), o = te, c = !1, l = !1, f = !1, u = null, y = {}, g = {}, d = {
|
|
1130
|
+
isEntryActive: () => o === D,
|
|
1131
|
+
isBodyComplete: () => !u || u.remaining === 0,
|
|
1132
|
+
canFinish: () => !u || i() >= u.remaining + u.padding,
|
|
1133
|
+
write(p) {
|
|
1134
|
+
if (c) throw new Error("Archive already ended.");
|
|
1135
|
+
n(p);
|
|
1136
|
+
},
|
|
1137
|
+
end() {
|
|
1138
|
+
c = !0;
|
|
1139
|
+
},
|
|
1140
|
+
readHeader() {
|
|
1141
|
+
if (o !== te) throw new Error("Cannot read header while an entry is active");
|
|
1142
|
+
if (!l) for (; !l;) {
|
|
1143
|
+
if (i() < 512) {
|
|
1144
|
+
if (c) {
|
|
1145
|
+
if (i() > 0 && t) throw H;
|
|
1146
|
+
l = !0;
|
|
1147
|
+
return;
|
|
1148
|
+
}
|
|
1149
|
+
return null;
|
|
1150
|
+
}
|
|
1151
|
+
let p = r(512);
|
|
1152
|
+
if (ve(p)) {
|
|
1153
|
+
if (i() < 512 * 2) {
|
|
1154
|
+
if (c) {
|
|
1155
|
+
if (t) throw H;
|
|
1156
|
+
l = !0;
|
|
1157
|
+
return;
|
|
1158
|
+
}
|
|
1159
|
+
return null;
|
|
1160
|
+
}
|
|
1161
|
+
if (ve(r(512 * 2).subarray(512))) {
|
|
1162
|
+
s(512 * 2), l = !0, f = !0;
|
|
1163
|
+
return;
|
|
1164
|
+
}
|
|
1165
|
+
if (t) throw new Error("Invalid tar header.");
|
|
1166
|
+
s(512);
|
|
1167
|
+
continue;
|
|
1168
|
+
}
|
|
1169
|
+
let m;
|
|
1170
|
+
try {
|
|
1171
|
+
m = at(p, t);
|
|
1172
|
+
} catch (E) {
|
|
1173
|
+
if (t) throw E;
|
|
1174
|
+
s(512);
|
|
1175
|
+
continue;
|
|
1176
|
+
}
|
|
1177
|
+
let x = ct(m.type);
|
|
1178
|
+
if (x) {
|
|
1179
|
+
let E = m.size + (-m.size & 511);
|
|
1180
|
+
if (i() < 512 + E) {
|
|
1181
|
+
if (c && t) throw H;
|
|
1182
|
+
return null;
|
|
1183
|
+
}
|
|
1184
|
+
s(512);
|
|
1185
|
+
let v = x(a(E).subarray(0, m.size)), $ = m.type === "pax-global-header" ? y : g;
|
|
1186
|
+
for (let z in v) $[z] = v[z];
|
|
1187
|
+
continue;
|
|
1188
|
+
}
|
|
1189
|
+
s(512);
|
|
1190
|
+
let b = m;
|
|
1191
|
+
return m.prefix && (b.name = `${m.prefix}/${b.name}`), xe(b, y), xe(b, g), b.name.endsWith("/") && b.type === "file" && (b.type = ke), g = {}, u = {
|
|
1192
|
+
header: b,
|
|
1193
|
+
remaining: b.size,
|
|
1194
|
+
padding: -b.size & 511
|
|
1195
|
+
}, o = D, b;
|
|
1196
|
+
}
|
|
1197
|
+
},
|
|
1198
|
+
streamBody(p) {
|
|
1199
|
+
if (o !== D || !u || u.remaining === 0) return 0;
|
|
1200
|
+
let m = Math.min(u.remaining, i());
|
|
1201
|
+
if (m === 0) return 0;
|
|
1202
|
+
let x = a(m, p);
|
|
1203
|
+
return u.remaining -= x, x;
|
|
1204
|
+
},
|
|
1205
|
+
skipPadding() {
|
|
1206
|
+
if (o !== D || !u) return !0;
|
|
1207
|
+
if (u.remaining > 0) throw new Error("Body not fully consumed");
|
|
1208
|
+
return i() < u.padding ? !1 : (s(u.padding), u = null, o = te, !0);
|
|
1209
|
+
},
|
|
1210
|
+
skipEntry() {
|
|
1211
|
+
if (o !== D || !u) return !0;
|
|
1212
|
+
let p = Math.min(u.remaining, i());
|
|
1213
|
+
return p > 0 && (s(p), u.remaining -= p), u.remaining > 0 ? !1 : d.skipPadding();
|
|
1214
|
+
},
|
|
1215
|
+
validateEOF() {
|
|
1216
|
+
if (t) {
|
|
1217
|
+
if (!f) throw H;
|
|
1218
|
+
if (i() > 0 && a(i()).some((p) => p !== 0)) throw new Error("Invalid EOF.");
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
};
|
|
1222
|
+
return d;
|
|
1223
|
+
}
|
|
1224
|
+
function ve(e) {
|
|
1225
|
+
if (e.byteOffset % 8 === 0) {
|
|
1226
|
+
let t = new BigUint64Array(e.buffer, e.byteOffset, e.length / 8);
|
|
1227
|
+
for (let i = 0; i < t.length; i++) if (t[i] !== 0n) return !1;
|
|
1228
|
+
return !0;
|
|
1229
|
+
}
|
|
1230
|
+
for (let t = 0; t < e.length; t++) if (e[t] !== 0) return !1;
|
|
1231
|
+
return !0;
|
|
1232
|
+
}
|
|
1233
|
+
function Fe() {
|
|
1234
|
+
return new CompressionStream("gzip");
|
|
1235
|
+
}
|
|
1236
|
+
function Ie() {
|
|
1237
|
+
return new DecompressionStream("gzip");
|
|
1238
|
+
}
|
|
1239
|
+
function mt() {
|
|
1240
|
+
let e, t;
|
|
1241
|
+
return {
|
|
1242
|
+
readable: new ReadableStream({ start(i) {
|
|
1243
|
+
e = i, t = Be(i.enqueue.bind(i), i.error.bind(i), i.close.bind(i));
|
|
1244
|
+
} }),
|
|
1245
|
+
controller: {
|
|
1246
|
+
add(i) {
|
|
1247
|
+
let r = N(i);
|
|
1248
|
+
return t.add(i), r && t.endEntry(), new WritableStream({
|
|
1249
|
+
write(n) {
|
|
1250
|
+
t.write(n);
|
|
1251
|
+
},
|
|
1252
|
+
close() {
|
|
1253
|
+
r || t.endEntry();
|
|
1254
|
+
},
|
|
1255
|
+
abort(n) {
|
|
1256
|
+
e.error(n);
|
|
1257
|
+
}
|
|
1258
|
+
});
|
|
1259
|
+
},
|
|
1260
|
+
finalize() {
|
|
1261
|
+
t.finalize();
|
|
1262
|
+
},
|
|
1263
|
+
error(i) {
|
|
1264
|
+
e.error(i);
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
};
|
|
1268
|
+
}
|
|
1269
|
+
async function Pe(e) {
|
|
1270
|
+
let t = [], i = e.getReader(), r = 0;
|
|
1271
|
+
try {
|
|
1272
|
+
for (;;) {
|
|
1273
|
+
let { done: a, value: o } = await i.read();
|
|
1274
|
+
if (a) break;
|
|
1275
|
+
t.push(o), r += o.length;
|
|
1276
|
+
}
|
|
1277
|
+
let n = new Uint8Array(r), s = 0;
|
|
1278
|
+
for (let a of t) n.set(a, s), s += a.length;
|
|
1279
|
+
return n;
|
|
1280
|
+
} finally {
|
|
1281
|
+
i.releaseLock();
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
var Se = (e) => e.pipeTo(new WritableStream());
|
|
1285
|
+
function ht(e = {}) {
|
|
1286
|
+
let t = Te(e), i = e.strict ?? !1, r = null, n = null, s = !1, a = !1, o = !1, c = !1, l = () => {
|
|
1287
|
+
try {
|
|
1288
|
+
n?.close();
|
|
1289
|
+
} catch {}
|
|
1290
|
+
n = null;
|
|
1291
|
+
}, f = (d) => {
|
|
1292
|
+
if (!c) {
|
|
1293
|
+
c = !0;
|
|
1294
|
+
try {
|
|
1295
|
+
n?.error(d);
|
|
1296
|
+
} catch {}
|
|
1297
|
+
n = null;
|
|
1298
|
+
try {
|
|
1299
|
+
r.error(d);
|
|
1300
|
+
} catch {}
|
|
1301
|
+
r = null;
|
|
1302
|
+
}
|
|
1303
|
+
}, u = () => {
|
|
1304
|
+
if (!c) {
|
|
1305
|
+
c = !0, l();
|
|
1306
|
+
try {
|
|
1307
|
+
r.close();
|
|
1308
|
+
} catch {}
|
|
1309
|
+
r = null;
|
|
1310
|
+
}
|
|
1311
|
+
}, y = () => {
|
|
1312
|
+
if (i) throw new Error("Tar archive is truncated.");
|
|
1313
|
+
u();
|
|
1314
|
+
}, g = () => {
|
|
1315
|
+
if (!(s || c || !r)) {
|
|
1316
|
+
s = !0;
|
|
1317
|
+
try {
|
|
1318
|
+
for (;;) {
|
|
1319
|
+
if (a) {
|
|
1320
|
+
o && (t.validateEOF(), u());
|
|
1321
|
+
break;
|
|
1322
|
+
}
|
|
1323
|
+
if (t.isEntryActive()) {
|
|
1324
|
+
if (o && !t.canFinish()) {
|
|
1325
|
+
y();
|
|
1326
|
+
break;
|
|
1327
|
+
}
|
|
1328
|
+
if (n) {
|
|
1329
|
+
if ((n.desiredSize ?? 1) <= 0) break;
|
|
1330
|
+
if (t.streamBody((d) => (n.enqueue(d), (n.desiredSize ?? 1) > 0)) === 0 && !t.isBodyComplete()) {
|
|
1331
|
+
o && y();
|
|
1332
|
+
break;
|
|
1333
|
+
}
|
|
1334
|
+
} else if (!t.skipEntry()) {
|
|
1335
|
+
o && y();
|
|
1336
|
+
break;
|
|
1337
|
+
}
|
|
1338
|
+
if (t.isBodyComplete() && (l(), !t.skipPadding())) {
|
|
1339
|
+
o && y();
|
|
1340
|
+
break;
|
|
1341
|
+
}
|
|
1342
|
+
} else {
|
|
1343
|
+
if ((r.desiredSize ?? 0) < 0) break;
|
|
1344
|
+
let d = t.readHeader();
|
|
1345
|
+
if (d === null) {
|
|
1346
|
+
o && u();
|
|
1347
|
+
break;
|
|
1348
|
+
}
|
|
1349
|
+
if (d === void 0) {
|
|
1350
|
+
if (o) {
|
|
1351
|
+
t.validateEOF(), u();
|
|
1352
|
+
break;
|
|
1353
|
+
}
|
|
1354
|
+
a = !0;
|
|
1355
|
+
break;
|
|
1356
|
+
}
|
|
1357
|
+
r.enqueue({
|
|
1358
|
+
header: d,
|
|
1359
|
+
body: new ReadableStream({
|
|
1360
|
+
start(p) {
|
|
1361
|
+
d.size === 0 ? p.close() : n = p;
|
|
1362
|
+
},
|
|
1363
|
+
pull: g,
|
|
1364
|
+
cancel() {
|
|
1365
|
+
n = null, g();
|
|
1366
|
+
}
|
|
1367
|
+
})
|
|
1368
|
+
});
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
} catch (d) {
|
|
1372
|
+
throw f(d), d;
|
|
1373
|
+
} finally {
|
|
1374
|
+
s = !1;
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
};
|
|
1378
|
+
return {
|
|
1379
|
+
readable: new ReadableStream({
|
|
1380
|
+
start(d) {
|
|
1381
|
+
r = d;
|
|
1382
|
+
},
|
|
1383
|
+
pull: g,
|
|
1384
|
+
cancel(d) {
|
|
1385
|
+
d !== void 0 ? f(d) : u();
|
|
1386
|
+
}
|
|
1387
|
+
}, { highWaterMark: 2 }),
|
|
1388
|
+
writable: new WritableStream({
|
|
1389
|
+
write(d) {
|
|
1390
|
+
try {
|
|
1391
|
+
if (a && i && d.some((p) => p !== 0)) throw new Error("Invalid EOF.");
|
|
1392
|
+
t.write(d), g();
|
|
1393
|
+
} catch (p) {
|
|
1394
|
+
throw f(p), p;
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1397
|
+
close() {
|
|
1398
|
+
try {
|
|
1399
|
+
o = !0, t.end(), g();
|
|
1400
|
+
} catch (d) {
|
|
1401
|
+
throw f(d), d;
|
|
1402
|
+
}
|
|
1403
|
+
},
|
|
1404
|
+
abort(d) {
|
|
1405
|
+
f(d);
|
|
1406
|
+
}
|
|
1407
|
+
})
|
|
1408
|
+
};
|
|
1409
|
+
}
|
|
1410
|
+
async function Oe(e) {
|
|
1411
|
+
let { readable: t, controller: i } = mt();
|
|
1412
|
+
return await (async () => {
|
|
1413
|
+
for (let r of e) {
|
|
1414
|
+
let n = i.add(r.header), s = "body" in r ? r.body : r.data;
|
|
1415
|
+
if (!s) {
|
|
1416
|
+
await n.close();
|
|
1417
|
+
continue;
|
|
1418
|
+
}
|
|
1419
|
+
if (s instanceof ReadableStream) await s.pipeTo(n);
|
|
1420
|
+
else if (s instanceof Blob) await s.stream().pipeTo(n);
|
|
1421
|
+
else try {
|
|
1422
|
+
let a = await Ce(s);
|
|
1423
|
+
if (a.length > 0) {
|
|
1424
|
+
let o = n.getWriter();
|
|
1425
|
+
await o.write(a), await o.close();
|
|
1426
|
+
} else await n.close();
|
|
1427
|
+
} catch {
|
|
1428
|
+
throw new TypeError(`Unsupported content type for entry "${r.header.name}".`);
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
})().then(() => i.finalize()).catch((r) => i.error(r)), new Uint8Array(await Pe(t));
|
|
1432
|
+
}
|
|
1433
|
+
async function Ue(e, t = {}) {
|
|
1434
|
+
let i = e instanceof ReadableStream ? e : new ReadableStream({ start(s) {
|
|
1435
|
+
s.enqueue(e instanceof Uint8Array ? e : new Uint8Array(e)), s.close();
|
|
1436
|
+
} }), r = [], n = i.pipeThrough(ht(t));
|
|
1437
|
+
for await (let s of n) {
|
|
1438
|
+
let a;
|
|
1439
|
+
try {
|
|
1440
|
+
a = Ae(s.header, t);
|
|
1441
|
+
} catch (o) {
|
|
1442
|
+
throw await s.body.cancel(), o;
|
|
1443
|
+
}
|
|
1444
|
+
if (a === null) {
|
|
1445
|
+
await Se(s.body);
|
|
1446
|
+
continue;
|
|
1447
|
+
}
|
|
1448
|
+
N(a) ? (await Se(s.body), r.push({ header: a })) : r.push({
|
|
1449
|
+
header: a,
|
|
1450
|
+
data: await Pe(s.body)
|
|
1451
|
+
});
|
|
1452
|
+
}
|
|
1453
|
+
return r;
|
|
1454
|
+
}
|
|
1455
|
+
var pt = (() => {
|
|
1456
|
+
let e = new Uint32Array(256);
|
|
1457
|
+
for (let t = 0; t < 256; t++) {
|
|
1458
|
+
let i = t << 24;
|
|
1459
|
+
for (let r = 0; r < 8; r++) i = i & 2147483648 ? i << 1 ^ 79764919 : i << 1;
|
|
1460
|
+
e[t] = i >>> 0;
|
|
1461
|
+
}
|
|
1462
|
+
return e;
|
|
1463
|
+
})();
|
|
1464
|
+
function gt(e, t) {
|
|
1465
|
+
return (e << 8 ^ pt[(e >>> 24 ^ t) & 255]) >>> 0;
|
|
1466
|
+
}
|
|
1467
|
+
var ie = class {
|
|
1468
|
+
buffer = [];
|
|
1469
|
+
current = 0;
|
|
1470
|
+
bitCount = 0;
|
|
1471
|
+
writeBits(t, i) {
|
|
1472
|
+
for (let r = t - 1; r >= 0; r--) this.current = this.current << 1 | i >>> r & 1, this.bitCount++, this.bitCount === 8 && (this.buffer.push(this.current), this.current = 0, this.bitCount = 0);
|
|
1473
|
+
}
|
|
1474
|
+
writeBit(t) {
|
|
1475
|
+
this.current = this.current << 1 | t & 1, this.bitCount++, this.bitCount === 8 && (this.buffer.push(this.current), this.current = 0, this.bitCount = 0);
|
|
1476
|
+
}
|
|
1477
|
+
finish() {
|
|
1478
|
+
return this.bitCount > 0 && this.buffer.push(this.current << 8 - this.bitCount), new Uint8Array(this.buffer);
|
|
1479
|
+
}
|
|
1480
|
+
};
|
|
1481
|
+
function yt(e) {
|
|
1482
|
+
let t = [], i = 0;
|
|
1483
|
+
for (; i < e.length;) {
|
|
1484
|
+
let r = e[i], n = 1;
|
|
1485
|
+
for (; i + n < e.length && e[i + n] === r && n < 255;) n++;
|
|
1486
|
+
n >= 4 ? (t.push(r, r, r, r), t.push(n - 4), i += n) : (t.push(r), i++);
|
|
1487
|
+
}
|
|
1488
|
+
return new Uint8Array(t);
|
|
1489
|
+
}
|
|
1490
|
+
function wt(e) {
|
|
1491
|
+
let t = e.length;
|
|
1492
|
+
if (t === 0) return {
|
|
1493
|
+
transformed: new Uint8Array(0),
|
|
1494
|
+
pointer: 0
|
|
1495
|
+
};
|
|
1496
|
+
let i = bt(e), r = new Uint8Array(t), n = 0;
|
|
1497
|
+
for (let s = 0; s < t; s++) i[s] === 0 ? (n = s, r[s] = e[t - 1]) : r[s] = e[i[s] - 1];
|
|
1498
|
+
return {
|
|
1499
|
+
transformed: r,
|
|
1500
|
+
pointer: n
|
|
1501
|
+
};
|
|
1502
|
+
}
|
|
1503
|
+
function bt(e) {
|
|
1504
|
+
let t = e.length, i = new Int32Array(t), r = new Int32Array(t);
|
|
1505
|
+
for (let n = 0; n < t; n++) i[n] = n, r[n] = e[n];
|
|
1506
|
+
for (let n = 1; n < t; n *= 2) {
|
|
1507
|
+
let s = r.slice();
|
|
1508
|
+
i.sort((a, o) => s[a] !== s[o] ? s[a] - s[o] : s[(a + n) % t] - s[(o + n) % t]), r[i[0]] = 0;
|
|
1509
|
+
for (let a = 1; a < t; a++) s[i[a]] === s[i[a - 1]] && s[(i[a] + n) % t] === s[(i[a - 1] + n) % t] ? r[i[a]] = r[i[a - 1]] : r[i[a]] = r[i[a - 1]] + 1;
|
|
1510
|
+
if (r[i[t - 1]] === t - 1) break;
|
|
1511
|
+
}
|
|
1512
|
+
return i;
|
|
1513
|
+
}
|
|
1514
|
+
function xt(e, t) {
|
|
1515
|
+
let i = [];
|
|
1516
|
+
for (let a = 0; a < 256; a++) t[a] && i.push(a);
|
|
1517
|
+
let r = new Array(256).fill(-1);
|
|
1518
|
+
for (let a = 0; a < i.length; a++) r[i[a]] = a;
|
|
1519
|
+
let n = new Uint16Array(e.length), s = i.slice();
|
|
1520
|
+
for (let a = 0; a < e.length; a++) {
|
|
1521
|
+
let o = e[a], c = 0;
|
|
1522
|
+
for (; s[c] !== o;) c++;
|
|
1523
|
+
if (n[a] = c, c > 0) {
|
|
1524
|
+
let l = s[c];
|
|
1525
|
+
for (let f = c; f > 0; f--) s[f] = s[f - 1];
|
|
1526
|
+
s[0] = l;
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1529
|
+
return {
|
|
1530
|
+
encoded: n,
|
|
1531
|
+
length: e.length
|
|
1532
|
+
};
|
|
1533
|
+
}
|
|
1534
|
+
function vt(e, t, i) {
|
|
1535
|
+
let s = i + 1, a = [], o = 0;
|
|
1536
|
+
for (; o < t;) if (e[o] === 0) {
|
|
1537
|
+
let l = 0;
|
|
1538
|
+
for (; o < t && e[o] === 0;) l++, o++;
|
|
1539
|
+
let f = l;
|
|
1540
|
+
for (; f > 0;) f--, f & 1 ? a.push(1) : a.push(0), f >>>= 1;
|
|
1541
|
+
} else a.push(e[o] + 1), o++;
|
|
1542
|
+
a.push(s);
|
|
1543
|
+
let c = new Uint16Array(a.length);
|
|
1544
|
+
for (let l = 0; l < a.length; l++) c[l] = a[l];
|
|
1545
|
+
return {
|
|
1546
|
+
symbols: c,
|
|
1547
|
+
length: a.length,
|
|
1548
|
+
eob: s
|
|
1549
|
+
};
|
|
1550
|
+
}
|
|
1551
|
+
function Ne(e, t, i) {
|
|
1552
|
+
if (t <= 1) {
|
|
1553
|
+
let l = new Array(e.length).fill(0);
|
|
1554
|
+
for (let f = 0; f < e.length; f++) e[f] > 0 && (l[f] = 1);
|
|
1555
|
+
return {
|
|
1556
|
+
codeLengths: l,
|
|
1557
|
+
maxLen: 1,
|
|
1558
|
+
minLen: 1
|
|
1559
|
+
};
|
|
1560
|
+
}
|
|
1561
|
+
let r = [];
|
|
1562
|
+
for (let l = 0; l < e.length; l++) e[l] > 0 && r.push({
|
|
1563
|
+
freq: e[l],
|
|
1564
|
+
symbol: l,
|
|
1565
|
+
left: null,
|
|
1566
|
+
right: null
|
|
1567
|
+
});
|
|
1568
|
+
if (r.length === 0) return {
|
|
1569
|
+
codeLengths: new Array(e.length).fill(0),
|
|
1570
|
+
maxLen: 0,
|
|
1571
|
+
minLen: 0
|
|
1572
|
+
};
|
|
1573
|
+
if (r.length === 1) {
|
|
1574
|
+
let l = new Array(e.length).fill(0);
|
|
1575
|
+
return l[r[0].symbol] = 1, {
|
|
1576
|
+
codeLengths: l,
|
|
1577
|
+
maxLen: 1,
|
|
1578
|
+
minLen: 1
|
|
1579
|
+
};
|
|
1580
|
+
}
|
|
1581
|
+
for (; r.length > 1;) {
|
|
1582
|
+
r.sort((u, y) => u.freq - y.freq);
|
|
1583
|
+
let l = r.shift(), f = r.shift();
|
|
1584
|
+
r.push({
|
|
1585
|
+
freq: l.freq + f.freq,
|
|
1586
|
+
symbol: -1,
|
|
1587
|
+
left: l,
|
|
1588
|
+
right: f
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
let n = new Array(e.length).fill(0);
|
|
1592
|
+
function s(l, f) {
|
|
1593
|
+
if (!l.left && !l.right) {
|
|
1594
|
+
n[l.symbol] = f;
|
|
1595
|
+
return;
|
|
1596
|
+
}
|
|
1597
|
+
l.left && s(l.left, f + 1), l.right && s(l.right, f + 1);
|
|
1598
|
+
}
|
|
1599
|
+
s(r[0], 0);
|
|
1600
|
+
let a = !0;
|
|
1601
|
+
for (; a;) {
|
|
1602
|
+
a = !1;
|
|
1603
|
+
for (let l = 0; l < n.length; l++) n[l] > i && (n[l] = i, a = !0);
|
|
1604
|
+
if (a) {
|
|
1605
|
+
let l = 0;
|
|
1606
|
+
for (let f = 0; f < n.length; f++) n[f] > 0 && (l += 1 / (1 << n[f]));
|
|
1607
|
+
if (l > 1) for (let f = 1; f < i && l > 1; f++) for (let u = 0; u < n.length && l > 1; u++) n[u] === f && (n[u]++, l -= 1 / (1 << f) - 1 / (1 << f + 1));
|
|
1608
|
+
a = !1;
|
|
1609
|
+
for (let f = 0; f < n.length; f++) if (n[f] > i) {
|
|
1610
|
+
a = !0;
|
|
1611
|
+
break;
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
let o = i, c = 0;
|
|
1616
|
+
for (let l = 0; l < n.length; l++) n[l] > 0 && (n[l] < o && (o = n[l]), n[l] > c && (c = n[l]));
|
|
1617
|
+
return {
|
|
1618
|
+
codeLengths: n,
|
|
1619
|
+
maxLen: c,
|
|
1620
|
+
minLen: o
|
|
1621
|
+
};
|
|
1622
|
+
}
|
|
1623
|
+
function kt(e, t) {
|
|
1624
|
+
let i = new Array(t).fill(0), r = e.slice(0, t), n = Math.max(...r, 0), s = new Array(n + 1).fill(0);
|
|
1625
|
+
for (let c = 0; c < t; c++) r[c] > 0 && s[r[c]]++;
|
|
1626
|
+
let a = new Array(n + 1).fill(0), o = 0;
|
|
1627
|
+
for (let c = 1; c <= n; c++) o = o + s[c - 1] << 1, a[c] = o;
|
|
1628
|
+
for (let c = 0; c < t; c++) r[c] > 0 && (i[c] = a[r[c]]++);
|
|
1629
|
+
return {
|
|
1630
|
+
codes: i,
|
|
1631
|
+
lengths: r
|
|
1632
|
+
};
|
|
1633
|
+
}
|
|
1634
|
+
function zt(e, t, i) {
|
|
1635
|
+
e.writeBits(24, 3227993), e.writeBits(24, 2511705), e.writeBits(32, i), e.writeBit(0);
|
|
1636
|
+
let { transformed: n, pointer: s } = wt(yt(t));
|
|
1637
|
+
e.writeBits(24, s);
|
|
1638
|
+
let a = new Array(256).fill(!1);
|
|
1639
|
+
for (let h = 0; h < n.length; h++) a[n[h]] = !0;
|
|
1640
|
+
let o = new Array(16).fill(!1);
|
|
1641
|
+
for (let h = 0; h < 16; h++) for (let w = 0; w < 16; w++) if (a[h * 16 + w]) {
|
|
1642
|
+
o[h] = !0;
|
|
1643
|
+
break;
|
|
1644
|
+
}
|
|
1645
|
+
for (let h = 0; h < 16; h++) e.writeBit(o[h] ? 1 : 0);
|
|
1646
|
+
for (let h = 0; h < 16; h++) if (o[h]) for (let w = 0; w < 16; w++) e.writeBit(a[h * 16 + w] ? 1 : 0);
|
|
1647
|
+
let c = 0;
|
|
1648
|
+
for (let h = 0; h < 256; h++) a[h] && c++;
|
|
1649
|
+
let { encoded: l, length: f } = xt(n, a), { symbols: u, length: y } = vt(l, f, c), g = c + 2, d = 50, p = Math.ceil(y / d), m;
|
|
1650
|
+
y < 200 ? m = 2 : y < 600 ? m = 3 : y < 1200 ? m = 4 : y < 2400 ? m = 5 : m = 6, m > p && (m = Math.max(2, p));
|
|
1651
|
+
let x = [];
|
|
1652
|
+
for (let h = 0; h < m; h++) x.push(new Array(g).fill(0));
|
|
1653
|
+
let b = new Int32Array(p);
|
|
1654
|
+
for (let h = 0; h < p; h++) b[h] = h % m;
|
|
1655
|
+
for (let h = 0; h < p; h++) {
|
|
1656
|
+
let w = h * d, k = Math.min(w + d, y), B = b[h];
|
|
1657
|
+
for (let C = w; C < k; C++) x[B][u[C]]++;
|
|
1658
|
+
}
|
|
1659
|
+
function E(h) {
|
|
1660
|
+
for (let w = 0; w < g; w++) h[w] < 1 && (h[w] = 1);
|
|
1661
|
+
}
|
|
1662
|
+
let v = [];
|
|
1663
|
+
for (let h = 0; h < m; h++) E(x[h]), v.push(Ne(x[h], g, 20));
|
|
1664
|
+
for (let h = 0; h < 4; h++) {
|
|
1665
|
+
for (let w = 0; w < m; w++) x[w].fill(0);
|
|
1666
|
+
for (let w = 0; w < p; w++) {
|
|
1667
|
+
let k = w * d, B = Math.min(k + d, y), C = 0, M = Infinity;
|
|
1668
|
+
for (let I = 0; I < m; I++) {
|
|
1669
|
+
let J = 0;
|
|
1670
|
+
for (let V = k; V < B; V++) J += v[I].codeLengths[u[V]] || 20;
|
|
1671
|
+
J < M && (M = J, C = I);
|
|
1672
|
+
}
|
|
1673
|
+
b[w] = C;
|
|
1674
|
+
for (let I = k; I < B; I++) x[C][u[I]]++;
|
|
1675
|
+
}
|
|
1676
|
+
for (let w = 0; w < m; w++) E(x[w]), v[w] = Ne(x[w], g, 20);
|
|
1677
|
+
}
|
|
1678
|
+
e.writeBits(3, m), e.writeBits(15, p);
|
|
1679
|
+
let $ = [], z = [];
|
|
1680
|
+
for (let h = 0; h < m; h++) z.push(h);
|
|
1681
|
+
for (let h = 0; h < p; h++) {
|
|
1682
|
+
let w = b[h], k = 0;
|
|
1683
|
+
for (; z[k] !== w;) k++;
|
|
1684
|
+
if ($.push(k), k > 0) {
|
|
1685
|
+
let B = z[k];
|
|
1686
|
+
for (let C = k; C > 0; C--) z[C] = z[C - 1];
|
|
1687
|
+
z[0] = B;
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
for (let h = 0; h < p; h++) {
|
|
1691
|
+
for (let w = 0; w < $[h]; w++) e.writeBit(1);
|
|
1692
|
+
e.writeBit(0);
|
|
1693
|
+
}
|
|
1694
|
+
for (let h = 0; h < m; h++) {
|
|
1695
|
+
let w = v[h].codeLengths, k = w[0];
|
|
1696
|
+
e.writeBits(5, k);
|
|
1697
|
+
for (let B = 0; B < g; B++) {
|
|
1698
|
+
let C = w[B];
|
|
1699
|
+
for (; k < C;) e.writeBit(1), e.writeBit(0), k++;
|
|
1700
|
+
for (; k > C;) e.writeBit(1), e.writeBit(1), k--;
|
|
1701
|
+
e.writeBit(0);
|
|
1702
|
+
}
|
|
1703
|
+
}
|
|
1704
|
+
for (let h = 0; h < m; h++) {
|
|
1705
|
+
let { codes: w, lengths: k } = kt(v[h].codeLengths, g);
|
|
1706
|
+
v[h] = Object.assign(v[h], {
|
|
1707
|
+
_codes: w,
|
|
1708
|
+
_lengths: k
|
|
1709
|
+
});
|
|
1710
|
+
}
|
|
1711
|
+
let he = 0, R = 0;
|
|
1712
|
+
for (let h = 0; h < y; h++) {
|
|
1713
|
+
(R === 0 || R >= d) && (h > 0 && he++, R = 0);
|
|
1714
|
+
let k = v[b[he]], B = u[h], C = k._lengths[B], M = k._codes[B];
|
|
1715
|
+
C > 0 && e.writeBits(C, M), R++;
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
var Ct = 10 * 1024 * 1024;
|
|
1719
|
+
function Le(e, t = 9, i = Ct) {
|
|
1720
|
+
if (t < 1 || t > 9) throw new Error("Block size level must be 1-9");
|
|
1721
|
+
if (e.length > i) throw new Error(`Input too large for bzip2 compression (${e.length} bytes, max ${i})`);
|
|
1722
|
+
let r = t * 1e5, n = new ie();
|
|
1723
|
+
n.writeBits(8, 66), n.writeBits(8, 90), n.writeBits(8, 104), n.writeBits(8, 48 + t);
|
|
1724
|
+
let s = 0, a = 0;
|
|
1725
|
+
for (; a < e.length;) {
|
|
1726
|
+
let o = Math.min(a + r, e.length), c = e.subarray(a, o), l = 4294967295;
|
|
1727
|
+
for (let f = 0; f < c.length; f++) l = gt(l, c[f]);
|
|
1728
|
+
l = ~l >>> 0, s = (s << 1 | s >>> 31) >>> 0, s = (s ^ l) >>> 0, zt(n, c, l), a = o;
|
|
1729
|
+
}
|
|
1730
|
+
return n.writeBits(24, 1536581), n.writeBits(24, 3690640), n.writeBits(32, s), n.finish();
|
|
1731
|
+
}
|
|
1732
|
+
var X = null, Z = null;
|
|
1733
|
+
async function Me() {
|
|
1734
|
+
if (X) return X;
|
|
1735
|
+
if (Z) throw Z;
|
|
1736
|
+
try {
|
|
1737
|
+
return X = await _$1.runTrustedAsync(() => import("./lzma-CTMDi254.mjs")), X;
|
|
1738
|
+
} catch {
|
|
1739
|
+
throw Z = /* @__PURE__ */ new Error("xz compression requires node-liblzma which failed to load. Install liblzma-dev (apt) or xz (brew) and reinstall dependencies."), Z;
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
var G = null, q = null;
|
|
1743
|
+
async function We() {
|
|
1744
|
+
if (G) return G;
|
|
1745
|
+
if (q) throw q;
|
|
1746
|
+
try {
|
|
1747
|
+
return G = await _$1.runTrustedAsync(() => import("./lib-D4GpdNNK.mjs").then((m) => /* @__PURE__ */ __toESM(m.default, 1))), G;
|
|
1748
|
+
} catch {
|
|
1749
|
+
throw q = /* @__PURE__ */ new Error("zstd compression requires @mongodb-js/zstd which is not installed. Install it with: npm install @mongodb-js/zstd"), q;
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
var A = 100 * 1024 * 1024, De = 512, Re = 1e4;
|
|
1753
|
+
function Et(e) {
|
|
1754
|
+
let t = "file";
|
|
1755
|
+
e.isDirectory ? t = "directory" : e.isSymlink && (t = "symlink");
|
|
1756
|
+
let i = e.name;
|
|
1757
|
+
e.isDirectory && !i.endsWith("/") && (i += "/");
|
|
1758
|
+
let r;
|
|
1759
|
+
e.content !== void 0 && (typeof e.content == "string" ? r = new TextEncoder().encode(e.content) : r = e.content);
|
|
1760
|
+
let n = e.isDirectory || e.isSymlink ? 0 : r?.length ?? 0;
|
|
1761
|
+
return {
|
|
1762
|
+
header: {
|
|
1763
|
+
name: i,
|
|
1764
|
+
mode: e.mode ?? (e.isDirectory ? 493 : 420),
|
|
1765
|
+
uid: e.uid ?? 0,
|
|
1766
|
+
gid: e.gid ?? 0,
|
|
1767
|
+
size: n,
|
|
1768
|
+
mtime: e.mtime ?? /* @__PURE__ */ new Date(),
|
|
1769
|
+
type: t,
|
|
1770
|
+
linkname: e.linkTarget ?? "",
|
|
1771
|
+
uname: "user",
|
|
1772
|
+
gname: "user"
|
|
1773
|
+
},
|
|
1774
|
+
body: r
|
|
1775
|
+
};
|
|
1776
|
+
}
|
|
1777
|
+
async function O(e) {
|
|
1778
|
+
return Oe(e.map(Et));
|
|
1779
|
+
}
|
|
1780
|
+
async function je(e) {
|
|
1781
|
+
let t = await O(e), n = new ReadableStream({ start(l) {
|
|
1782
|
+
l.enqueue(t), l.close();
|
|
1783
|
+
} }).pipeThrough(Fe()).getReader(), s = [];
|
|
1784
|
+
for (;;) {
|
|
1785
|
+
let { done: l, value: f } = await n.read();
|
|
1786
|
+
if (l) break;
|
|
1787
|
+
s.push(f);
|
|
1788
|
+
}
|
|
1789
|
+
let a = s.reduce((l, f) => l + f.length, 0), o = new Uint8Array(a), c = 0;
|
|
1790
|
+
for (let l of s) o.set(l, c), c += l.length;
|
|
1791
|
+
return o;
|
|
1792
|
+
}
|
|
1793
|
+
async function F(e) {
|
|
1794
|
+
if (e.length > A) return {
|
|
1795
|
+
entries: [],
|
|
1796
|
+
error: `Archive too large (max ${A} bytes)`
|
|
1797
|
+
};
|
|
1798
|
+
if (e.length < De || e.length % De !== 0) return {
|
|
1799
|
+
entries: [],
|
|
1800
|
+
error: "Invalid tar archive format"
|
|
1801
|
+
};
|
|
1802
|
+
try {
|
|
1803
|
+
let t = await Ue(e), i = [];
|
|
1804
|
+
for (let r of t) {
|
|
1805
|
+
if (i.length >= Re) return {
|
|
1806
|
+
entries: i,
|
|
1807
|
+
error: `Too many entries (max ${Re})`
|
|
1808
|
+
};
|
|
1809
|
+
let n = "file";
|
|
1810
|
+
switch (r.header.type) {
|
|
1811
|
+
case "directory":
|
|
1812
|
+
n = "directory";
|
|
1813
|
+
break;
|
|
1814
|
+
case "symlink":
|
|
1815
|
+
n = "symlink";
|
|
1816
|
+
break;
|
|
1817
|
+
case "link":
|
|
1818
|
+
n = "hardlink";
|
|
1819
|
+
break;
|
|
1820
|
+
case "file":
|
|
1821
|
+
n = "file";
|
|
1822
|
+
break;
|
|
1823
|
+
default: n = "other";
|
|
1824
|
+
}
|
|
1825
|
+
i.push({
|
|
1826
|
+
name: r.header.name,
|
|
1827
|
+
mode: r.header.mode ?? 420,
|
|
1828
|
+
uid: r.header.uid ?? 0,
|
|
1829
|
+
gid: r.header.gid ?? 0,
|
|
1830
|
+
size: r.header.size,
|
|
1831
|
+
mtime: r.header.mtime ?? /* @__PURE__ */ new Date(),
|
|
1832
|
+
type: n,
|
|
1833
|
+
linkTarget: r.header.linkname || void 0,
|
|
1834
|
+
content: r.data ?? new Uint8Array(0)
|
|
1835
|
+
});
|
|
1836
|
+
}
|
|
1837
|
+
return { entries: i };
|
|
1838
|
+
} catch (t) {
|
|
1839
|
+
return {
|
|
1840
|
+
entries: [],
|
|
1841
|
+
error: t instanceof Error ? t.message : "Unknown error"
|
|
1842
|
+
};
|
|
1843
|
+
}
|
|
1844
|
+
}
|
|
1845
|
+
async function se(e) {
|
|
1846
|
+
if (e.length > A) return {
|
|
1847
|
+
entries: [],
|
|
1848
|
+
error: `Archive too large (max ${A} bytes)`
|
|
1849
|
+
};
|
|
1850
|
+
try {
|
|
1851
|
+
let r = new ReadableStream({ start(c) {
|
|
1852
|
+
c.enqueue(e), c.close();
|
|
1853
|
+
} }).pipeThrough(Ie()).getReader(), n = [], s = 0;
|
|
1854
|
+
for (;;) {
|
|
1855
|
+
let { done: c, value: l } = await r.read();
|
|
1856
|
+
if (c) break;
|
|
1857
|
+
if (s += l.length, s > A) return await r.cancel(), {
|
|
1858
|
+
entries: [],
|
|
1859
|
+
error: `Decompressed archive too large (max ${A} bytes)`
|
|
1860
|
+
};
|
|
1861
|
+
n.push(l);
|
|
1862
|
+
}
|
|
1863
|
+
let a = new Uint8Array(s), o = 0;
|
|
1864
|
+
for (let c of n) a.set(c, o), o += c.length;
|
|
1865
|
+
return F(a);
|
|
1866
|
+
} catch (t) {
|
|
1867
|
+
return {
|
|
1868
|
+
entries: [],
|
|
1869
|
+
error: `Decompression failed: ${t instanceof Error ? t.message : "Unknown error"}`
|
|
1870
|
+
};
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
function oe(e) {
|
|
1874
|
+
return e.length >= 2 && e[0] === 31 && e[1] === 139;
|
|
1875
|
+
}
|
|
1876
|
+
function ae(e) {
|
|
1877
|
+
return e.length >= 3 && e[0] === 66 && e[1] === 90 && e[2] === 104;
|
|
1878
|
+
}
|
|
1879
|
+
function le(e) {
|
|
1880
|
+
return e.length >= 6 && e[0] === 253 && e[1] === 55 && e[2] === 122 && e[3] === 88 && e[4] === 90 && e[5] === 0;
|
|
1881
|
+
}
|
|
1882
|
+
async function $t(e) {
|
|
1883
|
+
let t = import_lib.default.decode(Buffer.from(e));
|
|
1884
|
+
return new Uint8Array(t);
|
|
1885
|
+
}
|
|
1886
|
+
async function Bt(e) {
|
|
1887
|
+
return Le(e, 9);
|
|
1888
|
+
}
|
|
1889
|
+
async function Tt(e) {
|
|
1890
|
+
let i = (await Me()).unxzSync(Buffer.from(e));
|
|
1891
|
+
return new Uint8Array(i);
|
|
1892
|
+
}
|
|
1893
|
+
async function St(e) {
|
|
1894
|
+
let i = (await Me()).xzSync(Buffer.from(e));
|
|
1895
|
+
return new Uint8Array(i);
|
|
1896
|
+
}
|
|
1897
|
+
async function He(e) {
|
|
1898
|
+
return Bt(await O(e));
|
|
1899
|
+
}
|
|
1900
|
+
async function _e(e, t) {
|
|
1901
|
+
if (!t?.allowNativeCodecs) throw new Error("xz compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.");
|
|
1902
|
+
return St(await O(e));
|
|
1903
|
+
}
|
|
1904
|
+
async function ce(e) {
|
|
1905
|
+
if (e.length > A) return {
|
|
1906
|
+
entries: [],
|
|
1907
|
+
error: `Archive too large (max ${A} bytes)`
|
|
1908
|
+
};
|
|
1909
|
+
try {
|
|
1910
|
+
let t = await $t(e);
|
|
1911
|
+
return t.length > A ? {
|
|
1912
|
+
entries: [],
|
|
1913
|
+
error: `Decompressed archive too large (max ${A} bytes)`
|
|
1914
|
+
} : F(t);
|
|
1915
|
+
} catch (t) {
|
|
1916
|
+
return {
|
|
1917
|
+
entries: [],
|
|
1918
|
+
error: t instanceof Error ? t.message : "Unknown error"
|
|
1919
|
+
};
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
async function fe(e, t) {
|
|
1923
|
+
if (!t?.allowNativeCodecs) return {
|
|
1924
|
+
entries: [],
|
|
1925
|
+
error: "xz decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction."
|
|
1926
|
+
};
|
|
1927
|
+
if (e.length > A) return {
|
|
1928
|
+
entries: [],
|
|
1929
|
+
error: `Archive too large (max ${A} bytes)`
|
|
1930
|
+
};
|
|
1931
|
+
try {
|
|
1932
|
+
let i = await Tt(e);
|
|
1933
|
+
return i.length > A ? {
|
|
1934
|
+
entries: [],
|
|
1935
|
+
error: `Decompressed archive too large (max ${A} bytes)`
|
|
1936
|
+
} : F(i);
|
|
1937
|
+
} catch (i) {
|
|
1938
|
+
return {
|
|
1939
|
+
entries: [],
|
|
1940
|
+
error: i instanceof Error ? i.message : "Unknown error"
|
|
1941
|
+
};
|
|
1942
|
+
}
|
|
1943
|
+
}
|
|
1944
|
+
function ue(e) {
|
|
1945
|
+
return e.length >= 4 && e[0] === 40 && e[1] === 181 && e[2] === 47 && e[3] === 253;
|
|
1946
|
+
}
|
|
1947
|
+
async function Ft(e) {
|
|
1948
|
+
let i = await (await We()).compress(Buffer.from(e), 3);
|
|
1949
|
+
return new Uint8Array(i);
|
|
1950
|
+
}
|
|
1951
|
+
async function It(e) {
|
|
1952
|
+
let i = await (await We()).decompress(Buffer.from(e));
|
|
1953
|
+
return new Uint8Array(i);
|
|
1954
|
+
}
|
|
1955
|
+
async function Xe(e, t) {
|
|
1956
|
+
if (!t?.allowNativeCodecs) throw new Error("zstd compression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in.");
|
|
1957
|
+
return Ft(await O(e));
|
|
1958
|
+
}
|
|
1959
|
+
async function de(e, t) {
|
|
1960
|
+
if (!t?.allowNativeCodecs) return {
|
|
1961
|
+
entries: [],
|
|
1962
|
+
error: "zstd decompression is disabled by default (native codec risk). Pass { allowNativeCodecs: true } to opt in, or decompress the archive externally before extraction."
|
|
1963
|
+
};
|
|
1964
|
+
if (e.length > A) return {
|
|
1965
|
+
entries: [],
|
|
1966
|
+
error: `Archive too large (max ${A} bytes)`
|
|
1967
|
+
};
|
|
1968
|
+
try {
|
|
1969
|
+
let i = await It(e);
|
|
1970
|
+
return i.length > A ? {
|
|
1971
|
+
entries: [],
|
|
1972
|
+
error: `Decompressed archive too large (max ${A} bytes)`
|
|
1973
|
+
} : F(i);
|
|
1974
|
+
} catch (i) {
|
|
1975
|
+
return {
|
|
1976
|
+
entries: [],
|
|
1977
|
+
error: i instanceof Error ? i.message : "Unknown error"
|
|
1978
|
+
};
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
function Ze(e) {
|
|
1982
|
+
let t = {
|
|
1983
|
+
create: !1,
|
|
1984
|
+
append: !1,
|
|
1985
|
+
update: !1,
|
|
1986
|
+
extract: !1,
|
|
1987
|
+
list: !1,
|
|
1988
|
+
file: "",
|
|
1989
|
+
autoCompress: !1,
|
|
1990
|
+
gzip: !1,
|
|
1991
|
+
bzip2: !1,
|
|
1992
|
+
xz: !1,
|
|
1993
|
+
zstd: !1,
|
|
1994
|
+
verbose: !1,
|
|
1995
|
+
toStdout: !1,
|
|
1996
|
+
keepOldFiles: !1,
|
|
1997
|
+
touch: !1,
|
|
1998
|
+
directory: "",
|
|
1999
|
+
preserve: !1,
|
|
2000
|
+
absoluteNames: !1,
|
|
2001
|
+
strip: 0,
|
|
2002
|
+
exclude: [],
|
|
2003
|
+
filesFrom: "",
|
|
2004
|
+
excludeFrom: "",
|
|
2005
|
+
wildcards: !1
|
|
2006
|
+
}, i = [], r$1 = 0;
|
|
2007
|
+
for (; r$1 < e.length;) {
|
|
2008
|
+
let n = e[r$1];
|
|
2009
|
+
if (n.startsWith("-") && !n.startsWith("--") && n.length > 2) {
|
|
2010
|
+
if (/^-\d+$/.test(n)) {
|
|
2011
|
+
i.push(n), r$1++;
|
|
2012
|
+
continue;
|
|
2013
|
+
}
|
|
2014
|
+
for (let s = 1; s < n.length; s++) {
|
|
2015
|
+
let a = n[s];
|
|
2016
|
+
switch (a) {
|
|
2017
|
+
case "c":
|
|
2018
|
+
t.create = !0;
|
|
2019
|
+
break;
|
|
2020
|
+
case "r":
|
|
2021
|
+
t.append = !0;
|
|
2022
|
+
break;
|
|
2023
|
+
case "u":
|
|
2024
|
+
t.update = !0;
|
|
2025
|
+
break;
|
|
2026
|
+
case "x":
|
|
2027
|
+
t.extract = !0;
|
|
2028
|
+
break;
|
|
2029
|
+
case "t":
|
|
2030
|
+
t.list = !0;
|
|
2031
|
+
break;
|
|
2032
|
+
case "a":
|
|
2033
|
+
t.autoCompress = !0;
|
|
2034
|
+
break;
|
|
2035
|
+
case "z":
|
|
2036
|
+
t.gzip = !0;
|
|
2037
|
+
break;
|
|
2038
|
+
case "j":
|
|
2039
|
+
t.bzip2 = !0;
|
|
2040
|
+
break;
|
|
2041
|
+
case "J":
|
|
2042
|
+
t.xz = !0;
|
|
2043
|
+
break;
|
|
2044
|
+
case "v":
|
|
2045
|
+
t.verbose = !0;
|
|
2046
|
+
break;
|
|
2047
|
+
case "O":
|
|
2048
|
+
t.toStdout = !0;
|
|
2049
|
+
break;
|
|
2050
|
+
case "k":
|
|
2051
|
+
t.keepOldFiles = !0;
|
|
2052
|
+
break;
|
|
2053
|
+
case "m":
|
|
2054
|
+
t.touch = !0;
|
|
2055
|
+
break;
|
|
2056
|
+
case "p":
|
|
2057
|
+
t.preserve = !0;
|
|
2058
|
+
break;
|
|
2059
|
+
case "P":
|
|
2060
|
+
t.absoluteNames = !0;
|
|
2061
|
+
break;
|
|
2062
|
+
case "f":
|
|
2063
|
+
if (s < n.length - 1) t.file = n.substring(s + 1), s = n.length;
|
|
2064
|
+
else {
|
|
2065
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2066
|
+
ok: !1,
|
|
2067
|
+
error: {
|
|
2068
|
+
stdout: "",
|
|
2069
|
+
stderr: `tar: option requires an argument -- 'f'
|
|
2070
|
+
`,
|
|
2071
|
+
exitCode: 2
|
|
2072
|
+
}
|
|
2073
|
+
};
|
|
2074
|
+
t.file = e[r$1];
|
|
2075
|
+
}
|
|
2076
|
+
break;
|
|
2077
|
+
case "C":
|
|
2078
|
+
if (s < n.length - 1) t.directory = n.substring(s + 1), s = n.length;
|
|
2079
|
+
else {
|
|
2080
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2081
|
+
ok: !1,
|
|
2082
|
+
error: {
|
|
2083
|
+
stdout: "",
|
|
2084
|
+
stderr: `tar: option requires an argument -- 'C'
|
|
2085
|
+
`,
|
|
2086
|
+
exitCode: 2
|
|
2087
|
+
}
|
|
2088
|
+
};
|
|
2089
|
+
t.directory = e[r$1];
|
|
2090
|
+
}
|
|
2091
|
+
break;
|
|
2092
|
+
case "T":
|
|
2093
|
+
if (s < n.length - 1) t.filesFrom = n.substring(s + 1), s = n.length;
|
|
2094
|
+
else {
|
|
2095
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2096
|
+
ok: !1,
|
|
2097
|
+
error: {
|
|
2098
|
+
stdout: "",
|
|
2099
|
+
stderr: `tar: option requires an argument -- 'T'
|
|
2100
|
+
`,
|
|
2101
|
+
exitCode: 2
|
|
2102
|
+
}
|
|
2103
|
+
};
|
|
2104
|
+
t.filesFrom = e[r$1];
|
|
2105
|
+
}
|
|
2106
|
+
break;
|
|
2107
|
+
case "X":
|
|
2108
|
+
if (s < n.length - 1) t.excludeFrom = n.substring(s + 1), s = n.length;
|
|
2109
|
+
else {
|
|
2110
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2111
|
+
ok: !1,
|
|
2112
|
+
error: {
|
|
2113
|
+
stdout: "",
|
|
2114
|
+
stderr: `tar: option requires an argument -- 'X'
|
|
2115
|
+
`,
|
|
2116
|
+
exitCode: 2
|
|
2117
|
+
}
|
|
2118
|
+
};
|
|
2119
|
+
t.excludeFrom = e[r$1];
|
|
2120
|
+
}
|
|
2121
|
+
break;
|
|
2122
|
+
default: return {
|
|
2123
|
+
ok: !1,
|
|
2124
|
+
error: r("tar", `-${a}`)
|
|
2125
|
+
};
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
r$1++;
|
|
2129
|
+
continue;
|
|
2130
|
+
}
|
|
2131
|
+
if (n === "-c" || n === "--create") t.create = !0;
|
|
2132
|
+
else if (n === "-r" || n === "--append") t.append = !0;
|
|
2133
|
+
else if (n === "-u" || n === "--update") t.update = !0;
|
|
2134
|
+
else if (n === "-x" || n === "--extract" || n === "--get") t.extract = !0;
|
|
2135
|
+
else if (n === "-t" || n === "--list") t.list = !0;
|
|
2136
|
+
else if (n === "-a" || n === "--auto-compress") t.autoCompress = !0;
|
|
2137
|
+
else if (n === "-z" || n === "--gzip" || n === "--gunzip") t.gzip = !0;
|
|
2138
|
+
else if (n === "-j" || n === "--bzip2") t.bzip2 = !0;
|
|
2139
|
+
else if (n === "-J" || n === "--xz") t.xz = !0;
|
|
2140
|
+
else if (n === "--zstd") t.zstd = !0;
|
|
2141
|
+
else if (n === "-v" || n === "--verbose") t.verbose = !0;
|
|
2142
|
+
else if (n === "-O" || n === "--to-stdout") t.toStdout = !0;
|
|
2143
|
+
else if (n === "-k" || n === "--keep-old-files") t.keepOldFiles = !0;
|
|
2144
|
+
else if (n === "-m" || n === "--touch") t.touch = !0;
|
|
2145
|
+
else if (n === "--wildcards") t.wildcards = !0;
|
|
2146
|
+
else if (n === "-p" || n === "--preserve" || n === "--preserve-permissions") t.preserve = !0;
|
|
2147
|
+
else if (n === "-P" || n === "--absolute-names") t.absoluteNames = !0;
|
|
2148
|
+
else if (n === "-f" || n === "--file") {
|
|
2149
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2150
|
+
ok: !1,
|
|
2151
|
+
error: {
|
|
2152
|
+
stdout: "",
|
|
2153
|
+
stderr: `tar: option requires an argument -- 'f'
|
|
2154
|
+
`,
|
|
2155
|
+
exitCode: 2
|
|
2156
|
+
}
|
|
2157
|
+
};
|
|
2158
|
+
t.file = e[r$1];
|
|
2159
|
+
} else if (n.startsWith("--file=")) t.file = n.substring(7);
|
|
2160
|
+
else if (n === "-C" || n === "--directory") {
|
|
2161
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2162
|
+
ok: !1,
|
|
2163
|
+
error: {
|
|
2164
|
+
stdout: "",
|
|
2165
|
+
stderr: `tar: option requires an argument -- 'C'
|
|
2166
|
+
`,
|
|
2167
|
+
exitCode: 2
|
|
2168
|
+
}
|
|
2169
|
+
};
|
|
2170
|
+
t.directory = e[r$1];
|
|
2171
|
+
} else if (n.startsWith("--directory=")) t.directory = n.substring(12);
|
|
2172
|
+
else if (n.startsWith("--strip-components=") || n.startsWith("--strip=")) {
|
|
2173
|
+
let s = n.includes("--strip-components=") ? n.substring(19) : n.substring(8), a = parseInt(s, 10);
|
|
2174
|
+
if (Number.isNaN(a) || a < 0) return {
|
|
2175
|
+
ok: !1,
|
|
2176
|
+
error: {
|
|
2177
|
+
stdout: "",
|
|
2178
|
+
stderr: `tar: invalid number for --strip: '${s}'
|
|
2179
|
+
`,
|
|
2180
|
+
exitCode: 2
|
|
2181
|
+
}
|
|
2182
|
+
};
|
|
2183
|
+
t.strip = a;
|
|
2184
|
+
} else if (n.startsWith("--exclude=")) t.exclude.push(n.substring(10));
|
|
2185
|
+
else if (n === "--exclude") {
|
|
2186
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2187
|
+
ok: !1,
|
|
2188
|
+
error: {
|
|
2189
|
+
stdout: "",
|
|
2190
|
+
stderr: `tar: option '--exclude' requires an argument
|
|
2191
|
+
`,
|
|
2192
|
+
exitCode: 2
|
|
2193
|
+
}
|
|
2194
|
+
};
|
|
2195
|
+
t.exclude.push(e[r$1]);
|
|
2196
|
+
} else if (n === "-T" || n === "--files-from") {
|
|
2197
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2198
|
+
ok: !1,
|
|
2199
|
+
error: {
|
|
2200
|
+
stdout: "",
|
|
2201
|
+
stderr: `tar: option requires an argument -- 'T'
|
|
2202
|
+
`,
|
|
2203
|
+
exitCode: 2
|
|
2204
|
+
}
|
|
2205
|
+
};
|
|
2206
|
+
t.filesFrom = e[r$1];
|
|
2207
|
+
} else if (n.startsWith("--files-from=")) t.filesFrom = n.substring(13);
|
|
2208
|
+
else if (n === "-X" || n === "--exclude-from") {
|
|
2209
|
+
if (r$1++, r$1 >= e.length) return {
|
|
2210
|
+
ok: !1,
|
|
2211
|
+
error: {
|
|
2212
|
+
stdout: "",
|
|
2213
|
+
stderr: `tar: option requires an argument -- 'X'
|
|
2214
|
+
`,
|
|
2215
|
+
exitCode: 2
|
|
2216
|
+
}
|
|
2217
|
+
};
|
|
2218
|
+
t.excludeFrom = e[r$1];
|
|
2219
|
+
} else if (n.startsWith("--exclude-from=")) t.excludeFrom = n.substring(15);
|
|
2220
|
+
else if (n === "--") {
|
|
2221
|
+
i.push(...e.slice(r$1 + 1));
|
|
2222
|
+
break;
|
|
2223
|
+
} else {
|
|
2224
|
+
if (n.startsWith("-")) return {
|
|
2225
|
+
ok: !1,
|
|
2226
|
+
error: r("tar", n)
|
|
2227
|
+
};
|
|
2228
|
+
i.push(n);
|
|
2229
|
+
}
|
|
2230
|
+
r$1++;
|
|
2231
|
+
}
|
|
2232
|
+
return {
|
|
2233
|
+
ok: !0,
|
|
2234
|
+
options: t,
|
|
2235
|
+
files: i
|
|
2236
|
+
};
|
|
2237
|
+
}
|
|
2238
|
+
var Ge = 100, Pt = {
|
|
2239
|
+
name: "tar",
|
|
2240
|
+
summary: "manipulate tape archives",
|
|
2241
|
+
usage: "tar [options] [file...]",
|
|
2242
|
+
description: [
|
|
2243
|
+
"Create, extract, or list contents of tar archives.",
|
|
2244
|
+
"",
|
|
2245
|
+
"One of -c, -r, -u, -x, or -t is required to specify the operation."
|
|
2246
|
+
],
|
|
2247
|
+
options: [
|
|
2248
|
+
"-c, --create create a new archive",
|
|
2249
|
+
"-r, --append append files to the end of an archive",
|
|
2250
|
+
"-u, --update only append files newer than copy in archive",
|
|
2251
|
+
"-x, --extract extract files from an archive",
|
|
2252
|
+
"-t, --list list contents of an archive",
|
|
2253
|
+
"-f, --file=ARCHIVE use archive file ARCHIVE",
|
|
2254
|
+
"-a, --auto-compress use archive suffix to determine compression",
|
|
2255
|
+
"-z, --gzip filter archive through gzip",
|
|
2256
|
+
"-j, --bzip2 filter archive through bzip2",
|
|
2257
|
+
"-J, --xz filter archive through xz",
|
|
2258
|
+
"--zstd filter archive through zstd",
|
|
2259
|
+
"-v, --verbose verbosely list files processed",
|
|
2260
|
+
"-O, --to-stdout extract files to standard output",
|
|
2261
|
+
"-k, --keep-old-files don't replace existing files when extracting",
|
|
2262
|
+
"-m, --touch don't extract file modified time",
|
|
2263
|
+
"-C, --directory=DIR change to directory DIR before performing operations",
|
|
2264
|
+
"-p, --preserve preserve permissions",
|
|
2265
|
+
"-P, --absolute-names do not strip leading '/' or block '..' paths",
|
|
2266
|
+
"-T, --files-from=FILE read files to extract/create from FILE",
|
|
2267
|
+
"-X, --exclude-from=FILE read exclude patterns from FILE",
|
|
2268
|
+
"--strip=N strip N leading path components on extraction",
|
|
2269
|
+
"--exclude=PATTERN exclude files matching PATTERN",
|
|
2270
|
+
"--wildcards use wildcards for pattern matching",
|
|
2271
|
+
" --help display this help and exit"
|
|
2272
|
+
],
|
|
2273
|
+
examples: [
|
|
2274
|
+
"tar -cvf archive.tar file1 file2 Create archive from files",
|
|
2275
|
+
"tar -czvf archive.tar.gz dir/ Create gzip-compressed archive",
|
|
2276
|
+
"tar -cjvf archive.tar.bz2 dir/ Create bzip2-compressed archive",
|
|
2277
|
+
"tar -rf archive.tar newfile.txt Append file to archive",
|
|
2278
|
+
"tar -uf archive.tar dir/ Update archive with newer files",
|
|
2279
|
+
"tar -xvf archive.tar Extract archive",
|
|
2280
|
+
"tar -xvf archive.tar -C /tmp Extract to /tmp",
|
|
2281
|
+
"tar -tvf archive.tar List archive contents",
|
|
2282
|
+
"tar -xzf archive.tar.gz Extract gzip archive",
|
|
2283
|
+
"tar -xf archive.tar file1.txt Extract specific file",
|
|
2284
|
+
"tar -xOf archive.tar file.txt Extract file to stdout",
|
|
2285
|
+
"tar -xf archive.tar --wildcards '*.txt' Extract matching files"
|
|
2286
|
+
]
|
|
2287
|
+
};
|
|
2288
|
+
function me(e, t) {
|
|
2289
|
+
let i = e.includes("/") ? e.substring(e.lastIndexOf("/") + 1) : e;
|
|
2290
|
+
for (let r of t) {
|
|
2291
|
+
let n = r.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*\*/g, "<<<GLOBSTAR>>>").replace(/\*/g, "[^/]*").replace(/<<<GLOBSTAR>>>/g, ".*").replace(/\?/g, ".");
|
|
2292
|
+
if (I1(`^${n}$`).test(e) || I1(`^${n}/`).test(e) || !r.includes("/") && I1(`^${n}$`).test(i)) return !0;
|
|
2293
|
+
}
|
|
2294
|
+
return !1;
|
|
2295
|
+
}
|
|
2296
|
+
function Y(e, t) {
|
|
2297
|
+
let i = t.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*\*/g, "<<<GLOBSTAR>>>").replace(/\*/g, "[^/]*").replace(/<<<GLOBSTAR>>>/g, ".*").replace(/\?/g, "."), r = e.includes("/") ? e.substring(e.lastIndexOf("/") + 1) : e;
|
|
2298
|
+
return I1(`^${i}$`).test(e) || I1(`^${i}$`).test(r);
|
|
2299
|
+
}
|
|
2300
|
+
function qe(e, t) {
|
|
2301
|
+
if (t <= 0) return e;
|
|
2302
|
+
let i = e.split("/").filter((r) => r !== "");
|
|
2303
|
+
return i.length <= t ? "" : i.slice(t).join("/");
|
|
2304
|
+
}
|
|
2305
|
+
function Ye(e) {
|
|
2306
|
+
return e.split("/").some((t) => t === "..");
|
|
2307
|
+
}
|
|
2308
|
+
function Ot(e, t) {
|
|
2309
|
+
if (t) return { safePath: e };
|
|
2310
|
+
let i = e.replace(/^\/+/, "");
|
|
2311
|
+
return i.length === 0 ? { safePath: "" } : Ye(i) ? { error: "Path contains '..'" } : { safePath: i };
|
|
2312
|
+
}
|
|
2313
|
+
function Ut(e) {
|
|
2314
|
+
return `${[
|
|
2315
|
+
"Jan",
|
|
2316
|
+
"Feb",
|
|
2317
|
+
"Mar",
|
|
2318
|
+
"Apr",
|
|
2319
|
+
"May",
|
|
2320
|
+
"Jun",
|
|
2321
|
+
"Jul",
|
|
2322
|
+
"Aug",
|
|
2323
|
+
"Sep",
|
|
2324
|
+
"Oct",
|
|
2325
|
+
"Nov",
|
|
2326
|
+
"Dec"
|
|
2327
|
+
][e.getMonth()]} ${e.getDate().toString().padStart(2, " ")} ${e.getHours().toString().padStart(2, "0")}:${e.getMinutes().toString().padStart(2, "0")}`;
|
|
2328
|
+
}
|
|
2329
|
+
async function K(e, t, i, r) {
|
|
2330
|
+
let n = [], s = [], a = e.fs.resolvePath(t, i);
|
|
2331
|
+
try {
|
|
2332
|
+
let o = await e.fs.stat(a);
|
|
2333
|
+
if (me(i, r)) return {
|
|
2334
|
+
entries: n,
|
|
2335
|
+
errors: s
|
|
2336
|
+
};
|
|
2337
|
+
if (o.isDirectory) {
|
|
2338
|
+
n.push({
|
|
2339
|
+
name: i,
|
|
2340
|
+
isDirectory: !0,
|
|
2341
|
+
mode: o.mode,
|
|
2342
|
+
mtime: o.mtime
|
|
2343
|
+
});
|
|
2344
|
+
let c = await e.fs.readdir(a);
|
|
2345
|
+
for (let l = 0; l < c.length; l += Ge) {
|
|
2346
|
+
let f = c.slice(l, l + Ge), u = await Promise.all(f.map((y) => K(e, t, i ? `${i}/${y}` : y, r)));
|
|
2347
|
+
for (let y of u) n.push(...y.entries), s.push(...y.errors);
|
|
2348
|
+
}
|
|
2349
|
+
} else if (o.isFile) {
|
|
2350
|
+
let c = await e.fs.readFileBuffer(a);
|
|
2351
|
+
n.push({
|
|
2352
|
+
name: i,
|
|
2353
|
+
content: c,
|
|
2354
|
+
mode: o.mode,
|
|
2355
|
+
mtime: o.mtime
|
|
2356
|
+
});
|
|
2357
|
+
} else if (o.isSymbolicLink) {
|
|
2358
|
+
let c = await e.fs.readlink(a);
|
|
2359
|
+
n.push({
|
|
2360
|
+
name: i,
|
|
2361
|
+
isSymlink: !0,
|
|
2362
|
+
linkTarget: c,
|
|
2363
|
+
mode: o.mode,
|
|
2364
|
+
mtime: o.mtime
|
|
2365
|
+
});
|
|
2366
|
+
}
|
|
2367
|
+
} catch (o) {
|
|
2368
|
+
let c = o instanceof Error ? o.message : "unknown error";
|
|
2369
|
+
s.push(`tar: ${i}: ${c}`);
|
|
2370
|
+
}
|
|
2371
|
+
return {
|
|
2372
|
+
entries: n,
|
|
2373
|
+
errors: s
|
|
2374
|
+
};
|
|
2375
|
+
}
|
|
2376
|
+
async function Nt(e, t, i) {
|
|
2377
|
+
if (i.length === 0) return {
|
|
2378
|
+
stdout: "",
|
|
2379
|
+
stderr: `tar: Cowardly refusing to create an empty archive
|
|
2380
|
+
`,
|
|
2381
|
+
exitCode: 2
|
|
2382
|
+
};
|
|
2383
|
+
let r = t.directory ? e.fs.resolvePath(e.cwd, t.directory) : e.cwd, n = [], s = [], a = "";
|
|
2384
|
+
for (let f of i) {
|
|
2385
|
+
let { entries: u, errors: y } = await K(e, r, f, t.exclude);
|
|
2386
|
+
if (n.push(...u), s.push(...y), t.verbose) for (let g of u) a += `${g.name}${g.isDirectory ? "/" : ""}
|
|
2387
|
+
`;
|
|
2388
|
+
}
|
|
2389
|
+
if (n.length === 0 && s.length > 0) return {
|
|
2390
|
+
stdout: "",
|
|
2391
|
+
stderr: `${s.join(`
|
|
2392
|
+
`)}
|
|
2393
|
+
`,
|
|
2394
|
+
exitCode: 2
|
|
2395
|
+
};
|
|
2396
|
+
let o;
|
|
2397
|
+
try {
|
|
2398
|
+
t.gzip ? o = await je(n) : t.bzip2 ? o = await He(n) : t.xz ? o = await _e(n) : t.zstd ? o = await Xe(n) : o = await O(n);
|
|
2399
|
+
} catch (f) {
|
|
2400
|
+
return {
|
|
2401
|
+
stdout: "",
|
|
2402
|
+
stderr: `tar: error creating archive: ${f instanceof Error ? f.message : "unknown error"}
|
|
2403
|
+
`,
|
|
2404
|
+
exitCode: 2
|
|
2405
|
+
};
|
|
2406
|
+
}
|
|
2407
|
+
let c = "";
|
|
2408
|
+
if (t.file && t.file !== "-") {
|
|
2409
|
+
let f = e.fs.resolvePath(e.cwd, t.file);
|
|
2410
|
+
try {
|
|
2411
|
+
await e.fs.writeFile(f, o);
|
|
2412
|
+
} catch (u) {
|
|
2413
|
+
let y = u instanceof Error ? u.message : "unknown error";
|
|
2414
|
+
return {
|
|
2415
|
+
stdout: "",
|
|
2416
|
+
stderr: `tar: ${t.file}: ${y}
|
|
2417
|
+
`,
|
|
2418
|
+
exitCode: 2
|
|
2419
|
+
};
|
|
2420
|
+
}
|
|
2421
|
+
} else c = Buffer.from(o).toString("latin1");
|
|
2422
|
+
let l = a;
|
|
2423
|
+
return s.length > 0 && (l += `${s.join(`
|
|
2424
|
+
`)}
|
|
2425
|
+
`), {
|
|
2426
|
+
stdout: c,
|
|
2427
|
+
stderr: l,
|
|
2428
|
+
exitCode: s.length > 0 ? 2 : 0,
|
|
2429
|
+
stdoutKind: c.length > 0 ? "bytes" : "text"
|
|
2430
|
+
};
|
|
2431
|
+
}
|
|
2432
|
+
async function Lt(e, t, i) {
|
|
2433
|
+
if (!t.file || t.file === "-") return {
|
|
2434
|
+
stdout: "",
|
|
2435
|
+
stderr: `tar: Cannot append to stdin/stdout
|
|
2436
|
+
`,
|
|
2437
|
+
exitCode: 2
|
|
2438
|
+
};
|
|
2439
|
+
if (i.length === 0) return {
|
|
2440
|
+
stdout: "",
|
|
2441
|
+
stderr: `tar: Cowardly refusing to append nothing to archive
|
|
2442
|
+
`,
|
|
2443
|
+
exitCode: 2
|
|
2444
|
+
};
|
|
2445
|
+
let r = e.fs.resolvePath(e.cwd, t.file), n;
|
|
2446
|
+
try {
|
|
2447
|
+
n = await e.fs.readFileBuffer(r);
|
|
2448
|
+
} catch {
|
|
2449
|
+
return {
|
|
2450
|
+
stdout: "",
|
|
2451
|
+
stderr: `tar: ${t.file}: Cannot open: No such file or directory
|
|
2452
|
+
`,
|
|
2453
|
+
exitCode: 2
|
|
2454
|
+
};
|
|
2455
|
+
}
|
|
2456
|
+
let s = await F(n);
|
|
2457
|
+
if (s.error) return {
|
|
2458
|
+
stdout: "",
|
|
2459
|
+
stderr: `tar: ${s.error}
|
|
2460
|
+
`,
|
|
2461
|
+
exitCode: 2
|
|
2462
|
+
};
|
|
2463
|
+
let a = s.entries.map((d) => ({
|
|
2464
|
+
name: d.name,
|
|
2465
|
+
content: d.content,
|
|
2466
|
+
mode: d.mode,
|
|
2467
|
+
mtime: d.mtime,
|
|
2468
|
+
isDirectory: d.type === "directory",
|
|
2469
|
+
isSymlink: d.type === "symlink",
|
|
2470
|
+
linkTarget: d.linkTarget,
|
|
2471
|
+
uid: d.uid,
|
|
2472
|
+
gid: d.gid
|
|
2473
|
+
})), o = t.directory ? e.fs.resolvePath(e.cwd, t.directory) : e.cwd, c = [], l = [], f = "";
|
|
2474
|
+
for (let d of i) {
|
|
2475
|
+
let { entries: p, errors: m } = await K(e, o, d, t.exclude);
|
|
2476
|
+
if (c.push(...p), l.push(...m), t.verbose) for (let x of p) f += `${x.name}${x.isDirectory ? "/" : ""}
|
|
2477
|
+
`;
|
|
2478
|
+
}
|
|
2479
|
+
let u = [...a, ...c], y;
|
|
2480
|
+
try {
|
|
2481
|
+
y = await O(u);
|
|
2482
|
+
} catch (d) {
|
|
2483
|
+
return {
|
|
2484
|
+
stdout: "",
|
|
2485
|
+
stderr: `tar: error creating archive: ${d instanceof Error ? d.message : "unknown error"}
|
|
2486
|
+
`,
|
|
2487
|
+
exitCode: 2
|
|
2488
|
+
};
|
|
2489
|
+
}
|
|
2490
|
+
try {
|
|
2491
|
+
await e.fs.writeFile(r, y);
|
|
2492
|
+
} catch (d) {
|
|
2493
|
+
let p = d instanceof Error ? d.message : "unknown error";
|
|
2494
|
+
return {
|
|
2495
|
+
stdout: "",
|
|
2496
|
+
stderr: `tar: ${t.file}: ${p}
|
|
2497
|
+
`,
|
|
2498
|
+
exitCode: 2
|
|
2499
|
+
};
|
|
2500
|
+
}
|
|
2501
|
+
let g = f;
|
|
2502
|
+
return l.length > 0 && (g += `${l.join(`
|
|
2503
|
+
`)}
|
|
2504
|
+
`), {
|
|
2505
|
+
stdout: "",
|
|
2506
|
+
stderr: g,
|
|
2507
|
+
exitCode: l.length > 0 ? 2 : 0
|
|
2508
|
+
};
|
|
2509
|
+
}
|
|
2510
|
+
async function Dt(e, t, i) {
|
|
2511
|
+
if (!t.file || t.file === "-") return {
|
|
2512
|
+
stdout: "",
|
|
2513
|
+
stderr: `tar: Cannot update stdin/stdout
|
|
2514
|
+
`,
|
|
2515
|
+
exitCode: 2
|
|
2516
|
+
};
|
|
2517
|
+
if (i.length === 0) return {
|
|
2518
|
+
stdout: "",
|
|
2519
|
+
stderr: `tar: Cowardly refusing to update with nothing
|
|
2520
|
+
`,
|
|
2521
|
+
exitCode: 2
|
|
2522
|
+
};
|
|
2523
|
+
let r = e.fs.resolvePath(e.cwd, t.file), n;
|
|
2524
|
+
try {
|
|
2525
|
+
n = await e.fs.readFileBuffer(r);
|
|
2526
|
+
} catch {
|
|
2527
|
+
return {
|
|
2528
|
+
stdout: "",
|
|
2529
|
+
stderr: `tar: ${t.file}: Cannot open: No such file or directory
|
|
2530
|
+
`,
|
|
2531
|
+
exitCode: 2
|
|
2532
|
+
};
|
|
2533
|
+
}
|
|
2534
|
+
let s = await F(n);
|
|
2535
|
+
if (s.error) return {
|
|
2536
|
+
stdout: "",
|
|
2537
|
+
stderr: `tar: ${s.error}
|
|
2538
|
+
`,
|
|
2539
|
+
exitCode: 2
|
|
2540
|
+
};
|
|
2541
|
+
let a = /* @__PURE__ */ new Map();
|
|
2542
|
+
for (let m of s.entries) a.set(m.name, m.mtime);
|
|
2543
|
+
let o = t.directory ? e.fs.resolvePath(e.cwd, t.directory) : e.cwd, c = [], l = [], f = "";
|
|
2544
|
+
for (let m of i) {
|
|
2545
|
+
let { entries: x, errors: b } = await K(e, o, m, t.exclude);
|
|
2546
|
+
l.push(...b);
|
|
2547
|
+
for (let E of x) {
|
|
2548
|
+
let v = a.get(E.name);
|
|
2549
|
+
(!v || E.mtime && E.mtime.getTime() > v.getTime()) && (c.push(E), t.verbose && (f += `${E.name}${E.isDirectory ? "/" : ""}
|
|
2550
|
+
`));
|
|
2551
|
+
}
|
|
2552
|
+
}
|
|
2553
|
+
if (c.length === 0) {
|
|
2554
|
+
let m = "";
|
|
2555
|
+
return l.length > 0 && (m = `${l.join(`
|
|
2556
|
+
`)}
|
|
2557
|
+
`), {
|
|
2558
|
+
stdout: "",
|
|
2559
|
+
stderr: m,
|
|
2560
|
+
exitCode: l.length > 0 ? 2 : 0
|
|
2561
|
+
};
|
|
2562
|
+
}
|
|
2563
|
+
let u = new Set(c.map((m) => m.name)), g = [...s.entries.filter((m) => !u.has(m.name)).map((m) => ({
|
|
2564
|
+
name: m.name,
|
|
2565
|
+
content: m.content,
|
|
2566
|
+
mode: m.mode,
|
|
2567
|
+
mtime: m.mtime,
|
|
2568
|
+
isDirectory: m.type === "directory",
|
|
2569
|
+
isSymlink: m.type === "symlink",
|
|
2570
|
+
linkTarget: m.linkTarget,
|
|
2571
|
+
uid: m.uid,
|
|
2572
|
+
gid: m.gid
|
|
2573
|
+
})), ...c], d;
|
|
2574
|
+
try {
|
|
2575
|
+
d = await O(g);
|
|
2576
|
+
} catch (m) {
|
|
2577
|
+
return {
|
|
2578
|
+
stdout: "",
|
|
2579
|
+
stderr: `tar: error creating archive: ${m instanceof Error ? m.message : "unknown error"}
|
|
2580
|
+
`,
|
|
2581
|
+
exitCode: 2
|
|
2582
|
+
};
|
|
2583
|
+
}
|
|
2584
|
+
try {
|
|
2585
|
+
await e.fs.writeFile(r, d);
|
|
2586
|
+
} catch (m) {
|
|
2587
|
+
let x = m instanceof Error ? m.message : "unknown error";
|
|
2588
|
+
return {
|
|
2589
|
+
stdout: "",
|
|
2590
|
+
stderr: `tar: ${t.file}: ${x}
|
|
2591
|
+
`,
|
|
2592
|
+
exitCode: 2
|
|
2593
|
+
};
|
|
2594
|
+
}
|
|
2595
|
+
let p = f;
|
|
2596
|
+
return l.length > 0 && (p += `${l.join(`
|
|
2597
|
+
`)}
|
|
2598
|
+
`), {
|
|
2599
|
+
stdout: "",
|
|
2600
|
+
stderr: p,
|
|
2601
|
+
exitCode: l.length > 0 ? 2 : 0
|
|
2602
|
+
};
|
|
2603
|
+
}
|
|
2604
|
+
async function Rt(e, t, i) {
|
|
2605
|
+
let r;
|
|
2606
|
+
if (t.file && t.file !== "-") {
|
|
2607
|
+
let p = e.fs.resolvePath(e.cwd, t.file);
|
|
2608
|
+
try {
|
|
2609
|
+
r = await e.fs.readFileBuffer(p);
|
|
2610
|
+
} catch {
|
|
2611
|
+
return {
|
|
2612
|
+
stdout: "",
|
|
2613
|
+
stderr: `tar: ${t.file}: Cannot open: No such file or directory
|
|
2614
|
+
`,
|
|
2615
|
+
exitCode: 2
|
|
2616
|
+
};
|
|
2617
|
+
}
|
|
2618
|
+
} else r = Uint8Array.from(e.stdin, (p) => p.charCodeAt(0));
|
|
2619
|
+
let n, s = t.gzip || oe(r), a = t.bzip2 || ae(r), o = t.xz || le(r), c = t.zstd || ue(r);
|
|
2620
|
+
if (s ? n = await se(r) : a ? n = await ce(r) : o ? n = await fe(r) : c ? n = await de(r) : n = await F(r), n.error) return {
|
|
2621
|
+
stdout: "",
|
|
2622
|
+
stderr: `tar: ${n.error}
|
|
2623
|
+
`,
|
|
2624
|
+
exitCode: 2
|
|
2625
|
+
};
|
|
2626
|
+
let l = t.directory ? e.fs.resolvePath(e.cwd, t.directory) : e.cwd, f = t.absoluteNames ? i : i.map((p) => p.replace(/^\/+/, "")).filter((p) => p.length > 0), u = "", y = "", g = [];
|
|
2627
|
+
if (t.directory && !t.toStdout) try {
|
|
2628
|
+
await e.fs.mkdir(l, { recursive: !0 });
|
|
2629
|
+
} catch {}
|
|
2630
|
+
for (let p of n.entries) {
|
|
2631
|
+
let m = qe(p.name, t.strip);
|
|
2632
|
+
if (!m) continue;
|
|
2633
|
+
let x = Ot(m, t.absoluteNames);
|
|
2634
|
+
if (x.error) {
|
|
2635
|
+
g.push(`tar: ${m}: ${x.error}`);
|
|
2636
|
+
continue;
|
|
2637
|
+
}
|
|
2638
|
+
let b = x.safePath ?? "";
|
|
2639
|
+
if (!b) continue;
|
|
2640
|
+
let E = b.endsWith("/") ? b.slice(0, -1) : b;
|
|
2641
|
+
if (f.length > 0) {
|
|
2642
|
+
let $;
|
|
2643
|
+
if (t.wildcards ? $ = f.some((z) => Y(b, z) || Y(E, z) || b.startsWith(`${z}/`)) : $ = f.some((z) => b === z || b.startsWith(`${z}/`) || E === z), !$) continue;
|
|
2644
|
+
}
|
|
2645
|
+
if (me(b, t.exclude)) continue;
|
|
2646
|
+
let v = e.fs.resolvePath(l, b);
|
|
2647
|
+
try {
|
|
2648
|
+
if (p.type === "directory") {
|
|
2649
|
+
if (t.toStdout) continue;
|
|
2650
|
+
await e.fs.mkdir(v, { recursive: !0 }), t.verbose && (u += `${b}
|
|
2651
|
+
`);
|
|
2652
|
+
} else if (p.type === "file") {
|
|
2653
|
+
if (t.toStdout) {
|
|
2654
|
+
y += new TextDecoder().decode(p.content), t.verbose && (u += `${b}
|
|
2655
|
+
`);
|
|
2656
|
+
continue;
|
|
2657
|
+
}
|
|
2658
|
+
if (t.keepOldFiles) try {
|
|
2659
|
+
await e.fs.stat(v), t.verbose && (u += `${b}: not overwritten, file exists
|
|
2660
|
+
`);
|
|
2661
|
+
continue;
|
|
2662
|
+
} catch {}
|
|
2663
|
+
let $ = v.substring(0, v.lastIndexOf("/"));
|
|
2664
|
+
if ($) try {
|
|
2665
|
+
await e.fs.mkdir($, { recursive: !0 });
|
|
2666
|
+
} catch {}
|
|
2667
|
+
if (await e.fs.writeFile(v, p.content), t.preserve && p.mode) try {
|
|
2668
|
+
await e.fs.chmod(v, p.mode);
|
|
2669
|
+
} catch {}
|
|
2670
|
+
t.verbose && (u += `${b}
|
|
2671
|
+
`);
|
|
2672
|
+
} else if (p.type === "symlink" && p.linkTarget) {
|
|
2673
|
+
if (t.toStdout) continue;
|
|
2674
|
+
if (!t.absoluteNames && (p.linkTarget.startsWith("/") || Ye(p.linkTarget))) {
|
|
2675
|
+
g.push(`tar: ${b}: unsafe symlink target`);
|
|
2676
|
+
continue;
|
|
2677
|
+
}
|
|
2678
|
+
if (t.keepOldFiles) try {
|
|
2679
|
+
await e.fs.stat(v), t.verbose && (u += `${b}: not overwritten, file exists
|
|
2680
|
+
`);
|
|
2681
|
+
continue;
|
|
2682
|
+
} catch {}
|
|
2683
|
+
let $ = v.substring(0, v.lastIndexOf("/"));
|
|
2684
|
+
if ($) try {
|
|
2685
|
+
await e.fs.mkdir($, { recursive: !0 });
|
|
2686
|
+
} catch {}
|
|
2687
|
+
try {
|
|
2688
|
+
await e.fs.symlink(p.linkTarget, v);
|
|
2689
|
+
} catch {}
|
|
2690
|
+
t.verbose && (u += `${b}
|
|
2691
|
+
`);
|
|
2692
|
+
}
|
|
2693
|
+
} catch ($) {
|
|
2694
|
+
let z = $ instanceof Error ? $.message : "unknown error";
|
|
2695
|
+
g.push(`tar: ${b}: ${z}`);
|
|
2696
|
+
}
|
|
2697
|
+
}
|
|
2698
|
+
let d = u;
|
|
2699
|
+
return g.length > 0 && (d += `${g.join(`
|
|
2700
|
+
`)}
|
|
2701
|
+
`), {
|
|
2702
|
+
stdout: y,
|
|
2703
|
+
stderr: d,
|
|
2704
|
+
exitCode: g.length > 0 ? 2 : 0
|
|
2705
|
+
};
|
|
2706
|
+
}
|
|
2707
|
+
async function Mt(e, t, i) {
|
|
2708
|
+
let r;
|
|
2709
|
+
if (t.file && t.file !== "-") {
|
|
2710
|
+
let f = e.fs.resolvePath(e.cwd, t.file);
|
|
2711
|
+
try {
|
|
2712
|
+
r = await e.fs.readFileBuffer(f);
|
|
2713
|
+
} catch {
|
|
2714
|
+
return {
|
|
2715
|
+
stdout: "",
|
|
2716
|
+
stderr: `tar: ${t.file}: Cannot open: No such file or directory
|
|
2717
|
+
`,
|
|
2718
|
+
exitCode: 2
|
|
2719
|
+
};
|
|
2720
|
+
}
|
|
2721
|
+
} else r = Uint8Array.from(e.stdin, (f) => f.charCodeAt(0));
|
|
2722
|
+
let n, s = t.gzip || oe(r), a = t.bzip2 || ae(r), o = t.xz || le(r), c = t.zstd || ue(r);
|
|
2723
|
+
if (s ? n = await se(r) : a ? n = await ce(r) : o ? n = await fe(r) : c ? n = await de(r) : n = await F(r), n.error) return {
|
|
2724
|
+
stdout: "",
|
|
2725
|
+
stderr: `tar: ${n.error}
|
|
2726
|
+
`,
|
|
2727
|
+
exitCode: 2
|
|
2728
|
+
};
|
|
2729
|
+
let l = "";
|
|
2730
|
+
for (let f of n.entries) {
|
|
2731
|
+
let u = qe(f.name, t.strip);
|
|
2732
|
+
if (!u) continue;
|
|
2733
|
+
let y = u.endsWith("/") ? u.slice(0, -1) : u;
|
|
2734
|
+
if (i.length > 0) {
|
|
2735
|
+
let g;
|
|
2736
|
+
if (t.wildcards ? g = i.some((d) => Y(u, d) || Y(y, d) || u.startsWith(`${d}/`)) : g = i.some((d) => u === d || u.startsWith(`${d}/`) || y === d), !g) continue;
|
|
2737
|
+
}
|
|
2738
|
+
if (!me(u, t.exclude)) if (t.verbose) {
|
|
2739
|
+
let g = f.type === "directory", d = x(f.mode, g), p = `${f.uid}/${f.gid}`, m = f.size.toString().padStart(8, " "), x$1 = Ut(f.mtime), b = `${d} ${p.padEnd(10)} ${m} ${x$1} ${u}`;
|
|
2740
|
+
f.type === "symlink" && f.linkTarget && (b += ` -> ${f.linkTarget}`), l += `${b}
|
|
2741
|
+
`;
|
|
2742
|
+
} else l += `${u}
|
|
2743
|
+
`;
|
|
2744
|
+
}
|
|
2745
|
+
return {
|
|
2746
|
+
stdout: l,
|
|
2747
|
+
stderr: "",
|
|
2748
|
+
exitCode: 0
|
|
2749
|
+
};
|
|
2750
|
+
}
|
|
2751
|
+
var sr = {
|
|
2752
|
+
name: "tar",
|
|
2753
|
+
async execute(e, t) {
|
|
2754
|
+
if (o(e)) return s(Pt);
|
|
2755
|
+
let i = Ze(e);
|
|
2756
|
+
if (!i.ok) return i.error;
|
|
2757
|
+
let { options: r, files: n } = i, s$1 = [
|
|
2758
|
+
r.create,
|
|
2759
|
+
r.append,
|
|
2760
|
+
r.update,
|
|
2761
|
+
r.extract,
|
|
2762
|
+
r.list
|
|
2763
|
+
].filter(Boolean).length;
|
|
2764
|
+
if (s$1 === 0) return {
|
|
2765
|
+
stdout: "",
|
|
2766
|
+
stderr: `tar: You must specify one of -c, -r, -u, -x, or -t
|
|
2767
|
+
`,
|
|
2768
|
+
exitCode: 2
|
|
2769
|
+
};
|
|
2770
|
+
if (s$1 > 1) return {
|
|
2771
|
+
stdout: "",
|
|
2772
|
+
stderr: `tar: You may not specify more than one of -c, -r, -u, -x, or -t
|
|
2773
|
+
`,
|
|
2774
|
+
exitCode: 2
|
|
2775
|
+
};
|
|
2776
|
+
if (r.autoCompress && r.file && r.create) {
|
|
2777
|
+
let c = r.file.toLowerCase();
|
|
2778
|
+
c.endsWith(".tar.gz") || c.endsWith(".tgz") ? r.gzip = !0 : c.endsWith(".tar.bz2") || c.endsWith(".tbz2") ? r.bzip2 = !0 : c.endsWith(".tar.xz") || c.endsWith(".txz") ? r.xz = !0 : (c.endsWith(".tar.zst") || c.endsWith(".tzst")) && (r.zstd = !0);
|
|
2779
|
+
}
|
|
2780
|
+
let a = [
|
|
2781
|
+
r.gzip,
|
|
2782
|
+
r.bzip2,
|
|
2783
|
+
r.xz,
|
|
2784
|
+
r.zstd
|
|
2785
|
+
].filter(Boolean).length;
|
|
2786
|
+
if (a > 1) return {
|
|
2787
|
+
stdout: "",
|
|
2788
|
+
stderr: `tar: You may not specify more than one compression option
|
|
2789
|
+
`,
|
|
2790
|
+
exitCode: 2
|
|
2791
|
+
};
|
|
2792
|
+
if ((r.append || r.update) && a > 0) return {
|
|
2793
|
+
stdout: "",
|
|
2794
|
+
stderr: `tar: Cannot append/update compressed archives - decompress first
|
|
2795
|
+
`,
|
|
2796
|
+
exitCode: 2
|
|
2797
|
+
};
|
|
2798
|
+
let o$1 = n;
|
|
2799
|
+
if (r.filesFrom) {
|
|
2800
|
+
let c = t.fs.resolvePath(t.cwd, r.filesFrom);
|
|
2801
|
+
try {
|
|
2802
|
+
let f = (await t.fs.readFile(c)).split(`
|
|
2803
|
+
`).map((u) => u.trim()).filter((u) => u.length > 0 && !u.startsWith("#"));
|
|
2804
|
+
o$1 = [...n, ...f];
|
|
2805
|
+
} catch {
|
|
2806
|
+
return {
|
|
2807
|
+
stdout: "",
|
|
2808
|
+
stderr: `tar: ${r.filesFrom}: Cannot open: No such file or directory
|
|
2809
|
+
`,
|
|
2810
|
+
exitCode: 2
|
|
2811
|
+
};
|
|
2812
|
+
}
|
|
2813
|
+
}
|
|
2814
|
+
if (r.excludeFrom) {
|
|
2815
|
+
let c = t.fs.resolvePath(t.cwd, r.excludeFrom);
|
|
2816
|
+
try {
|
|
2817
|
+
let f = (await t.fs.readFile(c)).split(`
|
|
2818
|
+
`).map((u) => u.trim()).filter((u) => u.length > 0 && !u.startsWith("#"));
|
|
2819
|
+
r.exclude.push(...f);
|
|
2820
|
+
} catch {
|
|
2821
|
+
return {
|
|
2822
|
+
stdout: "",
|
|
2823
|
+
stderr: `tar: ${r.excludeFrom}: Cannot open: No such file or directory
|
|
2824
|
+
`,
|
|
2825
|
+
exitCode: 2
|
|
2826
|
+
};
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
return r.create ? Nt(t, r, o$1) : r.append ? Lt(t, r, o$1) : r.update ? Dt(t, r, o$1) : r.extract ? Rt(t, r, o$1) : Mt(t, r, o$1);
|
|
2830
|
+
}
|
|
2831
|
+
};
|
|
2832
|
+
//#endregion
|
|
2833
|
+
//#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/tar-STHHZTZ6.js
|
|
2834
|
+
createRequire(import.meta.url);
|
|
2835
|
+
//#endregion
|
|
2836
|
+
export { sr as tarCommand };
|
|
2837
|
+
|
|
2838
|
+
//# sourceMappingURL=tar-STHHZTZ6-DRf60e-G.mjs.map
|