file-viewer3 1.0.25 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +7 -377
- package/README.md +8 -352
- package/dist/file-viewer3.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +27 -129
- package/dist/_headers +0 -22
- package/dist/assets/3MFLoader--yjh7udp.js +0 -1
- package/dist/assets/AMFLoader-C0y7NIAO.js +0 -1
- package/dist/assets/ArchiveViewer-6AvBZVl3.js +0 -2
- package/dist/assets/ArchiveViewer-B2pHxHFv.css +0 -1
- package/dist/assets/AudioViewer-0CSMvCtp.css +0 -1
- package/dist/assets/AudioViewer-6a_DDcur.js +0 -1
- package/dist/assets/CadViewer-A9PKtCth.css +0 -1
- package/dist/assets/CadViewer-D94LUXKO.js +0 -110
- package/dist/assets/CodeViewer-BdZGsbFh.js +0 -2
- package/dist/assets/CodeViewer-CR2CsPRi.css +0 -1
- package/dist/assets/ColladaLoader-DTiuvWJL.js +0 -3
- package/dist/assets/DrawingViewer-BplS278E.js +0 -2
- package/dist/assets/DrawingViewer-DXiF5YWV.css +0 -1
- package/dist/assets/EdaViewer-BXH1Jmwr.js +0 -8
- package/dist/assets/EdaViewer-CKf1YQnh.css +0 -1
- package/dist/assets/EmailViewer-BsBKZ_A5.js +0 -4
- package/dist/assets/EmailViewer-BwvGE4ns.css +0 -1
- package/dist/assets/EpubViewer-Cci0l1Vm.css +0 -1
- package/dist/assets/EpubViewer-DlGzr8_x.js +0 -2
- package/dist/assets/FBXLoader-Bj34Z_uf.js +0 -1
- package/dist/assets/GLTFLoader-BNUIXeRP.js +0 -1
- package/dist/assets/ImageViewer-BKp7YpMs.css +0 -10
- package/dist/assets/ImageViewer-D1Yc0jYg.js +0 -1
- package/dist/assets/KMZLoader-DTmXWzX_.js +0 -1
- package/dist/assets/MarkdownViewer-CIljbLlu.css +0 -1
- package/dist/assets/MarkdownViewer-CRi0rhWw.js +0 -64
- package/dist/assets/ModelViewer-C4ir9AyI.css +0 -1
- package/dist/assets/ModelViewer-yxcVdLzz.js +0 -2
- package/dist/assets/OBJLoader-DW4Mv-mq.js +0 -5
- package/dist/assets/OfdViewer-DbkG1-Bp.js +0 -2
- package/dist/assets/OfdViewer-Ulv-WZWh.css +0 -1
- package/dist/assets/PCDLoader-CHA1g8rk.js +0 -3
- package/dist/assets/PLYLoader-DwTzA-Dg.js +0 -2
- package/dist/assets/PdfView-_Uu48dkU.js +0 -558
- package/dist/assets/PdfView-fKwbB_8j.css +0 -1
- package/dist/assets/PptxRender-BNoW_9_0.css +0 -1
- package/dist/assets/PptxRender-myCCfHiR.js +0 -32
- package/dist/assets/STLLoader-Bt7FMgMu.js +0 -1
- package/dist/assets/TDSLoader-D__OhSS9.js +0 -1
- package/dist/assets/TypstViewer-4dMAIp9x.js +0 -60
- package/dist/assets/TypstViewer-BgYR02wU.css +0 -1
- package/dist/assets/USDLoader-BovI5HgZ.js +0 -6
- package/dist/assets/UmdViewer-BfIWw5dV.js +0 -3
- package/dist/assets/UmdViewer-DpObj56a.css +0 -1
- package/dist/assets/VRMLLoader-_VxVXPvX.js +0 -140
- package/dist/assets/VTKLoader-BfnzBXsa.js +0 -3
- package/dist/assets/XYZLoader-DbQZs-aZ.js +0 -2
- package/dist/assets/XlsxTable-CKmWT6Iw.js +0 -5
- package/dist/assets/XlsxTable-Ccp_ksQc.css +0 -1
- package/dist/assets/__vite-browser-external-j1Zxnfxm.js +0 -1
- package/dist/assets/ar-SA-G6X2FPQ2-h0GtAVoD.js +0 -10
- package/dist/assets/arc-C_eH0vTw.js +0 -1
- package/dist/assets/architecture-7EHR7CIX-nPLvVkG5.js +0 -1
- package/dist/assets/architectureDiagram-3BPJPVTR-Cx8fJaC_.js +0 -36
- package/dist/assets/archive-D-0w4Z7t.js +0 -2
- package/dist/assets/audio-IkwcqgJA.js +0 -2
- package/dist/assets/az-AZ-76LH7QW2-D_aQ-6Zd.js +0 -1
- package/dist/assets/bash-LmRjUKlR.js +0 -1
- package/dist/assets/bg-BG-XCXSNQG7-H7Czia1L.js +0 -5
- package/dist/assets/blockDiagram-GPEHLZMM-v3Efy6dm.js +0 -132
- package/dist/assets/bn-BD-2XOGV67Q-f6ymEr9g.js +0 -5
- package/dist/assets/c4Diagram-AAUBKEIU-BdstYnMv.js +0 -10
- package/dist/assets/ca-ES-6MX7JW3Y-DTzyqWmS.js +0 -8
- package/dist/assets/cad-DFnQbJJO.js +0 -2
- package/dist/assets/cfb-Bv6fOQ4m.js +0 -11
- package/dist/assets/channel-C66J400U.js +0 -1
- package/dist/assets/chunk-2J33WTMH-BoyKZPbs.js +0 -1
- package/dist/assets/chunk-3OPIFGDE-a_QAVzsM.js +0 -62
- package/dist/assets/chunk-4BX2VUAB-DZj4_o2K.js +0 -1
- package/dist/assets/chunk-55IACEB6-C7hP08Mf.js +0 -1
- package/dist/assets/chunk-5ZQYHXKU-DBQ_7Zc2.js +0 -2
- package/dist/assets/chunk-6U3AYISY-C6-Mtja1.js +0 -12
- package/dist/assets/chunk-727SXJPM-BVNP_kQ-.js +0 -206
- package/dist/assets/chunk-AGHRB4JF-DrBKq3qz.js +0 -1
- package/dist/assets/chunk-AQP2D5EJ-0N6k4ROT.js +0 -231
- package/dist/assets/chunk-BSJP7CBP-b8olRIQO.js +0 -1
- package/dist/assets/chunk-CSCIHK7Q-B5j-yHKS.js +0 -124
- package/dist/assets/chunk-EIO257PC-C6qii-N9.js +0 -22
- package/dist/assets/chunk-FMBD7UC4-CBBZh2UU.js +0 -15
- package/dist/assets/chunk-K2UTITRG-Cx4xt2xV.js +0 -35
- package/dist/assets/chunk-KSCS5N6A-Dwg0HTxH.js +0 -10
- package/dist/assets/chunk-L5ZTLDWV-BPuCpePB.js +0 -1
- package/dist/assets/chunk-LZXEDZCA-CvLuVK3G.js +0 -2
- package/dist/assets/chunk-ND2GUHAM-CWJPhGEg.js +0 -1
- package/dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +0 -159
- package/dist/assets/chunk-NZK2D7GU-DuaLWEa1.js +0 -1
- package/dist/assets/chunk-O5CBEL6O-dK2KeDfH.js +0 -70
- package/dist/assets/chunk-QZHKN3VN-4Bf82riF.js +0 -1
- package/dist/assets/chunk-SRAX5OIU-BhbLEiib.js +0 -1
- package/dist/assets/chunk-WU5MYG2G-DLkui5D2.js +0 -1
- package/dist/assets/chunk-XPW4576I-BvXQTKbm.js +0 -32
- package/dist/assets/chunk-Z3N5DIM6-D9TMVU7m.js +0 -1
- package/dist/assets/chunk-ZUYEQ4TG-BzFOpW--.js +0 -7
- package/dist/assets/classDiagram-4FO5ZUOK-DKj6zlra.js +0 -1
- package/dist/assets/classDiagram-v2-Q7XG4LA2-DKj6zlra.js +0 -1
- package/dist/assets/compare-BA1y8ff-.css +0 -1
- package/dist/assets/compare-QN3IusOj.js +0 -1
- package/dist/assets/compiler-qgJWLAtm.js +0 -1
- package/dist/assets/core-S5OLGxXP.js +0 -3
- package/dist/assets/cose-bilkent-S5V4N54A-CslZOqNN.js +0 -1
- package/dist/assets/cpp-V0F2hNk9.js +0 -1
- package/dist/assets/cs-CZ-2BRQDIVT-BRw0NNL_.js +0 -11
- package/dist/assets/csharp-GZmu99Fo.js +0 -1
- package/dist/assets/css-D5l_8KUR.js +0 -1
- package/dist/assets/cytoscape.esm-C8YCVR3_.js +0 -321
- package/dist/assets/da-DK-5WZEPLOC-q5u_UoZe.js +0 -5
- package/dist/assets/dagre-BM42HDAG-D6fpH9H3.js +0 -4
- package/dist/assets/dagre-Bx709z4p.js +0 -1
- package/dist/assets/de-DE-XR44H4JA-B79lsSt9.js +0 -8
- package/dist/assets/defaultLocale-C8Fc0cco.js +0 -1
- package/dist/assets/diagram-2AECGRRQ-DGviV3zF.js +0 -43
- package/dist/assets/diagram-5GNKFQAL-D8edmK5r.js +0 -10
- package/dist/assets/diagram-KO2AKTUF-DonC_-9l.js +0 -3
- package/dist/assets/diagram-LMA3HP47-T0-OD5uV.js +0 -24
- package/dist/assets/diagram-OG6HWLK6-BsRJiZE3.js +0 -24
- package/dist/assets/diff-CJb8JxGC.js +0 -1
- package/dist/assets/directory-open-01563666-D4xXyWb_.js +0 -1
- package/dist/assets/directory-open-4ed118d0-1i309Asm.js +0 -1
- package/dist/assets/dist-ND9DUPs_.js +0 -1
- package/dist/assets/dist-S-2Hyh3N.js +0 -1
- package/dist/assets/dist-jshluroQ.js +0 -27
- package/dist/assets/docx-preview-CAHEyNQy.js +0 -20
- package/dist/assets/drawing-B3sCN7BX.js +0 -2
- package/dist/assets/ebook-DDycOGR3.js +0 -2
- package/dist/assets/eda-JxVOVy9j.js +0 -2
- package/dist/assets/el-GR-BZB4AONW-DVV0CNhT.js +0 -10
- package/dist/assets/email-D9tCfCzQ.js +0 -2
- package/dist/assets/en-B4ZKOASM-CpbJugBW.js +0 -1
- package/dist/assets/erDiagram-TEJ5UH35-O-dDoXsU.js +0 -85
- package/dist/assets/es-ES-U4NZUMDT-DUvN9FXg.js +0 -9
- package/dist/assets/eu-ES-A7QVB2H4-DV6UAZB_.js +0 -11
- package/dist/assets/eventmodeling-FCH6USID-BONfeu8r.js +0 -1
- package/dist/assets/fa-IR-HGAKTJCU-0ql2xhuq.js +0 -8
- package/dist/assets/fflate.module-BIQmJeC9.js +0 -1
- package/dist/assets/fi-FI-Z5N7JZ37-CxtRUMtw.js +0 -6
- package/dist/assets/file-open-002ab408-BHUWm0Sh.js +0 -1
- package/dist/assets/file-open-7c801643-DZtJT5zp.js +0 -1
- package/dist/assets/file-save-3189631c-CO9S4HFW.js +0 -1
- package/dist/assets/file-save-745eba88-Bwdfz6OZ.js +0 -1
- package/dist/assets/flowDiagram-I6XJVG4X-DsWkZiFB.js +0 -162
- package/dist/assets/fr-FR-RHASNOE6-CLi1nCBA.js +0 -9
- package/dist/assets/ganttDiagram-6RSMTGT7-r5IfYmu1.js +0 -292
- package/dist/assets/gitGraph-WXDBUCRP-BPjRwtiT.js +0 -1
- package/dist/assets/gitGraphDiagram-PVQCEYII-DGYT-2sl.js +0 -106
- package/dist/assets/gl-ES-HMX3MZ6V-NMLOwshd.js +0 -10
- package/dist/assets/global-compiler-D1EEBbpA.js +0 -1
- package/dist/assets/global-renderer-AKzBLvRw.js +0 -1
- package/dist/assets/go-B-PCS5zA.js +0 -1
- package/dist/assets/graphlib-B8gBHxth.js +0 -1
- package/dist/assets/he-IL-6SHJWFNN-BWPkP_3r.js +0 -10
- package/dist/assets/hi-IN-IWLTKZ5I-KNyxys-k.js +0 -4
- package/dist/assets/hu-HU-A5ZG7DT2-BjcxkVW9.js +0 -7
- package/dist/assets/id-ID-SAP4L64H-B-oUkzcH.js +0 -10
- package/dist/assets/image-6zdrB4g6.js +0 -2
- package/dist/assets/image-GAAHSSAO-7tK5sChZ.js +0 -1
- package/dist/assets/image-blob-reduce.esm-NzmDxm1v.js +0 -2
- package/dist/assets/info-J43DQDTF-sQY7EXUc.js +0 -1
- package/dist/assets/infoDiagram-5YYISTIA-Dzg1KIdJ.js +0 -2
- package/dist/assets/ini-B1CroMsf.js +0 -1
- package/dist/assets/init-D6jRqBbL.js +0 -1
- package/dist/assets/ishikawaDiagram-YF4QCWOH-C4gAmRlT.js +0 -70
- package/dist/assets/it-IT-JPQ66NNP-Bwud0QsX.js +0 -11
- package/dist/assets/ja-JP-DBVTYXUO-DgNQ5bjg.js +0 -8
- package/dist/assets/java-ChVphriW.js +0 -1
- package/dist/assets/javascript-w9aIBC1S.js +0 -1
- package/dist/assets/journeyDiagram-JHISSGLW-ofw85AZe.js +0 -139
- package/dist/assets/json-DS4EA3dC.js +0 -1
- package/dist/assets/jszip.min-C7VJhIfM.js +0 -2
- package/dist/assets/kaa-6HZHGXH3-BMz8LTXv.js +0 -1
- package/dist/assets/kab-KAB-ZGHBKWFO-B9w0Zir8.js +0 -8
- package/dist/assets/kanban-definition-UN3LZRKU-CljG07f4.js +0 -89
- package/dist/assets/katex-Vhh-h91d.js +0 -257
- package/dist/assets/kk-KZ-P5N5QNE5-2tUcaoKh.js +0 -1
- package/dist/assets/km-KH-HSX4SM5Z-_kaSqGhJ.js +0 -11
- package/dist/assets/ko-KR-MTYHY66A-CIjaox2B.js +0 -9
- package/dist/assets/ku-TR-6OUDTVRD-CkLMAwgC.js +0 -9
- package/dist/assets/lib-CxFoY_GP.js +0 -6
- package/dist/assets/libarchive-DknIq1tb.js +0 -1
- package/dist/assets/libarchive-DxGirPmi.wasm +0 -0
- package/dist/assets/linear-DAeDjlp3.js +0 -1
- package/dist/assets/logo-DG62cSZK.png +0 -0
- package/dist/assets/lt-LT-XHIRWOB4-BsH7UAds.js +0 -3
- package/dist/assets/lv-LV-5QDEKY6T-DH8to9BS.js +0 -7
- package/dist/assets/main-B8S7RFzE.js +0 -4
- package/dist/assets/main-BZ1u3qpM.css +0 -1
- package/dist/assets/markdown-C8bVcNXx.js +0 -1
- package/dist/assets/md-OHaN-Ra2.js +0 -2
- package/dist/assets/mermaid-parser.core-DX-qibXo.js +0 -4
- package/dist/assets/mindmap-definition-RKZ34NQL-5NZ4x9hJ.js +0 -96
- package/dist/assets/model-B6Ua5SnP.js +0 -2
- package/dist/assets/mp4-Dho29Zd7.js +0 -1
- package/dist/assets/mr-IN-CRQNXWMA-BrKaFNSo.js +0 -13
- package/dist/assets/my-MM-5M5IBNSE-BZSEmctA.js +0 -1
- package/dist/assets/nb-NO-T6EIAALU-6a9gavJA.js +0 -10
- package/dist/assets/nestedRender-vUCW8qgY.js +0 -3
- package/dist/assets/nl-NL-IS3SIHDZ-uxPhLMYz.js +0 -8
- package/dist/assets/nn-NO-6E72VCQL-D4PNCwHO.js +0 -8
- package/dist/assets/oc-FR-POXYY2M6-C7kpaHdZ.js +0 -8
- package/dist/assets/ofd-CM51fmds.js +0 -2
- package/dist/assets/ofd-CsX4S_yH.js +0 -6
- package/dist/assets/ordinal-hYBb2elL.js +0 -1
- package/dist/assets/pa-IN-N4M65BXN-DudflUsb.js +0 -4
- package/dist/assets/package-BuR3Qm_h.css +0 -1
- package/dist/assets/package-DbhUOWuO.js +0 -296
- package/dist/assets/packet-YPE3B663-zJFiRlih.js +0 -1
- package/dist/assets/pdf-CZTifdsT.js +0 -2
- package/dist/assets/percentages-BXMCSKIN-DuKjcyNK.js +0 -1
- package/dist/assets/php-5k5YNuRS.js +0 -2
- package/dist/assets/pica-W1nY7k4k.js +0 -2
- package/dist/assets/pie-CZr-MxNa.js +0 -1
- package/dist/assets/pie-LRSECV5Y-ChrxPon2.js +0 -1
- package/dist/assets/pieDiagram-4H26LBE5-rqS9xOI6.js +0 -30
- package/dist/assets/pl-PL-T2D74RX3-BjwyDbo2.js +0 -9
- package/dist/assets/postal-mime-kkzCFkih.js +0 -29
- package/dist/assets/pptx-HCi3sDR0.js +0 -2
- package/dist/assets/printLayout-D2pf0W9y.js +0 -24
- package/dist/assets/prod-CAexHIHC.js +0 -149
- package/dist/assets/pt-BR-5N22H2LF-dhO4g53z.js +0 -9
- package/dist/assets/pt-PT-UZXXM6DQ-B0FVw5E6.js +0 -9
- package/dist/assets/python-DwhXSSGr.js +0 -1
- package/dist/assets/quadrantDiagram-W4KKPZXB-CvbA748i.js +0 -7
- package/dist/assets/radar-GUYGQ44K-Ch58tAlJ.js +0 -1
- package/dist/assets/reactivity.esm-bundler-Bfmlzvr-.js +0 -1
- package/dist/assets/renderer-69XMfifI.js +0 -1
- package/dist/assets/requirementDiagram-4Y6WPE33-Ek_Wtky1.js +0 -84
- package/dist/assets/ro-RO-JPDTUUEW-CRyQ9zJm.js +0 -11
- package/dist/assets/rough.esm-CIepY_sA.js +0 -1
- package/dist/assets/roundRect-D01gJrlt.js +0 -1
- package/dist/assets/ru-RU-B4JR7IUQ-Ccj6OqLf.js +0 -9
- package/dist/assets/runtime-core.esm-bundler-CR6OOEFf.js +0 -1
- package/dist/assets/rust-Dk33Kfe-.js +0 -1
- package/dist/assets/sankeyDiagram-5OEKKPKP-D3gZ6xE7.js +0 -40
- package/dist/assets/sequenceDiagram-3UESZ5HK-C5489xFA.js +0 -162
- package/dist/assets/si-LK-N5RQ5JYF-BwS2qaTv.js +0 -1
- package/dist/assets/sk-SK-C5VTKIMK-ly1tHoOw.js +0 -6
- package/dist/assets/sl-SI-NN7IZMDC-iZiOFm2y.js +0 -6
- package/dist/assets/sql-DWRKyvJ-.js +0 -1
- package/dist/assets/src-BrOGWJpF.js +0 -1
- package/dist/assets/src-D_n3k0l_.js +0 -5
- package/dist/assets/stateDiagram-AJRCARHV-1hoVbE34.js +0 -1
- package/dist/assets/stateDiagram-v2-BHNVJYJU-CZmypPHd.js +0 -1
- package/dist/assets/style-x1XGuNl0.css +0 -1
- package/dist/assets/subset-shared.chunk-CK2m59fy.js +0 -1
- package/dist/assets/subset-worker.chunk-B5G7hWyg.js +0 -1
- package/dist/assets/sv-SE-XGPEYMSR-BNpkY1PO.js +0 -10
- package/dist/assets/ta-IN-2NMHFXQM-DsldkrWk.js +0 -9
- package/dist/assets/text-CMp0EW11.js +0 -2
- package/dist/assets/th-TH-HPSO5L25-AVrKqKOh.js +0 -2
- package/dist/assets/three.module-BFsVh7r1.js +0 -4104
- package/dist/assets/time-B8nkukJS.js +0 -1
- package/dist/assets/timeline-definition-PNZ67QCA-CfMKM_FS.js +0 -120
- package/dist/assets/tr-TR-DEFEU3FU-DYarL0Oa.js +0 -7
- package/dist/assets/treeView-BLDUP644-CGGdcSoP.js +0 -1
- package/dist/assets/treemap-LRROVOQU-C3Zg5qig.js +0 -1
- package/dist/assets/typescript-BvteI6YB.js +0 -1
- package/dist/assets/typst-DOlgRigg.js +0 -2
- package/dist/assets/typst_ts_renderer_bg-DRRWm1TP.wasm +0 -0
- package/dist/assets/uk-UA-QMV73CPH-D36-a0jl.js +0 -6
- package/dist/assets/umd-r51rBtd2.js +0 -2
- package/dist/assets/vennDiagram-CIIHVFJN-GrdHiqIf.js +0 -34
- package/dist/assets/vi-VN-M7AON7JQ-zdUBY1Fz.js +0 -5
- package/dist/assets/wardley-L42UT6IY-ilBO1QYS.js +0 -1
- package/dist/assets/wardleyDiagram-YWT4CUSO-Cgr3uPws.js +0 -78
- package/dist/assets/wasm-C3ukMqzA.js +0 -1
- package/dist/assets/wasm-pack-shim-BShYmbRf.js +0 -1
- package/dist/assets/wasm-pack-shim-BnuNh1z7.js +0 -1
- package/dist/assets/word-DQCwLNG7.js +0 -150
- package/dist/assets/worker-bundle-Dx5mKZOL.js +0 -6
- package/dist/assets/worker-ref-BbTnHTC-.js +0 -1
- package/dist/assets/xlsx-B1qUDXfb.js +0 -2
- package/dist/assets/xlsx-ff7ER-JZ.png +0 -0
- package/dist/assets/xml-DasnpDVC.js +0 -1
- package/dist/assets/xychartDiagram-2RQKCTM6-BwoaSxOF.js +0 -7
- package/dist/assets/yaml-1XF8XcZB.js +0 -1
- package/dist/assets/zh-CN-LNUGB5OW-WQ7J6JkH.js +0 -10
- package/dist/assets/zh-HK-E62DVLB3-BoGXaBos.js +0 -1
- package/dist/assets/zh-TW-RAJ6MFWO-DZQOFop7.js +0 -9
- package/dist/compare.html +0 -21
- package/dist/example/README.md +0 -137
- package/dist/example/SOURCES.md +0 -49
- package/dist/example/app.log +0 -13
- package/dist/example/archive.tar.gz +0 -0
- package/dist/example/archive.zip +0 -0
- package/dist/example/audio.mp3 +0 -0
- package/dist/example/audio.ogg +0 -0
- package/dist/example/book.epub +0 -0
- package/dist/example/book.umd +0 -0
- package/dist/example/change.diff +0 -40
- package/dist/example/code.cjs +0 -38
- package/dist/example/code.css +0 -64
- package/dist/example/code.java +0 -55
- package/dist/example/code.js +0 -55
- package/dist/example/code.jsx +0 -43
- package/dist/example/code.mjs +0 -36
- package/dist/example/code.py +0 -56
- package/dist/example/code.ts +0 -78
- package/dist/example/code.tsx +0 -36
- package/dist/example/component.vue +0 -68
- package/dist/example/config.yaml +0 -48
- package/dist/example/config.yml +0 -25
- package/dist/example/data.json +0 -50
- package/dist/example/data.xml +0 -47
- package/dist/example/drawing.dxf +0 -22186
- package/dist/example/embedded.html +0 -316
- package/dist/example/excel.fods +0 -0
- package/dist/example/excel.numbers +0 -0
- package/dist/example/excel.ods +0 -0
- package/dist/example/excel.xls +0 -0
- package/dist/example/excel.xlsb +0 -0
- package/dist/example/excel.xlsm +0 -0
- package/dist/example/excel.xlsx +0 -0
- package/dist/example/flow.excalidraw +0 -1
- package/dist/example/index.php +0 -44
- package/dist/example/main.c +0 -39
- package/dist/example/main.cpp +0 -50
- package/dist/example/main.go +0 -55
- package/dist/example/main.h +0 -22
- package/dist/example/main.hpp +0 -28
- package/dist/example/main.rs +0 -36
- package/dist/example/markdown.md +0 -84
- package/dist/example/model.gltf +0 -66
- package/dist/example/model.obj +0 -10
- package/dist/example/model.ply +0 -18
- package/dist/example/model.step +0 -9
- package/dist/example/model.stl +0 -30
- package/dist/example/module.cc +0 -36
- package/dist/example/notes.markdown +0 -15
- package/dist/example/ofd.ofd +0 -0
- package/dist/example/page.htm +0 -29
- package/dist/example/page.html +0 -33
- package/dist/example/pdf.pdf +1 -9127
- package/dist/example/pic.bmp +0 -0
- package/dist/example/pic.gif +0 -0
- package/dist/example/pic.jpeg +0 -0
- package/dist/example/pic.jpg +0 -0
- package/dist/example/pic.png +0 -0
- package/dist/example/pic.tif +0 -0
- package/dist/example/pic.tiff +0 -0
- package/dist/example/pic.webp +0 -0
- package/dist/example/ppt.pptx +0 -0
- package/dist/example/process.drawio +0 -249
- package/dist/example/program.cs +0 -42
- package/dist/example/query.sql +0 -30
- package/dist/example/report.typ +0 -90
- package/dist/example/sample.dra +0 -0
- package/dist/example/sample.dwg +0 -0
- package/dist/example/sample.eml +0 -46
- package/dist/example/sample.msg +0 -0
- package/dist/example/sample.olb +0 -0
- package/dist/example/samples/apache/blocks_and_tables.dwf +0 -0
- package/dist/example/samples/autodesk/house.dwfx +0 -0
- package/dist/example/samples/autodesk/robot-arm.dwfx +0 -0
- package/dist/example/script.bash +0 -36
- package/dist/example/script.sh +0 -24
- package/dist/example/settings.ini +0 -23
- package/dist/example/table.csv +0 -4
- package/dist/example/template.dot +0 -0
- package/dist/example/test.doc +0 -0
- package/dist/example/text.txt +0 -3
- package/dist/example/vector.svg +0 -6
- package/dist/example/video.mp4 +0 -0
- package/dist/example/word.docx +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +0 -302
- package/dist/vendor/libarchive/libarchive.wasm +0 -0
- package/dist/vendor/libarchive/worker-bundle.js +0 -6
- package/dist/wasm/cad/dwfv-render.wasm +0 -0
- package/dist/wasm/cad/dwg-worker.js +0 -24
- package/dist/wasm/cad/libredwg-web.js +0 -15
- package/dist/wasm/cad/libredwg-web.wasm +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Bt as e,C as t,K as n,l as r,p as i,u as a,w as o,wt as s}from"./three.module-BFsVh7r1.js";var c=class extends n{constructor(e){super(e)}load(e,n,r,i){let a=this,o=new t(this.manager);o.setPath(this.path),o.setResponseType(`arraybuffer`),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(t){try{n(a.parse(t))}catch(t){i?i(t):console.error(t),a.manager.itemError(e)}},r,i)}parse(t){function n(e){let t=new DataView(e);if(84+t.getUint32(80,!0)*50===t.byteLength)return!0;let n=[115,111,108,105,100];for(let e=0;e<5;e++)if(c(n,t,e))return!1;return!0}function c(e,t,n){for(let r=0,i=e.length;r<i;r++)if(e[r]!==t.getUint8(n+r))return!1;return!0}function l(e){let t=new DataView(e),n=t.getUint32(80,!0),o,c,l,u=!1,d,f,p,m,h;for(let e=0;e<70;e++)t.getUint32(e,!1)==1129270351&&t.getUint8(e+4)==82&&t.getUint8(e+5)==61&&(u=!0,d=new Float32Array(n*3*3),f=t.getUint8(e+6)/255,p=t.getUint8(e+7)/255,m=t.getUint8(e+8)/255,h=t.getUint8(e+9)/255);let g=new a,_=new Float32Array(n*3*3),v=new Float32Array(n*3*3),y=new i;for(let e=0;e<n;e++){let n=84+e*50,r=t.getFloat32(n,!0),i=t.getFloat32(n+4,!0),a=t.getFloat32(n+8,!0);if(u){let e=t.getUint16(n+48,!0);e&32768?(o=f,c=p,l=m):(o=(e&31)/31,c=(e>>5&31)/31,l=(e>>10&31)/31)}for(let f=1;f<=3;f++){let p=n+f*12,m=e*3*3+(f-1)*3;_[m]=t.getFloat32(p,!0),_[m+1]=t.getFloat32(p+4,!0),_[m+2]=t.getFloat32(p+8,!0),v[m]=r,v[m+1]=i,v[m+2]=a,u&&(y.setRGB(o,c,l,s),d[m]=y.r,d[m+1]=y.g,d[m+2]=y.b)}}return g.setAttribute(`position`,new r(_,3)),g.setAttribute(`normal`,new r(v,3)),u&&(g.setAttribute(`color`,new r(d,3)),g.hasColors=!0,g.alpha=h),g}function u(t){let n=new a,r=/solid([\s\S]*?)endsolid/g,i=/facet([\s\S]*?)endfacet/g,s=/solid\s(.+)/,c=0,l=RegExp(`vertex[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),u=RegExp(`normal[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),d=[],f=[],p=[],m=new e,h,g=0,_=0,v=0;for(;(h=r.exec(t))!==null;){_=v;let e=h[0],t=(h=s.exec(e))===null?``:h[1];for(p.push(t);(h=i.exec(e))!==null;){let e=0,t=0,n=h[0];for(;(h=u.exec(n))!==null;)m.x=parseFloat(h[1]),m.y=parseFloat(h[2]),m.z=parseFloat(h[3]),t++;for(;(h=l.exec(n))!==null;)d.push(parseFloat(h[1]),parseFloat(h[2]),parseFloat(h[3])),f.push(m.x,m.y,m.z),e++,v++;t!==1&&console.error(`THREE.STLLoader: Something isn't right with the normal of face number `+c),e!==3&&console.error(`THREE.STLLoader: Something isn't right with the vertices of face number `+c),c++}let r=_,a=v-_;n.userData.groupNames=p,n.addGroup(r,a,g),g++}return n.setAttribute(`position`,new o(d,3)),n.setAttribute(`normal`,new o(f,3)),n}function d(e){return typeof e==`string`?e:new TextDecoder().decode(e)}function f(e){if(typeof e==`string`){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t.buffer||t}else return e}let p=f(t);return n(p)?l(p):u(d(t))}};export{c as STLLoader};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,C as t,E as n,Ft as r,K as i,et as a,p as o,q as s,rt as c,u as l,w as u}from"./three.module-BFsVh7r1.js";var d=class extends i{constructor(e){super(e),this.debug=!1,this.group=null,this.materials=[],this.meshes=[]}load(e,n,r,i){let a=this,o=this.path===``?s.extractUrlBase(e):this.path,c=new t(this.manager);c.setPath(this.path),c.setResponseType(`arraybuffer`),c.setRequestHeader(this.requestHeader),c.setWithCredentials(this.withCredentials),c.load(e,function(t){try{n(a.parse(t,o))}catch(t){i?i(t):console.error(t),a.manager.itemError(e)}},r,i)}parse(e,t){this.group=new n,this.materials=[],this.meshes=[],this.readFile(e,t);for(let e=0;e<this.meshes.length;e++)this.group.add(this.meshes[e]);return this.group}readFile(e,t){let n=new f(new DataView(e),0,this.debugMessage);if(n.id===m||n.id===h||n.id===p){let e=n.readChunk();for(;e;){if(e.id===g){let t=e.readDWord();this.debugMessage(`3DS file version: `+t)}else e.id===C?this.readMeshData(e,t):this.debugMessage(`Unknown main chunk: `+e.hexId);e=n.readChunk()}}this.debugMessage(`Parsed `+this.meshes.length+` meshes`)}readMeshData(e,t){let n=e.readChunk();for(;n;){if(n.id===w){let e=+n.readDWord();this.debugMessage(`Mesh Version: `+e)}else if(n.id===T){let e=n.readFloat();this.debugMessage(`Master scale: `+e),this.group.scale.set(e,e,e)}else n.id===K?(this.debugMessage(`Named Object`),this.readNamedObject(n)):n.id===E?(this.debugMessage(`Material`),this.readMaterialEntry(n,t)):this.debugMessage(`Unknown MDATA chunk: `+n.hexId);n=e.readChunk()}}readNamedObject(e){let t=e.readString(),n=e.readChunk();for(;n;){if(n.id===q){let e=this.readMesh(n);e.name=t,this.meshes.push(e)}else this.debugMessage(`Unknown named object chunk: `+n.hexId);n=e.readChunk()}}readMaterialEntry(e,t){let n=e.readChunk(),r=new c;for(;n;){if(n.id===D)r.name=n.readString(),this.debugMessage(` Name: `+r.name);else if(n.id===F)this.debugMessage(` Wireframe`),r.wireframe=!0;else if(n.id===I){let e=n.readByte();r.wireframeLinewidth=e,this.debugMessage(` Wireframe Thickness: `+e)}else if(n.id===N)r.side=2,this.debugMessage(` DoubleSided`);else if(n.id===P)this.debugMessage(` Additive Blending`),r.blending=2;else if(n.id===k)this.debugMessage(` Diffuse Color`),r.color=this.readColor(n);else if(n.id===A)this.debugMessage(` Specular Color`),r.specular=this.readColor(n);else if(n.id===O)this.debugMessage(` Ambient color`),r.color=this.readColor(n);else if(n.id===j){let e=this.readPercentage(n);r.shininess=e*100,this.debugMessage(` Shininess : `+e)}else if(n.id===M){let e=this.readPercentage(n);r.opacity=1-e,this.debugMessage(` Transparency : `+e),r.transparent=r.opacity<1}else n.id===L?(this.debugMessage(` ColorMap`),r.map=this.readMap(n,t)):n.id===z?(this.debugMessage(` BumpMap`),r.bumpMap=this.readMap(n,t)):n.id===R?(this.debugMessage(` OpacityMap`),r.alphaMap=this.readMap(n,t)):n.id===B?(this.debugMessage(` SpecularMap`),r.specularMap=this.readMap(n,t)):this.debugMessage(` Unknown material chunk: `+n.hexId);n=e.readChunk()}this.materials[r.name]=r}readMesh(t){let n=t.readChunk(),r=new l,i=new a(r,new c);for(i.name=`mesh`;n;){if(n.id===J){let e=n.readWord();this.debugMessage(` Vertex: `+e);let t=[];for(let r=0;r<e;r++)t.push(n.readFloat()),t.push(n.readFloat()),t.push(n.readFloat());r.setAttribute(`position`,new u(t,3))}else if(n.id===Y)this.readFaceArray(n,i);else if(n.id===Z){let e=n.readWord();this.debugMessage(` UV: `+e);let t=[];for(let r=0;r<e;r++)t.push(n.readFloat()),t.push(n.readFloat());r.setAttribute(`uv`,new u(t,2))}else if(n.id===Q){this.debugMessage(` Transformation Matrix (TODO)`);let t=[];for(let e=0;e<12;e++)t[e]=n.readFloat();let a=new e;a.elements[0]=t[0],a.elements[1]=t[6],a.elements[2]=t[3],a.elements[3]=t[9],a.elements[4]=t[2],a.elements[5]=t[8],a.elements[6]=t[5],a.elements[7]=t[11],a.elements[8]=t[1],a.elements[9]=t[7],a.elements[10]=t[4],a.elements[11]=t[10],a.elements[12]=0,a.elements[13]=0,a.elements[14]=0,a.elements[15]=1,a.transpose();let o=new e;o.copy(a).invert(),r.applyMatrix4(o),a.decompose(i.position,i.quaternion,i.scale)}else this.debugMessage(` Unknown mesh chunk: `+n.hexId);n=t.readChunk()}return r.computeVertexNormals(),i}readFaceArray(e,t){let n=e.readWord();this.debugMessage(` Faces: `+n);let r=[];for(let t=0;t<n;++t)r.push(e.readWord(),e.readWord(),e.readWord()),e.readWord();t.geometry.setIndex(r);let i=0,a=0;for(;!e.endOfChunk;){let n=e.readChunk();if(n.id===X){this.debugMessage(` Material Group`);let e=this.readMaterialGroup(n),r=e.index.length*3;t.geometry.addGroup(a,r,i),a+=r,i++;let o=this.materials[e.name];Array.isArray(t.material)===!1&&(t.material=[]),o!==void 0&&t.material.push(o)}else this.debugMessage(` Unknown face array chunk: `+n.hexId)}t.material.length===1&&(t.material=t.material[0])}readMap(e,t){let n=e.readChunk(),i={},a=new r(this.manager);for(a.setPath(this.resourcePath||t).setCrossOrigin(this.crossOrigin);n;){if(n.id===V){let e=n.readString();i=a.load(e),this.debugMessage(` File: `+t+e)}else n.id===W?(i.offset.x=n.readFloat(),this.debugMessage(` OffsetX: `+i.offset.x)):n.id===G?(i.offset.y=n.readFloat(),this.debugMessage(` OffsetY: `+i.offset.y)):n.id===H?(i.repeat.x=n.readFloat(),this.debugMessage(` RepeatX: `+i.repeat.x)):n.id===U?(i.repeat.y=n.readFloat(),this.debugMessage(` RepeatY: `+i.repeat.y)):this.debugMessage(` Unknown map chunk: `+n.hexId);n=e.readChunk()}return i}readMaterialGroup(e){let t=e.readString(),n=e.readWord();this.debugMessage(` Name: `+t),this.debugMessage(` Faces: `+n);let r=[];for(let t=0;t<n;++t)r.push(e.readWord());return{name:t,index:r}}readColor(e){let t=e.readChunk(),n=new o;if(t.id===v||t.id===y){let e=t.readByte(),r=t.readByte(),i=t.readByte();n.setRGB(e/255,r/255,i/255),this.debugMessage(` Color: `+n.r+`, `+n.g+`, `+n.b)}else if(t.id===_||t.id===b){let e=t.readFloat(),r=t.readFloat(),i=t.readFloat();n.setRGB(e,r,i),this.debugMessage(` Color: `+n.r+`, `+n.g+`, `+n.b)}else this.debugMessage(` Unknown color chunk: `+t.hexId);return n}readPercentage(e){let t=e.readChunk();switch(t.id){case x:return t.readShort()/100;case S:return t.readFloat();default:return this.debugMessage(` Unknown percentage chunk: `+t.hexId),0}}debugMessage(e){this.debug&&console.log(e)}},f=class e{constructor(e,t,n){this.data=e,this.offset=t,this.position=t,this.debugMessage=n,this.debugMessage instanceof Function&&(this.debugMessage=function(){}),this.id=this.readWord(),this.size=this.readDWord(),this.end=this.offset+this.size,this.end>e.byteLength&&this.debugMessage(`Bad chunk size for chunk at `+t)}readChunk(){if(this.endOfChunk)return null;try{let t=new e(this.data,this.position,this.debugMessage);return this.position+=t.size,t}catch{return this.debugMessage(`Unable to read chunk at `+this.position),null}}get hexId(){return this.id.toString(16)}get endOfChunk(){return this.position>=this.end}readByte(){let e=this.data.getUint8(this.position,!0);return this.position+=1,e}readFloat(){try{let e=this.data.getFloat32(this.position,!0);return this.position+=4,e}catch(e){return this.debugMessage(e+` `+this.position+` `+this.data.byteLength),0}}readInt(){let e=this.data.getInt32(this.position,!0);return this.position+=4,e}readShort(){let e=this.data.getInt16(this.position,!0);return this.position+=2,e}readDWord(){let e=this.data.getUint32(this.position,!0);return this.position+=4,e}readWord(){let e=this.data.getUint16(this.position,!0);return this.position+=2,e}readString(){let e=``,t=this.readByte();for(;t;)e+=String.fromCharCode(t),t=this.readByte();return e}},p=19789,m=15786,h=49725,g=2,_=16,v=17,y=18,b=19,x=48,S=49,C=15677,w=15678,T=256,E=45055,D=40960,O=40976,k=40992,A=41008,j=41024,M=41040,N=41089,P=41091,F=41093,I=41095,L=41472,R=41488,z=41520,B=41476,V=41728,H=41812,U=41814,W=41816,G=41818,K=16384,q=16640,J=16656,Y=16672,X=16688,Z=16704,Q=16736;export{d as TDSLoader};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import{b as e,d as t,f as n,p as r,r as i}from"./package-DbhUOWuO.js";import{p as a,rt as o,tt as s}from"./reactivity.esm-bundler-Bfmlzvr-.js";import{C as c,_ as l,b as u,f as d,g as ee,i as f,r as te,s as p,t as ne,y as m}from"./runtime-core.esm-bundler-CR6OOEFf.js";import{a as h,i as g,n as _,r as v,t as y}from"./wasm-C3ukMqzA.js";import{r as b}from"./printLayout-D2pf0W9y.js";var x=[`DejaVuSansMono-Bold.ttf`,`DejaVuSansMono-BoldOblique.ttf`,`DejaVuSansMono-Oblique.ttf`,`DejaVuSansMono.ttf`,`LibertinusSerif-Bold.otf`,`LibertinusSerif-BoldItalic.otf`,`LibertinusSerif-Italic.otf`,`LibertinusSerif-Regular.otf`,`LibertinusSerif-Semibold.otf`,`LibertinusSerif-SemiboldItalic.otf`,`NewCM10-Bold.otf`,`NewCM10-BoldItalic.otf`,`NewCM10-Italic.otf`,`NewCM10-Regular.otf`,`NewCMMath-Bold.otf`,`NewCMMath-Book.otf`,`NewCMMath-Regular.otf`],S=[`InriaSerif-Bold.ttf`,`InriaSerif-BoldItalic.ttf`,`InriaSerif-Italic.ttf`,`InriaSerif-Regular.ttf`,`Roboto-Regular.ttf`,`NotoSerifCJKsc-Regular.otf`],C=[`TwitterColorEmoji.ttf`,`NotoColorEmoji-Regular-COLR.subset.ttf`];function w(){return D([],{assets:!1})}function T(e){return D([],e)}function E(e){let t=[];if(e&&e?.assets!==!1&&e?.assets?.length&&e?.assets?.length>0){let n={text:`https://cdn.jsdelivr.net/gh/typst/typst-assets@v0.13.1/files/fonts/`,_:`https://cdn.jsdelivr.net/gh/typst/typst-dev-assets@v0.13.1/files/fonts/`},r=e.assetUrlPrefix??n;r=typeof r==`string`?{_:r}:{...n,...r};for(let e of Object.keys(r)){let t=r[e];t[t.length-1]!==`/`&&(r[e]=t+`/`)}let i=(e,t)=>t.map(t=>(r[e]||r._)+t);for(let n of e.assets)switch(n){case`text`:t.push(...i(n,x));break;case`cjk`:t.push(...i(n,S));break;case`emoji`:t.push(...i(n,C));break}}return t}function D(e,t){let n=E(t),r=async(r,{ref:i,builder:a})=>{t?.fetcher&&i.setFetcher(t.fetcher),await i.loadFonts(a,[...e,...n])};return r._preloadRemoteFontOptions=t,r._kind=`fontLoader`,r}function O(e){return async(t,{builder:n})=>new Promise(t=>{n.set_package_registry(e,function(t){return e.resolve(t,this)}),t()})}function k(e){return async(t,n)=>{if(n.alreadySetAccessModel)throw Error(`already set some assess model before: ${n.alreadySetAccessModel.constructor?.name}(${n.alreadySetAccessModel})`);return n.alreadySetAccessModel=e,new Promise(t=>{n.builder.set_access_model(e,t=>{let n=e.getMTime(t);return n?n.getTime():0},t=>e.isFile(t)||!1,t=>e.getRealPath(t)||t,t=>e.readAll(t)),t()})}}var A;(function(e){e[e.vector=0]=`vector`,e[e.pdf=1]=`pdf`,e[e._dummy=2]=`_dummy`})(A||={});var j=class{[v];constructor(e){this[v]=e}reset(){this[v].reset()}current(){return this[v].current()}setAttachDebugInfo(e){this[v].set_attach_debug_info(e)}},M;M||={};function N(){return new L}var P=class{[v];constructor(e){this[v]=e}compile(e){return this[v].compile(0,B(e?.diagnostics))}compileHtml(e){return this[v].compile(1,B(e?.diagnostics))}async query(e){return JSON.parse(this[v].query(0,e.selector,e.field))}title(){return this[v].title(0)}vector(e){return this[v].get_artifact(0,B(e?.diagnostics))||{}}pdf(e){return this[v].get_artifact(1,B(e?.diagnostics))||{}}},F=e=>new y(async t=>await e.default(t));function I(){return new R}var L=class{fontBuilderJs;fontBuilder;async init(e){this.fontBuilderJs=await(e?.getWrapper?.()||i(()=>import(`./wasm-pack-shim-BShYmbRf.js`),[],import.meta.url)),await F(this.fontBuilderJs).init(e?.getModule?.()),this.fontBuilder=new this.fontBuilderJs.TypstFontResolverBuilder}async getFontInfo(e){return this.fontBuilder.get_font_info(e)}async addFontData(e){this.fontBuilder.add_raw_font(e)}async addLazyFont(e,t){return this.fontBuilder.add_lazy_font(e,t)}async build(e){let t=await this.fontBuilder.build(),n=await e(t);return t.free(),n}},R=class e{compiler;compilerJs;static defaultAssets=[`text`];constructor(){}async init(t){this.compilerJs=await(t?.getWrapper?.()||i(()=>import(`./wasm-pack-shim-BShYmbRf.js`),[],import.meta.url));let n=this.compilerJs.TypstCompilerBuilder,r={...t||{}},a=r.beforeBuild??=[],o=a.some(e=>e._preloadRemoteFontOptions!==void 0),s=a.some(e=>e._preloadRemoteFontOptions?.assets!==void 0),c=a.some(e=>e._preloadRemoteFontOptions?.assets===!1);if((!o||!s&&!c)&&a.push(D([],{assets:e.defaultAssets})),!a.some(e=>e._kind===`fontLoader`))throw Error(`TypstCompiler: no font loader found, please use font loaders, e.g. loadFonts or preloadSystemFonts`);this.compiler=await g(t,F(this.compilerJs),n,{})}setFonts(e){this.compiler.set_fonts(e)}compile(e){return new Promise(t=>{let n=this.compiler.snapshot(e.root,e.mainFilePath,z(e.inputs));if(`incrementalServer`in e){t(n.incr_compile(e.incrementalServer[v],B(e.diagnostics)));return}t(n.get_artifact(e.format||A.vector,B(e.diagnostics)))})}async runWithWorld(e,t){let n=this.compiler.snapshot(e.root,e.mainFilePath,z(e.inputs)),r=await t(new P(n));return n.free(),r}query(e){return this.runWithWorld(e,async t=>JSON.parse(await t.query(e)))}getSemanticTokenLegend(){return new Promise(e=>{e(this.compiler.get_semantic_token_legend())})}getSemanticTokens(e){return new Promise(t=>{this.compiler.reset(),t(this.compiler.get_semantic_tokens(e.offsetEncoding||`utf-16`,e.mainFilePath,e.resultId))})}async withIncrementalServer(e){let t=new j(this.compiler.create_incr_server());try{return await e(t)}finally{t[v].free()}}async getAst(e){return this.compiler.get_ast(e)}async reset(){await new Promise(e=>{this.compiler.reset(),e(void 0)})}addSource(e,t){if(arguments.length>2)throw Error(`use of addSource(path, source, isMain) is deprecated, please use addSource(path, source) instead`);this.compiler.add_source(e,t)}mapShadow(e,t){this.compiler.map_shadow(e,t)}unmapShadow(e){this.compiler.unmap_shadow(e)}resetShadow(){this.compiler.reset_shadow()}renderPageToCanvas(){throw Error(`Please use the api TypstRenderer.renderToCanvas in v0.4.0`)}};I._impl=R;function z(e){return e?Object.entries(e):void 0}function B(e){switch(e){case`none`:return 1;case`unix`:return 2;default:return 3}}var re=class{pageInfos;loadPageCount;imageScaleFactor;container;canvasList;textLayerList;commonList;textLayerParentList;semanticLayerList;constructor(e,t,n){this.pageInfos=e,this.imageScaleFactor=n.pixelPerPt??_.PIXEL_PER_PT,t.innerHTML=``,t.style.width=`100%`,this.container=t,this.canvasList=Array(this.loadPageCount),this.textLayerList=Array(this.loadPageCount),this.commonList=Array(this.loadPageCount),this.textLayerParentList=Array(this.loadPageCount),this.semanticLayerList=Array(this.loadPageCount);let r=(e,n,r)=>{let i=Math.ceil(n.width)*this.imageScaleFactor,a=Math.ceil(n.height)*this.imageScaleFactor,o=this.canvasList[e]=document.createElement(`canvas`),s=this.semanticLayerList[e]=document.createElement(`div`),c=this.textLayerList[e]=document.createElement(`div`),l=this.textLayerParentList[e]=document.createElement(`div`);if(o.getContext(`2d`)){let e=document.createElement(`div`);o.width=i,o.height=a,e.appendChild(o),r.appendChild(e),e.style.position=`absolute`}{l.appendChild(c),l.className=`typst-html-semantics`;let e=t.offsetWidth,i=e/n.width;l.style.width=`${e}px`,l.style.height=`${n.height*i}px`,l.style.setProperty(`--data-text-width`,`${i}px`),l.style.setProperty(`--data-text-height`,`${i}px`),r.classList.add(`typst-page`),r.classList.add(`canvas`),r.style.width=`${e}px`,r.style.height=`${a*i}px`,r.style.position=`relative`,s.appendChild(l),r.appendChild(s)}};for(let e=0;e<this.pageInfos.length;e++){let n=this.pageInfos[e],i;i=this.commonList[e]=document.createElement(`div`),t.appendChild(i),r(e,n,i)}}resetLayout(){for(let e=0;e<this.pageInfos.length;e++){let t=this.pageInfos[e],n=Math.ceil(t.width)*this.imageScaleFactor,r=Math.ceil(t.height)*this.imageScaleFactor,i=this.canvasList[e].parentElement;if(!i)throw Error(`canvasDiv is null for page ${e}, canvas list length ${this.canvasList.length}`);let a=this.commonList[e],o=this.textLayerParentList[e],s=this.container.offsetWidth,c=s/n;o.style.width=`${s}px`,o.style.height=`${r*c}px`,a.style.width=`${s}px`,a.style.height=`${r*c}px`;let l=this.container.offsetWidth/n;i.style.transformOrigin=`0px 0px`,i.style.transform=`scale(${l})`}}},V;(function(e){e[e.Doc=0]=`Doc`,e[e.Slide=1]=`Slide`})(V||={});var ie=class e{hookedElem;kModule;opts;modes=[];partialRendering=!0;renderMode=`svg`;r=void 0;previewMode=V.Doc;isContentPreview=!1;isMixinOutline=!1;backgroundColor=`black`;pageColor=`white`;pixelPerPt=3;retrieveDOMState;isRendering=!1;moduleInitialized=!1;patchQueue=[];disposeList=[];canvasRenderCToken;currentRealScale=1;currentScaleRatio=1;vpTimeout=void 0;sampledRenderTime=0;partialRenderPage=0;outline=void 0;cursorPosition=void 0;cachedDOMState={width:0,height:0,window:{innerWidth:0,innerHeight:0},boundingRect:{left:0,top:0,right:0}};constructor(e){this.hookedElem=e.hookedElem,this.kModule=e.kModule,this.opts=e||{};{let{renderMode:t,previewMode:n,isContentPreview:r,retrieveDOMState:i}=e||{};this.partialRendering=!1,this.renderMode=t??this.renderMode,this.previewMode=n??this.previewMode,this.isContentPreview=r||!1,this.retrieveDOMState=i??(()=>({width:this.hookedElem.offsetWidth,height:this.hookedElem.offsetHeight,window:{innerWidth:window.innerWidth,innerHeight:window.innerHeight},boundingRect:this.hookedElem.getBoundingClientRect()})),this.backgroundColor=getComputedStyle(document.documentElement).getPropertyValue(`--typst-preview-background-color`)}this.hookedElem.classList.add(`hide-scrollbar-x`),this.hookedElem.parentElement?.classList.add(`hide-scrollbar-x`),this.previewMode===V.Slide&&(this.hookedElem.classList.add(`hide-scrollbar-y`),this.hookedElem.parentElement?.classList.add(`hide-scrollbar-y`)),this.installCtrlWheelHandler()}reset(){this.kModule.reset(),this.moduleInitialized=!1}dispose(){let e=this.disposeList;this.disposeList=[],e.forEach(e=>e())}static derive(e,t){return[`rescale`,`rerender`,`postRender`].reduce((n,r)=>(n[r]=e[`${r}$${t}`].bind(e),console.assert(n[r]!==void 0,`${r}$${t} is undefined`),n),{})}registerMode(t){let n=e.derive(this,t);this.modes.push([t,n]),t===this.renderMode&&(this.r=n)}installCtrlWheelHandler(){let e=[.1,.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.3,1.5,1.7,1.9,2.1,2.4,2.7,3,3.3,3.7,4.1,4.6,5.1,5.7,6.3,7,7.7,8.5,9.4,10],t=t=>{if(t.ctrlKey){t.preventDefault(),this.cachedDOMState=this.retrieveDOMState(),window.onresize!==null&&(window.onresize=null);let n=this.currentScaleRatio;if(t.deltaY<0){if(this.currentScaleRatio>=e.at(-1))return;this.currentScaleRatio=e.filter(e=>e>this.currentScaleRatio).at(0)}else if(t.deltaY>0){if(this.currentScaleRatio<=e.at(0))return;this.currentScaleRatio=e.filter(e=>e<this.currentScaleRatio).at(-1)}else return;let r=this.currentScaleRatio/n,i=t.pageX*(r-1),a=t.pageY*(r-1);Math.abs(this.currentScaleRatio-1)<1e-5?(this.hookedElem.classList.add(`hide-scrollbar-x`),this.hookedElem.parentElement?.classList.add(`hide-scrollbar-x`),this.previewMode===V.Slide&&(this.hookedElem.classList.add(`hide-scrollbar-y`),this.hookedElem.parentElement?.classList.add(`hide-scrollbar-y`))):(this.hookedElem.classList.remove(`hide-scrollbar-x`),this.hookedElem.parentElement?.classList.remove(`hide-scrollbar-x`),this.previewMode===V.Slide&&(this.hookedElem.classList.remove(`hide-scrollbar-y`),this.hookedElem.parentElement?.classList.remove(`hide-scrollbar-y`)));let o=this.hookedElem.firstElementChild;if(o){let e=this.getSvgScaleRatio(),t=Number.parseFloat(o.getAttribute(`data-height`)),n=Math.ceil(t*e);this.hookedElem.style.height=`${n*2}px`}return window.scrollBy(i,a),this.addViewportChange(),!1}};this.renderMode!==`dom`&&(typeof acquireVsCodeApi<`u`?(window.addEventListener(`wheel`,t,{passive:!1}),this.disposeList.push(()=>{window.removeEventListener(`wheel`,t)})):(document.body.addEventListener(`wheel`,t,{passive:!1}),this.disposeList.push(()=>{document.body.removeEventListener(`wheel`,t)})))}getSvgScaleRatio(){let e=this.hookedElem.firstElementChild;if(!e)return 0;let t=this.cachedDOMState,n=Number.parseFloat(e.getAttribute(`data-width`)||e.getAttribute(`width`)||`1`),r=Number.parseFloat(e.getAttribute(`data-height`)||e.getAttribute(`height`)||`1`);return this.currentRealScale=this.previewMode===V.Slide?Math.min(t.width/n,t.height/r):t.width/n,this.currentRealScale*this.currentScaleRatio}processQueue(e){let t=e[0];switch(t){case`new`:case`diff-v1`:return t===`new`&&this.reset(),this.kModule.manipulateData({action:`merge`,data:e[1]}),this.moduleInitialized=!0,!0;case`viewport-change`:return this.moduleInitialized?!0:(console.log(`viewport-change before initialization`),!1);default:return console.log(`svgUpdateEvent`,e),!1}}triggerUpdate(){if(this.isRendering)return;this.isRendering=!0;let e=async()=>{if(this.cachedDOMState=this.retrieveDOMState(),this.patchQueue.length===0){this.isRendering=!1,this.postprocessChanges();return}try{let t=performance.now(),n=this.canvasRenderCToken;n&&(await n.cancel(),await n.wait(),this.canvasRenderCToken=void 0,console.log(`cancel canvas rendering`));let r=!1;for(;this.patchQueue.length>0;)r=this.processQueue(this.patchQueue.shift())||r;performance.now(),r&&(this.r.rescale(),await this.r.rerender(),this.r.rescale());let i=performance.now();this.sampledRenderTime=i-t,requestAnimationFrame(e)}catch(e){console.error(e),this.isRendering=!1,this.postprocessChanges()}};requestAnimationFrame(e)}postprocessChanges(){this.r.postRender(),this.previewMode===V.Slide&&document.querySelectorAll(`.typst-page-number-indicator`).forEach(e=>{e.textContent=`${this.kModule.retrievePagesInfo().length}`})}addChangement(e){e[0]===`new`&&this.patchQueue.splice(0,this.patchQueue.length);let t=()=>{this.vpTimeout=void 0,this.patchQueue.push(e),this.triggerUpdate()};this.vpTimeout!==void 0&&clearTimeout(this.vpTimeout),e[0]===`viewport-change`&&this.isRendering?this.vpTimeout=setTimeout(t,this.sampledRenderTime||100):t()}addViewportChange(){this.addChangement([`viewport-change`,``])}};function H(e){return class{impl;kModule;constructor(t){if(t.isContentPreview&&(t.renderMode=`canvas`),this.kModule=t.kModule,this.impl=new e(t),!this.impl.r)throw Error(`mode is not supported, ${t?.renderMode}`);t.isContentPreview&&(this.impl.partialRendering=!0,this.impl.pixelPerPt=1,this.impl.isMixinOutline=!0)}dispose(){this.impl.dispose()}reset(){this.impl.reset()}addChangement(e){this.impl.addChangement(e)}addViewportChange(){this.impl.addViewportChange()}setPageColor(e){this.impl.pageColor=e,this.addViewportChange()}setPartialRendering(e){this.impl.partialRendering=e}setCursor(e,t,n){this.impl.cursorPosition=[e,t,n]}setPartialPageNumber(e){return e<=0||e>this.kModule.retrievePagesInfo().length?!1:(this.impl.partialRenderPage=e-1,this.addViewportChange(),!0)}getPartialPageNumber(){return this.impl.partialRenderPage+1}setOutineData(e){this.impl.outline=e,this.addViewportChange()}}}function ae(e,...t){return t.reduce((e,t)=>t(e),e)}var oe=class{isCancellationRequested=!1;_onCancelled;_onCancelledResolveResolved;constructor(){let e,t;this._onCancelled=new Promise(n=>{e=n,t&&t(n)}),this._onCancelledResolveResolved=new Promise(n=>{t=n,e&&n(e)})}async cancel(){await this._onCancelledResolveResolved,this.isCancellationRequested=!0}isCancelRequested(){return this.isCancellationRequested}async consume(){(await this._onCancelledResolveResolved)()}wait(){return this._onCancelled}},se=()=>new Promise(e=>requestAnimationFrame(e)),U;(function(e){e[e.Doc=0]=`Doc`,e[e.Pages=1]=`Pages`})(U||={});var W;(function(e){e[e.Layout=0]=`Layout`,e[e.Svg=1]=`Svg`,e[e.Semantics=2]=`Semantics`,e[e.PrepareCanvas=3]=`PrepareCanvas`,e[e.Canvas=4]=`Canvas`})(W||={});function ce(e){return class extends e{tmpl=document.createElement(`template`);stub=this.createElement(`<stub></stub>`);plugin;docKernel;resourceHeader=void 0;pages=[];domScale=1;track_mode=U.Doc;current_task=void 0;viewport;constructor(...e){if(super(...e),this.registerMode(`dom`),this.disposeList.push(()=>{this.dispose()}),this.plugin=this.opts.renderer,this.opts.domScale!==void 0){if(this.opts.domScale<=0)throw Error(`domScale must be positive`);this.domScale=this.opts.domScale}}dispose(){for(let e of this.pages)e.dispose();this.docKernel&&this.docKernel.free()}createElement(e){return this.tmpl.innerHTML=e,this.tmpl.content.firstElementChild}async mountDom(e){if(this.docKernel)throw Error(`already mounted`);this.hookedElem.innerHTML=`<svg class="typst-svg-resources" viewBox="0 0 0 0" width="0" height="0" style="opacity: 0; position: absolute;"></svg>`,this.resourceHeader=this.hookedElem.querySelector(`.typst-svg-resources`),this.docKernel=await this.plugin.renderer.mount_dom(this.kModule[v],this.hookedElem),this.docKernel.bind_functions({populateGlyphs:e=>{let t=this.createElement(e).firstElementChild;this.resourceHeader.append(t)}})}async cancelAnyway$dom(){if(this.current_task){let e=this.current_task;this.current_task=void 0,await e.cancel()}}retrieveDOMPages(){return Array.from(this.hookedElem.querySelectorAll(`.typst-dom-page`))}postRender$dom(){}rescale$dom(){}getDomViewport(e,t){let n=t.left,r=-t.top,i=t.right,a=e.innerHeight-t.top,o={x:0,y:r/this.domScale,width:Math.max(i-n,0)/this.domScale,height:Math.max(a-r,0)/this.domScale};return(o.width<=0||o.height<=0)&&(o.x=o.y=o.width=o.height=0),o}async rerender$dom(){let e=this.retrieveDOMState(),{x:t,y:n,width:r,height:i}=this.getDomViewport(e.window,e.boundingRect);if(!await this.docKernel.relayout(t,n,r,i))return;let a=new oe;this.doRender$dom(a),this.current_task=a}async doRender$dom(e){let t=(t,n)=>{if(t&&!e.isCancelRequested()&&n)return n()},n=this.retrieveDOMPages().map(e=>{let{innerWidth:t,innerHeight:n}=window,r=e.getBoundingClientRect();return{inWindow:!(r.left>t||r.right<0||r.top>n||r.bottom<0),page:e}}),r=async r=>{if(await se(),e.isCancelRequested())return;let i=n[r].page,a=i.getBoundingClientRect(),o=this.getDomViewport(window,a),s=e=>this.docKernel.need_repaint(r,o.x,o.y,o.width,o.height,e),c=e=>this.docKernel.repaint(r,o.x,o.y,o.width,o.height,e),l=n=>{if(!e.isCancelRequested())return t(s(n),()=>c(n))};await l(W.Layout);let u=(a.width?Number.parseFloat(i.getAttribute(`data-width`))/a.width:1)*this.domScale,d=(a.height?Number.parseFloat(i.getAttribute(`data-height`))/a.height:1)*this.domScale;o.x*=u,o.y*=d,o.y-=100,o.width*=u,o.height*=d,o.height+=200,await l(W.Svg),await l(W.Semantics),!e.isCancelRequested()&&(s(W.PrepareCanvas)?(async()=>{if(await c(W.PrepareCanvas),!e.isCancelRequested())return l(W.Canvas)})():await l(W.Canvas))},i=async t=>{for(let i=0;i<n.length;++i){if(e.isCancelRequested())return;n[i].inWindow===t&&await r(i)}};this.cancelAnyway$dom(),await i(!0),await i(!1),e.isCancelRequested()}}}var le=class extends H(ae(ie,ce)){},G=class{plugin;[v];constructor(e,t){this.plugin=e,this[v]=t}set backgroundColor(e){e!==void 0&&(this[v].background_color=e)}get backgroundColor(){return this[v].background_color}set pixelPerPt(e){e!==void 0&&(this[v].pixel_per_pt=e)}get pixelPerPt(){return this[v].pixel_per_pt}reset(){this.plugin.resetSession(this)}get doc_width(){return this[v].doc_width}get docWidth(){return this[v].doc_width}get doc_height(){return this[v].doc_height}get docHeight(){return this[v].doc_height}retrievePagesInfo(){let e=this[v].pages_info,t=[],n=e.page_count;for(let r=0;r<n;r++){let n=e.page(r);t.push({pageOffset:n.page_off,width:n.width_pt,height:n.height_pt})}return t}getSourceLoc(e){return this[v].source_span(e)}renderSvg(e){return this.plugin.renderSvg({renderSession:this,...e})}renderToSvg(e){return this.plugin.renderToSvg({renderSession:this,...e})}renderCanvas(e){return this.plugin.renderCanvas({renderSession:this,...e})}manipulateData(e){this.plugin.manipulateData({renderSession:this,...e})}renderSvgDiff(e){return this.plugin.renderSvgDiff({renderSession:this,...e})}get_source_loc(e){return this[v].source_span(e)}render_in_window(e,t,n,r){return this[v].render_in_window(e,t,n,r)}merge_delta(e){this.plugin.manipulateData({renderSession:this,action:`merge`,data:e})}},K;(function(e){e[e.Delete=0]=`Delete`,e[e.New=1]=`New`,e[e.Update=2]=`Update`})(K||={});var q=class{plugin;[v];constructor(e,t){this.plugin=e,this[v]=t}manipulateData(e,t){return this[v].manipulate_data(e,t)}managedCanvasElemList=new Map;canvasCounter=Math.random();renderCanvas(e){let t=this.managedCanvasElemList;for(let[e,n]of t)n[0]=K.Delete;for(let n of e){let e=n.canvas,r=e.dataset.manageId,i=K.Update;r||(r=this.canvasCounter.toFixed(5),this.canvasCounter+=1,e.dataset.manageId=r,i=K.New);let a=t.get(r);if(a&&a[0]!==K.Delete)throw Error(`cannot update a canvas for two times in batch`);t.set(r,[i,{...n}])}let n=Array.from(t.entries()),r=new Uint8Array(n.length),i=Array(n.length),a=n.map(([e,[n,a]],o)=>(n||t.delete(e),r[o]=n,i[o]=a.canvas,this.plugin.canvasOptionsToRust(a)));return this[v].render_canvas(r,i,a)}async retrievePagesInfo(){let e=await this[v].get_pages_info();console.log(e);let t=[],n=e.page_count;for(let r=0;r<n;r++){let n=e.page(r);t.push({pageOffset:n.page_off,width:n.width_pt,height:n.height_pt})}return t}},ue=e=>new y(async t=>await e.default(t));function de(){return new Y}async function fe(){return(await i(()=>import(`./wasm-pack-shim-BnuNh1z7.js`),[],import.meta.url)).renderer_build_info()}var J=!0,Y=class{renderer;rendererJs;constructor(){}async init(e){this.rendererJs=await(e?.getWrapper?.()||i(()=>import(`./wasm-pack-shim-BnuNh1z7.js`),[],import.meta.url));let t=this.rendererJs.TypstRendererBuilder;this.renderer=await g(e,ue(this.rendererJs),t,{})}loadGlyphPack(e){return Promise.resolve()}createOptionsToRust(e){let t=new this.rendererJs.CreateSessionOptions;return e.format!==void 0&&(t.format=e.format),e.artifactContent!==void 0&&(t.artifact_content=e.artifactContent),t}canvasOptionsToRust(e){let t=new this.rendererJs.RenderPageImageOptions;if(e.pageOffset===void 0)throw Error(`pageOffset is required in reflexo v0.5.0`);if(t.page_off=e.pageOffset,e.cacheKey!==void 0&&(t.cache_key=e.cacheKey),e.backgroundColor!==void 0&&(t.background_color=e.backgroundColor),e.pixelPerPt!==void 0&&(t.pixel_per_pt=e.pixelPerPt),e.dataSelection!==void 0){let n=0;e.dataSelection.body?n|=1:e.canvas&&J&&(J=!1,console.warn(`dataSelection.body is not set but providing canvas for body`)),(e.dataSelection.text||e.dataSelection.annotation)&&console.error(`dataSelection.text and dataSelection.annotation are deprecated`),e.dataSelection.semantics&&(n|=8),t.data_selection=n}return t}retrievePagesInfoFromSession(e){return e.retrievePagesInfo()}renderCanvas(e){return this.withinOptionSession(e,async t=>this.renderer.render_page_to_canvas(t[v],e.canvas||void 0,this.canvasOptionsToRust(e)))}async inAnimationFrame(e){return new Promise((t,n)=>{requestAnimationFrame(()=>{try{t(e())}catch(e){n(e)}})})}async renderDisplayLayer(e,t,n){let r=e[v].pages_info.page_count,i=async(r,i)=>{let a=t[r].getContext(`2d`);if(!a)throw Error(`canvas context is null`);return await this.renderCanvas({...n,canvas:a,renderSession:e,pageOffset:i})},a=performance.now(),o=await(async()=>{let e=[];for(let t=0;t<r;t++)e.push(await this.inAnimationFrame(()=>i(t,t)));return e})(),s=performance.now();return console.log(`display layer used: render = ${(s-a).toFixed(1)}ms`),o}renderTextLayer(e,t){let n=performance.now();e.forEach((e,n)=>{e.innerHTML=t[n].htmlSemantics[0]});let r=performance.now();console.log(`text layer used: render = ${(r-n).toFixed(1)}ms`)}async render(e){if(`format`in e&&e.format!==`vector`&&[`serde_json`,`js`,`ir`].includes(e.format))throw Error(`deprecated format ${e.format}, please use vector format`);return this.renderToCanvas(e)}async renderDom(e){if(`format`in e&&e.format!==`vector`&&[`serde_json`,`js`,`ir`].includes(e.format))throw Error(`deprecated format ${e.format}, please use vector format`);return this.withinOptionSession(e,async t=>{let n=new le({...e,renderMode:`dom`,hookedElem:e.container,kModule:t,renderer:this});return await n.impl.mountDom(e.pixelPerPt),n})}async renderToCanvas(e){let t,n,r=e.container;r.style.visibility=`hidden`;let i=async(i,a)=>{try{n=await this.renderDisplayLayer(t,i,e),a()}finally{r.style.visibility=`visible`}};return this.withinOptionSession(e,async a=>{if(t=a,t[v].pages_info.page_count===0)throw Error(`No page found in session`);if(e.pixelPerPt!==void 0&&e.pixelPerPt<=0)throw Error(`Invalid typst.RenderOptions.pixelPerPt, should be a positive number `+e.pixelPerPt);let o=e.backgroundColor;if(o!==void 0&&!/^#[0-9a-f]{6}$/.test(o))throw Error(`Invalid typst.backgroundColor color for matching ^#?[0-9a-f]{6}$ `+o);t.pixelPerPt=e.pixelPerPt??_.PIXEL_PER_PT,t.backgroundColor=o??`#ffffff`;let s=performance.now(),c=new re(this.retrievePagesInfoFromSession(t),r,e),l=performance.now();console.log(`layer used: retrieve = ${(l-s).toFixed(1)}ms`),await i(c.canvasList,()=>c.resetLayout()),this.renderTextLayer(c.textLayerList,n)})}createModule(e){return Promise.resolve(new G(this,this.renderer.create_session(e&&this.createOptionsToRust({format:`vector`,artifactContent:e}))))}async createWorkerV0(e){return new q(this,await this.renderer.create_worker(e))}workerBridge(){return this.renderer.create_worker_bridge()}renderSvg(e,t){if(e instanceof G||t)throw Error(`removed api, please use renderToSvg({ renderSession, container }) instead`);return this.withinOptionSession(e,async t=>{let n;return e.data_selection&&(n=0,e.data_selection.body&&(n|=1),e.data_selection.defs&&(n|=2),e.data_selection.css&&(n|=4),e.data_selection.js&&(n|=8)),Promise.resolve(this.renderer.svg_data(t[v],n))})}renderSvgDiff(e){return e.window?this.renderer.render_svg_diff(e.renderSession[v],e.window.lo.x,e.window.lo.y,e.window.hi.x,e.window.hi.y):this.renderer.render_svg_diff(e.renderSession[v],0,0,1e33,1e33)}renderToSvg(e){return this.withinOptionSession(e,async t=>Promise.resolve(this.renderer.render_svg(t[v],e.container)))}getCustomV1(e){return Promise.resolve(this.renderer.get_customs(e.renderSession[v]))}resetSession(e){return this.renderer.reset(e[v])}manipulateData(e){return this.renderer.manipulate_data(e.renderSession[v],e.action??`reset`,e.data)}withinOptionSession(e,t){function n(e){return`artifactContent`in e}if(`renderSession`in e)return t(e.renderSession);if(n(e))return this.runWithSession(e,t);throw Error(`Invalid render options, should be one of RenderByContentOptions|RenderBySessionOptions`)}async runWithSession(e,t){let n=e,r=t;t||(n=void 0,r=e);let i=this.renderer.create_session(n&&this.createOptionsToRust(n));try{let e=await r(new G(this,i));return i.free(),e}catch(e){throw i.free(),e}}},X=class{mTimes=new Map;mData=new Map;constructor(){}reset(){this.mTimes.clear(),this.mData.clear()}insertFile(e,t,n){this.mTimes.set(e,n),this.mData.set(e,t)}removeFile(e){this.mTimes.delete(e),this.mData.delete(e)}getMTime(e){if(e.startsWith(`/@memory/`)&&this.mTimes.has(e))return this.mTimes.get(e)}isFile(){return!0}getRealPath(e){return e}readAll(e){if(e.startsWith(`/@memory/`)&&this.mData.has(e))return this.mData.get(e)}},Z=class{am;cache=new Map;constructor(e){this.am=e}resolvePath(e){return`https://packages.typst.org/preview/${e.name}-${e.version}.tar.gz`}pullPackageData(e){let t=new XMLHttpRequest;if(t.overrideMimeType(`text/plain; charset=x-user-defined`),t.open(`GET`,this.resolvePath(e),!1),t.send(null),t.status===200&&(t.response instanceof String||typeof t.response==`string`))return Uint8Array.from(t.response,e=>e.charCodeAt(0))}resolve(e,t){if(e.namespace!==`preview`)return;let n=this.resolvePath(e);if(this.cache.has(n))return this.cache.get(n)();let r=this.pullPackageData(e);if(!r)return;let i=`/@memory/fetch/packages/${e.namespace}/${e.name}/${e.version}`,a=[];t.untar(r,(e,t,n)=>{a.push([i+`/`+e,t,new Date(n)])});let o=()=>{for(let[e,t,n]of a)this.am.insertFile(e,t,n);return i};return this.cache.set(n,o),o()}};function pe(e){return Math.random().toString(36).replace(`0.`,e||``)}var me=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,Q=class e{mainFilePath;cc;fr;ex;constructor(t){this.cc=t?.compiler||e.buildLocalCompiler,this.fr=t?.fontResolver||e.buildLocalFontResolver,this.ex=t?.renderer||e.buildLocalRenderer,this.mainFilePath=`/main.typ`,this.providers=[]}setCompiler(e){this.cc=e}async getFontResolver(){return typeof this.fr==`function`?this.fr=await this.fr():this.fr}async getCompiler(){return typeof this.cc==`function`?this.cc=await this.cc():this.cc}async getCompilerReset(){let e=await this.getCompiler();return await e.reset(),e}setRenderer(e){this.ex=e}async getRenderer(){return typeof this.ex==`function`?this.ex=await this.ex():this.ex}providers;use(...e){if(!this.providers)throw Error(`already prepare uses for instances`);this.providers.push(...e)}static preloadFontFromUrl(t){return e.preloadFonts([t])}static preloadFontData(t){return e.preloadFonts([t])}static preloadFonts(e){return{key:`access-model`,forRoles:[`compiler`],provides:[D(e)]}}static disableDefaultFontAssets(){return{key:`access-model`,forRoles:[`compiler`],provides:[w()]}}static preloadFontAssets(e){return{key:`access-model`,forRoles:[`compiler`],provides:[T(e)]}}static withAccessModel(e){return{key:`access-model`,forRoles:[`compiler`],provides:[k(e)]}}static withPackageRegistry(e){return{key:`package-registry`,forRoles:[`compiler`],provides:[O(e)]}}static fetchPackageRegistry(e){let t=e||new X;return{key:`package-registry$fetch`,forRoles:[`compiler`],provides:[...e?[]:[k(t)],O(new Z(t))]}}static fetchPackageBy(e,t){class n extends Z{pullPackageData(e){return t(e,this.resolvePath(e))}}return{key:`package-registry$lambda`,forRoles:[`compiler`],provides:[O(new n(e))]}}ccOptions;setCompilerInitOptions(e){this.requireIsUninitialized(`compiler`,this.cc),this.ccOptions=e}exOptions;setRendererInitOptions(e){this.requireIsUninitialized(`renderer`,this.ex),this.exOptions=e}setMainFilePath(e){this.mainFilePath=e}getMainFilePath(){return this.mainFilePath}removeTmp(e){return e.mainFilePath.startsWith(`/tmp/`)?this.unmapShadow(e.mainFilePath):Promise.resolve()}async setFonts(e){let t=await this.getFontResolver();for(let n of e)await t.addLazyFont(n,`blob`in n?n.blob:h(n),n);let n=await this.getCompiler();await t.build(async e=>n.setFonts(e))}async addSource(e,t){(await this.getCompiler()).addSource(e,t)}async resetShadow(){(await this.getCompiler()).resetShadow()}async mapShadow(e,t){(await this.getCompiler()).mapShadow(e,t)}async unmapShadow(e){(await this.getCompiler()).unmapShadow(e)}async vector(e){let t=await this.getCompileOptions(e);return(await this.getCompilerReset()).compile(t).then(e=>e.result).finally(()=>this.removeTmp(t))}async pdf(e){let t=await this.getCompileOptions(e);return t.format=A.pdf,(await this.getCompilerReset()).compile(t).then(e=>e.result).finally(()=>this.removeTmp(t))}async svg(e){return this.transientRender(e,(t,n)=>t.renderSvg({...e,renderSession:n}))}async canvas(e,t){return this.transientRender(t,(n,r)=>n.renderToCanvas({container:e,...t,renderSession:r}))}async query(e){let t=await this.getCompileOptions(e);return(await this.getCompilerReset()).query({...e,...t}).finally(()=>this.removeTmp(t))}async getSemanticTokenLegend(){return(await this.getCompilerReset()).getSemanticTokenLegend()}async getSemanticTokens(e){let t=await this.getCompileOptions(e);return(await this.getCompilerReset()).getSemanticTokens({mainFilePath:t.mainFilePath,resultId:e.resultId}).finally(()=>this.removeTmp(t))}async getCompileOptions(e){if(e===void 0)return{mainFilePath:this.mainFilePath,diagnostics:`none`};if(typeof e==`string`)throw Error(`please specify opts as {mainContent: '...'} or {mainFilePath: '...'}`);if(`mainFilePath`in e)return{...e,diagnostics:`none`};{let t=`/tmp/${pe()}.typ`;return await this.addSource(t,e.mainContent),{mainFilePath:t,inputs:e.inputs,diagnostics:`none`}}}async getVector(e){if(e&&`vectorData`in e)return e.vectorData;let t=await this.getCompileOptions(e);return(await this.getCompiler()).compile(t).then(e=>e.result).finally(()=>this.removeTmp(t))}async transientRender(e,t){let n=await this.getRenderer();if(!n)throw Error(`does not provide renderer instance`);let r=await this.getVector(e);return await n.runWithSession(async e=>(n.manipulateData({renderSession:e,action:`reset`,data:r}),t(n,e)))}prepareUseOnce=void 0;async prepareUse(){return this.prepareUseOnce?this.prepareUseOnce:this.prepareUseOnce=this.doPrepareUse()}async doPrepareUse(){if(!this.providers)return;let t=await Promise.all(this.providers.map(e=>typeof e==`function`?e():e));if(this.providers=[],$==this&&!t.some(e=>e.key.includes(`package-registry`)||e.key.includes(`access-model`)))if(me){let t=Function(`m`,`return import(m)`);try{let n=new X,{default:r}=await t(`sync-request`);$.use(e.withAccessModel(n),e.fetchPackageBy(n,(e,t)=>{let n=r(`GET`,t);if(n.statusCode===200)return n.getBody(void 0)}))}catch{}}else $.use(e.fetchPackageRegistry());let n=await Promise.all(this.providers.map(e=>typeof e==`function`?e():e)),r=this.ccOptions||={},i=r.beforeBuild||=[],a=this.exOptions||={},o=a.beforeBuild||=[];for(let e of[...t,...n])e.forRoles.includes(`compiler`)&&(this.requireIsUninitialized(`compiler`,this.cc),i.push(...e.provides)),e.forRoles.includes(`renderer`)&&(this.requireIsUninitialized(`renderer`,this.ex),o.push(...e.provides));this.providers=void 0}requireIsUninitialized(e,t,n){if(t&&typeof t!=`function`)throw Error(`${e} has been initialized: ${t}`)}static async buildLocalCompiler(){let{createTypstCompiler:e}=await i(()=>import(`./compiler-qgJWLAtm.js`),[],import.meta.url);await this.prepareUse();let t=e();return await t.init(this.ccOptions),t}static async buildLocalFontResolver(){let{createTypstFontBuilder:e}=await i(()=>import(`./compiler-qgJWLAtm.js`),[],import.meta.url);await this.prepareUse();let t=e();return await t.init(this.ccOptions),t}static async buildGlobalCompiler(){let{createGlobalCompiler:e}=await i(()=>import(`./global-compiler-D1EEBbpA.js`),[],import.meta.url),{createTypstCompiler:t}=await i(()=>import(`./compiler-qgJWLAtm.js`),[],import.meta.url);return await this.prepareUse(),e(t,this.ccOptions)}static async buildLocalRenderer(){let{createTypstRenderer:e}=await i(()=>import(`./renderer-69XMfifI.js`),[],import.meta.url);await this.prepareUse();let t=e();return await t.init(this.exOptions),t}static async buildGlobalRenderer(){let{createGlobalRenderer:e}=await i(()=>import(`./global-renderer-AKzBLvRw.js`),[],import.meta.url),{createTypstRenderer:t}=await i(()=>import(`./renderer-69XMfifI.js`),[],import.meta.url);return await this.prepareUse(),e(t,this.exOptions)}},$=new Q({compiler:Q.buildGlobalCompiler,renderer:Q.buildGlobalRenderer}),he=``+new URL(`typst_ts_renderer_bg-DRRWm1TP.wasm`,import.meta.url).href,ge={class:`typst-toolbar`},_e={key:0,class:`typst-loading`,role:`status`},ve={key:1,class:`typst-error`},ye={key:2,class:`typst-pages`,"aria-label":`Typst preview pages`},be=[`aria-label`],xe=[`innerHTML`],Se=`https://cdn.jsdelivr.net/npm/@myriaddreamin/typst-ts-web-compiler@0.7.0/pkg/typst_ts_web_compiler_bg.wasm`,Ce=e(d({__name:`TypstViewer`,props:{source:{},filename:{},compilerWasmUrl:{},exportAdapter:{type:Function}},setup(e){let i=e,d=a(`idle`),h=a(null),g=a([]),_=a(``),v=a(1),y=t(),x=0,S=!1,C=()=>i.compilerWasmUrl||window.__FLYFISH_TYPST_COMPILER_WASM_URL__||Se,w=()=>{S||=($.setCompilerInitOptions({getModule:C}),$.setRendererInitOptions({getModule:()=>he}),!0)},T=e=>e.replace(/[&<>"']/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`})[e]),E=(e,t)=>{let n=Number.parseFloat(e.getAttribute(t)||``);return Number.isFinite(n)&&n>0?n:0},D=e=>{e.querySelectorAll(`script`).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{Array.from(e.attributes).forEach(t=>{let n=t.name.toLowerCase(),r=t.value.trim().toLowerCase();(n.startsWith(`on`)||r.startsWith(`javascript:`))&&e.removeAttribute(t.name)})})},O=e=>new XMLSerializer().serializeToString(e),k=e=>{let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=t.querySelector(`parsererror`);if(n)throw Error(n.textContent||`Typst SVG 解析失败`);D(t);let r=t.documentElement,i=Array.from(r.children).filter(e=>[`style`,`defs`].includes(e.tagName.toLowerCase())).map(O).join(``),a=Array.from(r.querySelectorAll(`g.typst-page`)),o=E(r,`data-width`)||E(r,`width`)||596,s=E(r,`data-height`)||E(r,`height`)||842;return a.length?a.map((e,t)=>{let n=E(e,`data-page-width`)||o,r=E(e,`data-page-height`)||s,a=e.cloneNode(!0);a.setAttribute(`transform`,`translate(0, 0)`);let c=[`<svg style="overflow:visible;" class="typst-doc" viewBox="0 0 ${n} ${r}" width="${n}" height="${r}" data-width="${n}" data-height="${r}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">`,i,O(a),`</svg>`].join(``);return{index:t+1,width:n,height:r,svg:c}}):[{index:1,width:o,height:s,svg:e}]},A=e=>Array.isArray(e)?e.map(e=>e&&typeof e==`object`&&`message`in e?`${`severity`in e?String(e.severity):`Error`}: ${String(e.message)}`:String(e)).join(`
|
|
2
|
-
`):e instanceof Error?e.message:String(e),j=te(()=>{if(!g.value.length)return`0 pages`;let e=g.value[0];return`${g.value.length} pages / ${Math.round(e.width)} x ${Math.round(e.height)} pt`}),M=e=>Math.min(3,Math.max(.3,Number(e.toFixed(2)))),N=()=>({scale:v.value,label:`${Math.round(v.value*100)}%`,canZoomIn:v.value<3,canZoomOut:v.value>.3,canReset:v.value!==1,minScale:.3,maxScale:3}),P=()=>{let e=h.value;e&&n(e,{zoomIn:()=>(v.value=M(v.value+.1),N()),zoomOut:()=>(v.value=M(v.value-.1),N()),resetZoom:()=>(v.value=1,N()),setZoom:e=>(v.value=M(e),N()),getState:N,subscribe:y.subscribe})},F=e=>`${e.width*v.value}px`,I=e=>`${e.height*v.value}px`,L=()=>`
|
|
3
|
-
<style>
|
|
4
|
-
.typst-export-document {
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
align-items: center;
|
|
9
|
-
gap: 18px;
|
|
10
|
-
margin: 0;
|
|
11
|
-
padding: 24px;
|
|
12
|
-
background: #eef1f4;
|
|
13
|
-
}
|
|
14
|
-
.typst-export-page {
|
|
15
|
-
box-sizing: border-box;
|
|
16
|
-
flex: 0 0 auto;
|
|
17
|
-
overflow: hidden;
|
|
18
|
-
background: #ffffff;
|
|
19
|
-
box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
|
|
20
|
-
}
|
|
21
|
-
.typst-export-page svg {
|
|
22
|
-
display: block;
|
|
23
|
-
width: 100%;
|
|
24
|
-
height: auto;
|
|
25
|
-
}
|
|
26
|
-
</style>
|
|
27
|
-
`,R=()=>`${L()}<main class="typst-export-document" aria-label="${T(i.filename||`Typst document`)}">${g.value.map(e=>{let t=b(e.width),n=b(e.height);return`<section class="typst-export-page viewer-print-page" style="--viewer-print-page-width:${t};--viewer-print-page-height:${n};width:${t};height:${n};" aria-label="Page ${e.index}">${e.svg}</section>`}).join(``)}</main>`,z=()=>{let e=g.value[0],t=e?b(e.width):`596px`;return`
|
|
28
|
-
@page { size: ${t} ${e?b(e.height):`842px`}; margin: 0; }
|
|
29
|
-
@media print {
|
|
30
|
-
html,
|
|
31
|
-
body {
|
|
32
|
-
width: ${t};
|
|
33
|
-
min-width: ${t};
|
|
34
|
-
margin: 0 !important;
|
|
35
|
-
background: #ffffff !important;
|
|
36
|
-
}
|
|
37
|
-
.typst-export-document {
|
|
38
|
-
display: block !important;
|
|
39
|
-
margin: 0 !important;
|
|
40
|
-
padding: 0 !important;
|
|
41
|
-
background: #ffffff !important;
|
|
42
|
-
}
|
|
43
|
-
.typst-export-page {
|
|
44
|
-
display: block !important;
|
|
45
|
-
margin: 0 !important;
|
|
46
|
-
border: 0 !important;
|
|
47
|
-
box-shadow: none !important;
|
|
48
|
-
break-after: page;
|
|
49
|
-
page-break-after: always;
|
|
50
|
-
}
|
|
51
|
-
.typst-export-page:last-child {
|
|
52
|
-
break-after: auto;
|
|
53
|
-
page-break-after: auto;
|
|
54
|
-
}
|
|
55
|
-
.typst-export-page svg {
|
|
56
|
-
width: 100% !important;
|
|
57
|
-
height: auto !important;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
`},B=()=>{if(!i.exportAdapter||!g.value.length){i.exportAdapter?.(null);return}i.exportAdapter({includeDocumentStyles:!1,print:!0,exportHtml:!0,printStyle:z,toHtml:R})};return c(()=>i.source,async()=>{let e=++x;d.value=`loading`,_.value=``,g.value=[],i.exportAdapter?.(null);try{w();let t=await $.svg({mainContent:i.source,data_selection:{body:!0,defs:!0,css:!0,js:!1}});if(e!==x)return;g.value=k(t),d.value=`ready`,B()}catch(t){if(e!==x)return;_.value=A(t),d.value=`error`}},{immediate:!0}),c(v,()=>{y.emit()}),l(P),ee(()=>{x+=1,r(h.value),i.exportAdapter?.(null)}),(t,n)=>(m(),p(`div`,{ref_key:`root`,ref:h,class:`typst-viewer`,"data-viewer-zoom-provider":`typst`},[f(`header`,ge,[f(`div`,null,[f(`strong`,null,o(e.filename||`Typst document`),1),f(`span`,null,o(d.value===`ready`?j.value:`Typst WASM renderer`),1)]),f(`em`,null,o(d.value===`loading`?`正在编译`:d.value===`error`?`编译失败`:`已渲染`),1)]),d.value===`loading`?(m(),p(`div`,_e,[...n[0]||=[f(`span`,{"aria-hidden":`true`},null,-1),f(`strong`,null,`正在解析 Typst`,-1),f(`p`,null,`加载编译器并生成页面预览...`,-1)]])):d.value===`error`?(m(),p(`div`,ve,[n[1]||=f(`strong`,null,`Typst 渲染失败`,-1),f(`pre`,null,o(_.value),1)])):(m(),p(`main`,ye,[(m(!0),p(ne,null,u(g.value,e=>(m(),p(`section`,{key:e.index,class:`typst-page-shell`,style:s({"--typst-page-width":F(e),"--typst-page-height":I(e)}),"aria-label":`Page ${e.index}`},[f(`div`,{class:`typst-page-content`,innerHTML:e.svg},null,8,xe)],12,be))),128))]))],512))}}),[[`__scopeId`,`data-v-2cdd799b`]]);export{fe as a,L as c,N as d,Ce as default,de as i,P as l,Y as n,A as o,q as r,j as s,G as t,I as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.typst-viewer[data-v-2cdd799b]{color:#172033;background:#eef1f4;min-height:100%;overflow:auto}.typst-toolbar[data-v-2cdd799b]{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fafceb;border-bottom:1px solid #78869b2e;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 18px;display:flex;position:sticky;top:0}.typst-toolbar div[data-v-2cdd799b]{min-width:0}.typst-toolbar strong[data-v-2cdd799b],.typst-toolbar span[data-v-2cdd799b]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.typst-toolbar strong[data-v-2cdd799b]{color:#172033;font-size:14px;font-weight:800}.typst-toolbar span[data-v-2cdd799b],.typst-toolbar em[data-v-2cdd799b]{color:#6a778b;font-size:12px;font-style:normal;font-weight:700}.typst-pages[data-v-2cdd799b]{box-sizing:border-box;flex-direction:column;align-items:center;gap:22px;min-height:calc(100% - 52px);padding:28px 16px 44px;display:flex}.typst-page-shell[data-v-2cdd799b]{width:min(var(--typst-page-width), 100%);background:#fff;border:1px solid #1423351a;max-width:100%;overflow:hidden;box-shadow:0 18px 44px #0f172a24}.typst-page-content[data-v-2cdd799b] svg{width:100%;height:auto;display:block}.typst-loading[data-v-2cdd799b],.typst-error[data-v-2cdd799b]{box-sizing:border-box;background:#fff;border:1px solid #78869b2e;border-radius:14px;width:min(520px,100% - 32px);margin:80px auto;padding:26px;box-shadow:0 18px 44px #0f172a1f}.typst-loading[data-v-2cdd799b]{text-align:center;justify-items:center;gap:10px;display:grid}.typst-loading span[data-v-2cdd799b]{border:3px solid #2e825e2e;border-top-color:#239661;border-radius:999px;width:34px;height:34px;animation:.8s linear infinite typst-spin-2cdd799b}.typst-loading strong[data-v-2cdd799b],.typst-error strong[data-v-2cdd799b]{color:#172033;font-size:16px}.typst-loading p[data-v-2cdd799b]{color:#6a778b;margin:0;font-size:13px}.typst-error[data-v-2cdd799b]{color:#9f1d1d}.typst-error pre[data-v-2cdd799b]{color:#9f1d1d;white-space:pre-wrap;background:#fff1f2;border-radius:10px;max-height:360px;margin:14px 0 0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.7;overflow:auto}.file-viewer[data-viewer-theme=dark] .typst-viewer{color:#e6edf3;background:#101820}.file-viewer[data-viewer-theme=dark] .typst-toolbar{background:#0f172ae6;border-bottom-color:#8b949e38}.file-viewer[data-viewer-theme=dark] .typst-toolbar strong{color:#f8fafc}.file-viewer[data-viewer-theme=dark] .typst-toolbar span,.file-viewer[data-viewer-theme=dark] .typst-toolbar em{color:#9aa7b8}.file-viewer[data-viewer-theme=dark] .typst-page-shell{border-color:#8b949e42;box-shadow:0 24px 56px #00000061}.file-viewer[data-viewer-theme=dark] .typst-loading,.file-viewer[data-viewer-theme=dark] .typst-error{background:#151b23;border-color:#8b949e38;box-shadow:0 24px 56px #00000052}.file-viewer[data-viewer-theme=dark] .typst-loading strong,.file-viewer[data-viewer-theme=dark] .typst-error strong{color:#f8fafc}@keyframes typst-spin-2cdd799b{to{transform:rotate(360deg)}}@media (width<=767px){.typst-toolbar[data-v-2cdd799b]{flex-direction:column;align-items:flex-start;gap:4px}.typst-pages[data-v-2cdd799b]{gap:16px;padding:16px 10px 28px}}@media (prefers-color-scheme:dark){.file-viewer[data-viewer-theme=system] .typst-viewer{color:#e6edf3;background:#101820}.file-viewer[data-viewer-theme=system] .typst-toolbar{background:#0f172ae6;border-bottom-color:#8b949e38}.file-viewer[data-viewer-theme=system] .typst-toolbar strong{color:#f8fafc}.file-viewer[data-viewer-theme=system] .typst-toolbar span,.file-viewer[data-viewer-theme=system] .typst-toolbar em{color:#9aa7b8}.file-viewer[data-viewer-theme=system] .typst-page-shell{border-color:#8b949e42;box-shadow:0 24px 56px #00000061}.file-viewer[data-viewer-theme=system] .typst-loading,.file-viewer[data-viewer-theme=system] .typst-error{background:#151b23;border-color:#8b949e38;box-shadow:0 24px 56px #00000052}.file-viewer[data-viewer-theme=system] .typst-loading strong,.file-viewer[data-viewer-theme=system] .typst-error strong{color:#f8fafc}}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{$ as e,At as t,Bt as n,C as r,Ct as i,Dt as a,E as o,Et as s,Ht as c,K as l,Mt as u,Ot as d,Pt as f,S as p,St as m,bt as h,c as g,d as _,dt as v,et as y,f as b,ft as x,h as S,ht as C,it as w,l as T,o as E,ot as D,p as O,pt as k,r as A,u as j,v as M,wt as N,x as P,yt as F,zt as I}from"./three.module-BFsVh7r1.js";import{t as L}from"./fflate.module-BIQmJeC9.js";var R=/^def\s+(?:(\w+)\s+)?"?([^"]+)"?$/,z=/^string\s+(\w+)$/,B=/^(?:uniform\s+)?(\w+(?:\[\])?)\s+(.+)$/,V=class{parseText(e){e=this._preprocess(e);let t={},n=e.split(`
|
|
2
|
-
`),r=null,i=t,a=[t];for(let e of n)if(e.includes(`=`)){let t=this._findAssignmentOperator(e);if(t===-1){r=e.trim();continue}let n=e.slice(0,t).trim(),o=e.slice(t+1).trim();if(o.endsWith(`{`)){let e={};a.push(e),i[n]=e,i=e}else if(o.endsWith(`(`)){let e=o.slice(0,-1);i[n]=e;let t={};a.push(t),i=t}else i[n]=o}else if(e.includes(`:`)&&!e.includes(`=`)){let t=e.indexOf(`:`),n=e.slice(0,t).trim(),r=e.slice(t+1).trim();/^[\d.]+$/.test(n)&&(i[n]=r)}else if(e.endsWith(`{`)){let e=i[r]||{};a.push(e),i[r]=e,i=e}else if(e.endsWith(`}`)){if(a.pop(),a.length===0)continue;i=a[a.length-1]}else if(e.endsWith(`(`)){let t={};a.push(t),r=e.split(`(`)[0].trim()||r,i[r]=t,i=t}else e.endsWith(`)`)?(a.pop(),i=a[a.length-1]):e.trim()&&(r=e.trim());return t}_preprocess(e){e=this._stripBlockComments(e),e=this._collapseTripleQuotedStrings(e);let t=e.split(`
|
|
3
|
-
`),n=[],r=!1,i=0,a=0,o=``;for(let e=0;e<t.length;e++){let s=t[e];s=this._stripInlineComment(s);let c=s.trim();if(r){o+=` `+c;for(let e of c)e===`[`?i++:e===`]`?i--:e===`(`&&i>0?a++:e===`)`&&i>0&&a--;i===0&&a===0&&(n.push(o),o=``,r=!1)}else{if(c.includes(`=`)){let e=this._findAssignmentOperator(c);if(e!==-1){let t=c.slice(e+1).trim(),n=0,s=0;for(let e of t)e===`[`?n++:e===`]`&&s++;if(n>s){r=!0,i=n-s,a=0,o=c;continue}}}n.push(c)}}return n.join(`
|
|
4
|
-
`)}_stripBlockComments(e){let t=``,n=0;for(;n<e.length;)if(e[n]===`/`&&n+1<e.length&&e[n+1]===`*`){let t=n+2;for(;t<e.length;){if(e[t]===`*`&&t+1<e.length&&e[t+1]===`/`){t+=2;break}t++}n=t}else t+=e[n],n++;return t}_collapseTripleQuotedStrings(e){let t=``,n=0;for(;n<e.length;){if(n+2<e.length){let r=e.slice(n,n+3);if(r===`'''`||r===`"""`){let i=r;for(t+=i,n+=3;n<e.length;)if(n+2<e.length&&e.slice(n,n+3)===i){t+=i,n+=3;break}else e[n]===`
|
|
5
|
-
`?t+=`\\n`:e[n]!==`\r`&&(t+=e[n]),n++;continue}}t+=e[n],n++}return t}_stripInlineComment(e){if(e.trim().startsWith(`#usda`))return e;let t=!1,n=null,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(r){r=!1;continue}if(a===`\\`){r=!0;continue}if(!t&&(a===`"`||a===`'`))t=!0,n=a;else if(t&&a===n)t=!1,n=null;else if(!t&&a===`#`)return e.slice(0,i).trimEnd()}return e}_findAssignmentOperator(e){let t=!1,n=null,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(r){r=!1;continue}if(a===`\\`){r=!0;continue}if(!t&&(a===`"`||a===`'`))t=!0,n=a;else if(t&&a===n)t=!1,n=null;else if(!t&&a===`=`)return i}return-1}parseData(e){let t=this.parseText(e),n={},r={Attribute:1,Prim:6,Relationship:8},i={};if(`#usda 1.0`in t){let e=t[`#usda 1.0`];e.upAxis&&(i.upAxis=e.upAxis.replace(/"/g,``)),e.defaultPrim&&(i.defaultPrim=e.defaultPrim.replace(/"/g,``)),e.metersPerUnit!==void 0&&(i.metersPerUnit=parseFloat(e.metersPerUnit))}n[`/`]={specType:r.Prim,fields:i};let a=(e,t)=>{let i=[];for(let o in e){if(o===`#usda 1.0`||o===`variants`)continue;let s=o.match(R);if(s){let c=s[1]||``,l=s[2],u=t===`/`?`/`+l:t+`/`+l;i.push(l);let d={typeName:c},f=e[o];this._extractPrimData(f,u,d,n,r),n[u]={specType:r.Prim,fields:d},a(f,u)}}i.length>0&&n[t]&&(n[t].fields.primChildren=i)};return a(t,`/`),{specsByPath:n}}_extractPrimData(e,t,n,r,i){if(!(!e||typeof e!=`object`))for(let a in e){if(a.startsWith(`def `))continue;if(a===`prepend references`){n.references=[e[a]];continue}if(a===`payload`){n.payload=e[a];continue}if(a===`variants`){let t={},r=e[a];for(let e in r){let n=e.match(z);if(n){let i=n[1];t[i]=r[e].replace(/"/g,``)}}Object.keys(t).length>0&&(n.variantSelection=t);continue}if(a.startsWith(`rel `)){let n=a.slice(4),o=t+`.`+n,s=e[a].replace(/[<>]/g,``);r[o]={specType:i.Relationship,fields:{targetPaths:[s]}};continue}if(a.includes(`xformOpOrder`)){n.xformOpOrder=e[a].replace(/[\[\]]/g,``).split(`,`).map(e=>e.trim().replace(/"/g,``));continue}let o=a.match(B);if(o){let n=o[1],s=o[2],c=e[a];if(s.endsWith(`.connect`)){let e=s.slice(0,-8),a=t+`.`+e,o=String(c).trim();o.startsWith(`<`)&&(o=o.slice(1)),o.endsWith(`>`)&&(o=o.slice(0,-1)),r[a]||(r[a]={specType:i.Attribute,fields:{typeName:n}}),r[a].fields.connectionPaths=[o];continue}if(s.endsWith(`.timeSamples`)&&typeof c==`object`){let e=s.slice(0,-12),a=t+`.`+e,o=[],l=[];for(let e in c){let t=parseFloat(e);isNaN(t)||(o.push(t),l.push(this._parseAttributeValue(n,c[e])))}let u=o.map((e,t)=>({t:e,v:l[t]})).sort((e,t)=>e.t-t.t);r[a]={specType:i.Attribute,fields:{timeSamples:{times:u.map(e=>e.t),values:u.map(e=>e.v)},typeName:n}}}else{let e=this._parseAttributeValue(n,c),a=t+`.`+s;r[a]={specType:i.Attribute,fields:{default:e,typeName:n}}}}}}_parseAttributeValue(e,t){if(t==null)return;let n=String(t).trim();if(e.endsWith(`[]`))try{let e=n.replace(/\(/g,`[`).replace(/\)/g,`]`);e.endsWith(`,`)&&(e=e.slice(0,-1));let t=JSON.parse(e);return Array.isArray(t)&&Array.isArray(t[0])?t.flat():t}catch{return n.replace(/[\[\]]/g,``).split(`,`).map(e=>{let t=e.trim(),n=parseFloat(t);return isNaN(n)?t.replace(/"/g,``):n})}if(e.includes(`3`)||e.includes(`2`)||e.includes(`4`))return n.replace(/[()]/g,``).split(`,`).map(e=>parseFloat(e.trim()));if(e.startsWith(`quat`)){let e=n.replace(/[()]/g,``).split(`,`).map(e=>parseFloat(e.trim()));return[e[1],e[2],e[3],e[0]]}return e.includes(`matrix`)?n.replace(/[()]/g,``).split(`,`).map(e=>parseFloat(e.trim())):e===`float`||e===`double`||e===`int`?parseFloat(n):e===`string`||e===`token`?this._parseString(n):e===`asset`?n.replace(/@/g,``).replace(/"/g,``):this._parseString(n)}_parseString(e){(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1));let t=``,n=0;for(;n<e.length;)if(e[n]===`\\`&&n+1<e.length){let r=e[n+1];switch(r){case`n`:t+=`
|
|
6
|
-
`;break;case`t`:t+=` `;break;case`r`:t+=`\r`;break;case`\\`:t+=`\\`;break;case`"`:t+=`"`;break;case`'`:t+=`'`;break;default:t+=r;break}n+=2}else t+=e[n],n++;return t}},H=new TextDecoder,U=new Float32Array(32);for(let e=0;e<32;e++)U[e]=2**(e-15);var W=2**-14,G={Invalid:0,Bool:1,UChar:2,Int:3,UInt:4,Int64:5,UInt64:6,Half:7,Float:8,Double:9,String:10,Token:11,AssetPath:12,Matrix2d:13,Matrix3d:14,Matrix4d:15,Quatd:16,Quatf:17,Quath:18,Vec2d:19,Vec2f:20,Vec2h:21,Vec2i:22,Vec3d:23,Vec3f:24,Vec3h:25,Vec3i:26,Vec4d:27,Vec4f:28,Vec4h:29,Vec4i:30,Dictionary:31,TokenListOp:32,StringListOp:33,PathListOp:34,ReferenceListOp:35,IntListOp:36,Int64ListOp:37,UIntListOp:38,UInt64ListOp:39,PathVector:40,TokenVector:41,Specifier:42,Permission:43,Variability:44,VariantSelectionMap:45,TimeSamples:46,Payload:47,DoubleVector:48,LayerOffsetVector:49,StringVector:50,ValueBlock:51,Value:52,UnregisteredValue:53,UnregisteredValueListOp:54,PayloadListOp:55,TimeCode:56,PathExpression:57,Relocates:58,Spline:59,AnimationBlock:60},K=4294967295,ee=105,te=116;function q(e,t,n,r,i,a){for(;t<n;){let o=e[t++];if(t>n)break;let s=o>>4;if(s===15){let r;do{if(t>=n)break;r=e[t++],s+=r}while(r===255&&t<n)}if(s>0){t+s>n&&(s=n-t);for(let n=0;n<s&&!(i>=a);n++)r[i++]=e[t++]}if(t>=n||t+2>n)break;let c=e[t++]|e[t++]<<8;if(c===0)break;let l=(o&15)+4;if(l===19){let r;do{if(t>=n)break;r=e[t++],l+=r}while(r===255&&t<n)}let u=i-c;if(u<0)break;for(let e=0;e<l&&!(i>=a);e++)r[i++]=r[u+e]}return i}function J(e,t){let n=new Uint8Array(t),r=e[0];if(r===0)return q(e,1,e.length,n,0,t),n;{let i=1,a=[];for(let t=0;t<r;t++){let t=(e[i]|e[i+1]<<8|e[i+2]<<16|e[i+3]<<24)>>>0;a.push(t),i+=4}let o=i,s=0;for(let i=0;i<r;i++){let r=a[i],c=Math.min(65536,t-s);q(e,o,o+r,n,s,s+c),o+=r,s+=c}return n}}function Y(e,t){let n=t*4+(t*2+7>>3)+4;return ne(J(new Uint8Array(e),n),t)}function ne(e,t){let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=0,i=n.getInt32(r,!0);r+=4;let a=t*2+7>>3,o=r,s=r+a,c=new Int32Array(t),l=0,u=o,d=s;for(let r=0;r<t;){let a=e[u++];for(let e=0;e<4&&r<t;e++,r++){let t=a>>e*2&3,o=0;switch(t){case 0:o=i;break;case 1:o=n.getInt8(d),d+=1;break;case 2:o=n.getInt16(d,!0),d+=2;break;case 3:o=n.getInt32(d,!0),d+=4;break}l+=o,c[r]=l}}return c}var re=class{constructor(e){this.buffer=e,this.view=new DataView(e),this.offset=0}seek(e){this.offset=e}tell(){return this.offset}readUint8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readInt8(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readUint16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readInt16(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUint32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readInt32(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readUint64(){let e=this.view.getUint32(this.offset,!0),t=this.view.getUint32(this.offset+4,!0);return this.offset+=8,t*4294967296+e}readInt64(){let e=this.view.getUint32(this.offset,!0),t=this.view.getInt32(this.offset+4,!0);return this.offset+=8,t*4294967296+e}readFloat32(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readFloat64(){let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}readBytes(e){let t=new Uint8Array(this.buffer,this.offset,e);return this.offset+=e,t}readString(e){let t=this.readBytes(e),n=0;for(;n<e&&t[n]!==0;)n++;return H.decode(t.subarray(0,n))}},X=class{constructor(e,t){this.lo=e,this.hi=t}get isArray(){return(this.hi&2147483648)!=0}get isInlined(){return(this.hi&1073741824)!=0}get isCompressed(){return(this.hi&536870912)!=0}get typeEnum(){return this.hi>>16&255}get payload(){return this.lo+(this.hi&65535)*4294967296}getInlinedValue(){return this.lo}},ie=class{parseData(e){this.buffer=e instanceof ArrayBuffer?e:e.buffer,this.reader=new re(this.buffer),this.version={major:0,minor:0,patch:0},this._conversionBuffer=new ArrayBuffer(4),this._conversionView=new DataView(this._conversionBuffer),this._readBootstrap(),this._readTOC(),this._readTokens(),this._readStrings(),this._readFields(),this._readFieldSets(),this._readPaths(),this._readSpecs(),this.specsByPath={};for(let e of this.specs){let t=this.paths[e.pathIndex];if(!t)continue;let n=this._getFieldsForSpec(e);this.specsByPath[t]={specType:e.specType,fields:n}}return{specsByPath:this.specsByPath}}_readBootstrap(){let e=this.reader;if(e.seek(0),e.readString(8)!==`PXR-USDC`)throw Error(`Not a valid USDC file`);this.version.major=e.readUint8(),this.version.minor=e.readUint8(),this.version.patch=e.readUint8(),e.readBytes(5),this.tocOffset=e.readUint64()}_readTOC(){let e=this.reader;e.seek(this.tocOffset);let t=e.readUint64();this.sections={};for(let n=0;n<t;n++){let t=e.readString(16),n=e.readUint64(),r=e.readUint64();this.sections[t]={start:n,size:r}}}_readTokens(){let e=this.sections.TOKENS;if(!e)return;let t=this.reader;t.seek(e.start);let n=t.readUint64();if(this.tokens=[],this.version.major===0&&this.version.minor<4){let e=t.readUint64(),r=t.readBytes(e),i=0;for(let e=0;e<n;e++){let e=i;for(;e<r.length&&r[e]!==0;)e++;this.tokens.push(H.decode(r.subarray(i,e))),i=e+1}}else{let e=t.readUint64(),r=t.readUint64(),i=J(t.readBytes(r),e),a=0;for(let e=0;e<n;e++){let e=a;for(;e<i.length&&i[e]!==0;)e++;this.tokens.push(H.decode(i.subarray(a,e))),a=e+1}}}_readStrings(){let e=this.sections.STRINGS;if(!e){this.strings=[];return}let t=this.reader;t.seek(e.start);let n=Math.floor(e.size/4);this.strings=[];for(let e=0;e<n;e++)this.strings.push(t.readUint32())}_readFields(){let e=this.sections.FIELDS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.fields=[],this.version.major===0&&this.version.minor<4){let n=Math.floor(e.size/12);for(let e=0;e<n;e++){let e=t.readUint32(),n=t.readUint32(),r=t.readUint32();this.fields.push({tokenIndex:e,valueRep:new X(n,r)})}}else{let e=t.readUint64(),n=t.readUint64(),r=t.readBytes(n),i=Y(r.buffer.slice(r.byteOffset,r.byteOffset+n),e),a=t.readUint64(),o=J(t.readBytes(a),e*8),s=new DataView(o.buffer,o.byteOffset,o.byteLength);for(let t=0;t<e;t++){let e=s.getUint32(t*8,!0),n=s.getUint32(t*8+4,!0);this.fields.push({tokenIndex:i[t],valueRep:new X(e,n)})}}}_readFieldSets(){let e=this.sections.FIELDSETS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.fieldSets=[],this.version.major===0&&this.version.minor<4){let n=Math.floor(e.size/4);for(let e=0;e<n;e++)this.fieldSets.push(t.readUint32())}else{let e=t.readUint64(),n=t.readUint64(),r=t.readBytes(n),i=Y(r.buffer.slice(r.byteOffset,r.byteOffset+n),e);for(let t=0;t<e;t++)this.fieldSets.push(i[t])}}_readPaths(){let e=this.sections.PATHS;if(!e)return;let t=this.reader;t.seek(e.start);let n=t.readUint64();if(this.paths=Array(n).fill(``),this.version.major===0&&this.version.minor<4)this._readPathsRecursive(``);else{t.readUint64();let e=t.readUint64(),r=t.readBytes(e),i=Y(r.buffer.slice(r.byteOffset,r.byteOffset+e),n),a=t.readUint64(),o=t.readBytes(a),s=Y(o.buffer.slice(o.byteOffset,o.byteOffset+a),n),c=t.readUint64(),l=t.readBytes(c),u=Y(l.buffer.slice(l.byteOffset,l.byteOffset+c),n);this._buildPathsFromCompressed(i,s,u)}}_readPathsRecursive(e,t=0){let n=this.reader;if(t>1e3)return;let r=n.readUint32(),i=n.readUint32(),a=n.readUint8(),o=(a&1)!=0,s=(a&2)!=0,c=(a&4)!=0,l;if(e===``)l=`/`;else{let t=this.tokens[i]||``;l=c?e+`.`+t:e===`/`?`/`+t:e+`/`+t}if(this.paths[r]=l,o&&s){let r=n.readUint64();this._readPathsRecursive(l,t+1),n.seek(r),this._readPathsRecursive(e,t+1)}else o?this._readPathsRecursive(l,t+1):s&&this._readPathsRecursive(e,t+1)}_buildPathsFromCompressed(e,t,n){let r=(i,a)=>{let o=i;for(;o<e.length;){let i=o++,s=e[i],c=t[i],l=n[i],u;if(a===``)u=`/`,a=u;else{let e=this.tokens[Math.abs(c)]||``;u=c<0?a+`.`+e:a===`/`?`/`+e:a+`/`+e}this.paths[s]=u;let d=l>0||l===-1,f=l>=0;if(d)f&&r(i+l,a),a=u;else if(!f)break}};r(0,``)}_readSpecs(){let e=this.sections.SPECS;if(!e)return;let t=this.reader;if(t.seek(e.start),this.specs=[],this.version.major===0&&this.version.minor<4){let n=this.version.minor===0&&this.version.patch===1?16:12,r=Math.floor(e.size/n);for(let e=0;e<r;e++){let e=t.readUint32(),r=t.readUint32(),i=t.readUint32();n===16&&t.readUint32(),this.specs.push({pathIndex:e,fieldSetIndex:r,specType:i})}}else{let e=t.readUint64(),n=t.readUint64(),r=t.readBytes(n),i=Y(r.buffer.slice(r.byteOffset,r.byteOffset+n),e),a=t.readUint64(),o=t.readBytes(a),s=Y(o.buffer.slice(o.byteOffset,o.byteOffset+a),e),c=t.readUint64(),l=t.readBytes(c),u=Y(l.buffer.slice(l.byteOffset,l.byteOffset+c),e);for(let t=0;t<e;t++)this.specs.push({pathIndex:i[t],fieldSetIndex:s[t],specType:u[t]})}}_readValue(e){let t=e.typeEnum,n=e.isArray,r=e.isInlined;if(t===G.TimeSamples)return this._readTimeSamples(e);if(r)return this._readInlinedValue(e);let i=e.payload;if(i===0&&n)return[];if(i<0||i>=this.buffer.byteLength)throw RangeError(`USDCParser: Invalid payload offset `+i+` for type `+t+`.`);let a=this.reader.tell();this.reader.seek(i);let o;return o=n?this._readArrayValue(e):this._readScalarValue(t),this.reader.seek(a),o}_readInlinedValue(e){let t=e.typeEnum,n=e.getInlinedValue(),r=this._conversionView;switch(t){case G.Bool:return n!==0;case G.UChar:return n&255;case G.Int:case G.UInt:return n;case G.Float:return r.setUint32(0,n,!0),r.getFloat32(0,!0);case G.Double:return r.setUint32(0,n,!0),r.getFloat32(0,!0);case G.Token:return this.tokens[n]||``;case G.String:return this.tokens[this.strings[n]]||``;case G.AssetPath:return this.tokens[n]||``;case G.Specifier:return n;case G.Permission:case G.Variability:return n;case G.Vec2h:return r.setUint32(0,n,!0),[this._halfToFloat(r.getUint16(0,!0)),this._halfToFloat(r.getUint16(2,!0))];case G.Vec2f:case G.Vec2i:return r.setUint32(0,n,!0),[r.getInt8(0),r.getInt8(1)];case G.Vec3f:case G.Vec3i:return r.setUint32(0,n,!0),[r.getInt8(0),r.getInt8(1),r.getInt8(2)];case G.Vec4f:case G.Vec4i:return r.setUint32(0,n,!0),[r.getInt8(0),r.getInt8(1),r.getInt8(2),r.getInt8(3)];case G.Matrix2d:return r.setUint32(0,n,!0),[r.getInt8(0),0,0,r.getInt8(1)];case G.Matrix3d:return r.setUint32(0,n,!0),[r.getInt8(0),0,0,0,r.getInt8(1),0,0,0,r.getInt8(2)];case G.Matrix4d:return r.setUint32(0,n,!0),[r.getInt8(0),0,0,0,0,r.getInt8(1),0,0,0,0,r.getInt8(2),0,0,0,0,r.getInt8(3)];default:return n}}_readTimeSamples(e){let t=this.reader,n=e.payload,r=t.tell();t.seek(n);let i=t.tell(),a=t.readInt64();t.seek(i+a);let o=new X(t.readUint32(),t.readUint32()),s=this._readValue(o),c=i+a+8;t.seek(c);let l=t.tell(),u=t.readInt64();t.seek(l+u);let d=t.readUint64(),f=[];for(let e=0;e<d;e++){let e=t.readUint32(),n=t.readUint32();f.push(new X(e,n))}let p=[];for(let e=0;e<d;e++)p.push(this._readValue(f[e]));return t.seek(r),{times:s instanceof Float64Array?Array.from(s):Array.isArray(s)?s:[s],values:p}}_readScalarValue(e){let t=this.reader;switch(e){case G.Invalid:return null;case G.Bool:return t.readUint8()!==0;case G.UChar:return t.readUint8();case G.Int:return t.readInt32();case G.UInt:return t.readUint32();case G.Int64:return t.readInt64();case G.UInt64:return t.readUint64();case G.Half:return this._readHalf();case G.Float:return t.readFloat32();case G.Double:return t.readFloat64();case G.String:case G.Token:{let e=t.readUint32();return this.tokens[e]||``}case G.AssetPath:{let e=t.readUint32();return this.tokens[e]||``}case G.Vec2f:return[t.readFloat32(),t.readFloat32()];case G.Vec2d:return[t.readFloat64(),t.readFloat64()];case G.Vec2i:return[t.readInt32(),t.readInt32()];case G.Vec3f:return[t.readFloat32(),t.readFloat32(),t.readFloat32()];case G.Vec3d:return[t.readFloat64(),t.readFloat64(),t.readFloat64()];case G.Vec3i:return[t.readInt32(),t.readInt32(),t.readInt32()];case G.Vec4f:return[t.readFloat32(),t.readFloat32(),t.readFloat32(),t.readFloat32()];case G.Vec4d:return[t.readFloat64(),t.readFloat64(),t.readFloat64(),t.readFloat64()];case G.Quatf:return[t.readFloat32(),t.readFloat32(),t.readFloat32(),t.readFloat32()];case G.Quatd:return[t.readFloat64(),t.readFloat64(),t.readFloat64(),t.readFloat64()];case G.Matrix4d:{let e=[];for(let n=0;n<16;n++)e.push(t.readFloat64());return e}case G.TokenVector:{let e=t.readUint64(),n=[];for(let r=0;r<e;r++){let e=t.readUint32();n.push(this.tokens[e]||``)}return n}case G.PathVector:{let e=t.readUint64(),n=[];for(let r=0;r<e;r++){let e=t.readUint32();n.push(this.paths[e]||``)}return n}case G.DoubleVector:{let e=t.readUint64(),n=new Float64Array(e);for(let r=0;r<e;r++)n[r]=t.readFloat64();return n}case G.Dictionary:{let e=t.readUint64(),n={};for(let r=0;r<e;r++){let e=t.readUint32(),r=this.tokens[e],i=t.position+t.readInt64(),a=t.position;t.position=i;let o=new X(t.readUint64()),s=null;o.isInlined?s=this._readInlinedValue(o):o.isArray?(t.position=o.payload,s=this._readArrayValue(o)):(t.position=o.payload,s=this._readScalarValue(o.typeEnum)),t.position=a,r!==void 0&&s!==null&&(n[r]=s)}return n}case G.TokenListOp:case G.StringListOp:case G.IntListOp:case G.Int64ListOp:case G.UIntListOp:case G.UInt64ListOp:return null;case G.PathListOp:{let e=t.readUint8(),n=(e&2)!=0,r=(e&4)!=0,i=(e&8)!=0,a=(e&16)!=0,o=(e&32)!=0,s=(e&64)!=0,c=()=>{let e=t.readUint64(),n=[];for(let r=0;r<e;r++){let e=t.readUint32();n.push(this.paths[e])}return n},l=null,u=null,d=null,f=null;return n&&(l=c()),r&&(u=c()),o&&(d=c()),s&&(f=c()),i&&c(),a&&c(),d&&d.length>0?d:l&&l.length>0?l:f&&f.length>0?f:u&&u.length>0?u:null}case G.VariantSelectionMap:{let e=t.readUint64(),n={};for(let r=0;r<e;r++){let e=t.readUint32(),r=t.readUint32(),i=this.tokens[this.strings[e]],a=this.tokens[this.strings[r]];i&&a&&(n[i]=a)}return n}default:return console.warn(`USDCParser: Unsupported scalar type`,e),null}}_readArrayValue(e){let t=this.reader,n=e.typeEnum,r=e.isCompressed,i;if(i=this.version.major===0&&this.version.minor<7?t.readUint32():t.readUint64(),!Number.isSafeInteger(i)||i<0)throw RangeError(`USDCParser: Invalid array size `+i+` for type `+n+`.`);if(i>2147483647)throw RangeError(`USDCParser: Array size `+i+` exceeds implementation limits.`);if(i===0)return[];if(r)return this._readCompressedArray(n,i);switch(n){case G.Int:{let e=new Int32Array(i);for(let n=0;n<i;n++)e[n]=t.readInt32();return e}case G.UInt:{let e=new Uint32Array(i);for(let n=0;n<i;n++)e[n]=t.readUint32();return e}case G.Float:{let e=new Float32Array(i);for(let n=0;n<i;n++)e[n]=t.readFloat32();return e}case G.Double:{let e=new Float64Array(i);for(let n=0;n<i;n++)e[n]=t.readFloat64();return e}case G.Vec2f:{let e=new Float32Array(i*2);for(let n=0;n<i*2;n++)e[n]=t.readFloat32();return e}case G.Vec3f:{let e=new Float32Array(i*3);for(let n=0;n<i*3;n++)e[n]=t.readFloat32();return e}case G.Vec4f:{let e=new Float32Array(i*4);for(let n=0;n<i*4;n++)e[n]=t.readFloat32();return e}case G.Vec3h:{let e=new Float32Array(i*3);for(let t=0;t<i*3;t++)e[t]=this._readHalf();return e}case G.Quatf:{let e=new Float32Array(i*4);for(let n=0;n<i*4;n++)e[n]=t.readFloat32();return e}case G.Quath:{let e=new Float32Array(i*4);for(let t=0;t<i*4;t++)e[t]=this._readHalf();return e}case G.Matrix4d:{let e=new Float64Array(i*16);for(let n=0;n<i*16;n++)e[n]=t.readFloat64();return e}case G.Token:{let e=[];for(let n=0;n<i;n++){let n=t.readUint32();e.push(this.tokens[n]||``)}return e}case G.Half:{let e=new Float32Array(i);for(let t=0;t<i;t++)e[t]=this._readHalf();return e}default:return console.warn(`USDCParser: Unsupported array type`,n),[]}}_readCompressedArray(e,t){let n=this.reader;switch(e){case G.Int:case G.UInt:{let e=n.readUint64(),r=n.readBytes(e);return Y(r.buffer.slice(r.byteOffset,r.byteOffset+e),t)}case G.Float:{let e=n.readInt8();if(e===ee){let e=n.readUint64(),r=n.readBytes(e),i=Y(r.buffer.slice(r.byteOffset,r.byteOffset+e),t),a=new Float32Array(t);for(let e=0;e<t;e++)a[e]=i[e];return a}else if(e===te){let e=n.readUint32(),r=new Float32Array(e);for(let t=0;t<e;t++)r[t]=n.readFloat32();let i=n.readUint64(),a=n.readBytes(i),o=Y(a.buffer.slice(a.byteOffset,a.byteOffset+i),t),s=new Float32Array(t);for(let e=0;e<t;e++)s[e]=r[o[e]];return s}return console.warn(`USDCParser: Unknown float compression code`,e),new Float32Array(t)}default:return console.warn(`USDCParser: Unsupported compressed array type`,e),[]}}_readHalf(){return this._halfToFloat(this.reader.readUint16())}_halfToFloat(e){let t=(e&32768)>>15,n=(e&31744)>>10,r=e&1023;return n===0?r===0?t?-0:0:(t?-1:1)*W*(r/1024):n===31?r?NaN:t?-1/0:1/0:(t?-1:1)*U[n]*(1+r/1024)}_getFieldsForSpec(e){let t={},n=e.fieldSetIndex,r=0;for(;n<this.fieldSets.length&&r<1e4;){let e=this.fieldSets[n];if(e===K||e===-1)break;let i=this.fields[e];if(i){let e=this.tokens[i.tokenIndex];t[e]=this._readValue(i.valueRep)}n++,r++}return t}},ae=/^(.+?)\/\{(\w+)=(\w+)\}\/(.+)$/,Z={Unknown:0,Attribute:1,Connection:2,Expression:3,Mapper:4,MapperArg:5,Prim:6,PseudoRoot:7,Relationship:8,RelationshipTarget:9,Variant:10,VariantSet:11},Q={projection:`perspective`,clippingRange:[1,1e6],horizontalAperture:20.955,verticalAperture:15.2908,horizontalApertureOffset:0,verticalApertureOffset:0,focalLength:50,focusDistance:0,fStop:0},$=class r{constructor(e=null){this.textureCache={},this.skinnedMeshes=[],this.manager=e}compose(e,t={},n={},r=``){this.specsByPath=e.specsByPath,this.assets=t,this.externalVariantSelections=n,this.basePath=r,this.skinnedMeshes=[],this.skeletons={},this._buildIndexes();let i=this.specsByPath[`/`],a=i?i.fields:{};this.fps=a.framesPerSecond||a.timeCodesPerSecond||30;let s=new o;this._buildHierarchy(s,`/`),this._bindSkeletons();let c=Object.keys(this.skeletons);c.length===1&&(s.skeleton=this.skeletons[c[0]].skeleton),s.animations=this._buildAnimations();let l=a.metersPerUnit;return l!==void 0&&l!==1&&s.scale.setScalar(l),i&&i.fields&&i.fields.upAxis===`Z`&&(s.rotation.x=-Math.PI/2),s}applyTransform(t,r,i={}){let a={...r,...i},o=a.xformOpOrder;if(o&&o.length>0){let n=new e,r=new e,i=null;for(let e=0;e<o.length;e++){let t=o[e],s=t.startsWith(`!invert!`),c=s?t.slice(8):t;if(c===`xformOp:transform`){let e=a[`xformOp:transform`];e&&e.length===16&&(r.set(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:translate`){let e=a[`xformOp:translate`];e&&(r.makeTranslation(e[0],e[1],e[2]),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:translate:pivot`){let e=a[`xformOp:translate:pivot`];e&&(r.makeTranslation(e[0],e[1],e[2]),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:scale`){let e=a[`xformOp:scale`];e&&(Array.isArray(e)?(r.makeScale(e[0],e[1],e[2]),i=[e[0],e[1],e[2]]):(r.makeScale(e,e,e),i=[e,e,e]),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:rotateXYZ`){let e=a[`xformOp:rotateXYZ`];if(e){let t=new p(e[0]*Math.PI/180,e[1]*Math.PI/180,e[2]*Math.PI/180,`ZYX`);r.makeRotationFromEuler(t),s&&r.invert(),n.multiply(r)}}else if(c===`xformOp:rotateX`){let e=a[`xformOp:rotateX`];e!==void 0&&(r.makeRotationX(e*Math.PI/180),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:rotateY`){let e=a[`xformOp:rotateY`];e!==void 0&&(r.makeRotationY(e*Math.PI/180),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:rotateZ`){let e=a[`xformOp:rotateZ`];e!==void 0&&(r.makeRotationZ(e*Math.PI/180),s&&r.invert(),n.multiply(r))}else if(c===`xformOp:orient`){let e=a[`xformOp:orient`];if(e&&e.length===4){let t=new F(e[0],e[1],e[2],e[3]);r.makeRotationFromQuaternion(t),s&&r.invert(),n.multiply(r)}}}if(t.matrix.copy(n),t.matrix.decompose(t.position,t.quaternion,t.scale),i){let e=i[0]<0,n=i[1]<0,r=i[2]<0;+!!e+ +!!n+ +!!r==3&&(t.scale.set(i[0],i[1],i[2]),t.quaternion.set(t.quaternion.x,-t.quaternion.y,t.quaternion.z,-t.quaternion.w))}return}if(a[`xformOp:translate`]){let e=a[`xformOp:translate`];t.position.set(e[0],e[1],e[2])}if(a[`xformOp:translate:pivot`]){let e=a[`xformOp:translate:pivot`];t.pivot=new n(e[0],e[1],e[2])}if(a[`xformOp:scale`]){let e=a[`xformOp:scale`];Array.isArray(e)?t.scale.set(e[0],e[1],e[2]):t.scale.set(e,e,e)}if(a[`xformOp:rotateXYZ`]){let e=a[`xformOp:rotateXYZ`];t.rotation.set(e[0]*Math.PI/180,e[1]*Math.PI/180,e[2]*Math.PI/180)}if(a[`xformOp:orient`]){let e=a[`xformOp:orient`];e.length===4&&t.quaternion.set(e[0],e[1],e[2],e[3])}}_buildIndexes(){this.childrenByPath=new Map,this.attributesByPrimPath=new Map,this.materialsByRoot=new Map,this.shadersByMaterialPath=new Map,this.geomSubsetsByMeshPath=new Map;for(let e in this.specsByPath){let t=this.specsByPath[e];if(t.specType===Z.Prim){let n=e.lastIndexOf(`/`);if(n>0){let t=e.slice(0,n),r=e.slice(n+1);this.childrenByPath.has(t)||this.childrenByPath.set(t,[]),this.childrenByPath.get(t).push({name:r,path:e})}else if(n===0&&e.length>1){let t=e.slice(1);this.childrenByPath.has(`/`)||this.childrenByPath.set(`/`,[]),this.childrenByPath.get(`/`).push({name:t,path:e})}let r=t.fields.typeName;if(r===`Material`){let t=e.split(`/`),n=t.length>1?`/`+t[1]:`/`;this.materialsByRoot.has(n)||this.materialsByRoot.set(n,[]),this.materialsByRoot.get(n).push(e)}if(r===`Shader`&&n>0){let t=e.slice(0,n);for(;t.length>0;){let n=this.specsByPath[t];if(n&&n.specType===Z.Prim&&n.fields.typeName===`Material`){this.shadersByMaterialPath.has(t)||this.shadersByMaterialPath.set(t,[]),this.shadersByMaterialPath.get(t).push(e);break}let r=t.lastIndexOf(`/`);if(r<=0)break;t=t.slice(0,r)}}if(r===`GeomSubset`&&n>0){let t=e.slice(0,n);this.geomSubsetsByMeshPath.has(t)||this.geomSubsetsByMeshPath.set(t,[]),this.geomSubsetsByMeshPath.get(t).push(e)}}else if(t.specType===Z.Attribute||t.specType===Z.Relationship){let n=e.lastIndexOf(`.`);if(n>0){let r=e.slice(0,n),i=e.slice(n+1);this.attributesByPrimPath.has(r)||this.attributesByPrimPath.set(r,new Map),this.attributesByPrimPath.get(r).set(i,t)}}}}_isDirectChild(e,t,n){if(!t.startsWith(n))return!1;let r=t.slice(n.length);return r.length===0||r.startsWith(`{`)?!1:!r.includes(`/`)}_buildHierarchy(e,t){let n=[],r=new Set,i=this.childrenByPath.get(t);if(i)for(let e of i)r.has(e.path)||(r.add(e.path),n.push(e));let a=this._getVariantPaths(t);for(let e of a){let t=this.childrenByPath.get(e);if(t)for(let e of t)r.has(e.path)||(r.add(e.path),n.push(e))}for(let{name:t,path:r}of n){let n=this.specsByPath[r];if(!n||n.specType!==Z.Prim)continue;let i=n.fields.typeName,a=this._getReferences(n);if(a.length>0){let o=this._getLocalVariantSelections(n.fields),s=[];for(let e of a){let t=this._resolveReference(e,o);t&&s.push(t)}if(s.length>0){let a=this._getAttributes(r);if(s.length===1){let o=this._findSingleMesh(s[0]);if(o&&(i===`Xform`||!i)){o.name=t,this.applyTransform(o,n.fields,a),this._applyMaterialBinding(o,r),e.add(o),this._buildHierarchy(o,r);continue}}let o=new v;o.name=t,this.applyTransform(o,n.fields,a);for(let e of s)for(;e.children.length>0;)o.add(e.children[0]);e.add(o),this._buildHierarchy(o,r);continue}}if(i===`SkelRoot`){let i=new v;i.name=t,i.userData.isSkelRoot=!0;let a=this._getAttributes(r);this.applyTransform(i,n.fields,a),e.add(i),this._buildHierarchy(i,r)}else if(i===`Skeleton`){let t=this._buildSkeleton(r);t&&(this.skeletons[r]=t),this._buildHierarchy(e,r)}else if(i!==`SkelAnimation`){if(i===`Mesh`){let t=this._buildMesh(r,n);t&&(e.add(t),this._buildHierarchy(t,r))}else if(i===`Camera`){let i=this._buildCamera(r);i.name=t;let a=this._getAttributes(r);this.applyTransform(i,n.fields,a),e.add(i),this._buildHierarchy(i,r)}else if(i===`DistantLight`||i===`SphereLight`||i===`RectLight`||i===`DiskLight`){let a=this._buildLight(r,i);a.name=t;let o=this._getAttributes(r);this.applyTransform(a,n.fields,o),e.add(a),this._buildHierarchy(a,r)}else if(i===`Cube`||i===`Sphere`||i===`Cylinder`||i===`Cone`||i===`Capsule`){let t=this._buildGeomPrimitive(r,n,i);t&&(e.add(t),this._buildHierarchy(t,r))}else if(!(i===`Material`||i===`Shader`||i===`GeomSubset`)){let i=new v;i.name=t;let a=this._getAttributes(r);this.applyTransform(i,n.fields,a),e.add(i),this._buildHierarchy(i,r)}}}}_getVariantPaths(e){let t=this.specsByPath[e],n=t?.fields?.variantSetChildren,r=[];if(!n||n.length===0)return r;for(let i of n){let n=this.externalVariantSelections[i]||null;if(!n){let e=t.fields.variantSelection;n=e?e[i]:null}if(!n){let t=e+`/{`+i+`=}`,r=this.specsByPath[t];r?.fields?.variantChildren&&(n=r.fields.variantChildren[0])}if(n){let t=e+`/{`+i+`=`+n+`}`;r.push(t)}}return r}_resolveFilePath(e){let t=e;return t.startsWith(`./`)&&(t=t.slice(2)),this.basePath?this.basePath+`/`+t:t}_resolveReference(e,t={}){if(!e)return null;let n=e.match(/@([^@]+)@(?:<([^>]+)>)?/);if(!n)return null;let i=n[1],a=n[2],s=this._resolveFilePath(i),c={...t,...this.externalVariantSelections},l=this.assets[s];if(!l)return null;if(l.specsByPath){let e=new r(this.manager),t=this._getBasePath(s),n=e.compose(l,this.assets,c,t);if(a){let e=a.split(`/`).pop(),t=null;for(let r of n.children)if(r.name===e){t=r;break}if(t){n.remove(t);let e=new o;return e.add(t),e}}return n}return l.isGroup||l.isObject3D?l.clone():null}_findSingleMesh(e){for(let t of e.children)if(t.isMesh)return e.remove(t),t;if(e.children.length===1){let t=e.children[0];if(t.children&&t.children.length===1){let e=t.children[0];if(e.isMesh&&!this._hasNonIdentityTransform(t))return t.remove(e),e}}return null}_hasNonIdentityTransform(e){let t=e.position,n=e.rotation,r=e.scale,i=t.x!==0||t.y!==0||t.z!==0,a=n.x!==0||n.y!==0||n.z!==0,o=r.x!==1||r.y!==1||r.z!==1;return i||a||o}_getBasePath(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}_getLocalVariantSelections(e){let t={};if(e.variantSelection)for(let n in e.variantSelection)t[n]=e.variantSelection[n];return t}_getReferences(e){let t=[];if(e.fields.references&&e.fields.references.length>0){let n=e.fields.references[0];if(typeof n==`string`){let e=n.matchAll(/@([^@]+)@(?:<([^>]+)>)?/g);for(let n of e)t.push(n[0])}else n.assetPath&&t.push(`@`+n.assetPath+`@`)}if(t.length===0&&e.fields.payload){let n=e.fields.payload;typeof n==`string`?t.push(n):n.assetPath&&t.push(`@`+n.assetPath+`@`)}return t}_getAttributes(e){let t={};this._collectAttributesFromPath(e,t);let n=e.match(ae);if(n){let r=n[1],i=n[4],a=this._getVariantPaths(r);for(let n of a){if(e.startsWith(n))continue;let r=n+`/`+i;this._collectAttributesFromPath(r,t)}}else{let n=e.split(`/`);for(let e=1;e<n.length-1;e++){let r=n.slice(0,e+1).join(`/`),i=n.slice(e+1).join(`/`),a=this._getVariantPaths(r);for(let e of a){let n=e+`/`+i;this._collectAttributesFromPath(n,t)}}}return t}_collectAttributesFromPath(e,t){let n=this.attributesByPrimPath.get(e);if(n)for(let[e,r]of n){if(r.fields?.default!==void 0)t[e]=r.fields.default;else if(r.fields?.timeSamples){let{times:n,values:i}=r.fields.timeSamples;if(n&&i&&n.length>0){let r=n.indexOf(0);t[e]=r>=0?i[r]:i[0]}}r.fields?.elementSize!==void 0&&(t[e+`:elementSize`]=r.fields.elementSize),e.startsWith(`primvars:`)&&r.fields?.typeName!==void 0&&(t[e+`:typeName`]=r.fields.typeName)}}_buildGeomPrimitive(e,n,r){let i=this._getAttributes(e),a=e.split(`/`).pop(),o;switch(r){case`Cube`:{let e=i.size||2;o=new g(e,e,e);break}case`Sphere`:o=new t(i.radius||1,32,16);break;case`Cylinder`:{let e=i.height||2,t=i.radius||1;o=new M(t,t,e,32);break}case`Cone`:{let e=i.height||2;o=new S(i.radius||1,e,32);break}case`Capsule`:{let e=i.height||1;o=new _(i.radius||.5,e,16,32);break}}let s=i.axis||`Z`;s===`X`?o.rotateZ(-Math.PI/2):s===`Z`&&o.rotateX(Math.PI/2);let c=this._buildMaterial(e,n.fields),l=new y(o,c);return l.name=a,this.applyTransform(l,n.fields,i),l}_buildMesh(e,t){let n=this._getAttributes(e),r=n[`primvars:skel:jointIndices`],i=n[`primvars:skel:jointWeights`],a=r&&i&&r.length>0&&i.length>0,o=this._getGeomSubsets(e),s,c;if(o.length>0){s=this._buildGeometryWithSubsets(n,o,a);let r=this._getMaterialPath(e,t.fields);c=o.map(e=>{let t=e.materialPath||r;return this._buildMaterialForPath(t)})}else s=this._buildGeometry(e,n,a),c=this._buildMaterial(e,t.fields);let l=n[`primvars:displayColor`];if(l&&l.length>=3){let e=e=>{e.color&&e.color.r===1&&e.color.g===1&&e.color.b===1&&!e.map&&e.color.setRGB(l[0],l[1],l[2],N)};Array.isArray(c)?c.forEach(e):e(c)}let u=n[`primvars:displayOpacity`];if(u&&u.length===1&&o.length===0){let e=u[0],t=t=>{e<1&&t.opacity===1&&t.transparent===!1&&(t.opacity=e,t.transparent=!0)};Array.isArray(c)?c.forEach(t):t(c)}let f;if(a){f=new d(s,c);let t=this.specsByPath[e+`.skel:skeleton`];t||=this.specsByPath[e+`.rel skel:skeleton`];let r=null;t&&(t.fields.targetPaths&&t.fields.targetPaths.length>0?r=t.fields.targetPaths[0]:t.fields.default&&(r=t.fields.default.replace(/<|>/g,``)));let i=n[`skel:joints`],a=n[`primvars:skel:geomBindTransform`];this.skinnedMeshes.push({mesh:f,skeletonPath:r,path:e,localJoints:i,geomBindTransform:a})}else f=new y(s,c);return f.name=e.split(`/`).pop(),this.applyTransform(f,t.fields,n),f}_buildCamera(e){let t=this._getAttributes(e),n=t.projection,r=typeof n==`string`?n.toLowerCase():Q.projection,i=t.clippingRange||Q.clippingRange,a=Math.max(2**-52,this._parseNumber(i[0],Q.clippingRange[0])),o=Math.max(a+2**-52,this._parseNumber(i[1],Q.clippingRange[1])),s=this._parseNumber(t.horizontalAperture,Q.horizontalAperture),c=this._parseNumber(t.verticalAperture,Q.verticalAperture),l=this._parseNumber(t.horizontalApertureOffset,Q.horizontalApertureOffset),u=this._parseNumber(t.verticalApertureOffset,Q.verticalApertureOffset),d=this._parseNumber(t.focalLength,Q.focalLength),f=this._parseNumber(t.focusDistance,Q.focusDistance),p=this._parseNumber(t.fStop,Q.fStop),m;if(r===`orthographic`){let e=s/10,t=c/10,n=l/10,r=u/10;m=new x(n-e*.5,n+e*.5,r+t*.5,r-t*.5,a,o)}else{let e=Math.max(2**-52,c),t=Math.max(2**-52,d),n=s/e;m=new k(2*Math.atan(e/(2*t))*180/Math.PI,n,a,o),m.filmGauge=Math.max(s,c),m.filmOffset=l,m.focus=f,m.setFocalLength(t),u!==0&&(m.userData.verticalApertureOffset=u)}return m.userData.fStop=p,m.userData.usdProjection=r,m}_buildLight(e,t){let n=this._getAttributes(e),r=this._parseNumber(n[`inputs:intensity`],1),i=n[`inputs:color`]||[1,1,1],a=n[`inputs:enableColorTemperature`]===!0,o=this._parseNumber(n[`inputs:colorTemperature`],6500),s=new O(i[0],i[1],i[2]);if(a){let e=this._colorTemperature(o);s.multiply(e)}let c;switch(t){case`DistantLight`:c=new P(s,r);break;case`SphereLight`:{let e=this._parseNumber(n[`shaping:cone:angle`],0);c=e>0?new u(s,r,0,e*Math.PI/180,this._parseNumber(n[`shaping:cone:softness`],0)):new C(s,r);break}case`RectLight`:c=new m(s,r,this._parseNumber(n[`inputs:width`],1),this._parseNumber(n[`inputs:height`],1));break;case`DiskLight`:{let e=this._parseNumber(n[`inputs:radius`],.5)*2;c=new m(s,r,e,e);break}}return c}_colorTemperature(e){let t=e/100,n,r,i;return t<=66?(n=1,r=.3900815787690196*Math.log(t)-.6318414437886275):(n=1.292936186062745*(t-60)**-.1332047592,r=1.1298908608952942*(t-60)**-.0755148492),i=t>=66?1:t<=19?0:.543206789110196*Math.log(t-10)-1.19625408914,new O(Math.min(Math.max(n,0),1),Math.min(Math.max(r,0),1),Math.min(Math.max(i,0),1))}_parseNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t}_getGeomSubsets(e){let t=[],n=this.geomSubsetsByMeshPath.get(e);if(!n)return t;for(let e of n){let n=this._getAttributes(e).indices;if(!n||n.length===0)continue;let r=this._getMaterialBindingTarget(e);t.push({name:e.split(`/`).pop(),indices:n,materialPath:r})}return t}_getMaterialBindingTarget(e){let t=e+`.material:binding`,n=this.specsByPath[t];if(n?.fields?.targetPaths?.length>0)return n.fields.targetPaths[0];let r=e.split(`/`);for(let e=1;e<r.length;e++){let t=r.slice(0,e+1).join(`/`),n=r.slice(e+1).join(`/`),i=this._getVariantPaths(t);for(let e of i){let t=n?e+`/`+n+`.material:binding`:e+`.material:binding`,r=this.specsByPath[t];if(r?.fields?.targetPaths?.length>0)return r.fields.targetPaths[0]}}return null}_buildGeometry(e,t,n=!1){let r=new j,i=t.points;if(!i||i.length===0)return r;let a=t.faceVertexIndices,o=t.faceVertexCounts,s=t[`primvars:arnold:polygon_holes`],c=this._buildHoleMap(s),l=a,u=null;if(o&&o.length>0){let e=this._triangulateIndicesWithPattern(a,o,i,c);l=e.indices,u=e.pattern}let d=i;l&&l.length>0&&(d=this._expandAttribute(i,l,3)),r.setAttribute(`position`,new T(new Float32Array(d),3));let f=t.normals||t[`primvars:normals`],p=t[`normals:indices`]||t[`primvars:normals:indices`];if(f&&f.length>0){let e=f;if(p&&p.length>0&&u){let t=this._applyTriangulationPattern(p,u);e=this._expandAttribute(f,t,3)}else if(f.length===i.length)l&&l.length>0&&(e=this._expandAttribute(f,l,3));else if(u){let t=this._applyTriangulationPattern(Array.from({length:f.length/3},(e,t)=>t),u);e=this._expandAttribute(f,t,3)}r.setAttribute(`normal`,new T(new Float32Array(e),3))}else{let e=this._computeVertexNormals(i,l);r.setAttribute(`normal`,new T(new Float32Array(this._expandAttribute(e,l,3)),3))}let{uvs:m,uvIndices:h}=this._findUVPrimvar(t),g=a?a.length:0;if(m&&m.length>0){let e=m;if(h&&h.length>0&&u){let t=this._applyTriangulationPattern(h,u);e=this._expandAttribute(m,t,2)}else if(l&&m.length/2==i.length/3)e=this._expandAttribute(m,l,2);else if(u&&m.length/2===g){let t=this._applyTriangulationPattern(Array.from({length:g},(e,t)=>t),u);e=this._expandAttribute(m,t,2)}r.setAttribute(`uv`,new T(new Float32Array(e),2))}let{uvs2:_,uv2Indices:v}=this._findUV2Primvar(t);if(_&&_.length>0){let e=_;if(v&&v.length>0&&u){let t=this._applyTriangulationPattern(v,u);e=this._expandAttribute(_,t,2)}else if(l&&_.length/2==i.length/3)e=this._expandAttribute(_,l,2);else if(u&&_.length/2===g){let t=this._applyTriangulationPattern(Array.from({length:g},(e,t)=>t),u);e=this._expandAttribute(_,t,2)}r.setAttribute(`uv1`,new T(new Float32Array(e),2))}if(n){let e=t[`primvars:skel:jointIndices`],n=t[`primvars:skel:jointWeights`],i=t[`primvars:skel:jointIndices:elementSize`]||4;if(e&&n){let t=d.length/3,a,o;l&&l.length>0?(a=this._expandAttribute(e,l,i),o=this._expandAttribute(n,l,i)):(a=e,o=n);let s=new Uint16Array(t*4),c=new Float32Array(t*4);this._selectTopWeights(a,o,i,t,s,c),r.setAttribute(`skinIndex`,new T(s,4)),r.setAttribute(`skinWeight`,new T(c,4))}}return r}_buildGeometryWithSubsets(e,t,n=!1){let r=new j,i=e.points;if(!i||i.length===0)return r;let a=e.faceVertexIndices,o=e.faceVertexCounts;if(!o||o.length===0)return r;let s=e[`primvars:arnold:polygon_holes`],c=this._buildHoleMap(s),l=c.holeFaces,u=c.parentToHoles,{uvs:d,uvIndices:f}=this._findUVPrimvar(e),{uvs2:p,uv2Indices:m}=this._findUV2Primvar(e),h=e.normals||e[`primvars:normals`],g=e[`normals:indices`]||e[`primvars:normals:indices`],_=n?e[`primvars:skel:jointIndices`]:null,v=n?e[`primvars:skel:jointWeights`]:null,y=e[`primvars:skel:jointIndices:elementSize`]||4,b=[],x=0;for(let e=0;e<o.length;e++){if(b.push(x),l.has(e))continue;let t=o[e],n=u.get(e);if(n&&n.length>0){let e=t;for(let t of n)e+=o[t];x+=e-2}else t>=3&&(x+=t-2)}let S=new Int32Array(x).fill(-1);for(let e=0;e<t.length;e++){let n=t[e];for(let t=0;t<n.indices.length;t++){let r=n.indices[t];if(r>=o.length)continue;let i=b[r],a=o[r]-2;for(let t=0;t<a;t++)S[i+t]=e}}let C=[];for(let e=0;e<x;e++)C.push({original:e,subset:S[e]});C.sort((e,t)=>e.subset-t.subset);let w=[],E=C.length>0?C[0].subset:-1,D=0;for(let e=0;e<C.length;e++)C[e].subset!==E&&(E>=0&&w.push({start:D*3,count:(e-D)*3,materialIndex:E}),E=C[e].subset,D=e);E>=0&&C.length>D&&w.push({start:D*3,count:(C.length-D)*3,materialIndex:E});for(let e of w)r.addGroup(e.start,e.count,e.materialIndex);let{indices:O,pattern:k}=this._triangulateIndicesWithPattern(a,o,i,c),A=o.reduce((e,t)=>e+t,0),M=d&&!f&&d.length/2===A||p&&!m&&p.length/2===A?this._applyTriangulationPattern(Array.from({length:A},(e,t)=>t),k):null,N=f?this._applyTriangulationPattern(f,k):d&&d.length/2===A?M:null,P=m?this._applyTriangulationPattern(m,k):p&&p.length/2===A?M:null,F=h&&g&&g.length>0,I=h&&h.length/3===A,L=F?this._applyTriangulationPattern(g,k):I?this._applyTriangulationPattern(Array.from({length:A},(e,t)=>t),k):null,R=!h&&O.length>0?this._computeVertexNormals(i,O):null,z=x*3,B=new Float32Array(z*3),V=d?new Float32Array(z*2):null,H=p?new Float32Array(z*2):null,U=h||R?new Float32Array(z*3):null,W=_?new Uint16Array(z*y):null,G=v?new Float32Array(z*y):null;for(let e=0;e<C.length;e++){let t=C[e].original;for(let n=0;n<3;n++){let r=t*3+n,a=e*3+n,o=O[r];if(B[a*3]=i[o*3],B[a*3+1]=i[o*3+1],B[a*3+2]=i[o*3+2],V&&d)if(N){let e=N[r];V[a*2]=d[e*2],V[a*2+1]=d[e*2+1]}else d.length/2==i.length/3&&(V[a*2]=d[o*2],V[a*2+1]=d[o*2+1]);if(H&&p)if(P){let e=P[r];H[a*2]=p[e*2],H[a*2+1]=p[e*2+1]}else p.length/2==i.length/3&&(H[a*2]=p[o*2],H[a*2+1]=p[o*2+1]);if(U)if(h&&L){let e=L[r];U[a*3]=h[e*3],U[a*3+1]=h[e*3+1],U[a*3+2]=h[e*3+2]}else h&&h.length===i.length?(U[a*3]=h[o*3],U[a*3+1]=h[o*3+1],U[a*3+2]=h[o*3+2]):R&&(U[a*3]=R[o*3],U[a*3+1]=R[o*3+1],U[a*3+2]=R[o*3+2]);if(W&&G&&_&&v)for(let e=0;e<y;e++)W[a*y+e]=_[o*y+e]||0,G[a*y+e]=v[o*y+e]||0}}if(r.setAttribute(`position`,new T(B,3)),V&&r.setAttribute(`uv`,new T(V,2)),H&&r.setAttribute(`uv1`,new T(H,2)),r.setAttribute(`normal`,new T(U,3)),W&&G){let e=new Uint16Array(z*4),t=new Float32Array(z*4);this._selectTopWeights(W,G,y,z,e,t),r.setAttribute(`skinIndex`,new T(e,4)),r.setAttribute(`skinWeight`,new T(t,4))}return r}_selectTopWeights(e,t,n,r,i,a){if(n<=4){for(let o=0;o<r;o++)for(let r=0;r<4;r++)r<n?(i[o*4+r]=e[o*n+r]||0,a[o*4+r]=t[o*n+r]||0):(i[o*4+r]=0,a[o*4+r]=0);return}let o=new Uint32Array(n);for(let s=0;s<r;s++){let r=s*n;for(let e=0;e<n;e++)o[e]=e;for(let e=0;e<4;e++){let i=e,a=t[r+o[e]]||0;for(let s=e+1;s<n;s++){let e=t[r+o[s]]||0;e>a&&(a=e,i=s)}if(i!==e){let t=o[e];o[e]=o[i],o[i]=t}}let c=0;for(let e=0;e<4;e++)c+=t[r+o[e]]||0;for(let n=0;n<4;n++){let l=o[n];c>0?(i[s*4+n]=e[r+l]||0,a[s*4+n]=(t[r+l]||0)/c):(i[s*4+n]=0,a[s*4+n]=0)}}}_findUVPrimvar(e){for(let t in e){if(!t.startsWith(`primvars:`)||t.endsWith(`:typeName`)||t.endsWith(`:elementSize`)||t.endsWith(`:indices`)||t.includes(`skel:`))continue;let n=e[t+`:typeName`];if(n&&n.includes(`texCoord`))return{uvs:e[t],uvIndices:e[t+`:indices`]}}return{uvs:e[`primvars:st`]||e[`primvars:UVMap`],uvIndices:e[`primvars:st:indices`]}}_findUV2Primvar(e){return{uvs2:e[`primvars:st1`],uv2Indices:e[`primvars:st1:indices`]}}_buildHoleMap(e){if(!e||e.length===0)return{parentToHoles:new Map,holeFaces:new Set};let t=new Map,n=new Set;for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];n.add(i),t.has(a)||t.set(a,[]),t.get(a).push(i)}return{parentToHoles:t,holeFaces:n}}_triangulateIndicesWithPattern(e,t,n=null,r=null){let i=[],a=[],o=[],s=0;for(let e=0;e<t.length;e++)o.push(s),s+=t[e];let c=r?.parentToHoles||new Map,l=r?.holeFaces||new Set,u=0;for(let r=0;r<t.length;r++){let s=t[r];if(l.has(r)){u+=s;continue}let d=c.get(r);if(d&&d.length>0&&n&&n.length>0){let r=new Map,c=[];for(let t=0;t<s;t++){let n=e[u+t];c.push(n),r.set(n,u+t)}let l=[];for(let n of d){let i=o[n],a=t[n],s=[];for(let t=0;t<a;t++){let n=e[i+t];s.push(n),r.set(n,i+t)}l.push(s)}let f=this._triangulateNGonWithHoles(c,l,n);for(let e of f)i.push(e[0],e[1],e[2]),a.push(r.get(e[0]),r.get(e[1]),r.get(e[2]))}else if(s===3)i.push(e[u],e[u+1],e[u+2]),a.push(u,u+1,u+2);else if(s===4)i.push(e[u],e[u+1],e[u+2],e[u],e[u+2],e[u+3]),a.push(u,u+1,u+2,u,u+2,u+3);else if(s>4)if(n&&n.length>0){let t=[];for(let n=0;n<s;n++)t.push(e[u+n]);let r=this._triangulateNGon(t,n);for(let e of r)i.push(e[0],e[1],e[2]),a.push(u+t.indexOf(e[0]),u+t.indexOf(e[1]),u+t.indexOf(e[2]))}else for(let t=1;t<s-1;t++)i.push(e[u],e[u+t],e[u+t+1]),a.push(u,u+t,u+t+1);u+=s}return{indices:i,pattern:a}}_applyTriangulationPattern(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e[t[r]]);return n}_triangulateNGon(e,t){let r=[],i=[];for(let r of e)i.push(new n(t[r*3],t[r*3+1],t[r*3+2]));let a=new n;for(let e=0;e<i.length;e++){let t=i[e],n=i[(e+1)%i.length];a.x+=(t.y-n.y)*(t.z+n.z),a.y+=(t.z-n.z)*(t.x+n.x),a.z+=(t.x-n.x)*(t.y+n.y)}a.normalize();let o=new n,c=new n;Math.abs(a.y)>.9?o.set(1,0,0):o.set(0,1,0),c.crossVectors(a,o).normalize(),o.crossVectors(c,a).normalize();for(let e of i)r.push(new I(e.dot(o),e.dot(c)));let l=s.triangulateShape(r,[]),u=[];for(let t of l)u.push([e[t[0]],e[t[1]],e[t[2]]]);return u}_triangulateNGonWithHoles(e,t,r){let i=[];for(let t of e)i.push(new n(r[t*3],r[t*3+1],r[t*3+2]));let a=new n;for(let e=0;e<i.length;e++){let t=i[e],n=i[(e+1)%i.length];a.x+=(t.y-n.y)*(t.z+n.z),a.y+=(t.z-n.z)*(t.x+n.x),a.z+=(t.x-n.x)*(t.y+n.y)}a.normalize();let o=new n,c=new n;Math.abs(a.y)>.9?o.set(1,0,0):o.set(0,1,0),c.crossVectors(a,o).normalize(),o.crossVectors(c,a).normalize();let l=[];for(let e of i)l.push(new I(e.dot(o),e.dot(c)));let u=[];for(let e of t){let t=[];for(let i of e){let e=new n(r[i*3],r[i*3+1],r[i*3+2]);t.push(new I(e.dot(o),e.dot(c)))}u.push(t)}let d=[...e];for(let e of t)d.push(...e);let f=s.triangulateShape(l,u),p=[];for(let e of f)p.push([d[e[0]],d[e[1]],d[e[2]]]);return p}_triangulateIndices(e,t){let n=[],r=0;for(let i=0;i<t.length;i++){let a=t[i];if(a===3)n.push(e[r],e[r+1],e[r+2]);else if(a===4)n.push(e[r],e[r+1],e[r+2],e[r],e[r+2],e[r+3]);else if(a>4)for(let t=1;t<a-1;t++)n.push(e[r],e[r+t],e[r+t+1]);r+=a}return n}_expandAttribute(e,t,n){let r=Array(t.length*n);for(let i=0;i<t.length;i++){let a=t[i];for(let t=0;t<n;t++)r[i*n+t]=e[a*n+t]}return r}_computeVertexNormals(e,t){let n=e.length/3,r=new Float32Array(n*3);for(let n=0;n<t.length;n+=3){let i=t[n],a=t[n+1],o=t[n+2],s=e[i*3],c=e[i*3+1],l=e[i*3+2],u=e[a*3],d=e[a*3+1],f=e[a*3+2],p=e[o*3],m=e[o*3+1],h=e[o*3+2],g=u-s,_=d-c,v=f-l,y=p-s,b=m-c,x=h-l,S=_*x-v*b,C=v*y-g*x,w=g*b-_*y;r[i*3]+=S,r[i*3+1]+=C,r[i*3+2]+=w,r[a*3]+=S,r[a*3+1]+=C,r[a*3+2]+=w,r[o*3]+=S,r[o*3+1]+=C,r[o*3+2]+=w}for(let e=0;e<n;e++){let t=r[e*3],n=r[e*3+1],i=r[e*3+2],a=Math.sqrt(t*t+n*n+i*i);a>0&&(r[e*3]/=a,r[e*3+1]/=a,r[e*3+2]/=a)}return r}_getMaterialPath(e,t){let n=null,r=t[`material:binding`];return r&&(n=Array.isArray(r)?r[0]:r),n||=this._getMaterialBindingTarget(e),n}_buildMaterial(e,t){let n=new w,r=null,i=t[`material:binding`];if(i&&(r=Array.isArray(i)?i[0]:i),r||=this._getMaterialBindingTarget(e),!r){let t=[],n=e+`/`;for(let e in this.specsByPath){if(!e.startsWith(n)||!e.endsWith(`.material:binding`))continue;let r=this.specsByPath[e];if(!r)continue;let i=r.fields.targetPaths;i&&i.length>0&&t.push(i[0])}t.length>0&&(r=this._pickBestMaterial(t))}if(!r){let t=`/`+e.split(`/`)[1],n=this.materialsByRoot.get(t);if(n){for(let e of n)if(e.startsWith(t+`/Looks/`)||e.startsWith(t+`/Materials/`)){r=e;break}}}return r&&this._applyMaterial(n,r),n}_buildMaterialForPath(e){let t=new w;return e&&this._applyMaterial(t,e),t}_applyMaterialBinding(e,t){let n=t+`.material:binding`,r=this.specsByPath[n];if(!r)return;let i=null,a=r.fields?.targetPaths||r.fields?.default;if(a&&(i=Array.isArray(a)?a[0]:a),!i)return;i=String(i).replace(/^<|>$/g,``);let o=new w;this._applyMaterial(o,i),e.material=o}_pickBestMaterial(e){for(let t of e){let e=this.shadersByMaterialPath.get(t);if(e)for(let n of e){let e=this._getAttributes(n);if(e[`info:id`]===`UsdUVTexture`&&e[`inputs:file`])return t}}return e[0]}_applyMaterial(e,t){if(!this.specsByPath[t])return;let n=this.shadersByMaterialPath.get(t);if(n)for(let t of n){let n=this.specsByPath[t];if(!n)continue;let r=this._getAttributes(t)[`info:id`]||n.fields[`info:id`];r===`UsdPreviewSurface`||r===`ND_UsdPreviewSurface_surfaceshader`?this._applyPreviewSurface(e,t):r===`arnold:openpbr_surface`&&this._applyOpenPBRSurface(e,t)}}_applyTextureOrValue(e,t,n,r,i,a,o,s){let c=t+`.`+r,l=this.specsByPath[c];if(l&&l.fields.connectionPaths&&l.fields.connectionPaths.length>0){let t=s===this._getTextureFromOpenPBRConnection?l.fields.connectionPaths:[l.fields.connectionPaths[0]];for(let n of t){let t=s.call(this,n);if(t)return t.colorSpace=a,e[i]=t,!0}}return n[r]!==void 0&&o&&o(n[r]),!1}_applyPreviewSurface(e,t){let n=this._getAttributes(t),r=(r,i,a,o)=>this._applyTextureOrValue(e,t,n,r,i,a,o,this._getTextureFromConnection),i=e=>{let n=t+`.`+e;return this.specsByPath[n]};if(r(`inputs:diffuseColor`,`map`,N,t=>{Array.isArray(t)&&t.length>=3&&e.color.setRGB(t[0],t[1],t[2],N)}),e.map&&e.map.userData.scale){let t=e.map.userData.scale;Array.isArray(t)&&t.length>=3&&e.color.setRGB(t[0],t[1],t[2],N)}if(r(`inputs:emissiveColor`,`emissiveMap`,N,t=>{Array.isArray(t)&&t.length>=3&&e.emissive.setRGB(t[0],t[1],t[2],N)}),e.emissiveMap)if(e.emissiveMap.userData.scale){let t=e.emissiveMap.userData.scale;Array.isArray(t)&&t.length>=3&&e.emissive.setRGB(t[0],t[1],t[2],N)}else e.emissive.set(16777215);if(r(`inputs:normal`,`normalMap`,``,null),e.normalMap&&e.normalMap.userData.scale){let t=e.normalMap.userData.scale;e.normalScale=new I(t[0],t[1])}if(r(`inputs:roughness`,`roughnessMap`,``,t=>{e.roughness=t})&&(e.roughness=1),r(`inputs:metallic`,`metalnessMap`,``,t=>{e.metalness=t})&&(e.metalness=1),r(`inputs:occlusion`,`aoMap`,``,null),n[`inputs:ior`]!==void 0&&(e.ior=n[`inputs:ior`]),r(`inputs:specularColor`,`specularColorMap`,N,t=>{Array.isArray(t)&&t.length>=3&&e.specularColor.setRGB(t[0],t[1],t[2],N)}),e.specularColorMap&&e.specularColorMap.userData.scale){let t=e.specularColorMap.userData.scale;Array.isArray(t)&&t.length>=3&&e.specularColor.setRGB(t[0],t[1],t[2],N)}n[`inputs:clearcoat`]!==void 0&&(e.clearcoat=n[`inputs:clearcoat`]),n[`inputs:clearcoatRoughness`]!==void 0&&(e.clearcoatRoughness=n[`inputs:clearcoatRoughness`]);let a=n[`inputs:opacityThreshold`]===void 0?0:n[`inputs:opacityThreshold`];if(i(`inputs:opacity`)?.fields?.connectionPaths?.length>0)a>0?(e.alphaTest=a,e.transparent=!1):e.transparent=!0;else{let t=n[`inputs:opacity`]===void 0?1:n[`inputs:opacity`];t<1&&(e.transparent=!0,e.opacity=t)}}_applyOpenPBRSurface(e,t){let n=this._getAttributes(t),r=(r,i,a,o)=>this._applyTextureOrValue(e,t,n,r,i,a,o,this._getTextureFromOpenPBRConnection);if(r(`inputs:base_color`,`map`,N,t=>{Array.isArray(t)&&t.length>=3&&e.color.setRGB(t[0],t[1],t[2],N)}),e.map&&e.map.userData.scale){let t=e.map.userData.scale;Array.isArray(t)&&t.length>=3&&e.color.setRGB(t[0],t[1],t[2],N)}r(`inputs:base_metalness`,`metalnessMap`,``,t=>{typeof t==`number`&&(e.metalness=t)}),r(`inputs:specular_roughness`,`roughnessMap`,``,t=>{typeof t==`number`&&(e.roughness=t)});let i=r(`inputs:emission_color`,`emissiveMap`,N,t=>{Array.isArray(t)&&t.length>=3&&e.emissive.setRGB(t[0],t[1],t[2],N)}),a=n[`inputs:emission_luminance`];a!==void 0&&a>0&&(i?e.emissiveIntensity=a:e.emissive.multiplyScalar(a));let o=n[`inputs:transmission_weight`];if(o!==void 0&&o>0){e.transmission=o;let t=n[`inputs:transmission_depth`];t!==void 0&&(e.thickness=t);let r=n[`inputs:transmission_color`];r!==void 0&&Array.isArray(r)&&(e.attenuationColor.setRGB(r[0],r[1],r[2]),e.attenuationDistance=t||1)}let s=n[`inputs:geometry_opacity`];s!==void 0&&s<1&&(e.opacity=s,e.transparent=!0);let c=n[`inputs:specular_ior`];c!==void 0&&(e.ior=c);let l=n[`inputs:coat_weight`];if(l!==void 0&&l>0){e.clearcoat=l;let t=n[`inputs:coat_roughness`];t!==void 0&&(e.clearcoatRoughness=t)}let u=n[`inputs:thin_film_weight`];if(u!==void 0&&u>0){e.iridescence=u;let t=n[`inputs:thin_film_ior`];t!==void 0&&(e.iridescenceIOR=t);let r=n[`inputs:thin_film_thickness`];if(r!==void 0){let t=r*1e3;e.iridescenceThicknessRange=[t,t]}}let d=n[`inputs:specular_weight`];d!==void 0&&(e.specularIntensity=d);let f=n[`inputs:specular_color`];f!==void 0&&Array.isArray(f)&&e.specularColor.setRGB(f[0],f[1],f[2]);let p=n[`inputs:specular_roughness_anisotropy`];p!==void 0&&p>0&&(e.anisotropy=p),r(`inputs:geometry_normal`,`normalMap`,``,null)}_getTextureFromOpenPBRConnection(e){let t=e.replace(/<|>/g,``),n=t.split(`.`)[0],r=this.specsByPath[n];if(!r)return null;let i=this._getAttributes(n),a=i[`info:id`]||r.fields[`info:id`];if(r.fields.typeName===`NodeGraph`){let e=t.split(`.`)[1],r=n+`.`+e,i=this.specsByPath[r];return i?.fields?.connectionPaths?.length>0?this._getTextureFromOpenPBRConnection(i.fields.connectionPaths[0]):null}if(a===`arnold:image`){let e=i[`inputs:filename`];return e?this._loadTextureFromPath(e):null}if(a&&a.startsWith(`ND_image_`)){let e=i[`inputs:file`];return e?this._loadTextureFromPath(e):null}if(a===`MayaND_fileTexture_color4`){let e=n+`.inputs:inColor`,t=this.specsByPath[e];return t?.fields?.connectionPaths?.length>0?this._getTextureFromOpenPBRConnection(t.fields.connectionPaths[0]):null}if(a&&a.startsWith(`ND_convert_`)){let e=n+`.inputs:in`,t=this.specsByPath[e];return t?.fields?.connectionPaths?.length>0?this._getTextureFromOpenPBRConnection(t.fields.connectionPaths[0]):null}if(a===`arnold:bump2d`){let e=n+`.inputs:bump_map`,t=this.specsByPath[e];return t?.fields?.connectionPaths?.length>0?this._getTextureFromOpenPBRConnection(t.fields.connectionPaths[0]):null}if(a===`arnold:color_correct`){let e=n+`.inputs:input`,t=this.specsByPath[e];return t?.fields?.connectionPaths?.length>0?this._getTextureFromOpenPBRConnection(t.fields.connectionPaths[0]):null}let o=n.substring(0,n.lastIndexOf(`/`));if(o){let e=this.specsByPath[o];if(e){let t=this._getAttributes(o);if((t[`info:id`]||e.fields[`info:id`])===`arnold:image`){let e=t[`inputs:filename`];if(e)return this._loadTextureFromPath(e)}}}return null}_loadTextureFromPath(e){if(!e)return null;if(this.textureCache[e])return this.textureCache[e];let t=this._loadTexture(e,null,null);return t&&(this.textureCache[e]=t),t}_getTextureFromConnection(e){let t=e.split(`.`)[0],n=this.specsByPath[t];if(!n)return null;let r=this._getAttributes(t);if((r[`info:id`]||n.fields[`info:id`])!==`UsdUVTexture`)return null;let i=r[`inputs:file`];if(!i)return null;let a=null,o=0,s=t+`.inputs:st`,c=this.specsByPath[s];if(c?.fields?.connectionPaths?.length>0){let e=c.fields.connectionPaths[0].replace(/<|>/g,``).split(`.`)[0],t=this.specsByPath[e];if(t){let n=this._getAttributes(e),r=n[`info:id`]||t.fields[`info:id`];if(r===`UsdTransform2d`){a=n;let t=e+`.inputs:in`,r=this.specsByPath[t];if(r?.fields?.connectionPaths?.length>0){let e=r.fields.connectionPaths[0].replace(/<|>/g,``).split(`.`)[0],t=this._getAttributes(e)[`inputs:varname`];t===`st1`?o=1:t===`st2`&&(o=2)}}else if(r===`UsdPrimvarReader_float2`){let e=n[`inputs:varname`];e===`st1`?o=1:e===`st2`&&(o=2)}}}let l=r[`inputs:scale`],u=r[`inputs:bias`],d=i;if(l&&(d+=`:s`+l.join(`,`)),u&&(d+=`:b`+u.join(`,`)),this.textureCache[d])return this.textureCache[d];let f=this._loadTexture(i,r,a);return f&&(l&&(f.userData.scale=l),u&&(f.userData.bias=u),o!==0&&(f.channel=o),this.textureCache[d]=f),f}_applyTextureTransforms(e,t){if(!t)return;let n=t[`inputs:scale`];n&&Array.isArray(n)&&n.length>=2&&e.repeat.set(n[0],n[1]);let r=t[`inputs:translation`];r&&Array.isArray(r)&&r.length>=2&&e.offset.set(r[0],r[1]);let i=t[`inputs:rotation`];typeof i==`number`&&(e.rotation=i*Math.PI/180)}_loadTexture(e,t,n){let r=e;r.startsWith(`@`)&&(r=r.slice(1)),r.endsWith(`@`)&&(r=r.slice(0,-1));let i=this._resolveFilePath(r),a=this.assets[i];if(a||=this.assets[r],!a){let e=r.split(`/`).pop();for(let r in this.assets)if(r.endsWith(e)||r.endsWith(`/`+e))return this._createTextureFromData(this.assets[r],t,n);if(this.manager){let r=this.manager.resolveURL(e);if(r!==e)return this._createTextureFromData(r,t,n)}return console.warn(`USDLoader: Texture not found:`,r),null}return this._createTextureFromData(a,t,n)}_createTextureFromData(e,t,n){if(!e)return null;let r=this,i=new f,a;if(typeof e==`string`)a=e;else if(e instanceof Uint8Array||e instanceof ArrayBuffer){let t=new Blob([e]);a=URL.createObjectURL(t)}else return null;let o=new Image;return o.onload=function(){i.image=o,t&&(i.wrapS=r._getWrapMode(t[`inputs:wrapS`]),i.wrapT=r._getWrapMode(t[`inputs:wrapT`])),r._applyTextureTransforms(i,n),i.needsUpdate=!0,typeof e!=`string`&&URL.revokeObjectURL(a)},o.src=a,i}_getWrapMode(e){return e===`repeat`?i:e===`mirror`?D:e===`clamp`?b:i}_buildSkeleton(t){let n=this._getAttributes(t),r=n.joints;if(!r||r.length===0)return null;let i=n.bindTransforms,o=n.restTransforms,s=this._flattenMatrixArray(i,r.length),c=this._flattenMatrixArray(o,r.length),l=[],u={},d=[];for(let t=0;t<r.length;t++){let n=r[t],i=n.split(`/`).pop(),a=new E;if(a.name=i,l.push(a),u[n]={bone:a,index:t},s&&s.length>=(t+1)*16){let n=new e,r=s.slice(t*16,(t+1)*16);n.set(r[0],r[4],r[8],r[12],r[1],r[5],r[9],r[13],r[2],r[6],r[10],r[14],r[3],r[7],r[11],r[15]);let i=n.clone().invert();d.push(i)}else d.push(new e)}for(let e=0;e<r.length;e++){let t=r[e].split(`/`);if(t.length>1){let n=u[t.slice(0,-1).join(`/`)];n&&n.bone.add(l[e])}}if(c&&c.length>=r.length*16)for(let t=0;t<r.length;t++){let n=new e,r=c.slice(t*16,(t+1)*16);n.set(r[0],r[4],r[8],r[12],r[1],r[5],r[9],r[13],r[2],r[6],r[10],r[14],r[3],r[7],r[11],r[15]),n.decompose(l[t].position,l[t].quaternion,l[t].scale)}let f=l.filter(e=>!e.parent||!e.parent.isBone),p=this.specsByPath[t+`.skel:animationSource`],m=null;return p&&p.fields.targetPaths&&p.fields.targetPaths.length>0&&(m=p.fields.targetPaths[0]),{skeleton:new a(l,d),joints:r,rootBones:f,animationPath:m,path:t}}_bindSkeletons(){for(let t of this.skinnedMeshes){let{mesh:n,skeletonPath:r,localJoints:i,geomBindTransform:a}=t,o=null;if(r&&this.skeletons[r]&&(o=this.skeletons[r]),!o){for(let e in this.skeletons)if(r&&(r.includes(e)||e.includes(r))){o=this.skeletons[e];break}}if(!o){let e=Object.keys(this.skeletons);e.length>0&&(o=this.skeletons[e[0]])}if(!o){console.warn(`USDComposer: No skeleton found for skinned mesh`,n.name);continue}let{skeleton:s,rootBones:c,joints:l}=o;if(i&&i.length>0){let e=n.geometry.attributes.skinIndex;if(e){let t=[];for(let e=0;e<i.length;e++){let n=i[e],r=l.indexOf(n);t[e]=r>=0?r:0}let n=e.array;for(let e=0;e<n.length;e++){let r=n[e];r<t.length&&(n[e]=t[r])}}}for(let e of c)n.add(e);let u=new e;if(a&&a.length===16){let e=a;u.set(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])}n.bind(s,u)}}_buildAnimations(){let e=[];for(let t in this.specsByPath){let n=this.specsByPath[t];if(n.specType!==Z.Prim||n.fields.typeName!==`SkelAnimation`)continue;let r=this._buildAnimationClip(t);r&&e.push(r)}let t=this._buildTransformAnimations();return t.length>0&&e.push(new A(`TransformAnimation`,-1,t)),e}_buildTransformAnimations(){let t=[];for(let r in this.specsByPath){let i=this.specsByPath[r];if(i.specType!==Z.Prim)continue;let a=i.fields?.typeName;if(a!==`Xform`&&a!==`Scope`&&a!==`Mesh`)continue;let o=r.split(`/`).pop(),s=r+`.xformOp:orient`,l=this.specsByPath[s];if(l?.fields?.timeSamples){let{times:e,values:n}=l.fields.timeSamples,r=[],i=[];for(let t=0;t<e.length;t++){r.push(e[t]/this.fps);let a=n[t];i.push(a[0],a[1],a[2],a[3])}r.length>0&&t.push(new h(o+`.quaternion`,new Float32Array(r),new Float32Array(i)))}let u=r+`.xformOp:rotateXYZ`,d=this.specsByPath[u];if(d?.fields?.timeSamples){let{times:e,values:n}=d.fields.timeSamples,r=[],i=[],a=new p,s=new F;for(let t=0;t<e.length;t++){r.push(e[t]/this.fps);let o=n[t];a.set(o[0]*Math.PI/180,o[1]*Math.PI/180,o[2]*Math.PI/180,`ZYX`),s.setFromEuler(a),i.push(s.x,s.y,s.z,s.w)}r.length>0&&t.push(new h(o+`.quaternion`,new Float32Array(r),new Float32Array(i)))}let f=r+`.xformOp:translate`,m=this.specsByPath[f];if(m?.fields?.timeSamples){let{times:e,values:n}=m.fields.timeSamples,r=[],i=[];for(let t=0;t<e.length;t++){r.push(e[t]/this.fps);let a=n[t];i.push(a[0],a[1],a[2])}r.length>0&&t.push(new c(o+`.position`,new Float32Array(r),new Float32Array(i)))}let g=r+`.xformOp:scale`,_=this.specsByPath[g];if(_?.fields?.timeSamples){let{times:e,values:n}=_.fields.timeSamples,r=[],i=[];for(let t=0;t<e.length;t++){r.push(e[t]/this.fps);let a=n[t];i.push(a[0],a[1],a[2])}r.length>0&&t.push(new c(o+`.scale`,new Float32Array(r),new Float32Array(i)))}let v=i.fields?.properties||[];for(let i of v){if(!i.startsWith(`xformOp:transform`))continue;let a=r+`.`+i,s=this.specsByPath[a];if(!s?.fields?.timeSamples)continue;let{times:l,values:u}=s.fields.timeSamples,d=[],f=[],p=[],m=[],g=[],_=[],v=new e,y=new n,b=new F,x=new n;for(let e=0;e<l.length;e++){let t=u[e];if(!t||t.length<16)continue;let n=l[e]/this.fps;v.set(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]),v.decompose(y,b,x),d.push(n),f.push(y.x,y.y,y.z),p.push(n),m.push(b.x,b.y,b.z,b.w),g.push(n),_.push(x.x,x.y,x.z)}d.length>0&&(t.push(new c(o+`.position`,new Float32Array(d),new Float32Array(f))),t.push(new h(o+`.quaternion`,new Float32Array(p),new Float32Array(m))),t.push(new c(o+`.scale`,new Float32Array(g),new Float32Array(_))));break}}return t}_buildAnimationClip(e){let t=this._getAttributes(e).joints;if(!t||t.length===0)return null;let n=[],r=this._getTimeSampledAttribute(e,`rotations`);if(r&&r.times&&r.values){let{times:e,values:i}=r;for(let r=0;r<t.length;r++){let a=t[r].split(`/`).pop(),o=[],s=[];for(let t=0;t<e.length;t++){let n=i[t];if(!n||n.length<(r+1)*4)continue;o.push(e[t]/this.fps);let a=n[r*4+0],c=n[r*4+1],l=n[r*4+2],u=n[r*4+3];s.push(a,c,l,u)}o.length>0&&n.push(new h(a+`.quaternion`,new Float32Array(o),new Float32Array(s)))}}let i=this._getTimeSampledAttribute(e,`translations`);if(i&&i.times&&i.values){let{times:e,values:r}=i;for(let i=0;i<t.length;i++){let a=t[i].split(`/`).pop(),o=[],s=[];for(let t=0;t<e.length;t++){let n=r[t];!n||n.length<(i+1)*3||(o.push(e[t]/this.fps),s.push(n[i*3+0],n[i*3+1],n[i*3+2]))}o.length>0&&n.push(new c(a+`.position`,new Float32Array(o),new Float32Array(s)))}}let a=this._getTimeSampledAttribute(e,`scales`);if(a&&a.times&&a.values){let{times:e,values:r}=a;for(let i=0;i<t.length;i++){let a=t[i].split(`/`).pop(),o=[],s=[];for(let t=0;t<e.length;t++){let n=r[t];!n||n.length<(i+1)*3||(o.push(e[t]/this.fps),s.push(n[i*3+0],n[i*3+1],n[i*3+2]))}o.length>0&&n.push(new c(a+`.scale`,new Float32Array(o),new Float32Array(s)))}}return n.length===0?null:new A(e.split(`/`).pop(),-1,n)}_getTimeSampledAttribute(e,t){let n=e+`.`+t,r=this.specsByPath[n];if(r&&r.fields.timeSamples){let e=r.fields.timeSamples;if(e.times&&e.values)return e}return null}_flattenMatrixArray(e,t){if(!e||e.length===0)return null;if(typeof e[0]==`number`)return e;let n=[];for(let r=0;r<t;r++)for(let t=0;t<4;t++){let i=e[r*4+t];i&&i.length===4?n.push(i[0],i[1],i[2],i[3]):n.push(+(t===0),+(t===1),+(t===2),+(t===3))}return n}},oe=class extends l{constructor(e){super(e)}load(e,t,n,i){let a=this,o=new r(a.manager);o.setPath(a.path),o.setResponseType(`arraybuffer`),o.setRequestHeader(a.requestHeader),o.setWithCredentials(a.withCredentials),o.load(e,function(n){try{t(a.parse(n))}catch(t){i?i(t):console.error(t),a.manager.itemError(e)}},n,i)}parse(e){let t=new V,n=new ie,r=new TextDecoder;function i(e){return e instanceof ArrayBuffer?e:e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function a(e){let t=e.lastIndexOf(`.`);return t<0||e.lastIndexOf(`/`)>t?``:e.slice(t+1).toLowerCase()}function o(e){let o={};for(let c in e){let l=e[c],u=a(c);if(u===`png`||u===`jpg`||u===`jpeg`||u===`avif`){o[c]=l;continue}u!==`usd`&&u!==`usda`&&u!==`usdc`||(s(l)?o[c]=n.parseData(i(l)):o[c]=t.parseData(r.decode(l)))}return o}function s(e){let t=new Uint8Array([80,88,82,45,85,83,68,67]),n=e instanceof Uint8Array?e:new Uint8Array(e);if(n.byteLength<t.length)return!1;for(let e=0;e<t.length;e++)if(n[e]!==t[e])return!1;return!0}function c(e){let t=Object.keys(e);if(t.length<1)return{file:void 0,filename:``,basePath:``};let n=t[0],r=a(n),i=!1,o=n.lastIndexOf(`/`),c=o>=0?n.slice(0,o):``;if(r===`usda`)return{file:e[n],filename:n,basePath:c};if(r===`usdc`)i=!0;else if(r===`usd`)if(s(e[n]))i=!0;else return{file:e[n],filename:n,basePath:c};return i?{file:e[n],filename:n,basePath:c}:{file:void 0,filename:``,basePath:``}}let l=this;if(typeof e==`string`){let n=new $(l.manager),r=t.parseData(e);return n.compose(r,{})}if(s(e)){let t=new $(l.manager),r=n.parseData(i(e));return t.compose(r,{})}let u=new Uint8Array(e);if(u[0]===80&&u[1]===75){let e=L(u),t=o(e),{file:n,filename:r,basePath:i}=c(e);if(!n)throw Error(`USDLoader: Invalid USDZ package. The first ZIP entry must be a USD layer (.usd/.usda/.usdc).`);let a=new $(l.manager),s=t[r];if(!s)throw Error(`USDLoader: Failed to parse root layer "`+r+`".`);return a.compose(s,t,{},i)}let d=new $(l.manager),f=r.decode(u),p=t.parseData(f);return d.compose(p,{})}};export{oe as USDLoader};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{b as e}from"./package-DbhUOWuO.js";import{et as t,p as n,rt as r}from"./reactivity.esm-bundler-Bfmlzvr-.js";import{_ as i,b as a,f as o,g as s,h as c,i as l,o as u,r as d,s as f,t as p,y as m}from"./runtime-core.esm-bundler-CR6OOEFf.js";var h=4,g=0,_=1,v=2;function y(e){let t=e.length;for(;--t>=0;)e[t]=0}var b=0,x=1,S=2,C=29,w=256,T=286,E=30,D=19,O=573,k=15,A=16,j=7,ee=256,te=16,ne=17,re=18,ie=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ae=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),oe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),se=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ce=512,M=Array(288*2);y(M);var le=Array(E*2);y(le);var ue=Array(ce);y(ue);var de=Array(256);y(de);var fe=Array(C);y(fe);var pe=Array(E);y(pe);function me(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var he,ge,_e;function ve(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var ye=e=>e<256?ue[e]:ue[256+(e>>>7)],be=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},N=(e,t,n)=>{e.bi_valid>A-n?(e.bi_buf|=t<<e.bi_valid&65535,be(e,e.bi_buf),e.bi_buf=t>>A-e.bi_valid,e.bi_valid+=n-A):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},P=(e,t,n)=>{N(e,n[t*2],n[t*2+1])},xe=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Se=e=>{e.bi_valid===16?(be(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Ce=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=k;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<O;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},we=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=k;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=xe(r[t]++,t))}},Te=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r<C-1;r++)for(fe[r]=n,e=0;e<1<<ie[r];e++)de[n++]=r;for(de[n-1]=r,i=0,r=0;r<16;r++)for(pe[r]=i,e=0;e<1<<ae[r];e++)ue[i++]=r;for(i>>=7;r<E;r++)for(pe[r]=i<<7,e=0;e<1<<ae[r]-7;e++)ue[256+ i++]=r;for(t=0;t<=k;t++)a[t]=0;for(e=0;e<=143;)M[e*2+1]=8,e++,a[8]++;for(;e<=255;)M[e*2+1]=9,e++,a[9]++;for(;e<=279;)M[e*2+1]=7,e++,a[7]++;for(;e<=287;)M[e*2+1]=8,e++,a[8]++;for(we(M,287,a),e=0;e<E;e++)le[e*2+1]=5,le[e*2]=xe(e,5);he=new me(M,ie,257,T,k),ge=new me(le,ae,0,E,k),_e=new me([],oe,0,D,j)},Ee=e=>{let t;for(t=0;t<T;t++)e.dyn_ltree[t*2]=0;for(t=0;t<E;t++)e.dyn_dtree[t*2]=0;for(t=0;t<D;t++)e.bl_tree[t*2]=0;e.dyn_ltree[ee*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},De=e=>{e.bi_valid>8?be(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Oe=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},ke=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Oe(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Oe(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},Ae=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+ a++]&255,r+=(e.pending_buf[e.sym_buf+ a++]&255)<<8,i=e.pending_buf[e.sym_buf+ a++],r===0?P(e,i,t):(o=de[i],P(e,o+w+1,t),s=ie[o],s!==0&&(i-=fe[o],N(e,i,s)),r--,o=ye(r),P(e,o,n),s=ae[o],s!==0&&(r-=pe[o],N(e,r,s)));while(a<e.sym_next);P(e,ee,t)},je=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=O,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)ke(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ke(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,ke(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Ce(e,t),we(n,c,e.bl_count)},Me=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[ne*2]++:e.bl_tree[re*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[te*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},Ne=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do P(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(P(e,ne,e.bl_tree),N(e,s-3,3)):(P(e,re,e.bl_tree),N(e,s-11,7)):(a!==i&&(P(e,a,e.bl_tree),s--),P(e,te,e.bl_tree),N(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},Pe=e=>{let t;for(Me(e,e.dyn_ltree,e.l_desc.max_code),Me(e,e.dyn_dtree,e.d_desc.max_code),je(e,e.bl_desc),t=D-1;t>=3&&e.bl_tree[se[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},Fe=(e,t,n,r)=>{let i;for(N(e,t-257,5),N(e,n-1,5),N(e,r-4,4),i=0;i<r;i++)N(e,e.bl_tree[se[i]*2+1],3);Ne(e,e.dyn_ltree,t-1),Ne(e,e.dyn_dtree,n-1)},Ie=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return g;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return _;for(n=32;n<w;n++)if(e.dyn_ltree[n*2]!==0)return _;return g},Le=!1,Re=e=>{Le||=(Te(),!0),e.l_desc=new ve(e.dyn_ltree,he),e.d_desc=new ve(e.dyn_dtree,ge),e.bl_desc=new ve(e.bl_tree,_e),e.bi_buf=0,e.bi_valid=0,Ee(e)},ze=(e,t,n,r)=>{N(e,(b<<1)+ +!!r,3),De(e),be(e,n),be(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},Be={_tr_init:Re,_tr_stored_block:ze,_tr_flush_block:(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===v&&(e.strm.data_type=Ie(e)),je(e,e.l_desc),je(e,e.d_desc),o=Pe(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?ze(e,t,n,r):e.strategy===h||a===i?(N(e,(x<<1)+ +!!r,3),Ae(e,M,le)):(N(e,(S<<1)+ +!!r,3),Fe(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Ae(e,e.dyn_ltree,e.dyn_dtree)),Ee(e),r&&De(e)},_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+ e.sym_next++]=t,e.pending_buf[e.sym_buf+ e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+ e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(de[n]+w+1)*2]++,e.dyn_dtree[ye(t)*2]++),e.sym_next===e.sym_end),_tr_align:e=>{N(e,x<<1,3),P(e,ee,M),Se(e)}},Ve=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},He=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})()),F=(e,t,n,r)=>{let i=He,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},Ue={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},We={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:Ge,_tr_stored_block:Ke,_tr_flush_block:qe,_tr_tally:I,_tr_align:Je}=Be,{Z_NO_FLUSH:L,Z_PARTIAL_FLUSH:Ye,Z_FULL_FLUSH:Xe,Z_FINISH:R,Z_BLOCK:Ze,Z_OK:z,Z_STREAM_END:Qe,Z_STREAM_ERROR:B,Z_DATA_ERROR:$e,Z_BUF_ERROR:et,Z_DEFAULT_COMPRESSION:tt,Z_FILTERED:nt,Z_HUFFMAN_ONLY:rt,Z_RLE:it,Z_FIXED:at,Z_DEFAULT_STRATEGY:ot,Z_UNKNOWN:st,Z_DEFLATED:ct}=We,lt=9,ut=15,dt=8,ft=573,V=3,pt=258,H=262,mt=32,ht=42,gt=57,_t=69,vt=73,yt=91,bt=103,xt=113,St=666,U=1,Ct=2,wt=3,Tt=4,Et=3,Dt=(e,t)=>(e.msg=Ue[t],t),Ot=e=>e*2-(e>4?9:0),kt=e=>{let t=e.length;for(;--t>=0;)e[t]=0},At=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},jt=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,W=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},G=(e,t)=>{qe(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,W(e.strm)},K=(e,t)=>{e.pending_buf[e.pending++]=t},Mt=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Nt=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Ve(e.adler,t,i,n):e.state.wrap===2&&(e.adler=F(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},Pt=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-H?e.strstart-(e.w_size-H):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+pt,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=pt-(f-r),r=f-pt,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},Ft=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-H)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),At(e),r+=t),e.strm.avail_in===0)break;if(n=Nt(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=V)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=jt(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=jt(e,e.ins_h,e.window[i+V-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<V)););}while(e.lookahead<H&&e.strm.avail_in!==0)},It=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,i=e.strstart-e.block_start,r>i+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&t!==R||t===L||r!==i+e.strm.avail_in)))break;o=+(t===R&&r===i+e.strm.avail_in),Ke(e,0,0,o),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,W(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(Nt(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),o?Tt:t!==L&&t!==R&&e.strm.avail_in===0&&e.strstart===e.block_start?Ct:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(Nt(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===R)&&t!==L&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=+(t===R&&e.strm.avail_in===0&&r===i),Ke(e,e.block_start,r,o),e.block_start+=r,W(e.strm)),o?wt:U)},Lt=(e,t)=>{let n,r;for(;;){if(e.lookahead<H){if(Ft(e),e.lookahead<H&&t===L)return U;if(e.lookahead===0)break}if(n=0,e.lookahead>=V&&(e.ins_h=jt(e,e.ins_h,e.window[e.strstart+V-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-H&&(e.match_length=Pt(e,n)),e.match_length>=V)if(r=I(e,e.strstart-e.match_start,e.match_length-V),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=V){e.match_length--;do e.strstart++,e.ins_h=jt(e,e.ins_h,e.window[e.strstart+V-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=jt(e,e.ins_h,e.window[e.strstart+1]);else r=I(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(G(e,!1),e.strm.avail_out===0))return U}return e.insert=e.strstart<V-1?e.strstart:V-1,t===R?(G(e,!0),e.strm.avail_out===0?wt:Tt):e.sym_next&&(G(e,!1),e.strm.avail_out===0)?U:Ct},Rt=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<H){if(Ft(e),e.lookahead<H&&t===L)return U;if(e.lookahead===0)break}if(n=0,e.lookahead>=V&&(e.ins_h=jt(e,e.ins_h,e.window[e.strstart+V-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=V-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-H&&(e.match_length=Pt(e,n),e.match_length<=5&&(e.strategy===nt||e.match_length===V&&e.strstart-e.match_start>4096)&&(e.match_length=V-1)),e.prev_length>=V&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-V,r=I(e,e.strstart-1-e.prev_match,e.prev_length-V),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=jt(e,e.ins_h,e.window[e.strstart+V-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=V-1,e.strstart++,r&&(G(e,!1),e.strm.avail_out===0))return U}else if(e.match_available){if(r=I(e,0,e.window[e.strstart-1]),r&&G(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return U}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(r=I(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<V-1?e.strstart:V-1,t===R?(G(e,!0),e.strm.avail_out===0?wt:Tt):e.sym_next&&(G(e,!1),e.strm.avail_out===0)?U:Ct},zt=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=pt){if(Ft(e),e.lookahead<=pt&&t===L)return U;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=V&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+pt;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=pt-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=V?(n=I(e,1,e.match_length-V),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=I(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(G(e,!1),e.strm.avail_out===0))return U}return e.insert=0,t===R?(G(e,!0),e.strm.avail_out===0?wt:Tt):e.sym_next&&(G(e,!1),e.strm.avail_out===0)?U:Ct},Bt=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(Ft(e),e.lookahead===0)){if(t===L)return U;break}if(e.match_length=0,n=I(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(G(e,!1),e.strm.avail_out===0))return U}return e.insert=0,t===R?(G(e,!0),e.strm.avail_out===0?wt:Tt):e.sym_next&&(G(e,!1),e.strm.avail_out===0)?U:Ct};function q(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Vt=[new q(0,0,0,0,It),new q(4,4,8,4,Lt),new q(4,5,16,8,Lt),new q(4,6,32,32,Lt),new q(4,4,16,16,Rt),new q(8,16,32,32,Rt),new q(8,16,128,128,Rt),new q(8,32,128,256,Rt),new q(32,128,258,1024,Rt),new q(32,258,258,4096,Rt)],Ht=e=>{e.window_size=2*e.w_size,kt(e.head),e.max_lazy_match=Vt[e.level].max_lazy,e.good_match=Vt[e.level].good_length,e.nice_match=Vt[e.level].nice_length,e.max_chain_length=Vt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=V-1,e.match_available=0,e.ins_h=0};function Ut(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ct,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(ft*2),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),kt(this.dyn_ltree),kt(this.dyn_dtree),kt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),kt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),kt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Wt=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.status!==ht&&t.status!==gt&&t.status!==_t&&t.status!==vt&&t.status!==yt&&t.status!==bt&&t.status!==xt&&t.status!==St)},Gt=e=>{if(Wt(e))return Dt(e,B);e.total_in=e.total_out=0,e.data_type=st;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?gt:t.wrap?ht:xt,e.adler=t.wrap===2?0:1,t.last_flush=-2,Ge(t),z},Kt=e=>{let t=Gt(e);return t===z&&Ht(e.state),t},qt=(e,t)=>Wt(e)||e.state.wrap!==2?B:(e.state.gzhead=t,z),Jt=(e,t,n,r,i,a)=>{if(!e)return B;let o=1;if(t===tt&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>lt||n!==ct||r<8||r>15||t<0||t>9||a<0||a>at||r===8&&o!==1)return Dt(e,B);r===8&&(r=9);let s=new Ut;return e.state=s,s.strm=e,s.status=ht,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+V-1)/V),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=a,s.method=n,Kt(e)},Yt={deflateInit:(e,t)=>Jt(e,t,ct,ut,dt,ot),deflateInit2:Jt,deflateReset:Kt,deflateResetKeep:Gt,deflateSetHeader:qt,deflate:(e,t)=>{if(Wt(e)||t>Ze||t<0)return e?Dt(e,B):B;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===St&&t!==R)return Dt(e,e.avail_out===0?et:B);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(W(e),e.avail_out===0)return n.last_flush=-1,z}else if(e.avail_in===0&&Ot(t)<=Ot(r)&&t!==R)return Dt(e,et);if(n.status===St&&e.avail_in!==0)return Dt(e,et);if(n.status===ht&&n.wrap===0&&(n.status=xt),n.status===ht){let t=ct+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=rt||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=mt),t+=31-t%31,Mt(n,t),n.strstart!==0&&(Mt(n,e.adler>>>16),Mt(n,e.adler&65535)),e.adler=1,n.status=xt,W(e),n.pending!==0)return n.last_flush=-1,z}if(n.status===gt){if(e.adler=0,K(n,31),K(n,139),K(n,8),n.gzhead)K(n,+!!n.gzhead.text+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),K(n,n.gzhead.time&255),K(n,n.gzhead.time>>8&255),K(n,n.gzhead.time>>16&255),K(n,n.gzhead.time>>24&255),K(n,n.level===9?2:n.strategy>=rt||n.level<2?4:0),K(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(K(n,n.gzhead.extra.length&255),K(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=F(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=_t;else if(K(n,0),K(n,0),K(n,0),K(n,0),K(n,0),K(n,n.level===9?2:n.strategy>=rt||n.level<2?4:0),K(n,Et),n.status=xt,W(e),n.pending!==0)return n.last_flush=-1,z}if(n.status===_t){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,W(e),n.pending!==0)return n.last_flush=-1,z;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=vt}if(n.status===vt){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),W(e),n.pending!==0)return n.last_flush=-1,z;t=0}r=n.gzindex<n.gzhead.name.length?n.gzhead.name.charCodeAt(n.gzindex++)&255:0,K(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=yt}if(n.status===yt){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),W(e),n.pending!==0)return n.last_flush=-1,z;t=0}r=n.gzindex<n.gzhead.comment.length?n.gzhead.comment.charCodeAt(n.gzindex++)&255:0,K(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t))}n.status=bt}if(n.status===bt){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(W(e),n.pending!==0))return n.last_flush=-1,z;K(n,e.adler&255),K(n,e.adler>>8&255),e.adler=0}if(n.status=xt,W(e),n.pending!==0)return n.last_flush=-1,z}if(e.avail_in!==0||n.lookahead!==0||t!==L&&n.status!==St){let r=n.level===0?It(n,t):n.strategy===rt?Bt(n,t):n.strategy===it?zt(n,t):Vt[n.level].func(n,t);if((r===wt||r===Tt)&&(n.status=St),r===U||r===wt)return e.avail_out===0&&(n.last_flush=-1),z;if(r===Ct&&(t===Ye?Je(n):t!==Ze&&(Ke(n,0,0,!1),t===Xe&&(kt(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),W(e),e.avail_out===0))return n.last_flush=-1,z}return t===R?n.wrap<=0?Qe:(n.wrap===2?(K(n,e.adler&255),K(n,e.adler>>8&255),K(n,e.adler>>16&255),K(n,e.adler>>24&255),K(n,e.total_in&255),K(n,e.total_in>>8&255),K(n,e.total_in>>16&255),K(n,e.total_in>>24&255)):(Mt(n,e.adler>>>16),Mt(n,e.adler&65535)),W(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending===0?Qe:z):z},deflateEnd:e=>{if(Wt(e))return B;let t=e.state.status;return e.state=null,t===xt?Dt(e,$e):z},deflateSetDictionary:(e,t)=>{let n=t.length;if(Wt(e))return B;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==ht||r.lookahead)return B;if(i===1&&(e.adler=Ve(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(kt(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Ft(r);r.lookahead>=V;){let e=r.strstart,t=r.lookahead-(V-1);do r.ins_h=jt(r,r.ins_h,r.window[e+V-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++;while(--t);r.strstart=e,r.lookahead=V-1,Ft(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=V-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,z},deflateInfo:`pako deflate (from Nodeca project)`},Xt=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Zt={assign:function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!=`object`)throw TypeError(n+`must be non-object`);for(let t in n)Xt(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;let n=new Uint8Array(t);for(let t=0,r=0,i=e.length;t<i;t++){let i=e[t];n.set(i,r),r+=i.length}return n}},Qt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Qt=!1}var $t=new Uint8Array(256);for(let e=0;e<256;e++)$t[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;$t[254]=$t[254]=1;var en=e=>{if(typeof TextEncoder==`function`&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,a,o=e.length,s=0;for(i=0;i<o;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),a=0,i=0;a<s;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},tn=(e,t)=>{if(t<65534&&e.subarray&&Qt)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n},nn={string2buf:en,buf2string:(e,t)=>{let n=t||e.length;if(typeof TextDecoder==`function`&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i,a=Array(n*2);for(i=0,r=0;r<n;){let t=e[r++];if(t<128){a[i++]=t;continue}let o=$t[t];if(o>4){a[i++]=65533,r+=o-1;continue}for(t&=o===2?31:o===3?15:7;o>1&&r<n;)t=t<<6|e[r++]&63,o--;if(o>1){a[i++]=65533;continue}t<65536?a[i++]=t:(t-=65536,a[i++]=55296|t>>10&1023,a[i++]=56320|t&1023)}return tn(a,i)},utf8border:(e,t)=>{t||=e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+$t[e[n]]>t?n:t}};function rn(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}var an=rn,on=Object.prototype.toString,{Z_NO_FLUSH:sn,Z_SYNC_FLUSH:cn,Z_FULL_FLUSH:ln,Z_FINISH:un,Z_OK:dn,Z_STREAM_END:fn,Z_DEFAULT_COMPRESSION:pn,Z_DEFAULT_STRATEGY:mn,Z_DEFLATED:hn}=We;function gn(e){this.options=Zt.assign({level:pn,method:hn,chunkSize:16384,windowBits:15,memLevel:8,strategy:mn},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new an,this.strm.avail_out=0;let n=Yt.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==dn)throw Error(Ue[n]);if(t.header&&Yt.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e=typeof t.dictionary==`string`?nn.string2buf(t.dictionary):on.call(t.dictionary)===`[object ArrayBuffer]`?new Uint8Array(t.dictionary):t.dictionary,n=Yt.deflateSetDictionary(this.strm,e),n!==dn)throw Error(Ue[n]);this._dict_set=!0}}gn.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=t===~~t?t:t===!0?un:sn,typeof e==`string`?n.input=nn.string2buf(e):on.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===cn||a===ln)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=Yt.deflate(n,a),i===fn)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Yt.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===dn;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0},gn.prototype.onData=function(e){this.chunks.push(e)},gn.prototype.onEnd=function(e){e===dn&&(this.result=Zt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function _n(e,t){let n=new gn(t);if(n.push(e,!0),n.err)throw n.msg||Ue[n.err];return n.result}function vn(e,t){return t||={},t.raw=!0,_n(e,t)}function yn(e,t){return t||={},t.gzip=!0,_n(e,t)}var bn={Deflate:gn,deflate:_n,deflateRaw:vn,gzip:yn,constants:We},xn=16209,Sn=16191,Cn=function(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=xn;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=xn;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=xn;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(!(y&64)){v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}else if(y&32){E.mode=Sn;break top}else{e.msg=`invalid literal/length code`,E.mode=xn;break top}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p},wn=15,Tn=852,En=592,Dn=0,On=1,kn=2,An=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),jn=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Mn=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Nn=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Pn=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(16),D=new Uint16Array(16),O=null,k,A,j;for(l=0;l<=wn;l++)E[l]=0;for(u=0;u<r;u++)E[t[n+u]]++;for(p=c,f=wn;f>=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&E[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=wn;l++)if(g<<=1,g-=E[l],g<0)return-1;if(g>0&&(e===Dn||f!==1))return-1;for(D[1]=0,l=1;l<wn;l++)D[l+1]=D[l]+E[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[D[t[n+u]]++]=u);if(e===Dn?(w=O=o,T=20):e===On?(w=An,O=jn,T=257):(w=Mn,O=Nn,T=0),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===On&&_>Tn||e===kn&&_>En)return 1;for(;;){k=l-h,o[u]+1<T?(A=0,j=o[u]):o[u]>=T?(A=O[o[u]-T],j=w[o[u]-T]):(A=96,j=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=k<<24|A<<16|j|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=E[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===On&&_>Tn||e===kn&&_>En)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},Fn=0,In=1,Ln=2,{Z_FINISH:Rn,Z_BLOCK:zn,Z_TREES:Bn,Z_OK:Vn,Z_STREAM_END:Hn,Z_NEED_DICT:Un,Z_STREAM_ERROR:J,Z_DATA_ERROR:Wn,Z_MEM_ERROR:Gn,Z_BUF_ERROR:Kn,Z_DEFLATED:qn}=We,Jn=16180,Yn=16181,Xn=16182,Zn=16183,Qn=16184,$n=16185,er=16186,tr=16187,nr=16188,rr=16189,ir=16190,Y=16191,ar=16192,or=16193,sr=16194,cr=16195,lr=16196,ur=16197,dr=16198,fr=16199,pr=16200,mr=16201,hr=16202,gr=16203,_r=16204,vr=16205,yr=16206,br=16207,xr=16208,X=16209,Sr=16210,Cr=16211,wr=852,Tr=592,Er=15,Dr=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function Or(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var kr=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.mode<Jn||t.mode>Cr)},Ar=e=>{if(kr(e))return J;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=Jn,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(wr),t.distcode=t.distdyn=new Int32Array(Tr),t.sane=1,t.back=-1,Vn},jr=e=>{if(kr(e))return J;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ar(e)},Mr=(e,t)=>{let n;if(kr(e))return J;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?J:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,jr(e))},Nr=(e,t)=>{if(!e)return J;let n=new Or;e.state=n,n.strm=e,n.window=null,n.mode=Jn;let r=Mr(e,t);return r!==Vn&&(e.state=null),r},Pr=e=>Nr(e,Er),Fr=!0,Ir,Lr,Rr=e=>{if(Fr){Ir=new Int32Array(512),Lr=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Pn(In,e.lens,0,288,Ir,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Pn(Ln,e.lens,0,32,Lr,0,e.work,{bits:5}),Fr=!1}e.lencode=Ir,e.lenbits=9,e.distcode=Lr,e.distbits=5},zr=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},Z={inflateReset:jr,inflateReset2:Mr,inflateResetKeep:Ar,inflateInit:Pr,inflateInit2:Nr,inflate:(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(kr(e)||!e.output||!e.input&&e.avail_in!==0)return J;n=e.state,n.mode===Y&&(n.mode=ar),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=Vn;inf_leave:for(;;)switch(n.mode){case Jn:if(n.wrap===0){n.mode=ar;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=F(n.check,T,2,0),l=0,u=0,n.mode=Yn;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=X;break}if((l&15)!==qn){e.msg=`unknown compression method`,n.mode=X;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=X;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=l&512?rr:Y,l=0,u=0;break;case Yn:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!==qn){e.msg=`unknown compression method`,n.mode=X;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=X;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=F(n.check,T,2,0)),l=0,u=0,n.mode=Xn;case Xn:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=F(n.check,T,4,0)),l=0,u=0,n.mode=Zn;case Zn:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=F(n.check,T,2,0)),l=0,u=0,n.mode=Qn;case Qn:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=F(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=$n;case $n:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=F(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=er;case er:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=F(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=tr;case tr:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=F(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=nr;case nr:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=X;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Y;break;case rr:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=Dr(l),l=0,u=0,n.mode=ir;case ir:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,Un;e.adler=n.check=1,n.mode=Y;case Y:if(t===zn||t===Bn)break inf_leave;case ar:if(n.last){l>>>=u&7,u-=u&7,n.mode=yr;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=or;break;case 1:if(Rr(n),n.mode=fr,t===Bn){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=lr;break;case 3:e.msg=`invalid block type`,n.mode=X}l>>>=2,u-=2;break;case or:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=X;break}if(n.length=l&65535,l=0,u=0,n.mode=sr,t===Bn)break inf_leave;case sr:n.mode=cr;case cr:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=Y;break;case lr:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=X;break}n.have=0,n.mode=ur;case ur:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=Pn(Fn,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=X;break}n.have=0,n.mode=dr;case dr:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=X;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=X;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===X)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=X;break}if(n.lenbits=9,E={bits:n.lenbits},w=Pn(In,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=X;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=Pn(Ln,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=X;break}if(n.mode=fr,t===Bn)break inf_leave;case fr:n.mode=pr;case pr:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,Cn(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===Y&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=vr;break}if(v&32){n.back=-1,n.mode=Y;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=X;break}n.extra=v&15,n.mode=mr;case mr:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=hr;case hr:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=X;break}n.offset=y,n.extra=v&15,n.mode=gr;case gr:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=X;break}n.mode=_r;case _r:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=X;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=pr);break;case vr:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=pr;break;case yr:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?F(n.check,i,f,o-f):Ve(n.check,i,f,o-f)),f=c,n.wrap&4&&(n.flags?l:Dr(l))!==n.check){e.msg=`incorrect data check`,n.mode=X;break}l=0,u=0}n.mode=br;case br:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=X;break}l=0,u=0}n.mode=xr;case xr:w=Hn;break inf_leave;case X:w=Wn;break inf_leave;case Sr:return Gn;case Cr:default:return J}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<X&&(n.mode<yr||t!==Rn))&&zr(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?F(n.check,i,f,e.next_out-f):Ve(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Y?128:0)+(n.mode===fr||n.mode===sr?256:0),(d===0&&f===0||t===Rn)&&w===Vn&&(w=Kn),w},inflateEnd:e=>{if(kr(e))return J;let t=e.state;return t.window&&=null,e.state=null,Vn},inflateGetHeader:(e,t)=>{if(kr(e))return J;let n=e.state;return n.wrap&2?(n.head=t,t.done=!1,Vn):J},inflateSetDictionary:(e,t)=>{let n=t.length,r,i,a;return kr(e)||(r=e.state,r.wrap!==0&&r.mode!==ir)?J:r.mode===ir&&(i=1,i=Ve(i,t,n,0),i!==r.check)?Wn:(a=zr(e,t,n,n),a?(r.mode=Sr,Gn):(r.havedict=1,Vn))},inflateInfo:`pako inflate (from Nodeca project)`};function Br(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}var Vr=Br,Hr=Object.prototype.toString,{Z_NO_FLUSH:Ur,Z_FINISH:Wr,Z_OK:Gr,Z_STREAM_END:Kr,Z_NEED_DICT:qr,Z_STREAM_ERROR:Jr,Z_DATA_ERROR:Yr,Z_MEM_ERROR:Xr}=We;function Zr(e){this.options=Zt.assign({chunkSize:1024*64,windowBits:15,to:``},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new an,this.strm.avail_out=0;let n=Z.inflateInit2(this.strm,t.windowBits);if(n!==Gr||(this.header=new Vr,Z.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary==`string`?t.dictionary=nn.string2buf(t.dictionary):Hr.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Z.inflateSetDictionary(this.strm,t.dictionary),n!==Gr))))throw Error(Ue[n])}Zr.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i=this.options.dictionary,a,o,s;if(this.ended)return!1;for(o=t===~~t?t:t===!0?Wr:Ur,Hr.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=Z.inflate(n,o),a===qr&&i&&(a=Z.inflateSetDictionary(n,i),a===Gr?a=Z.inflate(n,o):a===Yr&&(a=qr));n.avail_in>0&&a===Kr&&n.state.wrap>0&&e[n.next_in]!==0;)Z.inflateReset(n),a=Z.inflate(n,o);switch(a){case Jr:case Yr:case qr:case Xr:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===Kr))if(this.options.to===`string`){let e=nn.utf8border(n.output,n.next_out),t=n.next_out-e,i=nn.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Gr&&s===0)){if(a===Kr)return a=Z.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},Zr.prototype.onData=function(e){this.chunks.push(e)},Zr.prototype.onEnd=function(e){e===Gr&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=Zt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Qr(e,t){let n=new Zr(t);if(n.push(e),n.err)throw n.msg||Ue[n.err];return n.result}function $r(e,t){return t||={},t.raw=!0,Qr(e,t)}var ei={Inflate:Zr,inflate:Qr,inflateRaw:$r,ungzip:Qr,constants:We},{Deflate:ti,deflate:ni,deflateRaw:ri,gzip:ii}=bn,{Inflate:ai,inflate:oi,inflateRaw:si,ungzip:ci}=ei,li=oi,ui=si,di=3734674313,fi=35,pi=36,mi=5,hi=new TextDecoder(`utf-16le`),Q={VERSION:1,TITLE:2,AUTHOR:3,YEAR:4,MONTH:5,DAY:6,CATEGORY:7,PUBLISHER:8,VENDOR:9,CID:10,CONTENT_LENGTH:11,IMAGE:14,MIXED_IMAGE:15,TEXT_SEGMENT_INDEX:129,COVER:130,CHAPTER_OFFSETS:131,CHAPTER_TITLES:132,PAGE_OFFSETS:135,SPLASH:241},gi=class{view;bytes;offset=0;constructor(e){this.bytes=new Uint8Array(e),this.view=new DataView(e)}get remaining(){return this.bytes.length-this.offset}peek(){return this.remaining>0?this.bytes[this.offset]:void 0}readUint8(){this.ensure(1);let e=this.view.getUint8(this.offset);return this.offset+=1,e}readUint16(){this.ensure(2);let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readUint32(){this.ensure(4);let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readBytes(e){let t=Math.max(0,Math.min(e,this.remaining)),n=this.offset;return this.offset+=t,this.bytes.slice(n,n+t)}ensure(e){if(this.remaining<e)throw Error(`UMD 文件结构不完整,读取时遇到意外结尾`)}},_i=(e,t=0)=>e.length<t+4?0:new DataView(e.buffer,e.byteOffset+t,4).getUint32(0,!0),vi=e=>e.length?hi.decode(e):``,$=e=>vi(e).replace(/\u0000+$/g,``).trim(),yi=e=>e.replace(/\u0000+$/g,``).replace(/\u2029/g,`
|
|
2
|
-
`).replace(/\r\n?/g,`
|
|
3
|
-
`),bi=(e,t=0)=>{let n=e.reduce((e,t)=>e+t.length,0),r=t>0?Math.min(t,n):n,i=new Uint8Array(r),a=0;for(let t of e){if(a>=r)break;let e=t.subarray(0,Math.min(t.length,r-a));i.set(e,a),a+=e.length}return i},xi=e=>{try{return li(e)}catch{return ui(e)}},Si=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(n+=1,!r||n+r>e.length)break;t.push($(e.subarray(n,n+r))),n+=r}return t},Ci=e=>{let t=[],n=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let r=0;r+4<=e.length;r+=4)t.push(n.getUint32(r,!0));return t},wi=e=>e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?{extension:`png`,mimeType:`image/png`}:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?{extension:`jpg`,mimeType:`image/jpeg`}:e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?{extension:`gif`,mimeType:`image/gif`}:e.length>=2&&e[0]===66&&e[1]===77?{extension:`bmp`,mimeType:`image/bmp`}:e.length>=12&&e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?{extension:`webp`,mimeType:`image/webp`}:{extension:`bin`,mimeType:`application/octet-stream`},Ti=(e,t,n)=>{let{extension:r,mimeType:i}=wi(e);return{bytes:e,extension:r,id:`${t}-${n}-${e.length}`,mimeType:i}},Ei=e=>e===1?`text`:e===2?`comic`:e===3?`mixed`:`unknown`,Di=({day:e,month:t,year:n})=>[n,t,e].filter(Boolean).join(`-`),Oi=(e,t,n)=>{if(!e.length)return[];let r=(t.length?t:[0]).map(t=>Math.max(0,Math.min(t,e.length))).filter((e,t,n)=>t===0||e>n[t-1]);return r.map((t,i)=>{let a=i+1<r.length?r[i+1]:e.length,o=t-t%2,s=a-a%2;return{content:yi(vi(e.subarray(o,s))),end:s,id:`chapter-${i}-${o}`,images:[],start:o,title:n[i]||`章节 ${i+1}`}})},ki=(e,t,n)=>{if(!e.length)return[];let r=(t.length?t:[0]).map(t=>Math.max(0,Math.min(t,e.length))).filter((e,t,n)=>t===0||e>n[t-1]);return r.map((t,i)=>{let a=i+1<r.length?r[i+1]:e.length;return{content:``,end:a,id:`image-chapter-${i}-${t}`,images:e.slice(t,a),start:t,title:n[i]||`图集 ${i+1}`}})},Ai=e=>e.map((e,t)=>({content:``,end:t,id:`empty-chapter-${t}`,images:[],start:t,title:e||`章节 ${t+1}`})),ji=e=>{let t=new gi(e),n={author:``,category:``,day:``,month:``,publishedAt:``,publisher:``,title:``,vendor:``,year:``},r=new Map,i=[],a=[],o=[],s=0,c=[],l=[],u=0,d,f=0;if(t.readUint32()!==di)throw Error(`不是有效的 UMD 电子书文件`);for(;t.remaining>0&&t.peek()===fi;){t.readUint8();let e=t.readUint16(),i=t.readUint8(),p=Math.max(0,t.readUint8()-mi),m=t.readBytes(p),h=e===Q.CID||e===Q.SPLASH?s:e;switch(e){case Q.VERSION:f=m[0]||i;break;case Q.TITLE:n.title=$(m);break;case Q.AUTHOR:n.author=$(m);break;case Q.YEAR:n.year=$(m);break;case Q.MONTH:n.month=$(m);break;case Q.DAY:n.day=$(m);break;case Q.CATEGORY:n.category=$(m);break;case Q.PUBLISHER:n.publisher=$(m);break;case Q.VENDOR:n.vendor=$(m);break;case Q.CONTENT_LENGTH:u=_i(m);break;case Q.TEXT_SEGMENT_INDEX:case Q.CHAPTER_OFFSETS:case Q.CHAPTER_TITLES:case Q.PAGE_OFFSETS:r.set(e,_i(m));break;case Q.COVER:r.set(e,_i(m,1));break;case Q.IMAGE:case Q.MIXED_IMAGE:f||=e===Q.MIXED_IMAGE?3:2;break;default:break}for(s=h||s;t.peek()===pi;){t.readUint8();let e=t.readUint32(),n=Math.max(0,t.readUint32()-9),i=t.readBytes(n);switch(h){case Q.COVER:d=Ti(i,`cover`,e);break;case Q.CHAPTER_OFFSETS:c=Ci(i);break;case Q.CHAPTER_TITLES:e===r.get(Q.CHAPTER_TITLES)?l=Si(i):a.push(i);break;case Q.IMAGE:case Q.MIXED_IMAGE:o.push(Ti(i,`image`,o.length));break;default:break}}}let p=bi(a.map(e=>{try{return xi(e)}catch(e){return i.push(e instanceof Error?e.message:String(e)),new Uint8Array}}),u);u>p.length&&a.length&&i.push(`UMD 正文长度小于声明长度,文件可能不完整`);let m=Oi(p,c,l);return m.length?o.length&&f!==1&&(m=ki(o,c,l)):m=ki(o,c,l),!m.length&&l.length&&(m=Ai(l)),n.publishedAt=Di(n),{author:n.author,category:n.category,chapters:m,contentLength:u||p.length,cover:d,kind:Ei(f),publishedAt:n.publishedAt,publisher:n.publisher,rawType:f,title:n.title||`UMD 电子书`,vendor:n.vendor,warnings:i}},Mi={class:`umd-toolbar`},Ni={class:`umd-title`},Pi={class:`umd-actions`},Fi=[`disabled`],Ii={class:`umd-progress`},Li=[`disabled`],Ri={class:`umd-body`},zi={key:0,class:`umd-toc`},Bi={class:`umd-toc-head`},Vi={class:`umd-toc-list`},Hi=[`onClick`],Ui={class:`umd-stage-wrap`},Wi={key:0,class:`umd-book-head`},Gi=[`src`,`alt`],Ki={key:0},qi={key:1},Ji={key:1,class:`umd-chapter`},Yi={key:0,class:`umd-image-list`},Xi=[`src`,`alt`],Zi=[`textContent`],Qi={key:2,class:`umd-empty`},$i={key:2,class:`umd-warning`},ea={key:0,class:`umd-state`},ta={key:1,class:`umd-state error`},na=e(o({__name:`UmdViewer`,props:{data:{}},setup(e){let o=e,h=n(`loading`),g=n(``),_=n(!0),v=n(null),y=n(0),b=n(null),x=new Map,S=d(()=>v.value?.chapters[y.value]),C=d(()=>v.value?[v.value.author,v.value.category,v.value.publishedAt].filter(Boolean).join(` / `):``),w=d(()=>{let e=v.value?.chapters.length||0;return e?`${y.value+1}/${e}`:`0/0`}),T=d(()=>y.value<=0),E=d(()=>{let e=v.value?.chapters.length||0;return e===0||y.value>=e-1}),D=d(()=>v.value?.warnings.filter(Boolean).join(`;`)||``),O=e=>{let t=new Uint8Array(e.bytes.byteLength);return t.set(e.bytes),t.buffer},k=e=>{if(!e)return``;let t=x.get(e.id);if(t)return t;let n=URL.createObjectURL(new Blob([O(e)],{type:e.mimeType}));return x.set(e.id,n),n},A=d(()=>k(v.value?.cover)),j=d(()=>S.value?.images.map(e=>({image:e,url:k(e)}))||[]),ee=()=>{x.forEach(e=>URL.revokeObjectURL(e)),x.clear()},te=async()=>{await c(),b.value?.scrollTo({top:0})},ne=async e=>{y.value=e,_.value=!1,await te()},re=async()=>{T.value||(--y.value,await te())},ie=async()=>{E.value||(y.value+=1,await te())};return i(async()=>{h.value=`loading`,g.value=``,ee();try{await c(),v.value=ji(o.data.slice(0)),y.value=0,h.value=`ready`}catch(e){console.error(e),g.value=e instanceof Error?e.message:String(e),h.value=`error`}}),s(()=>{ee()}),(e,n)=>(m(),f(`div`,{class:t([`umd-viewer`,{"umd-viewer--toc-hidden":!_.value}])},[l(`div`,Mi,[l(`button`,{type:`button`,class:t([`umd-icon-button`,{active:_.value}]),title:`目录`,onClick:n[0]||=e=>_.value=!_.value},[...n[1]||=[l(`span`,null,null,-1)]],2),l(`div`,Ni,[l(`strong`,null,r(v.value?.title||`UMD 电子书`),1),l(`span`,null,r(C.value||S.value?.title||`阅读中`),1)]),l(`div`,Pi,[l(`button`,{type:`button`,class:`umd-button`,disabled:h.value!==`ready`||T.value,onClick:re},` 上一章 `,8,Fi),l(`span`,Ii,r(w.value),1),l(`button`,{type:`button`,class:`umd-button`,disabled:h.value!==`ready`||E.value,onClick:ie},` 下一章 `,8,Li)])]),l(`div`,Ri,[_.value?(m(),f(`aside`,zi,[l(`div`,Bi,[n[2]||=l(`strong`,null,`目录`,-1),l(`span`,null,r(v.value?.chapters.length||0)+` 项`,1)]),l(`div`,Vi,[(m(!0),f(p,null,a(v.value?.chapters,(e,n)=>(m(),f(`button`,{key:e.id,type:`button`,class:t([`umd-toc-item`,{active:n===y.value}]),onClick:e=>ne(n)},r(e.title),11,Hi))),128))])])):u(``,!0),l(`main`,Ui,[l(`article`,{ref_key:`stage`,ref:b,class:`umd-stage`},[v.value&&(A.value||C.value)?(m(),f(`header`,Wi,[A.value?(m(),f(`img`,{key:0,src:A.value,alt:v.value.title},null,8,Gi)):u(``,!0),l(`div`,null,[l(`h1`,null,r(v.value.title),1),C.value?(m(),f(`p`,Ki,r(C.value),1)):u(``,!0),v.value.publisher||v.value.vendor?(m(),f(`p`,qi,r([v.value.publisher,v.value.vendor].filter(Boolean).join(` / `)),1)):u(``,!0)])])):u(``,!0),S.value?(m(),f(`section`,Ji,[l(`h2`,null,r(S.value.title),1),j.value.length?(m(),f(`div`,Yi,[(m(!0),f(p,null,a(j.value,e=>(m(),f(`figure`,{key:e.image.id},[l(`img`,{src:e.url,alt:S.value.title},null,8,Xi)]))),128))])):u(``,!0),S.value.content?(m(),f(`div`,{key:1,class:`umd-text`,textContent:r(S.value.content)},null,8,Zi)):j.value.length?u(``,!0):(m(),f(`div`,Qi,`未解析到正文内容`))])):u(``,!0),D.value?(m(),f(`div`,$i,r(D.value),1)):u(``,!0)],512),h.value===`loading`?(m(),f(`div`,ea,`正在解析 UMD...`)):h.value===`error`?(m(),f(`div`,ta,r(g.value),1)):u(``,!0)])])],2))}}),[[`__scopeId`,`data-v-79b242a1`]]);export{na as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.umd-viewer[data-v-79b242a1]{color:#172033;background:#eef1f4;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.umd-toolbar[data-v-79b242a1]{background:#fffffff0;border-bottom:1px solid #0f172a14;flex-shrink:0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.umd-title[data-v-79b242a1]{flex-direction:column;gap:3px;min-width:0;display:flex}.umd-title strong[data-v-79b242a1],.umd-title span[data-v-79b242a1]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.umd-title strong[data-v-79b242a1]{font-size:14px}.umd-title span[data-v-79b242a1]{color:#64748b;font-size:12px}.umd-icon-button[data-v-79b242a1],.umd-button[data-v-79b242a1]{color:#172033;height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #0f172a14}.umd-icon-button[data-v-79b242a1]{border-radius:8px;justify-content:center;align-items:center;width:40px;display:inline-flex}.umd-icon-button span[data-v-79b242a1],.umd-icon-button span[data-v-79b242a1]:before,.umd-icon-button span[data-v-79b242a1]:after{background:currentColor;border-radius:999px;width:16px;height:2px;display:block}.umd-icon-button span[data-v-79b242a1]{position:relative}.umd-icon-button span[data-v-79b242a1]:before,.umd-icon-button span[data-v-79b242a1]:after{content:"";position:absolute;left:0}.umd-icon-button span[data-v-79b242a1]:before{top:-5px}.umd-icon-button span[data-v-79b242a1]:after{top:5px}.umd-icon-button.active[data-v-79b242a1]{color:#0369a1;background:#0284c714;border-color:#0284c73d}.umd-actions[data-v-79b242a1]{align-items:center;gap:8px;display:flex}.umd-button[data-v-79b242a1]{border-radius:8px;min-width:68px;padding:0 12px;font-size:13px;font-weight:700}.umd-button[data-v-79b242a1]:disabled{color:#94a3b8;cursor:not-allowed}.umd-progress[data-v-79b242a1]{color:#64748b;text-align:center;min-width:58px;font-size:12px}.umd-body[data-v-79b242a1]{flex:1;grid-template-columns:minmax(180px,240px) minmax(0,1fr);min-height:0;display:grid}.umd-viewer--toc-hidden .umd-body[data-v-79b242a1]{grid-template-columns:minmax(0,1fr)}.umd-toc[data-v-79b242a1]{background:#ffffffd1;border-right:1px solid #0f172a14;flex-direction:column;min-width:0;min-height:0;display:flex}.umd-toc-head[data-v-79b242a1]{color:#172033;flex-shrink:0;justify-content:space-between;gap:8px;padding:12px;font-size:13px;display:flex}.umd-toc-head span[data-v-79b242a1]{color:#64748b}.umd-toc-list[data-v-79b242a1]{flex:1;min-height:0;padding:0 8px 10px;overflow:auto}.umd-toc-item[data-v-79b242a1]{color:#475569;width:100%;min-height:34px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:12px}.umd-toc-item[data-v-79b242a1]:hover,.umd-toc-item.active[data-v-79b242a1]{color:#0369a1;background:#0284c714}.umd-stage-wrap[data-v-79b242a1]{min-width:0;min-height:0;padding:18px;position:relative;overflow:hidden}.umd-stage[data-v-79b242a1]{background:#fffef8;border-radius:8px;width:100%;height:100%;overflow:auto;box-shadow:0 18px 45px #0f172a1f,inset 0 0 0 1px #0f172a0f}.umd-book-head[data-v-79b242a1]{gap:20px;max-width:820px;margin:0 auto;padding:32px 34px 8px;display:flex}.umd-book-head img[data-v-79b242a1]{object-fit:cover;border-radius:6px;width:96px;max-height:136px;box-shadow:0 12px 26px #0f172a29}.umd-book-head div[data-v-79b242a1]{min-width:0}.umd-book-head h1[data-v-79b242a1]{color:#111827;margin:0;font-size:24px;line-height:1.3}.umd-book-head p[data-v-79b242a1]{color:#64748b;margin:8px 0 0;font-size:13px;line-height:1.6}.umd-chapter[data-v-79b242a1]{max-width:820px;margin:0 auto;padding:28px 34px 56px}.umd-chapter h2[data-v-79b242a1]{color:#111827;margin:0 0 22px;font-size:22px;line-height:1.35}.umd-text[data-v-79b242a1]{color:#1f2937;white-space:pre-wrap;word-break:break-word;font-family:Georgia,Times New Roman,Songti SC,SimSun,serif;font-size:17px;line-height:1.86}.umd-image-list[data-v-79b242a1]{gap:18px;display:grid}.umd-image-list figure[data-v-79b242a1]{text-align:center;margin:0}.umd-image-list img[data-v-79b242a1]{border-radius:6px;max-width:100%;height:auto;box-shadow:0 10px 24px #0f172a1f}.umd-empty[data-v-79b242a1],.umd-warning[data-v-79b242a1]{color:#64748b;font-size:14px;line-height:1.7}.umd-warning[data-v-79b242a1]{color:#b45309;max-width:820px;margin:-28px auto 36px;padding:0 34px}.umd-state[data-v-79b242a1]{color:#64748b;background:#ffffffeb;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:18px}.umd-state.error[data-v-79b242a1]{color:#b42318}@media (width<=720px){.umd-toolbar[data-v-79b242a1]{grid-template-columns:40px minmax(0,1fr)}.umd-actions[data-v-79b242a1]{grid-column:1/-1;justify-content:space-between}.umd-body[data-v-79b242a1]{grid-template-columns:minmax(0,1fr);position:relative}.umd-toc[data-v-79b242a1]{z-index:5;width:min(82vw,280px);position:absolute;top:0;bottom:0;left:0;box-shadow:18px 0 40px #0f172a29}.umd-stage-wrap[data-v-79b242a1]{padding:12px}.umd-book-head[data-v-79b242a1]{padding:24px 20px 0}.umd-chapter[data-v-79b242a1]{padding:24px 20px 42px}}
|