@overdeck/desktop 0.47.1 → 0.48.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.
Files changed (444) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +59 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-Cd7ZGZCq.js → acceptance-criteria-DmtLDbtt.js} +2 -2
  4. package/server/{activity-logger-CyteR4JO.js → activity-logger-Co5qljIj.js} +55 -4
  5. package/server/activity-logger-K7FYGF_z.js +3 -0
  6. package/server/{advancing-selfheal-DieFp3qi.js → advancing-selfheal-8AR68Asf.js} +6 -6
  7. package/server/{agent-gc-BMcgTDl7.js → agent-gc-BmYeT6eH.js} +5 -5
  8. package/server/agent-state-Dq3s84-P.js +3 -0
  9. package/server/{agent-state-service-DFO6qvHp.js → agent-state-service-DK1Vay1E.js} +1 -1
  10. package/server/{agent-state-service-BOzQhLjU.js → agent-state-service-rjnzpHDx.js} +6 -6
  11. package/server/{agent-state-source-Ca_zCaII.js → agent-state-source-Ds968-j6.js} +1 -1
  12. package/server/{agents-CtACUuVG.js → agents-Dls7tfJH.js} +5 -5
  13. package/server/agents-IPSa5kzn.js +3 -0
  14. package/server/{archive-planning-Binfb99i.js → archive-planning-Cq7cyinS.js} +51 -24
  15. package/server/archive-planning-MbkGCBIY.js +2 -0
  16. package/server/{artifact-index-jobs-Jn7BGOtV.js → artifact-index-jobs-Dj_8kpTd.js} +3 -3
  17. package/server/{assemble-DsqK9OAq.js → assemble-BTCmbcfH.js} +20 -13
  18. package/server/{auto-spawn-consent-BooqhC3L.js → auto-spawn-consent-lXqRJ1Dr.js} +304 -121
  19. package/server/{backlog-auto-trigger-BADGPxov.js → backlog-auto-trigger-Dn-amzt6.js} +3 -3
  20. package/server/{behavior-B7biGtFT.js → behavior-DIMQMRzs.js} +2 -2
  21. package/server/{boot-reconciled-stop-events-bQUzU8ns.js → boot-reconciled-stop-events-D6SeUTIr.js} +1 -1
  22. package/server/{bridge-pool-patrol-DsPj6F7t.js → bridge-pool-patrol-BEjt-xF3.js} +2 -2
  23. package/server/{briefing-freshness-CUerZqWd.js → briefing-freshness-3PNmL_p3.js} +2 -2
  24. package/server/{build-info-D0q_i8WM.js → build-info-CJg813Hm.js} +3 -3
  25. package/server/{build-info-Du74MKiP.js → build-info-CXyeFsXu.js} +1 -1
  26. package/server/{checkpoint-manager-Cu-R5Uzg.js → checkpoint-manager-9t7G5c1V.js} +1 -1
  27. package/server/{checkpoint-manager-R5tnaxEY.js → checkpoint-manager-B2G38R3p.js} +3 -3
  28. package/server/checkpoint-worker.js +1 -1
  29. package/server/{checkpoints-wF84ubZ8.js → checkpoints-CuBgiXO-.js} +1 -1
  30. package/server/{checkpoints-DYtLu-PB.js → checkpoints-VTZMd4Qm.js} +2 -2
  31. package/server/{claude-hooks-provision-DXI3Wqlm.js → claude-hooks-provision-55SyQaPz.js} +2 -2
  32. package/server/{claude-hooks-provision-UKxCeOyj.js → claude-hooks-provision-CEUT-CZd.js} +1 -1
  33. package/server/{claude-permissions-DYVLnX9t.js → claude-permissions-Cn0dIu2i.js} +2 -2
  34. package/server/{claude-settings-overlay-DxP2F_gY.js → claude-settings-overlay-B19hdzSA.js} +1 -1
  35. package/server/{claude-settings-overlay-DsbpIq2d.js → claude-settings-overlay-Yg_ANh81.js} +2 -2
  36. package/server/{cli-DzRKxxP_.js → cli-C9S84iTy.js} +79 -22
  37. package/server/cli-M1cwZ__d.js +3 -0
  38. package/server/{cliproxy-CG4meRFc.js → cliproxy-CJq3KXU6.js} +2 -2
  39. package/server/{cliproxy-Cwzw39yN.js → cliproxy-DgEZlr7Y.js} +1 -1
  40. package/server/{close-issue-BX1bATJy.js → close-issue-DPxRddGR.js} +5 -5
  41. package/server/{closed-issue-reaper-hLt0W86J.js → closed-issue-reaper-C5Zn4GRS.js} +13 -13
  42. package/server/{closed-issue-reaper-DvnTSN6a.js → closed-issue-reaper-D-2B48Ri.js} +1 -1
  43. package/server/{codex-rnJN3v3_.js → codex-B3n_rkwn.js} +1 -1
  44. package/server/{codex-BYwi1uyW.js → codex-CjkD1PJu.js} +6 -6
  45. package/server/{codex-parser-Poyz29GE.js → codex-parser-DpB1Il-P.js} +2 -2
  46. package/server/{compaction-continuation-DtMfHN0f.js → compaction-continuation-DZD9ukSE.js} +3 -3
  47. package/server/{config-R793W0yA.js → config-C5saf4Ja.js} +1 -1
  48. package/server/{config-CX4vk1CV.js → config-DnLJATZk.js} +2 -2
  49. package/server/{config-ktAVnp4s.js → config-DvM8jtQK.js} +2 -2
  50. package/server/{config-yaml-CxdwhAIA.js → config-yaml-BSCqwmX0.js} +11299 -10972
  51. package/server/{conflict-gate-BSTlwCtF.js → conflict-gate-DXa_L28t.js} +1 -1
  52. package/server/{conflict-gate-BNv6UolH.js → conflict-gate-WfVqgalf.js} +4 -4
  53. package/server/{context-layers-DCdaGsRG.js → context-layers-D7UqH9Ab.js} +2 -2
  54. package/server/{context-layers-DlWsDiRF.js → context-layers-Dpz3Vd6d.js} +3 -3
  55. package/server/{control-settings-qYYHrIqy.js → control-settings-DVf6pKyv.js} +4 -4
  56. package/server/{conversation-compaction-BxUKObHb.js → conversation-compaction-5XuH6OBn.js} +1 -1
  57. package/server/{conversation-compaction-CXQrN3I_.js → conversation-compaction-COrbnX1J.js} +8 -8
  58. package/server/{conversation-service-CZiUE8Uw.js → conversation-service-BufdtnZF.js} +169 -10
  59. package/server/{conversation-service-CDnQ3ayN.js → conversation-service-DnUyIiLb.js} +1 -1
  60. package/server/{conversations-D7lR670u.js → conversations-B4rxz-Wl.js} +17 -10
  61. package/server/{conversations-DXl5YTf4.js → conversations-D1bwxQMy.js} +1 -1
  62. package/server/{cost-Aat8HfO_.js → cost-CpFDrJUS.js} +46 -2
  63. package/server/{cost-CWvN9FP2.js → cost-KLuwKCW9.js} +3 -3
  64. package/server/{cost-sync-DiUBXwl6.js → cost-sync-cesi9dp8.js} +3 -3
  65. package/server/{dag-5QlmH0oC.js → dag-BYiFMqpU.js} +2 -2
  66. package/server/{dangerous-git-ops-DWX6Og8c.js → dangerous-git-ops-BKvd3-Hk.js} +1 -1
  67. package/server/dashboard-db-worker.js +7 -7
  68. package/server/{deacon-PW_bg4uL.js → deacon-BbsWw8a6.js} +3 -3
  69. package/server/{deacon-B1LD5cJU.js → deacon-HdEh0Esp.js} +672 -181
  70. package/server/deacon-event-client-C93rvOT7.js +237 -0
  71. package/server/deacon-event-client-Ck5Ei7Mn.js +3 -0
  72. package/server/{deacon-nudge-log-DPHsO14z.js → deacon-nudge-log-BND_97Wo.js} +4 -3
  73. package/server/{deacon-pending-lifecycle-2ZflPxgo.js → deacon-pending-lifecycle-CD3YsiQK.js} +3 -3
  74. package/server/deacon-swarm-DgWADWd_.js +2 -0
  75. package/server/{deacon-swarm-DwGUgSVp.js → deacon-swarm-rqrl4TMs.js} +39 -18
  76. package/server/deacon.js +12 -210
  77. package/server/{dead-end-trip-B06RFIr2.js → dead-end-trip-DSF23CLX.js} +4 -3
  78. package/server/dead-end-trip-zKlS4v6f.js +2 -0
  79. package/server/delivery-CsbQdZkS.js +3 -0
  80. package/server/{deploy-patrol-BNjeCL8u.js → deploy-patrol-kARAkji4.js} +17 -21
  81. package/server/{deploy-queue-CKT_Ia9p.js → deploy-queue-Bj0HJT1i.js} +2 -2
  82. package/server/{deploy-queue-DMMYhFC8.js → deploy-queue-rjTUy1RM.js} +1 -1
  83. package/server/{deploy-window-DC8lze3d.js → deploy-window-B2IM-9G5.js} +10 -44
  84. package/server/{deploy-window-D_AimdNN.js → deploy-window-BNFWnA8D.js} +1 -1
  85. package/server/{dev-supervisor-C4F0vbno.js → dev-supervisor-B1mZYXz4.js} +2 -2
  86. package/server/{devcontainer-renderer-66sqMQIi.js → devcontainer-renderer-B-o68Z5B.js} +3 -3
  87. package/server/{dist-C5FT9lTG.js → dist-3W--cGMa.js} +1 -1
  88. package/server/dist-BR0QtwmS.js +3 -0
  89. package/server/{dist-src-B-AlGWSl.js → dist-src-C-Vk2jNk.js} +1 -1
  90. package/server/{docker-BxrFhTZ_.js → docker-DH3jUYg1.js} +1 -1
  91. package/server/{docker-CoAT8R0J.js → docker-meuLKLzV.js} +27 -20
  92. package/server/{dod-Bg6wsKTV.js → dod-D7-9dCOD.js} +1 -1
  93. package/server/{driver-CKVGi51s.js → driver-CmsY2RLl.js} +1 -1
  94. package/server/{durable-review-pipeline-D_DcfIGP.js → durable-review-pipeline-CStTgOAf.js} +1 -1
  95. package/server/{durable-review-pipeline-HkAgnx0L.js → durable-review-pipeline-Chq0lzjL.js} +1 -1
  96. package/server/{ensure-devcontainer-Bg5HJAcO.js → ensure-devcontainer-BE3llBWP.js} +1 -1
  97. package/server/{ensure-devcontainer-DTxChVuA.js → ensure-devcontainer-BXrY7C2Z.js} +4 -4
  98. package/server/{esm-shims-CaBWIR7f.js → esm-shims-Bzy4ZzNU.js} +1 -1
  99. package/server/event-store-COd2tOx8.js +3 -0
  100. package/server/{event-store-CrHcVC5_.js → event-store-D_AR-Y78.js} +184 -11
  101. package/server/{events-ChEFB7Jp.js → events-CCkFWa7X.js} +1 -1
  102. package/server/{events-DhRN-6vM.js → events-zjDQozet.js} +3 -3
  103. package/server/{factory-BezSPaTd.js → factory-DhavwKVc.js} +5 -5
  104. package/server/{feature-registry-population-DhswNiXx.js → feature-registry-population-DWGBKyWd.js} +4 -4
  105. package/server/{feature-registry-storage-CUVNpAso.js → feature-registry-storage-C5DkXmCM.js} +3 -3
  106. package/server/{features-B2CfNPFw.js → features-CC47YcCX.js} +2 -2
  107. package/server/{feedback-target-CMrEAoeA.js → feedback-target-D9Tex35_.js} +1 -1
  108. package/server/{feedback-target-VBr9gKgX.js → feedback-target-DoRCR3L-.js} +8 -8
  109. package/server/{feedback-writer-CY91ckuw.js → feedback-writer-CTSuA6lw.js} +1 -1
  110. package/server/{feedback-writer-xpFgU632.js → feedback-writer-DdsBdtNL.js} +5 -5
  111. package/server/{flywheel-DsICCjTR.js → flywheel-DHWHzaYK.js} +1 -1
  112. package/server/{flywheel-DQqsSm7P.js → flywheel-DJQa9az8.js} +14 -14
  113. package/server/{flywheel-CTVY3yCG.js → flywheel-TacAI9MA.js} +21 -17
  114. package/server/{flywheel-merge-order-C-TI4JGu.js → flywheel-merge-order-D2foPh88.js} +1 -1
  115. package/server/{flywheel-merge-order-CMGz-imq.js → flywheel-merge-order-DRtex2Dt.js} +7 -7
  116. package/server/forge-CdlCG9aS.js +3 -0
  117. package/server/{forge-RTNqJe6a.js → forge-c8LeC-tw.js} +2 -2
  118. package/server/{from-DxGcivc9.js → from-BogSwvr2.js} +1 -1
  119. package/server/{fs-lock-Bre3sGoz.js → fs-lock-D_GeJtXl.js} +3 -3
  120. package/server/{fts-operations-BuTdlZFA.js → fts-operations-DP9R-8Q3.js} +3 -3
  121. package/server/{git-utils-CedsVume.js → git-utils-C31x1lpE.js} +1 -1
  122. package/server/{git-utils-DtdoEXJk.js → git-utils-xQ74FoSn.js} +5 -4
  123. package/server/{github-app-DIE8BkHI.js → github-app-CpQSDlv8.js} +1 -1
  124. package/server/{github-app-gVnZcP9B.js → github-app-D2QuvZ3j.js} +3 -3
  125. package/server/{github-client-BrAC6ELh.js → github-client-D9YvJX5D.js} +3 -3
  126. package/server/{github-client-CBOkvBUl.js → github-client-Tpi3PmKX.js} +1 -1
  127. package/server/{github-pr-lookup-CgMULTPf.js → github-pr-lookup-DvBMv-IW.js} +2 -2
  128. package/server/{harness-binary-CnBHpd57.js → harness-binary-BHxWf_sX.js} +7 -6
  129. package/server/{harness-resolve-BVj6sI8m.js → harness-resolve-bj9WMABA.js} +4 -4
  130. package/server/{health-events-BBWO_Dh9.js → health-events-bCDPn59Z.js} +2 -2
  131. package/server/{health-events-Der6bOkm.js → health-events-qo7Ss34U.js} +1 -1
  132. package/server/{hooks-BOavco-e.js → hooks-Dyxtg5fk.js} +2 -2
  133. package/server/{hooks-BJNal-bs.js → hooks-X2XHBB2b.js} +1 -1
  134. package/server/{hume-DBocJFkA.js → hume-DrZEGpqc.js} +2 -2
  135. package/server/hume-YPsy4UA8.js +3 -0
  136. package/server/{idle-stack-reaper-DQFh8rDh.js → idle-stack-reaper-CJ1ygW0p.js} +37 -7
  137. package/server/{idle-stack-reaper-CyGxXOfC.js → idle-stack-reaper-uJGOb-vu.js} +1 -1
  138. package/server/{in-flight-guard-nXEKoxI7.js → in-flight-guard-CG2Eo-rr.js} +1 -1
  139. package/server/{infra-BDQDRopn.js → infra-CTrmVqc_.js} +111 -6
  140. package/server/{injection-DfFFEMKL.js → injection-BisQ0lpX.js} +1 -1
  141. package/server/{injection-CCopdUKz.js → injection-C9sxqbc2.js} +73 -193
  142. package/server/{inspect-agent-FCDlNT_i.js → inspect-agent-BoSO51YC.js} +12 -12
  143. package/server/inspect-agent-BykeOH4a.js +2 -0
  144. package/server/{internal-token-BG6yQKNL.js → internal-token-AvXePaQT.js} +2 -2
  145. package/server/{internal-token-BJZa40Ld.js → internal-token-Djkj-yqK.js} +1 -1
  146. package/server/{io-C0NV7y6C.js → io-mxOWMZ7I.js} +6 -6
  147. package/server/{issue-closed-CNNGbhWm.js → issue-closed-Bj_bCv_0.js} +7 -7
  148. package/server/{issue-lifecycle-DSH0GpWC.js → issue-lifecycle-A5YIpDZE.js} +1 -1
  149. package/server/{issue-lifecycle-BXfzxFCD.js → issue-lifecycle-BXUqaHzF.js} +32 -28
  150. package/server/{issue-service-singleton-F3A5VP6M.js → issue-service-singleton-BPNEXczv.js} +11 -11
  151. package/server/{issue-service-singleton-lwFJ4dHk.js → issue-service-singleton-CcaHjKPR.js} +1 -1
  152. package/server/{issues-DA-U_MpR.js → issues-AX-YBeAQ.js} +2 -2
  153. package/server/{jsonl-parser-BXiGANOh.js → jsonl-parser-CgYWQ20q.js} +7 -3
  154. package/server/kimi-code-BYbme0aV.js +579 -0
  155. package/server/kimi-code-D_Ppt82c.js +3 -0
  156. package/server/kimi-parser-B-JBg3Pv.js +147 -0
  157. package/server/{label-cleanup-BnxRk0Eo.js → label-cleanup-sXUlgdM0.js} +3 -3
  158. package/server/{lifecycle-DOgGnpIv.js → lifecycle-D2X3al0D.js} +2 -2
  159. package/server/{lifecycle-Di48-w4x.js → lifecycle-DjlljAZ1.js} +6 -6
  160. package/server/{lifecycle-io-eVG6v_8-.js → lifecycle-io-C5nVk55o.js} +1 -1
  161. package/server/{lifecycle-io-1XSeczTr.js → lifecycle-io-NPm1YtIG.js} +5 -5
  162. package/server/{linear-client-CvGo9n7M.js → linear-client--luYwCZg.js} +1 -1
  163. package/server/{linear-client-CYZRrcjp.js → linear-client-B8pLegW1.js} +3 -3
  164. package/server/{linear-mcp-auth-Cp0XaP96.js → linear-mcp-auth-BQVWV0I3.js} +6 -6
  165. package/server/{linear-mcp-auth-DoJnjdPZ.js → linear-mcp-auth-Dx81Zl4G.js} +1 -1
  166. package/server/memory-fts-worker.js +1 -1
  167. package/server/{merge-DO14mOr3.js → merge-Bx5Bh9pi.js} +3 -3
  168. package/server/{merge-ZF99ig6A.js → merge-Dqmh_zja.js} +1 -1
  169. package/server/{merge-agent-gpiRkcvj.js → merge-agent-DP9AUY29.js} +33 -33
  170. package/server/{merge-agent-C1-9zbP_.js → merge-agent-DWd0KfiS.js} +1 -1
  171. package/server/{merge-batch-C11ocNkO.js → merge-batch-BdmvTEAC.js} +1 -1
  172. package/server/{merge-completeness-CghMbyX7.js → merge-completeness-BfRwFjRx.js} +1 -1
  173. package/server/{merge-completeness-BUzPZy0E.js → merge-completeness-C1FevcDT.js} +4 -4
  174. package/server/merge-ops-B98tKc1e.js +2 -0
  175. package/server/merge-rebase-BLykMwPO.js +2 -0
  176. package/server/{merge-rebase-iwlUzZjr.js → merge-rebase-BX1xKsrE.js} +2 -2
  177. package/server/{merge-set-Dbnx4chw.js → merge-set-DsLjjLEV.js} +4 -4
  178. package/server/{merge-set-BymrheTj.js → merge-set-H6epHOsw.js} +1 -1
  179. package/server/{merge-sync-CM978zez.js → merge-sync-BEdfsQV4.js} +2 -2
  180. package/server/{merge-sync-CqEtqjI2.js → merge-sync-BebcWWGA.js} +1 -1
  181. package/server/{merge-train-DvLcAn1G.js → merge-train-D1I0lNOT.js} +4 -4
  182. package/server/{merge-train-deps-Cl_kcRbO.js → merge-train-deps-D_-C0Pk2.js} +4 -4
  183. package/server/{merge-verification-c9Y9mllw.js → merge-verification-DN1Ov9bU.js} +6 -6
  184. package/server/{merged-docker-cleanup-worker-CGiDOdv8.js → merged-docker-cleanup-worker-CfXSr2pA.js} +4 -4
  185. package/server/{merged-docker-cleanup-worker-DgsLOx3E.js → merged-docker-cleanup-worker-ybsPyHjB.js} +1 -1
  186. package/server/{multipart-parser-D0twwRjz.js → multipart-parser-CL5QG8iv.js} +2 -2
  187. package/server/{no-resume-mode-DZvP0M_S.js → no-resume-mode-DUR7Hi98.js} +1 -1
  188. package/server/node_modules/.package-lock.json +7 -7
  189. package/server/node_modules/brace-expansion/README.md +23 -1
  190. package/server/node_modules/brace-expansion/index.js +206 -85
  191. package/server/node_modules/brace-expansion/package.json +1 -1
  192. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +34 -28
  193. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  194. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  195. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  196. package/server/node_modules/msgpackr/dist/index.js +34 -28
  197. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  198. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  199. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  200. package/server/node_modules/msgpackr/dist/node.cjs +36 -29
  201. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  202. package/server/node_modules/msgpackr/dist/test.js +63 -32
  203. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  204. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +34 -28
  205. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  206. package/server/node_modules/msgpackr/package.json +1 -1
  207. package/server/node_modules/msgpackr/unpack.js +34 -28
  208. package/server/{orphan-proposed-reconciler-6r2OEfYd.js → orphan-proposed-reconciler-CEW1maPl.js} +1 -1
  209. package/server/{orphan-proposed-reconciler-DtQP6oE_.js → orphan-proposed-reconciler-DfqHZftT.js} +23 -22
  210. package/server/package-lock.json +8 -8
  211. package/server/package.json +1 -1
  212. package/server/{pan-dir-DAOb1V2-.js → pan-dir-DhgKfO86.js} +21 -6
  213. package/server/{paths-DuATV5iE.js → paths-BUuhi6jM.js} +17 -17
  214. package/server/{pending-lifecycle-claim-DQUHIDfX.js → pending-lifecycle-claim-DJlA1rTR.js} +2 -2
  215. package/server/{persistent-logger-CBj016pT.js → persistent-logger-s8cbpFNV.js} +2 -2
  216. package/server/{pickup-zXZl5lQI.js → pickup-2AxtB3dW.js} +1 -1
  217. package/server/{pipeline-membership-DHOXmvba.js → pipeline-membership-2_okL5bm.js} +1 -1
  218. package/server/{pipeline-membership-B2yUcBz7.js → pipeline-membership-Dqv6_0ig.js} +1 -1
  219. package/server/{pipeline-membership-gather-OkLXuvxR.js → pipeline-membership-gather-4F1-tXKI.js} +1 -1
  220. package/server/{pipeline-membership-gather-BIcJ-N0W.js → pipeline-membership-gather-CtJ_7aGf.js} +149 -17
  221. package/server/{pipeline-notifier-BmwrVKsO.js → pipeline-notifier-CO9rxJgB.js} +1 -1
  222. package/server/{pipeline-notifier-CxMes51i.js → pipeline-notifier-DDfVBJhJ.js} +2 -2
  223. package/server/{post-merge-lifecycle-worker-3u_rA4R0.js → post-merge-lifecycle-worker-DmSOkeNp.js} +3 -3
  224. package/server/{project-pipelines-C3SPFJ38.js → project-pipelines-72WE8GVK.js} +2 -2
  225. package/server/{project-repos-BOpBzkO6.js → project-repos-BAqDwtvi.js} +16 -11
  226. package/server/project-repos-Df90Zw7Y.js +3 -0
  227. package/server/projects-WqMWCdpa.js +3 -0
  228. package/server/{prompts-B0TtboFm.js → prompts-XkL10m8M.js} +2 -2
  229. package/server/{providers-O2smCvSz.js → providers-ClGPGkQ8.js} +15 -12
  230. package/server/providers-DFUOed8u.js +3 -0
  231. package/server/public/assets/{chunk-BO2N2NFS-D_pGACYN.js → chunk-BO2N2NFS-CeQUdPxr.js} +4 -4
  232. package/server/public/assets/{diagram-OG6HWLK6-BO6fe3hH.js → diagram-OG6HWLK6-B7rgk4yT.js} +1 -1
  233. package/server/public/assets/{dist-5zingMiA.js → dist-2RPazfXY.js} +3 -3
  234. package/server/public/assets/{dist-CVxhbI2E.js → dist-B9NInrVZ.js} +1 -1
  235. package/server/public/assets/{ganttDiagram-6RSMTGT7-Bgj4A7kp.js → ganttDiagram-6RSMTGT7-Bxp0gV14.js} +1 -1
  236. package/server/public/assets/{highlighted-body-OFNGDK62-DNPK7_cm.js → highlighted-body-OFNGDK62-CzoRTVlC.js} +1 -1
  237. package/server/public/assets/index-Cml-kHo6.css +1 -0
  238. package/server/public/assets/{index-DEpY-D1O.js → index-CvN8cEgs.js} +216 -215
  239. package/server/public/assets/{linear-BB0jQT16.js → linear-CFEEl3ND.js} +1 -1
  240. package/server/public/assets/mermaid-GHXKKRXX-CpV7nCBM.js +1 -0
  241. package/server/public/assets/{pieDiagram-4H26LBE5-DeGIzzpZ.js → pieDiagram-4H26LBE5-BeR8R0cr.js} +1 -1
  242. package/server/public/assets/{prod-XBLvikex.js → prod-CYjzjCrn.js} +4 -4
  243. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BV9SLeWz.js → quadrantDiagram-W4KKPZXB-BpcTkFuW.js} +1 -1
  244. package/server/public/assets/{sankeyDiagram-5OEKKPKP-Dwja0gj8.js → sankeyDiagram-5OEKKPKP-Bx2ETEV5.js} +1 -1
  245. package/server/public/assets/{xychartDiagram-2RQKCTM6-DCB4qvfw.js → xychartDiagram-2RQKCTM6-BKgEAFaj.js} +1 -1
  246. package/server/public/index.html +2 -2
  247. package/server/{pull-requests-BonZ4WVG.js → pull-requests-B-KrUph5.js} +3 -3
  248. package/server/{pull-requests-DNcJUVWA.js → pull-requests-DK5k92B4.js} +1 -1
  249. package/server/{queries-DCX27GRr.js → queries-DVpl1vsU.js} +1212 -193
  250. package/server/{rally-Cxe7lKYX.js → rally-DbE561hD.js} +3 -3
  251. package/server/rally-O_st_X7n.js +3 -0
  252. package/server/{rally-api-CzkKenoi.js → rally-api-CZLeEd2C.js} +2 -2
  253. package/server/{rally-api-Cp50exEi.js → rally-api-DaHtn5QN.js} +1 -1
  254. package/server/{rally-client-Bu3Cekkw.js → rally-client-C-MAl8ur.js} +1 -1
  255. package/server/{rally-client-CyBBEDHu.js → rally-client-Ch3zRsBX.js} +5 -5
  256. package/server/{reap-terminal-sessions-CtAhr6L0.js → reap-terminal-sessions-C1n0ALRb.js} +2 -2
  257. package/server/{reap-terminal-sessions-DvFqQUnq.js → reap-terminal-sessions-DegFS2p1.js} +2 -2
  258. package/server/{rebuild-stack-hCQtprWC.js → rebuild-stack-C9Li44A3.js} +20 -10
  259. package/server/{rebuild-stack-BKYpIPDL.js → rebuild-stack-qC0jCNm6.js} +2 -2
  260. package/server/{reconstruct-cache-CF2avArx.js → reconstruct-cache-BHyiAg02.js} +7 -7
  261. package/server/record-aVzu-LGm.js +3 -0
  262. package/server/record-update-CZh46a2f.js +617 -0
  263. package/server/{record-update-DhI7eySG.js → record-update-DtdJK2Iw.js} +1 -1
  264. package/server/recovery-trip-CSNWSLDn.js +77 -0
  265. package/server/recovery-trip-_16hFKv4.js +3 -0
  266. package/server/{release-engine-_eO3VFth.js → release-engine-Be5MX5GP.js} +5 -5
  267. package/server/{release-set-vxgZwwZV.js → release-set-DJv_O6PS.js} +3 -3
  268. package/server/{remote-BienmcrZ.js → remote-BMM3uH2J.js} +3 -3
  269. package/server/{remote-CVPCc7Vy.js → remote-C0xVTHA5.js} +3 -3
  270. package/server/{remote-agents-kwsEZvXu.js → remote-agents-BIIoc5pD.js} +1 -1
  271. package/server/{remote-agents-kxraOCGT.js → remote-agents-EUiZ26bj.js} +7 -7
  272. package/server/{remote-completion-BtmZ42aP.js → remote-completion-BS4tJUn8.js} +13 -13
  273. package/server/resolver-BvHd6RE4.js +163 -0
  274. package/server/resume-9thEqAQR.js +3 -0
  275. package/server/{review-agent-CIRr0yYt.js → review-agent-BHGaBoBu.js} +29 -29
  276. package/server/{review-agent-UpAM4DmT.js → review-agent-CD3RQ-tc.js} +1 -1
  277. package/server/{review-artifacts-BCODM9ww.js → review-artifacts-DyhajWso.js} +6 -6
  278. package/server/{review-context-BBsNrDri.js → review-context-B-dlsPnx.js} +9 -9
  279. package/server/{review-convoy-liveness-l06_LYCt.js → review-convoy-liveness-D7M-s_nS.js} +2 -2
  280. package/server/{review-status-CacDM78F.js → review-status-B6wYcOtP.js} +1 -1
  281. package/server/{review-status-CwhA9wmd.js → review-status-CKLk5aZ-.js} +306 -59
  282. package/server/{review-status-emit-BPJwYcRy.js → review-status-emit-CJ7UmEVU.js} +3 -3
  283. package/server/{review-status-enrichment-DvyZAbGR.js → review-status-enrichment-DJRgGX7-.js} +3 -3
  284. package/server/review-status-limits-4EJDCGHO.js +7 -0
  285. package/server/{review-status-source-DWnFE0b6.js → review-status-source-7nU3Z2wL.js} +1 -1
  286. package/server/{review-status-source-B70ekARK.js → review-status-source-BsDYGfyv.js} +1 -1
  287. package/server/{review-status-sync-B0IS6Beh.js → review-status-sync-BLssMTEW.js} +1 -1
  288. package/server/{review-status-sync-h2CJX6ju.js → review-status-sync-BxBeHRde.js} +35 -11
  289. package/server/{review-verdict-feedback-yrrmgps_.js → review-verdict-feedback-5jWuzgpc.js} +22 -10
  290. package/server/{review-verdict-feedback-qRohbFG2.js → review-verdict-feedback-HRY9P4bN.js} +1 -1
  291. package/server/{rollup-CUoav0Op.js → rollup-BGIrCEkU.js} +79 -44
  292. package/server/rollup-CZB4UL9q.js +3 -0
  293. package/server/{scanner-ChURu_b-.js → scanner-DydjXPrz.js} +16 -9
  294. package/server/search-DdtIjAiu.js +395 -0
  295. package/server/{sequence-io-D9ITDxzq.js → sequence-io-Fw-cLyDs.js} +4 -4
  296. package/server/{sequencer-agent-m7gmaakW.js → sequencer-agent-BcpGMt5x.js} +15 -10
  297. package/server/server.js +1258 -438
  298. package/server/{service-BzFG0Us_.js → service-BFFkGsG4.js} +58 -58
  299. package/server/{session-fork-KBq4HIHF.js → session-fork-D0V-3e5P.js} +2 -2
  300. package/server/{session-history-C_EMhIIF.js → session-history-Bta5l9jY.js} +5 -5
  301. package/server/{settings-DejgzzLs.js → settings-Ce8B1daF.js} +2 -2
  302. package/server/{settings-BLbcDqUp.js → settings-E3FnEIUx.js} +3 -3
  303. package/server/settings-eOOJpxi_.js +2 -0
  304. package/server/{shadow-engineering-D8R9I8Yl.js → shadow-engineering-Mt9nJO4i.js} +3 -3
  305. package/server/{shadow-state-C0Af4clN.js → shadow-state-Bzj_AZCV.js} +1 -1
  306. package/server/{shadow-state-fzIqIMDD.js → shadow-state-DrkhoVSx.js} +2 -2
  307. package/server/{shadow-utils-Ugca_9ND.js → shadow-utils-H1GfqP06.js} +2 -2
  308. package/server/{ship-log-VAv-lHrF.js → ship-log-CFUIo4PR.js} +1 -1
  309. package/server/{smart-compaction-BcYY_Suf.js → smart-compaction-DSTq-Wua.js} +1 -1
  310. package/server/{smart-compaction-B2Xu5XEb.js → smart-compaction-Hzp3KCJX.js} +7 -7
  311. package/server/{spawn-planning-session-Dsv-350T.js → spawn-planning-session-C0uSA2SL.js} +2 -2
  312. package/server/{spawn-planning-session-DhCoBPct.js → spawn-planning-session-DN4son31.js} +23 -21
  313. package/server/{specialist-completion-z6v3ZqJE.js → specialist-completion-Cf6tpIh1.js} +1 -1
  314. package/server/{specialist-context-CrA5azkJ.js → specialist-context-DEUEkjIQ.js} +5 -5
  315. package/server/{specialist-handoff-logger-CmpZYJMB.js → specialist-handoff-logger-D_LmQDj3.js} +2 -2
  316. package/server/{specialist-logs-BorrIu0x.js → specialist-logs-7Ynue0R7.js} +3 -3
  317. package/server/{specialists-ZdrifiKx.js → specialists-CQwBEGlD.js} +1 -1
  318. package/server/{specialists-2yLmqph9.js → specialists-DAjPgYs_.js} +504 -238
  319. package/server/{specialists-Dfx9_Wzb.js → specialists-Hr6iW9fU.js} +18 -18
  320. package/server/{specialists-CH6ah6D-.js → specialists-MOoeB4A8.js} +1 -1
  321. package/server/specs-Dl88cbKY.js +3 -0
  322. package/server/{src-B948bGVR.js → src-BYdwL_n-.js} +668 -64
  323. package/server/{src-Dm_NV7f6.js → src-DQnkPN2i.js} +3 -3
  324. package/server/{src-B2e5rGu2.js → src-DhfDV0o4.js} +6 -6
  325. package/server/{stack-health-Bf2WdG4E.js → stack-health-D_iKwNRg.js} +107 -16
  326. package/server/stack-health-deVSdDwn.js +3 -0
  327. package/server/{stale-task-claims-D1Ll8fI5.js → stale-task-claims-BYJGqhLI.js} +5 -5
  328. package/server/{staleness-CuED1Psm.js → staleness-CopBDKnA.js} +1 -1
  329. package/server/{staleness-45qZ_a60.js → staleness-D8WeMUHd.js} +1 -1
  330. package/server/{state-home-B4EWfIxF.js → state-home-DjN8qduI.js} +24 -3
  331. package/server/{state-mapping-BEONzr8P.js → state-mapping-DlM7OYRW.js} +1 -1
  332. package/server/{state-migrate-Cd8BH33U.js → state-migrate-a2p1gtD7.js} +4 -4
  333. package/server/state-mirror-Cv_XgvT5.js +121 -0
  334. package/server/{stuck-remediation-ChcooZuk.js → stuck-remediation-CXJX_kki.js} +1 -1
  335. package/server/{stuck-remediation-DmY5UJLg.js → stuck-remediation-CbCRSz1v.js} +31 -732
  336. package/server/{substrate-bug-weights-service-BvTWrFUz.js → substrate-bug-weights-service-DxpopNd9.js} +3 -3
  337. package/server/{summary-fork--Jr8duYh.js → summary-fork-B61fjRJn.js} +2 -2
  338. package/server/{summary-fork-Ct514_Jl.js → summary-fork-B9pszUJN.js} +91 -10
  339. package/server/supervisor/{injection-budget-B3UyEONL.js → injection-budget-Ar7hgyJq.js} +1 -1
  340. package/server/supervisor/pty-supervisor.js +12 -3
  341. package/server/supervisor/{pty-token-CWRffcCa.js → pty-token-CXCFU0Z8.js} +1 -1
  342. package/server/{supervisor-B7BHGcNA.js → supervisor-BvnxbuuF.js} +6 -4
  343. package/server/supervisor-C69kpqvd.js +2 -0
  344. package/server/{swarm-readiness-MNE5O8hn.js → swarm-readiness-vTw1kqGa.js} +3 -3
  345. package/server/{system-prerequisites-Cin9ZgDx.js → system-prerequisites-LLzTEqsK.js} +3 -3
  346. package/server/{teardown-workspace-CvBpvc85.js → teardown-workspace-CqKKVJr1.js} +15 -15
  347. package/server/{test-agent-queue-DmSIqays.js → test-agent-queue-CWMq7oyG.js} +8 -7
  348. package/server/{test-verdict-BieVDAV1.js → test-verdict-NdtgRBuA.js} +1 -1
  349. package/server/{test-verdict-Cy2jJGTe.js → test-verdict-diIWE6hz.js} +15 -3
  350. package/server/{tldr-daemon-Ca0eovh3.js → tldr-daemon-B1Jhrtc8.js} +1 -1
  351. package/server/{tldr-daemon-IOssGwg7.js → tldr-daemon-Bpls1CJB.js} +2 -2
  352. package/server/{tmux-CfDHob9M.js → tmux-CImZaX4q.js} +10 -16
  353. package/server/tmux-Cjpx8L8u.js +4 -0
  354. package/server/{token-B10VFNOD.js → token-Bgpjo3tE.js} +2 -2
  355. package/server/token-util-BsjFll-k.js +3 -0
  356. package/server/{token-util-CZ8WPtdk.js → token-util-BymbpkJp.js} +1 -1
  357. package/server/{tracker-config-CHbrjg6m.js → tracker-config-4DaKVTfc.js} +2 -2
  358. package/server/{tracker-utils-DZZq_C0R.js → tracker-utils-BDeAXC-q.js} +2 -2
  359. package/server/{traefik-connect-GHomyBaD.js → traefik-connect-CC5FyxYj.js} +1 -1
  360. package/server/{tunnel-Dz7y434T.js → tunnel-CDWkeceJ.js} +1 -1
  361. package/server/{tunnel-Bdyb-sNq.js → tunnel-CPf5M-Pc.js} +3 -3
  362. package/server/{typed-errors-Bn_2WRU7.js → typed-errors-9K7Dq_Vn.js} +1 -1
  363. package/server/{typed-errors-BR_RmPS_.js → typed-errors-DrS5fb5z.js} +1 -1
  364. package/server/{types-D2ETIB8T.js → types-DzlUKiuf.js} +4 -3
  365. package/server/{types-Dh6RI5Vj.js → types-kI9ik8XO.js} +1 -1
  366. package/server/{uat-promote-verification-DyvQXvIn.js → uat-promote-verification-c_pxoxEc.js} +5 -5
  367. package/server/{uat-train-Dv0Bxer7.js → uat-train-CWGxBdJO.js} +0 -0
  368. package/server/{uat-train-diX_7shd.js → uat-train-CfCYd2ve.js} +1 -1
  369. package/server/{validate-606KcYZC.js → validate-f3ItVCfm.js} +3 -3
  370. package/server/{validation-Cf7aaV5A.js → validation-5G_wQtea.js} +1 -1
  371. package/server/{validation-CnrDul1x.js → validation-7tSiCM82.js} +4 -4
  372. package/server/{verification-artifact-GOaj8u2s.js → verification-artifact-9h9dH8uX.js} +1 -1
  373. package/server/{verification-artifact-D4b-bio9.js → verification-artifact-C_4WJnf6.js} +1 -1
  374. package/server/{verification-runner-DiPaUP-C.js → verification-runner-BV5F6wrA.js} +1 -1
  375. package/server/{verification-runner-B5MVxDvU.js → verification-runner-D58KmBhK.js} +18 -38
  376. package/server/{vtt-parser-CMU5EZ5R.js → vtt-parser-2iT9OHa9.js} +1 -1
  377. package/server/{work-agent-prompt-Csb3fbVR.js → work-agent-prompt-D03s4DD1.js} +9 -9
  378. package/server/{workflows-D87ajwV6.js → workflows-BMBwLYPV.js} +281 -98
  379. package/server/workflows-BOmWGpIh.js +2 -0
  380. package/server/{workspace-iD8oULqu.js → workspace-BgflNCH0.js} +3 -3
  381. package/server/{workspace-AIOM7n00.js → workspace-Cn9ywfSW.js} +1 -1
  382. package/server/{workspace-anchor-drift-19cJ1bH5.js → workspace-anchor-drift-C8Fy3shi.js} +1 -1
  383. package/server/{workspace-anchor-drift-C3mK5wNI.js → workspace-anchor-drift-CMiNncwq.js} +5 -8
  384. package/server/{workspace-config-CJ7RqQiP.js → workspace-config-aUc2nIz6.js} +1 -1
  385. package/server/{workspace-manager-CXfrw4rR.js → workspace-manager-Bem7ZBs9.js} +521 -292
  386. package/server/workspace-manager-C0CpNh3t.js +3 -0
  387. package/server/{workspace-metadata-BuMRco5P.js → workspace-metadata-C5iSlPRo.js} +1 -1
  388. package/server/{workspace-metadata-eHSj_NsP.js → workspace-metadata-UKmTYmDQ.js} +2 -2
  389. package/server/{workspaces-DbtMX2TM.js → workspaces-DqxgwDZ8.js} +143 -113
  390. package/sync-sources/hooks/notification-hook +12 -1
  391. package/sync-sources/hooks/pan-hook-lib.sh +226 -0
  392. package/sync-sources/hooks/session-start-hook +31 -4
  393. package/sync-sources/hooks/work-agent-stop-hook +23 -1
  394. package/sync-sources/skills/pan-memory/SKILL.md +19 -3
  395. package/sync-sources/skills/pan-projects/SKILL.md +9 -0
  396. package/sync-sources/skills/pan-restart/SKILL.md +26 -7
  397. package/sync-sources/skills/pan-workspace/SKILL.md +77 -0
  398. package/server/activity-logger-CMthG6Vd.js +0 -3
  399. package/server/agent-state-DyZJia9f.js +0 -3
  400. package/server/agents-Dnn4XgdB.js +0 -3
  401. package/server/archive-planning-BHCd_eL5.js +0 -2
  402. package/server/cli-D6mRfUE6.js +0 -3
  403. package/server/deacon-swarm-BkKR7SXu.js +0 -2
  404. package/server/delivery-C2M73sBg.js +0 -3
  405. package/server/dist-qcf9gAP0.js +0 -3
  406. package/server/event-store-5UKzh9Jf.js +0 -3
  407. package/server/forge-D647IMNa.js +0 -3
  408. package/server/fts-db-wROfFfje.js +0 -146
  409. package/server/hume-DtWN8oV5.js +0 -3
  410. package/server/inspect-agent-CPqXI81t.js +0 -2
  411. package/server/merge-ops-7QqziXAh.js +0 -2
  412. package/server/merge-rebase-B4pgzvQJ.js +0 -2
  413. package/server/node_modules/brace-expansion/.tap/coverage/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -757
  414. package/server/node_modules/brace-expansion/.tap/processinfo/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -719
  415. package/server/node_modules/brace-expansion/ADVISORY-CVE-2026-14257.md +0 -107
  416. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts +0 -8
  417. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +0 -1
  418. package/server/node_modules/brace-expansion/dist/commonjs/index.js +0 -263
  419. package/server/node_modules/brace-expansion/dist/commonjs/index.js.map +0 -1
  420. package/server/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
  421. package/server/node_modules/brace-expansion/dist/esm/index.d.ts +0 -8
  422. package/server/node_modules/brace-expansion/dist/esm/index.d.ts.map +0 -1
  423. package/server/node_modules/brace-expansion/dist/esm/index.js +0 -259
  424. package/server/node_modules/brace-expansion/dist/esm/index.js.map +0 -1
  425. package/server/node_modules/brace-expansion/dist/esm/package.json +0 -3
  426. package/server/project-repos-BgW4lcIa.js +0 -3
  427. package/server/projects-_n3Zui6K.js +0 -3
  428. package/server/providers-BI1mOBQ4.js +0 -3
  429. package/server/public/assets/index-Ddkcz3WT.css +0 -1
  430. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +0 -1
  431. package/server/rally-x6ztTQo4.js +0 -3
  432. package/server/record-BTwWhtBb.js +0 -3
  433. package/server/record-update-DaOKS7Wb.js +0 -277
  434. package/server/recovery-trip-D-wM9EfB.js +0 -44
  435. package/server/resume-DXIIfJNk.js +0 -3
  436. package/server/rollup-DxCjJaAM.js +0 -3
  437. package/server/settings-9jSGHBPY.js +0 -2
  438. package/server/specs-DKV3jIEs.js +0 -3
  439. package/server/stack-health-CoWAhA99.js +0 -3
  440. package/server/supervisor-CyR_mW5B.js +0 -2
  441. package/server/tmux-Ctk6RV5l.js +0 -3
  442. package/server/token-util-CrfQ2FKf.js +0 -3
  443. package/server/workflows-DN6NyVGd.js +0 -2
  444. package/server/workspace-manager-B38rFWA1.js +0 -3
@@ -631,43 +631,49 @@
631
631
  units.push(byte1);
632
632
  } else if ((byte1 & 0xe0) === 0xc0) {
633
633
  // 2 bytes
634
- const byte2 = src[position++] & 0x3f;
635
- const codePoint = ((byte1 & 0x1f) << 6) | byte2;
636
- // Reject overlong encoding: 2-byte sequences must encode values >= 0x80
637
- if (codePoint < 0x80) {
638
- units.push(0xFFFD); // replacement character
634
+ if (byte1 < 0xc2 || position >= end || (src[position] & 0xc0) !== 0x80) {
635
+ units.push(0xFFFD);
639
636
  } else {
640
- units.push(codePoint);
637
+ const byte2 = src[position++] & 0x3f;
638
+ units.push(((byte1 & 0x1f) << 6) | byte2);
641
639
  }
642
640
  } else if ((byte1 & 0xf0) === 0xe0) {
643
641
  // 3 bytes
644
- const byte2 = src[position++] & 0x3f;
645
- const byte3 = src[position++] & 0x3f;
646
- const codePoint = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
647
- // Reject overlong encoding: 3-byte sequences must encode values >= 0x800
648
- // Also reject surrogates (0xD800-0xDFFF)
649
- if (codePoint < 0x800 || (codePoint >= 0xD800 && codePoint <= 0xDFFF)) {
650
- units.push(0xFFFD); // replacement character
642
+ const byte2 = position < end ? src[position] : 0;
643
+ if (position >= end || (byte2 & 0xc0) !== 0x80 ||
644
+ (byte1 === 0xe0 && byte2 < 0xa0) || (byte1 === 0xed && byte2 >= 0xa0)) {
645
+ units.push(0xFFFD);
651
646
  } else {
652
- units.push(codePoint);
647
+ position++;
648
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
649
+ units.push(0xFFFD);
650
+ } else {
651
+ const byte3 = src[position++] & 0x3f;
652
+ units.push(((byte1 & 0x1f) << 12) | ((byte2 & 0x3f) << 6) | byte3);
653
+ }
653
654
  }
654
655
  } else if ((byte1 & 0xf8) === 0xf0) {
655
656
  // 4 bytes
656
- const byte2 = src[position++] & 0x3f;
657
- const byte3 = src[position++] & 0x3f;
658
- const byte4 = src[position++] & 0x3f;
659
- let unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
660
- // Reject overlong encoding: 4-byte sequences must encode values >= 0x10000
661
- // Also reject values > 0x10FFFF (maximum valid Unicode)
662
- if (unit < 0x10000 || unit > 0x10FFFF) {
663
- units.push(0xFFFD); // replacement character
664
- } else if (unit > 0xffff) {
665
- unit -= 0x10000;
666
- units.push(((unit >>> 10) & 0x3ff) | 0xd800);
667
- unit = 0xdc00 | (unit & 0x3ff);
668
- units.push(unit);
657
+ const byte2 = position < end ? src[position] : 0;
658
+ if (byte1 > 0xf4 || position >= end || (byte2 & 0xc0) !== 0x80 ||
659
+ (byte1 === 0xf0 && byte2 < 0x90) || (byte1 === 0xf4 && byte2 >= 0x90)) {
660
+ units.push(0xFFFD);
669
661
  } else {
670
- units.push(unit);
662
+ position++;
663
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
664
+ units.push(0xFFFD);
665
+ } else {
666
+ const byte3 = src[position++] & 0x3f;
667
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
668
+ units.push(0xFFFD);
669
+ } else {
670
+ const byte4 = src[position++] & 0x3f;
671
+ let unit = ((byte1 & 0x07) << 0x12) | ((byte2 & 0x3f) << 0x0c) | (byte3 << 0x06) | byte4;
672
+ unit -= 0x10000;
673
+ units.push(((unit >>> 10) & 0x3ff) | 0xd800);
674
+ units.push(0xdc00 | (unit & 0x3ff));
675
+ }
676
+ }
671
677
  }
672
678
  } else {
673
679
  units.push(0xFFFD); // replacement character for invalid lead byte
@@ -1 +1 @@
1
- {"version":3,"file":"unpack-no-eval.cjs","sources":["../unpack.js"],"sourcesContent":["var decoder;\ntry {\n\tdecoder = new TextDecoder();\n} catch(error) {}\nvar src;\nvar srcEnd;\nvar position = 0;\nvar alreadySet;\nconst EMPTY_ARRAY = [];\nvar strings = EMPTY_ARRAY;\nvar stringPosition = 0;\nvar currentUnpackr = {};\nvar currentStructures;\nvar srcString;\nvar srcStringStart = 0;\nvar srcStringEnd = 0;\nvar bundledStrings;\nvar referenceMap;\nvar currentExtensions = [];\nvar dataView;\nvar defaultOptions = {\n\tuseRecords: false,\n\tmapsAsObjects: true\n};\nexport class C1Type {}\nexport const C1 = new C1Type();\nC1.name = 'MessagePack 0xC1';\nvar sequentialMode = false;\nvar inlineObjectReadThreshold = 2;\nvar BlockedFunction; // we use search and replace to change the next call to BlockedFunction to avoid CSP issues for\n\nexport class Unpackr {\n\tconstructor(options) {\n\t\tif (options) {\n\t\t\tif (options.useRecords === false && options.mapsAsObjects === undefined)\n\t\t\t\toptions.mapsAsObjects = true;\n\t\t\tif (options.sequential && options.trusted !== false) {\n\t\t\t\toptions.trusted = true;\n\t\t\t\tif (!options.structures && options.useRecords != false) {\n\t\t\t\t\toptions.structures = [];\n\t\t\t\t\tif (!options.maxSharedStructures)\n\t\t\t\t\t\toptions.maxSharedStructures = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.structures)\n\t\t\t\toptions.structures.sharedLength = options.structures.length;\n\t\t\telse if (options.getStructures) {\n\t\t\t\t(options.structures = []).uninitialized = true; // this is what we use to denote an uninitialized structures\n\t\t\t\toptions.structures.sharedLength = 0;\n\t\t\t}\n\t\t\tif (options.int64AsNumber) {\n\t\t\t\toptions.int64AsType = 'number';\n\t\t\t}\n\t\t}\n\t\tObject.assign(this, options);\n\t}\n\tunpack(source, options) {\n\t\tif (src) {\n\t\t\t// re-entrant execution, save the state and restore it after we do this unpack\n\t\t\treturn saveState(() => {\n\t\t\t\tclearSource();\n\t\t\t\treturn this ? this.unpack(source, options) : Unpackr.prototype.unpack.call(defaultOptions, source, options);\n\t\t\t});\n\t\t}\n\t\tif (!source.buffer && source.constructor === ArrayBuffer)\n\t\t\tsource = typeof Buffer !== 'undefined' ? Buffer.from(source) : new Uint8Array(source);\n\t\tif (typeof options === 'object') {\n\t\t\tsrcEnd = options.end || source.length;\n\t\t\tposition = options.start || 0;\n\t\t} else {\n\t\t\tposition = 0;\n\t\t\tsrcEnd = options > -1 ? options : source.length;\n\t\t}\n\t\tstringPosition = 0;\n\t\tsrcStringEnd = 0;\n\t\tsrcString = null;\n\t\tstrings = EMPTY_ARRAY;\n\t\tbundledStrings = null;\n\t\tsrc = source;\n\t\t// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend\n\t\t// technique for getting data from a database where it can be copied into an existing buffer instead of creating\n\t\t// new ones\n\t\ttry {\n\t\t\tdataView = source.dataView || (source.dataView = new DataView(source.buffer, source.byteOffset, source.byteLength));\n\t\t} catch(error) {\n\t\t\t// if it doesn't have a buffer, maybe it is the wrong type of object\n\t\t\tsrc = null;\n\t\t\tif (source instanceof Uint8Array)\n\t\t\t\tthrow error;\n\t\t\tthrow new Error('Source must be a Uint8Array or Buffer but was a ' + ((source && typeof source == 'object') ? source.constructor.name : typeof source));\n\t\t}\n\t\tif (this instanceof Unpackr) {\n\t\t\tcurrentUnpackr = this;\n\t\t\tif (this.structures) {\n\t\t\t\tcurrentStructures = this.structures;\n\t\t\t\treturn checkedRead(options);\n\t\t\t} else if (!currentStructures || currentStructures.length > 0) {\n\t\t\t\tcurrentStructures = [];\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentUnpackr = defaultOptions;\n\t\t\tif (!currentStructures || currentStructures.length > 0)\n\t\t\t\tcurrentStructures = [];\n\t\t}\n\t\treturn checkedRead(options);\n\t}\n\tunpackMultiple(source, forEach) {\n\t\tlet values, lastPosition = 0;\n\t\ttry {\n\t\t\tsequentialMode = true;\n\t\t\tlet size = source.length;\n\t\t\tlet value = this ? this.unpack(source, size) : defaultUnpackr.unpack(source, size);\n\t\t\tif (forEach) {\n\t\t\t\tif (forEach(value, lastPosition, position) === false) return;\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position;\n\t\t\t\t\tif (forEach(checkedRead(), lastPosition, position) === false) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalues = [ value ];\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position;\n\t\t\t\t\tvalues.push(checkedRead());\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t} catch(error) {\n\t\t\terror.lastPosition = lastPosition;\n\t\t\terror.values = values;\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tsequentialMode = false;\n\t\t\tclearSource();\n\t\t}\n\t}\n\t_mergeStructures(loadedStructures, existingStructures) {\n\t\tif (this._onLoadedStructures)\n\t\t\tloadedStructures = this._onLoadedStructures(loadedStructures);\n\t\tloadedStructures = loadedStructures || [];\n\t\tif (Object.isFrozen(loadedStructures))\n\t\t\tloadedStructures = loadedStructures.map(structure => structure.slice(0));\n\t\tfor (let i = 0, l = loadedStructures.length; i < l; i++) {\n\t\t\tlet structure = loadedStructures[i];\n\t\t\tif (structure) {\n\t\t\t\tstructure.isShared = true;\n\t\t\t\tif (i >= 32)\n\t\t\t\t\tstructure.highByte = (i - 32) >> 5;\n\t\t\t}\n\t\t}\n\t\tloadedStructures.sharedLength = loadedStructures.length;\n\t\tfor (let id in existingStructures || []) {\n\t\t\tif (id >= 0) {\n\t\t\t\tlet structure = loadedStructures[id];\n\t\t\t\tlet existing = existingStructures[id];\n\t\t\t\tif (existing) {\n\t\t\t\t\tif (structure)\n\t\t\t\t\t\t(loadedStructures.restoreStructures || (loadedStructures.restoreStructures = []))[id] = structure;\n\t\t\t\t\tloadedStructures[id] = existing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.structures = loadedStructures;\n\t}\n\tdecode(source, options) {\n\t\treturn this.unpack(source, options);\n\t}\n}\nexport function getPosition() {\n\treturn position;\n}\nexport function checkedRead(options) {\n\ttry {\n\t\tif (!currentUnpackr.trusted && !sequentialMode) {\n\t\t\tlet sharedLength = currentStructures.sharedLength || 0;\n\t\t\tif (sharedLength < currentStructures.length)\n\t\t\t\tcurrentStructures.length = sharedLength;\n\t\t}\n\t\tlet result;\n\t\tif (currentUnpackr._readStruct && src[position] < 0x40 && src[position] >= 0x20) {\n\t\t\tresult = currentUnpackr._readStruct(src, position, srcEnd);\n\t\t\tsrc = null; // dispose of this so that recursive unpack calls don't save state\n\t\t\tif (!(options && options.lazy) && result)\n\t\t\t\tresult = result.toJSON();\n\t\t\tposition = srcEnd;\n\t\t} else\n\t\t\tresult = read();\n\t\tif (bundledStrings) { // bundled strings to skip past\n\t\t\tposition = bundledStrings.postBundlePosition;\n\t\t\tbundledStrings = null;\n\t\t}\n\t\tif (sequentialMode)\n\t\t\t// we only need to restore the structures if there was an error, but if we completed a read,\n\t\t\t// we can clear this out and keep the structures we read\n\t\t\tcurrentStructures.restoreStructures = null;\n\n\t\tif (position == srcEnd) {\n\t\t\t// finished reading this source, cleanup references\n\t\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\t\trestoreStructures();\n\t\t\tcurrentStructures = null;\n\t\t\tsrc = null;\n\t\t\tif (referenceMap)\n\t\t\t\treferenceMap = null;\n\t\t} else if (position > srcEnd) {\n\t\t\t// over read\n\t\t\tthrow new Error('Unexpected end of MessagePack data');\n\t\t} else if (!sequentialMode) {\n\t\t\tlet jsonView;\n\t\t\ttry {\n\t\t\t\tjsonView = JSON.stringify(result, (_, value) => typeof value === \"bigint\" ? `${value}n` : value).slice(0, 100);\n\t\t\t} catch(error) {\n\t\t\t\tjsonView = '(JSON view not available ' + error + ')';\n\t\t\t}\n\t\t\tthrow new Error('Data read, but end of buffer not reached ' + jsonView);\n\t\t}\n\t\t// else more to read, but we are reading sequentially, so don't clear source yet\n\t\treturn result;\n\t} catch(error) {\n\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\trestoreStructures();\n\t\tclearSource();\n\t\tif (error instanceof RangeError || error.message.startsWith('Unexpected end of buffer') || position > srcEnd) {\n\t\t\terror.incomplete = true;\n\t\t}\n\t\tthrow error;\n\t}\n}\n\nfunction restoreStructures() {\n\tfor (let id in currentStructures.restoreStructures) {\n\t\tcurrentStructures[id] = currentStructures.restoreStructures[id];\n\t}\n\tcurrentStructures.restoreStructures = null;\n}\n\nexport function read() {\n\tlet token = src[position++];\n\tif (token < 0xa0) {\n\t\tif (token < 0x80) {\n\t\t\tif (token < 0x40)\n\t\t\t\treturn token;\n\t\t\telse {\n\t\t\t\tlet structure = currentStructures[token & 0x3f] ||\n\t\t\t\t\tcurrentUnpackr.getStructures && loadStructures()[token & 0x3f];\n\t\t\t\tif (structure) {\n\t\t\t\t\tif (!structure.read) {\n\t\t\t\t\t\tstructure.read = createStructureReader(structure, token & 0x3f);\n\t\t\t\t\t}\n\t\t\t\t\treturn structure.read();\n\t\t\t\t} else\n\t\t\t\t\treturn token;\n\t\t\t}\n\t\t} else if (token < 0x90) {\n\t\t\t// map\n\t\t\ttoken -= 0x80;\n\t\t\tif (currentUnpackr.mapsAsObjects) {\n\t\t\t\tlet object = {};\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tlet key = readKey();\n\t\t\t\t\tif (key === '__proto__')\n\t\t\t\t\t\tkey = '__proto_';\n\t\t\t\t\tobject[key] = read();\n\t\t\t\t}\n\t\t\t\treturn object;\n\t\t\t} else {\n\t\t\t\tlet map = new Map();\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tmap.set(read(), read());\n\t\t\t\t}\n\t\t\t\treturn map;\n\t\t\t}\n\t\t} else {\n\t\t\ttoken -= 0x90;\n\t\t\tlet array = new Array(token);\n\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\tarray[i] = read();\n\t\t\t}\n\t\t\tif (currentUnpackr.freezeData)\n\t\t\t\treturn Object.freeze(array);\n\t\t\treturn array;\n\t\t}\n\t} else if (token < 0xc0) {\n\t\t// fixstr\n\t\tlet length = token - 0xa0;\n\t\tif (srcStringEnd >= position) {\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart);\n\t\t}\n\t\tif (srcStringEnd == 0 && srcEnd < 140) {\n\t\t\t// for small blocks, avoiding the overhead of the extract call is helpful\n\t\t\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length);\n\t\t\tif (string != null)\n\t\t\t\treturn string;\n\t\t}\n\t\treturn readFixedString(length);\n\t} else {\n\t\tlet value;\n\t\tswitch (token) {\n\t\t\tcase 0xc0: return null;\n\t\t\tcase 0xc1:\n\t\t\t\tif (bundledStrings) {\n\t\t\t\t\tvalue = read(); // followed by the length of the string in characters (not bytes!)\n\t\t\t\t\tif (value > 0)\n\t\t\t\t\t\treturn bundledStrings[1].slice(bundledStrings.position1, bundledStrings.position1 += value);\n\t\t\t\t\telse\n\t\t\t\t\t\treturn bundledStrings[0].slice(bundledStrings.position0, bundledStrings.position0 -= value);\n\t\t\t\t}\n\t\t\t\treturn C1; // \"never-used\", return special object to denote that\n\t\t\tcase 0xc2: return false;\n\t\t\tcase 0xc3: return true;\n\t\t\tcase 0xc4:\n\t\t\t\t// bin 8\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (value === undefined)\n\t\t\t\t\tthrow new Error('Unexpected end of buffer');\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc5:\n\t\t\t\t// bin 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc6:\n\t\t\t\t// bin 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc7:\n\t\t\t\t// ext 8\n\t\t\t\treturn readExt(src[position++]);\n\t\t\tcase 0xc8:\n\t\t\t\t// ext 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readExt(value);\n\t\t\tcase 0xc9:\n\t\t\t\t// ext 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readExt(value);\n\t\t\tcase 0xca:\n\t\t\t\tvalue = dataView.getFloat32(position);\n\t\t\t\tif (currentUnpackr.useFloat32 > 2) {\n\t\t\t\t\t// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved\n\t\t\t\t\tlet multiplier = mult10[((src[position] & 0x7f) << 1) | (src[position + 1] >> 7)];\n\t\t\t\t\tposition += 4;\n\t\t\t\t\treturn ((multiplier * value + (value > 0 ? 0.5 : -0.5)) >> 0) / multiplier;\n\t\t\t\t}\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xcb:\n\t\t\t\tvalue = dataView.getFloat64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\t\t\t// uint handlers\n\t\t\tcase 0xcc:\n\t\t\t\treturn src[position++];\n\t\t\tcase 0xcd:\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn value;\n\t\t\tcase 0xce:\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xcf:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getUint32(position) * 0x100000000;\n\t\t\t\t\tvalue += dataView.getUint32(position + 4);\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position).toString();\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position);\n\t\t\t\t\tif (value<=BigInt(2)<<BigInt(52)) value=Number(value);\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigUint64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\n\t\t\t// int handlers\n\t\t\tcase 0xd0:\n\t\t\t\treturn dataView.getInt8(position++);\n\t\t\tcase 0xd1:\n\t\t\t\tvalue = dataView.getInt16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn value;\n\t\t\tcase 0xd2:\n\t\t\t\tvalue = dataView.getInt32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xd3:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getInt32(position) * 0x100000000;\n\t\t\t\t\tvalue += dataView.getUint32(position + 4);\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position).toString();\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position);\n\t\t\t\t\tif (value>=BigInt(-2)<<BigInt(52)&&value<=BigInt(2)<<BigInt(52)) value=Number(value);\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigInt64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\n\t\t\tcase 0xd4:\n\t\t\t\t// fixext 1\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f);\n\t\t\t\t} else {\n\t\t\t\t\tlet extension = currentExtensions[value];\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\tif (extension.read) {\n\t\t\t\t\t\t\tposition++; // skip filler byte\n\t\t\t\t\t\t\treturn extension.read(read());\n\t\t\t\t\t\t} else if (extension.noBuffer) {\n\t\t\t\t\t\t\tposition++; // skip filler byte\n\t\t\t\t\t\t\treturn extension();\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\treturn extension(src.subarray(position, ++position));\n\t\t\t\t\t} else\n\t\t\t\t\t\tthrow new Error('Unknown extension ' + value);\n\t\t\t\t}\n\t\t\tcase 0xd5:\n\t\t\t\t// fixext 2\n\t\t\t\tvalue = src[position];\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\tposition++;\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f, src[position++]);\n\t\t\t\t} else\n\t\t\t\t\treturn readExt(2);\n\t\t\tcase 0xd6:\n\t\t\t\t// fixext 4\n\t\t\t\treturn readExt(4);\n\t\t\tcase 0xd7:\n\t\t\t\t// fixext 8\n\t\t\t\treturn readExt(8);\n\t\t\tcase 0xd8:\n\t\t\t\t// fixext 16\n\t\t\t\treturn readExt(16);\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString8(value);\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString16(value);\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString32(value);\n\t\t\tcase 0xdc:\n\t\t\t// array 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readArray(value);\n\t\t\tcase 0xdd:\n\t\t\t// array 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readArray(value);\n\t\t\tcase 0xde:\n\t\t\t// map 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readMap(value);\n\t\t\tcase 0xdf:\n\t\t\t// map 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readMap(value);\n\t\t\tdefault: // negative int\n\t\t\t\tif (token >= 0xe0)\n\t\t\t\t\treturn token - 0x100;\n\t\t\t\tif (token === undefined) {\n\t\t\t\t\tlet error = new Error('Unexpected end of MessagePack data');\n\t\t\t\t\terror.incomplete = true;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow new Error('Unknown MessagePack token ' + token);\n\n\t\t}\n\t}\n}\nconst validName = /^[a-zA-Z_$][a-zA-Z\\d_$]*$/;\nfunction createStructureReader(structure, firstId) {\n\tfunction readObject() {\n\t\t// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function\n\t\tif (readObject.count++ > inlineObjectReadThreshold) {\n\t\t\tlet optimizedReadObject;\n\t\t\ttry {\n\t\t\t\toptimizedReadObject = structure.read = (new Function('r', 'return function(){return ' + (currentUnpackr.freezeData ? 'Object.freeze' : '') +\n\t\t\t\t\t'({' + structure.map(key => key === '__proto__' ? '__proto_:r()' : validName.test(key) ? key + ':r()' : ('[' + JSON.stringify(key) + ']:r()')).join(',') + '})}'))(read);\n\t\t\t} catch(error) {\n\t\t\t\t// in CF workers, the new Function call could begin to fail at any point in time\n\t\t\t\tinlineObjectReadThreshold = Infinity; // disable going forward\n\t\t\t\treturn readObject(); // recursively try again\n\t\t\t}\n\t\t\tstructure.read0 = optimizedReadObject; // keep the un-wrapped body reader in sync\n\t\t\tif (structure.highByte === 0)\n\t\t\t\tstructure.read = createSecondByteReader(firstId, structure.read);\n\t\t\treturn optimizedReadObject(); // second byte is already read, if there is one so immediately read object\n\t\t}\n\t\tlet object = {};\n\t\tfor (let i = 0, l = structure.length; i < l; i++) {\n\t\t\tlet key = structure[i];\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read();\n\t\t}\n\t\tif (currentUnpackr.freezeData)\n\t\t\treturn Object.freeze(object);\n\t\treturn object;\n\t}\n\treadObject.count = 0;\n\t// read0 is the un-wrapped body reader: it reads the record's values directly without\n\t// consuming a leading high byte. recordDefinition uses it for the immediate read that follows\n\t// a record definition (the high byte, if present, was already consumed). For highByte === 0\n\t// structures the public reader is a second-byte reader (used by later references), but the\n\t// definition read itself must not consume that byte.\n\tstructure.read0 = readObject;\n\tif (structure.highByte === 0) {\n\t\treturn createSecondByteReader(firstId, readObject);\n\t}\n\treturn readObject;\n}\n\nconst createSecondByteReader = (firstId, read0) => {\n\treturn function() {\n\t\tlet highByte = src[position++];\n\t\tif (highByte === 0)\n\t\t\treturn read0();\n\t\tlet id = firstId < 32 ? -(firstId + (highByte << 5)) : firstId + (highByte << 5);\n\t\tlet structure = currentStructures[id] || loadStructures()[id];\n\t\tif (!structure) {\n\t\t\tthrow new Error('Record id is not defined for ' + id);\n\t\t}\n\t\tif (!structure.read)\n\t\t\tstructure.read = createStructureReader(structure, firstId);\n\t\treturn structure.read();\n\t};\n};\n\nexport function loadStructures() {\n\tlet loadedStructures = saveState(() => {\n\t\t// save the state in case getStructures modifies our buffer\n\t\tsrc = null;\n\t\treturn currentUnpackr.getStructures();\n\t});\n\treturn currentStructures = currentUnpackr._mergeStructures(loadedStructures, currentStructures);\n}\n\nvar readFixedString = readStringJS;\nvar readString8 = readStringJS;\nvar readString16 = readStringJS;\nvar readString32 = readStringJS;\nexport let isNativeAccelerationEnabled = false;\n\nexport function setExtractor(extractStrings) {\n\tisNativeAccelerationEnabled = true;\n\treadFixedString = readString(1);\n\treadString8 = readString(2);\n\treadString16 = readString(3);\n\treadString32 = readString(5);\n\tfunction readString(headerLength) {\n\t\treturn function readString(length) {\n\t\t\tlet string = strings[stringPosition++];\n\t\t\tif (string == null) {\n\t\t\t\tif (bundledStrings)\n\t\t\t\t\treturn readStringJS(length);\n\t\t\t\tlet byteOffset = src.byteOffset;\n\t\t\t\tlet extraction = extractStrings(position - headerLength + byteOffset, srcEnd + byteOffset, src.buffer);\n\t\t\t\tif (typeof extraction == 'string') {\n\t\t\t\t\tstring = extraction;\n\t\t\t\t\tstrings = EMPTY_ARRAY;\n\t\t\t\t} else {\n\t\t\t\t\tstrings = extraction;\n\t\t\t\t\tstringPosition = 1;\n\t\t\t\t\tsrcStringEnd = 1; // even if a utf-8 string was decoded, must indicate we are in the midst of extracted strings and can't skip strings\n\t\t\t\t\tstring = strings[0];\n\t\t\t\t\tif (string === undefined)\n\t\t\t\t\t\tthrow new Error('Unexpected end of buffer');\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet srcStringLength = string.length;\n\t\t\tif (srcStringLength <= length) {\n\t\t\t\tposition += length;\n\t\t\t\treturn string;\n\t\t\t}\n\t\t\tsrcString = string;\n\t\t\tsrcStringStart = position;\n\t\t\tsrcStringEnd = position + srcStringLength;\n\t\t\tposition += length;\n\t\t\treturn string.slice(0, length); // we know we just want the beginning\n\t\t};\n\t}\n}\nfunction readStringJS(length) {\n\tlet result;\n\tif (length < 16) {\n\t\tif (result = shortStringInJS(length))\n\t\t\treturn result;\n\t}\n\tif (length > 64 && decoder)\n\t\treturn decoder.decode(src.subarray(position, position += length));\n\tconst end = position + length;\n\tconst units = [];\n\tresult = '';\n\twhile (position < end) {\n\t\tconst byte1 = src[position++];\n\t\tif ((byte1 & 0x80) === 0) {\n\t\t\t// 1 byte\n\t\t\tunits.push(byte1);\n\t\t} else if ((byte1 & 0xe0) === 0xc0) {\n\t\t\t// 2 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f;\n\t\t\tconst codePoint = ((byte1 & 0x1f) << 6) | byte2;\n\t\t\t// Reject overlong encoding: 2-byte sequences must encode values >= 0x80\n\t\t\tif (codePoint < 0x80) {\n\t\t\t\tunits.push(0xFFFD); // replacement character\n\t\t\t} else {\n\t\t\t\tunits.push(codePoint);\n\t\t\t}\n\t\t} else if ((byte1 & 0xf0) === 0xe0) {\n\t\t\t// 3 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f;\n\t\t\tconst byte3 = src[position++] & 0x3f;\n\t\t\tconst codePoint = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;\n\t\t\t// Reject overlong encoding: 3-byte sequences must encode values >= 0x800\n\t\t\t// Also reject surrogates (0xD800-0xDFFF)\n\t\t\tif (codePoint < 0x800 || (codePoint >= 0xD800 && codePoint <= 0xDFFF)) {\n\t\t\t\tunits.push(0xFFFD); // replacement character\n\t\t\t} else {\n\t\t\t\tunits.push(codePoint);\n\t\t\t}\n\t\t} else if ((byte1 & 0xf8) === 0xf0) {\n\t\t\t// 4 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f;\n\t\t\tconst byte3 = src[position++] & 0x3f;\n\t\t\tconst byte4 = src[position++] & 0x3f;\n\t\t\tlet unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n\t\t\t// Reject overlong encoding: 4-byte sequences must encode values >= 0x10000\n\t\t\t// Also reject values > 0x10FFFF (maximum valid Unicode)\n\t\t\tif (unit < 0x10000 || unit > 0x10FFFF) {\n\t\t\t\tunits.push(0xFFFD); // replacement character\n\t\t\t} else if (unit > 0xffff) {\n\t\t\t\tunit -= 0x10000;\n\t\t\t\tunits.push(((unit >>> 10) & 0x3ff) | 0xd800);\n\t\t\t\tunit = 0xdc00 | (unit & 0x3ff);\n\t\t\t\tunits.push(unit);\n\t\t\t} else {\n\t\t\t\tunits.push(unit);\n\t\t\t}\n\t\t} else {\n\t\t\tunits.push(0xFFFD); // replacement character for invalid lead byte\n\t\t}\n\n\t\tif (units.length >= 0x1000) {\n\t\t\tresult += fromCharCode.apply(String, units);\n\t\t\tunits.length = 0;\n\t\t}\n\t}\n\n\tif (units.length > 0) {\n\t\tresult += fromCharCode.apply(String, units);\n\t}\n\n\treturn result;\n}\nexport function readString(source, start, length) {\n\tlet existingSrc = src;\n\tsrc = source;\n\tposition = start;\n\ttry {\n\t\treturn readStringJS(length);\n\t} finally {\n\t\tsrc = existingSrc;\n\t}\n}\n\nfunction readArray(length) {\n\tlet array = new Array(length);\n\tfor (let i = 0; i < length; i++) {\n\t\tarray[i] = read();\n\t}\n\tif (currentUnpackr.freezeData)\n\t\treturn Object.freeze(array);\n\treturn array;\n}\n\nfunction readMap(length) {\n\tif (currentUnpackr.mapsAsObjects) {\n\t\tlet object = {};\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tlet key = readKey();\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read();\n\t\t}\n\t\treturn object;\n\t} else {\n\t\tlet map = new Map();\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tmap.set(read(), read());\n\t\t}\n\t\treturn map;\n\t}\n}\n\nvar fromCharCode = String.fromCharCode;\nfunction longStringInJS(length) {\n\tlet start = position;\n\tlet bytes = new Array(length);\n\tfor (let i = 0; i < length; i++) {\n\t\tconst byte = src[position++];\n\t\tif ((byte & 0x80) > 0) {\n\t\t\t\tposition = start;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tbytes[i] = byte;\n\t\t}\n\t\treturn fromCharCode.apply(String, bytes);\n}\nfunction shortStringInJS(length) {\n\tif (length < 4) {\n\t\tif (length < 2) {\n\t\t\tif (length === 0)\n\t\t\t\treturn '';\n\t\t\telse {\n\t\t\t\tlet a = src[position++];\n\t\t\t\tif ((a & 0x80) > 1) {\n\t\t\t\t\tposition -= 1;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a);\n\t\t\t}\n\t\t} else {\n\t\t\tlet a = src[position++];\n\t\t\tlet b = src[position++];\n\t\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0) {\n\t\t\t\tposition -= 2;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 3)\n\t\t\t\treturn fromCharCode(a, b);\n\t\t\tlet c = src[position++];\n\t\t\tif ((c & 0x80) > 0) {\n\t\t\t\tposition -= 3;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c);\n\t\t}\n\t} else {\n\t\tlet a = src[position++];\n\t\tlet b = src[position++];\n\t\tlet c = src[position++];\n\t\tlet d = src[position++];\n\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0 || (c & 0x80) > 0 || (d & 0x80) > 0) {\n\t\t\tposition -= 4;\n\t\t\treturn;\n\t\t}\n\t\tif (length < 6) {\n\t\t\tif (length === 4)\n\t\t\t\treturn fromCharCode(a, b, c, d);\n\t\t\telse {\n\t\t\t\tlet e = src[position++];\n\t\t\t\tif ((e & 0x80) > 0) {\n\t\t\t\t\tposition -= 5;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e);\n\t\t\t}\n\t\t} else if (length < 8) {\n\t\t\tlet e = src[position++];\n\t\t\tlet f = src[position++];\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0) {\n\t\t\t\tposition -= 6;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 7)\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f);\n\t\t\tlet g = src[position++];\n\t\t\tif ((g & 0x80) > 0) {\n\t\t\t\tposition -= 7;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c, d, e, f, g);\n\t\t} else {\n\t\t\tlet e = src[position++];\n\t\t\tlet f = src[position++];\n\t\t\tlet g = src[position++];\n\t\t\tlet h = src[position++];\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0 || (g & 0x80) > 0 || (h & 0x80) > 0) {\n\t\t\t\tposition -= 8;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 10) {\n\t\t\t\tif (length === 8)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h);\n\t\t\t\telse {\n\t\t\t\t\tlet i = src[position++];\n\t\t\t\t\tif ((i & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 9;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i);\n\t\t\t\t}\n\t\t\t} else if (length < 12) {\n\t\t\t\tlet i = src[position++];\n\t\t\t\tlet j = src[position++];\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0) {\n\t\t\t\t\tposition -= 10;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (length < 11)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j);\n\t\t\t\tlet k = src[position++];\n\t\t\t\tif ((k & 0x80) > 0) {\n\t\t\t\t\tposition -= 11;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k);\n\t\t\t} else {\n\t\t\t\tlet i = src[position++];\n\t\t\t\tlet j = src[position++];\n\t\t\t\tlet k = src[position++];\n\t\t\t\tlet l = src[position++];\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0 || (k & 0x80) > 0 || (l & 0x80) > 0) {\n\t\t\t\t\tposition -= 12;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (length < 14) {\n\t\t\t\t\tif (length === 12)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l);\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet m = src[position++];\n\t\t\t\t\t\tif ((m & 0x80) > 0) {\n\t\t\t\t\t\t\tposition -= 13;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet m = src[position++];\n\t\t\t\t\tlet n = src[position++];\n\t\t\t\t\tif ((m & 0x80) > 0 || (n & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 14;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (length < 15)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n);\n\t\t\t\t\tlet o = src[position++];\n\t\t\t\t\tif ((o & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 15;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction readOnlyJSString() {\n\tlet token = src[position++];\n\tlet length;\n\tif (token < 0xc0) {\n\t\t// fixstr\n\t\tlength = token - 0xa0;\n\t} else {\n\t\tswitch(token) {\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tlength = src[position++];\n\t\t\t\tbreak;\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tlength = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\tbreak;\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tlength = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Expected string');\n\t\t}\n\t}\n\treturn readStringJS(length);\n}\n\n\nfunction readBin(length) {\n\treturn currentUnpackr.copyBuffers ?\n\t\t// specifically use the copying slice (not the node one)\n\t\tUint8Array.prototype.slice.call(src, position, position += length) :\n\t\tsrc.subarray(position, position += length);\n}\nfunction readExt(length) {\n\tlet type = src[position++];\n\tif (currentExtensions[type]) {\n\t\tlet end;\n\t\treturn currentExtensions[type](src.subarray(position, end = (position += length)), (readPosition) => {\n\t\t\tposition = readPosition;\n\t\t\ttry {\n\t\t\t\treturn read();\n\t\t\t} finally {\n\t\t\t\tposition = end;\n\t\t\t}\n\t\t});\n\t}\n\telse\n\t\tthrow new Error('Unknown extension type ' + type);\n}\n\nvar keyCache = new Array(4096);\nfunction readKey() {\n\tlet length = src[position++];\n\tif (length >= 0xa0 && length < 0xc0) {\n\t\t// fixstr, potentially use key cache\n\t\tlength = length - 0xa0;\n\t\tif (srcStringEnd >= position) // if it has been extracted, must use it (and faster anyway)\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart);\n\t\telse if (!(srcStringEnd == 0 && srcEnd < 180))\n\t\t\treturn readFixedString(length);\n\t} else { // not cacheable, go back and do a standard read\n\t\tposition--;\n\t\treturn asSafeString(read());\n\t}\n\tlet key = ((length << 5) ^ (length > 1 ? dataView.getUint16(position) : length > 0 ? src[position] : 0)) & 0xfff;\n\tlet entry = keyCache[key];\n\tlet checkPosition = position;\n\tlet end = position + length - 3;\n\tlet chunk;\n\tlet i = 0;\n\tif (entry && entry.bytes == length) {\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = dataView.getUint32(checkPosition);\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcheckPosition += 4;\n\t\t}\n\t\tend += 3;\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = src[checkPosition++];\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (checkPosition === end) {\n\t\t\tposition = checkPosition;\n\t\t\treturn entry.string;\n\t\t}\n\t\tend -= 3;\n\t\tcheckPosition = position;\n\t}\n\tentry = [];\n\tkeyCache[key] = entry;\n\tentry.bytes = length;\n\twhile (checkPosition < end) {\n\t\tchunk = dataView.getUint32(checkPosition);\n\t\tentry.push(chunk);\n\t\tcheckPosition += 4;\n\t}\n\tend += 3;\n\twhile (checkPosition < end) {\n\t\tchunk = src[checkPosition++];\n\t\tentry.push(chunk);\n\t}\n\t// for small blocks, avoiding the overhead of the extract call is helpful\n\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length);\n\tif (string != null)\n\t\treturn entry.string = string;\n\treturn entry.string = readFixedString(length);\n}\n\nfunction asSafeString(property) {\n\t// protect against expensive (DoS) string conversions\n\tif (typeof property === 'string') return property;\n\tif (typeof property === 'number' || typeof property === 'boolean' || typeof property === 'bigint') return property.toString();\n\tif (property == null) return property + '';\n\tif (currentUnpackr.allowArraysInMapKeys && Array.isArray(property) && property.flat().every(item => ['string', 'number', 'boolean', 'bigint'].includes(typeof item))) {\n\t\treturn property.flat().toString();\n\t}\n\tthrow new Error(`Invalid property type for record: ${typeof property}`);\n}\n// the registration of the record definition extension (as \"r\")\nconst recordDefinition = (id, highByte) => {\n\tlet structure = read().map(asSafeString); // ensure that all keys are strings and\n\t// that the array is mutable\n\tlet firstByte = id;\n\tif (highByte !== undefined) {\n\t\tid = id < 32 ? -((highByte << 5) + id) : ((highByte << 5) + id);\n\t\tstructure.highByte = highByte;\n\t}\n\tlet existingStructure = currentStructures[id];\n\t// If it is a shared structure, we need to restore any changes after reading.\n\t// Also in sequential mode, we may get incomplete reads and thus errors, and we need to restore\n\t// to the state prior to an incomplete read in order to properly resume.\n\tif (existingStructure && (existingStructure.isShared || sequentialMode)) {\n\t\t(currentStructures.restoreStructures || (currentStructures.restoreStructures = []))[id] = existingStructure;\n\t}\n\tcurrentStructures[id] = structure;\n\tstructure.read = createStructureReader(structure, firstByte);\n\t// The high byte (if any) was already consumed as the `highByte` argument above, so read the\n\t// record body directly. Going through structure.read (a second-byte reader when highByte === 0)\n\t// would misinterpret the first value byte as a high byte — corrupting two-byte own-record\n\t// definitions (0xd5 0x72 ...). createStructureReader stashes the un-wrapped body reader on\n\t// structure.read0 precisely for this immediate post-definition read.\n\treturn (structure.read0 || structure.read)();\n};\ncurrentExtensions[0] = () => {}; // notepack defines extension 0 to mean undefined, so use that as the default here\ncurrentExtensions[0].noBuffer = true;\n\ncurrentExtensions[0x42] = data => {\n\tlet headLength = (data.byteLength % 8) || 8;\n\tlet head = BigInt(data[0] & 0x80 ? data[0] - 0x100 : data[0]);\n\tfor (let i = 1; i < headLength; i++) {\n\t\thead <<= BigInt(8);\n\t\thead += BigInt(data[i]);\n\t}\n\tif (data.byteLength !== headLength) {\n\t\tlet view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\t\tlet decode = (start, end) => {\n\t\t\tlet length = end - start;\n\t\t\tif (length <= 40) {\n\t\t\t\tlet out = view.getBigUint64(start);\n\t\t\t\tfor (let i = start + 8; i < end; i += 8) {\n\t\t\t\t\tout <<= BigInt(64);\n\t\t\t\t\tout |= view.getBigUint64(i);\n\t\t\t\t}\n\t\t\t\treturn out;\n\t\t\t}\n\t\t\t// if (length === 8) return view.getBigUint64(start)\n\t\t\tlet middle = start + (length >> 4 << 3);\n\t\t\tlet left = decode(start, middle);\n\t\t\tlet right = decode(middle, end);\n\t\t\treturn (left << BigInt((end - middle) * 8)) | right;\n\t\t};\n\t\thead = (head << BigInt((view.byteLength - headLength) * 8)) | decode(headLength, view.byteLength);\n\t}\n\treturn head;\n};\n\nlet errors = {\n\tError, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, AggregateError: typeof AggregateError === 'function' ? AggregateError : null,\n};\ncurrentExtensions[0x65] = () => {\n\tlet data = read();\n\tif (!errors[data[0]]) {\n\t\tlet error = Error(data[1], { cause: data[2] });\n\t\terror.name = data[0];\n\t\treturn error;\n\t}\n\treturn errors[data[0]](data[1], { cause: data[2] });\n};\n\ncurrentExtensions[0x69] = (data) => {\n\t// id extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled');\n\tlet id = dataView.getUint32(position - 4);\n\tif (!referenceMap)\n\t\treferenceMap = new Map();\n\tlet token = src[position];\n\tlet target;\n\t// TODO: handle any other types that can cycle and make the code more robust if there are other extensions\n\tif (token >= 0x90 && token < 0xa0 || token == 0xdc || token == 0xdd)\n\t\ttarget = [];\n\telse if (token >= 0x80 && token < 0x90 || token == 0xde || token == 0xdf)\n\t\ttarget = new Map();\n\telse if ((token >= 0xc7 && token <= 0xc9 || token >= 0xd4 && token <= 0xd8) && src[position + 1] === 0x73)\n\t\ttarget = new Set();\n\telse\n\t\ttarget = {};\n\n\tlet refEntry = { target }; // a placeholder object\n\treferenceMap.set(id, refEntry);\n\tlet targetProperties = read(); // read the next value as the target object to id\n\tif (!refEntry.used) {\n\t\t// no cycle, can just use the returned read object\n\t\treturn refEntry.target = targetProperties; // replace the placeholder with the real one\n\t} else {\n\t\t// there is a cycle, so we have to assign properties to original target\n\t\tObject.assign(target, targetProperties);\n\t}\n\n\t// copy over map/set entries if we're able to\n\tif (target instanceof Map)\n\t\tfor (let [k, v] of targetProperties.entries()) target.set(k, v);\n\tif (target instanceof Set)\n\t\tfor (let i of Array.from(targetProperties)) target.add(i);\n\treturn target;\n};\n\ncurrentExtensions[0x70] = (data) => {\n\t// pointer extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled');\n\tlet id = dataView.getUint32(position - 4);\n\tlet refEntry = referenceMap.get(id);\n\trefEntry.used = true;\n\treturn refEntry.target;\n};\n\ncurrentExtensions[0x73] = () => new Set(read());\n\nexport const typedArrays = ['Int8','Uint8','Uint8Clamped','Int16','Uint16','Int32','Uint32','Float32','Float64','BigInt64','BigUint64'].map(type => type + 'Array');\n\nlet glbl = typeof globalThis === 'object' ? globalThis : window;\ncurrentExtensions[0x74] = (data) => {\n\tlet typeCode = data[0];\n\t// we always have to slice to get a new ArrayBuffer that is aligned\n\tlet buffer = Uint8Array.prototype.slice.call(data, 1).buffer;\n\n\tlet typedArrayName = typedArrays[typeCode];\n\tif (!typedArrayName) {\n\t\tif (typeCode === 16) return buffer;\n\t\tif (typeCode === 17) return new DataView(buffer);\n\t\tthrow new Error('Could not find typed array for code ' + typeCode);\n\t}\n\treturn new glbl[typedArrayName](buffer);\n};\ncurrentExtensions[0x78] = () => {\n\tlet data = read();\n\treturn new RegExp(data[0], data[1]);\n};\nconst TEMP_BUNDLE = [];\ncurrentExtensions[0x62] = (data) => {\n\tlet dataSize = (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3];\n\tlet dataPosition = position;\n\tposition += dataSize - data.length;\n\tbundledStrings = TEMP_BUNDLE;\n\tbundledStrings = [readOnlyJSString(), readOnlyJSString()];\n\tbundledStrings.position0 = 0;\n\tbundledStrings.position1 = 0;\n\tbundledStrings.postBundlePosition = position;\n\tposition = dataPosition;\n\treturn read();\n};\n\ncurrentExtensions[0xff] = (data) => {\n\t// 32-bit date extension\n\tif (data.length == 4)\n\t\treturn new Date((data[0] * 0x1000000 + (data[1] << 16) + (data[2] << 8) + data[3]) * 1000);\n\telse if (data.length == 8)\n\t\treturn new Date(\n\t\t\t((data[0] << 22) + (data[1] << 14) + (data[2] << 6) + (data[3] >> 2)) / 1000000 +\n\t\t\t((data[3] & 0x3) * 0x100000000 + data[4] * 0x1000000 + (data[5] << 16) + (data[6] << 8) + data[7]) * 1000);\n\telse if (data.length == 12)\n\t\treturn new Date(\n\t\t\t((data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]) / 1000000 +\n\t\t\t(((data[4] & 0x80) ? -0x1000000000000 : 0) + data[6] * 0x10000000000 + data[7] * 0x100000000 + data[8] * 0x1000000 + (data[9] << 16) + (data[10] << 8) + data[11]) * 1000);\n\telse\n\t\treturn new Date('invalid');\n};\n// registration of bulk record definition?\n// currentExtensions[0x52] = () =>\n\nfunction saveState(callback) {\n\tif (currentUnpackr && currentUnpackr._onSaveState)\n\t\tcurrentUnpackr._onSaveState();\n\tlet savedSrcEnd = srcEnd;\n\tlet savedPosition = position;\n\tlet savedStringPosition = stringPosition;\n\tlet savedSrcStringStart = srcStringStart;\n\tlet savedSrcStringEnd = srcStringEnd;\n\tlet savedSrcString = srcString;\n\tlet savedStrings = strings;\n\tlet savedReferenceMap = referenceMap;\n\tlet savedBundledStrings = bundledStrings;\n\n\t// TODO: We may need to revisit this if we do more external calls to user code (since it could be slow)\n\tlet savedSrc = new Uint8Array(src.slice(0, srcEnd)); // we copy the data in case it changes while external data is processed\n\tlet savedStructures = currentStructures;\n\tlet savedStructuresContents = currentStructures.slice(0, currentStructures.length);\n\tlet savedPackr = currentUnpackr;\n\tlet savedSequentialMode = sequentialMode;\n\tlet value = callback();\n\tsrcEnd = savedSrcEnd;\n\tposition = savedPosition;\n\tstringPosition = savedStringPosition;\n\tsrcStringStart = savedSrcStringStart;\n\tsrcStringEnd = savedSrcStringEnd;\n\tsrcString = savedSrcString;\n\tstrings = savedStrings;\n\treferenceMap = savedReferenceMap;\n\tbundledStrings = savedBundledStrings;\n\tsrc = savedSrc;\n\tsequentialMode = savedSequentialMode;\n\tcurrentStructures = savedStructures;\n\tcurrentStructures.splice(0, currentStructures.length, ...savedStructuresContents);\n\tcurrentUnpackr = savedPackr;\n\tdataView = new DataView(src.buffer, src.byteOffset, src.byteLength);\n\treturn value;\n}\nexport function clearSource() {\n\tsrc = null;\n\treferenceMap = null;\n\tcurrentStructures = null;\n}\n\nexport function addExtension(extension) {\n\tif (extension.unpack)\n\t\tcurrentExtensions[extension.type] = extension.unpack;\n\telse\n\t\tcurrentExtensions[extension.type] = extension;\n}\n\nexport const mult10 = new Array(147); // this is a table matching binary exponents to the multiplier to determine significant digit rounding\nfor (let i = 0; i < 256; i++) {\n\tmult10[i] = +('1e' + Math.floor(45.15 - i * 0.30103));\n}\nexport const Decoder = Unpackr;\nvar defaultUnpackr = new Unpackr({ useRecords: false });\nexport const unpack = defaultUnpackr.unpack;\nexport const unpackMultiple = defaultUnpackr.unpackMultiple;\nexport const decode = defaultUnpackr.unpack;\nexport const FLOAT32_OPTIONS = {\n\tNEVER: 0,\n\tALWAYS: 1,\n\tDECIMAL_ROUND: 3,\n\tDECIMAL_FIT: 4\n};\nlet f32Array = new Float32Array(1);\nlet u8Array = new Uint8Array(f32Array.buffer, 0, 4);\nexport function roundFloat32(float32Number) {\n\tf32Array[0] = float32Number;\n\tlet multiplier = mult10[((u8Array[3] & 0x7f) << 1) | (u8Array[2] >> 7)];\n\treturn ((multiplier * float32Number + (float32Number > 0 ? 0.5 : -0.5)) >> 0) / multiplier;\n}\n// Marker for downstream libraries (e.g. structon) to detect per-instance\n// struct-decoding hooks (this._readStruct, this._onLoadedStructures,\n// this._onSaveState). See `checkedRead` for the dispatch.\nUnpackr.SUPPORTS_STRUCT_HOOKS = true;\n"],"names":["isNativeAccelerationEnabled"],"mappings":"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"}
1
+ {"version":3,"file":"unpack-no-eval.cjs","sources":["../unpack.js"],"sourcesContent":["var decoder;\ntry {\n\tdecoder = new TextDecoder();\n} catch(error) {}\nvar src;\nvar srcEnd;\nvar position = 0;\nvar alreadySet;\nconst EMPTY_ARRAY = [];\nvar strings = EMPTY_ARRAY;\nvar stringPosition = 0;\nvar currentUnpackr = {};\nvar currentStructures;\nvar srcString;\nvar srcStringStart = 0;\nvar srcStringEnd = 0;\nvar bundledStrings;\nvar referenceMap;\nvar currentExtensions = [];\nvar dataView;\nvar defaultOptions = {\n\tuseRecords: false,\n\tmapsAsObjects: true\n};\nexport class C1Type {}\nexport const C1 = new C1Type();\nC1.name = 'MessagePack 0xC1';\nvar sequentialMode = false;\nvar inlineObjectReadThreshold = 2;\nvar BlockedFunction; // we use search and replace to change the next call to BlockedFunction to avoid CSP issues for\n\nexport class Unpackr {\n\tconstructor(options) {\n\t\tif (options) {\n\t\t\tif (options.useRecords === false && options.mapsAsObjects === undefined)\n\t\t\t\toptions.mapsAsObjects = true;\n\t\t\tif (options.sequential && options.trusted !== false) {\n\t\t\t\toptions.trusted = true;\n\t\t\t\tif (!options.structures && options.useRecords != false) {\n\t\t\t\t\toptions.structures = [];\n\t\t\t\t\tif (!options.maxSharedStructures)\n\t\t\t\t\t\toptions.maxSharedStructures = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.structures)\n\t\t\t\toptions.structures.sharedLength = options.structures.length;\n\t\t\telse if (options.getStructures) {\n\t\t\t\t(options.structures = []).uninitialized = true; // this is what we use to denote an uninitialized structures\n\t\t\t\toptions.structures.sharedLength = 0;\n\t\t\t}\n\t\t\tif (options.int64AsNumber) {\n\t\t\t\toptions.int64AsType = 'number';\n\t\t\t}\n\t\t}\n\t\tObject.assign(this, options);\n\t}\n\tunpack(source, options) {\n\t\tif (src) {\n\t\t\t// re-entrant execution, save the state and restore it after we do this unpack\n\t\t\treturn saveState(() => {\n\t\t\t\tclearSource();\n\t\t\t\treturn this ? this.unpack(source, options) : Unpackr.prototype.unpack.call(defaultOptions, source, options);\n\t\t\t});\n\t\t}\n\t\tif (!source.buffer && source.constructor === ArrayBuffer)\n\t\t\tsource = typeof Buffer !== 'undefined' ? Buffer.from(source) : new Uint8Array(source);\n\t\tif (typeof options === 'object') {\n\t\t\tsrcEnd = options.end || source.length;\n\t\t\tposition = options.start || 0;\n\t\t} else {\n\t\t\tposition = 0;\n\t\t\tsrcEnd = options > -1 ? options : source.length;\n\t\t}\n\t\tstringPosition = 0;\n\t\tsrcStringEnd = 0;\n\t\tsrcString = null;\n\t\tstrings = EMPTY_ARRAY;\n\t\tbundledStrings = null;\n\t\tsrc = source;\n\t\t// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend\n\t\t// technique for getting data from a database where it can be copied into an existing buffer instead of creating\n\t\t// new ones\n\t\ttry {\n\t\t\tdataView = source.dataView || (source.dataView = new DataView(source.buffer, source.byteOffset, source.byteLength));\n\t\t} catch(error) {\n\t\t\t// if it doesn't have a buffer, maybe it is the wrong type of object\n\t\t\tsrc = null;\n\t\t\tif (source instanceof Uint8Array)\n\t\t\t\tthrow error;\n\t\t\tthrow new Error('Source must be a Uint8Array or Buffer but was a ' + ((source && typeof source == 'object') ? source.constructor.name : typeof source));\n\t\t}\n\t\tif (this instanceof Unpackr) {\n\t\t\tcurrentUnpackr = this;\n\t\t\tif (this.structures) {\n\t\t\t\tcurrentStructures = this.structures;\n\t\t\t\treturn checkedRead(options);\n\t\t\t} else if (!currentStructures || currentStructures.length > 0) {\n\t\t\t\tcurrentStructures = [];\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentUnpackr = defaultOptions;\n\t\t\tif (!currentStructures || currentStructures.length > 0)\n\t\t\t\tcurrentStructures = [];\n\t\t}\n\t\treturn checkedRead(options);\n\t}\n\tunpackMultiple(source, forEach) {\n\t\tlet values, lastPosition = 0;\n\t\ttry {\n\t\t\tsequentialMode = true;\n\t\t\tlet size = source.length;\n\t\t\tlet value = this ? this.unpack(source, size) : defaultUnpackr.unpack(source, size);\n\t\t\tif (forEach) {\n\t\t\t\tif (forEach(value, lastPosition, position) === false) return;\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position;\n\t\t\t\t\tif (forEach(checkedRead(), lastPosition, position) === false) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalues = [ value ];\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position;\n\t\t\t\t\tvalues.push(checkedRead());\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t} catch(error) {\n\t\t\terror.lastPosition = lastPosition;\n\t\t\terror.values = values;\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tsequentialMode = false;\n\t\t\tclearSource();\n\t\t}\n\t}\n\t_mergeStructures(loadedStructures, existingStructures) {\n\t\tif (this._onLoadedStructures)\n\t\t\tloadedStructures = this._onLoadedStructures(loadedStructures);\n\t\tloadedStructures = loadedStructures || [];\n\t\tif (Object.isFrozen(loadedStructures))\n\t\t\tloadedStructures = loadedStructures.map(structure => structure.slice(0));\n\t\tfor (let i = 0, l = loadedStructures.length; i < l; i++) {\n\t\t\tlet structure = loadedStructures[i];\n\t\t\tif (structure) {\n\t\t\t\tstructure.isShared = true;\n\t\t\t\tif (i >= 32)\n\t\t\t\t\tstructure.highByte = (i - 32) >> 5;\n\t\t\t}\n\t\t}\n\t\tloadedStructures.sharedLength = loadedStructures.length;\n\t\tfor (let id in existingStructures || []) {\n\t\t\tif (id >= 0) {\n\t\t\t\tlet structure = loadedStructures[id];\n\t\t\t\tlet existing = existingStructures[id];\n\t\t\t\tif (existing) {\n\t\t\t\t\tif (structure)\n\t\t\t\t\t\t(loadedStructures.restoreStructures || (loadedStructures.restoreStructures = []))[id] = structure;\n\t\t\t\t\tloadedStructures[id] = existing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.structures = loadedStructures;\n\t}\n\tdecode(source, options) {\n\t\treturn this.unpack(source, options);\n\t}\n}\nexport function getPosition() {\n\treturn position;\n}\nexport function checkedRead(options) {\n\ttry {\n\t\tif (!currentUnpackr.trusted && !sequentialMode) {\n\t\t\tlet sharedLength = currentStructures.sharedLength || 0;\n\t\t\tif (sharedLength < currentStructures.length)\n\t\t\t\tcurrentStructures.length = sharedLength;\n\t\t}\n\t\tlet result;\n\t\tif (currentUnpackr._readStruct && src[position] < 0x40 && src[position] >= 0x20) {\n\t\t\tresult = currentUnpackr._readStruct(src, position, srcEnd);\n\t\t\tsrc = null; // dispose of this so that recursive unpack calls don't save state\n\t\t\tif (!(options && options.lazy) && result)\n\t\t\t\tresult = result.toJSON();\n\t\t\tposition = srcEnd;\n\t\t} else\n\t\t\tresult = read();\n\t\tif (bundledStrings) { // bundled strings to skip past\n\t\t\tposition = bundledStrings.postBundlePosition;\n\t\t\tbundledStrings = null;\n\t\t}\n\t\tif (sequentialMode)\n\t\t\t// we only need to restore the structures if there was an error, but if we completed a read,\n\t\t\t// we can clear this out and keep the structures we read\n\t\t\tcurrentStructures.restoreStructures = null;\n\n\t\tif (position == srcEnd) {\n\t\t\t// finished reading this source, cleanup references\n\t\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\t\trestoreStructures();\n\t\t\tcurrentStructures = null;\n\t\t\tsrc = null;\n\t\t\tif (referenceMap)\n\t\t\t\treferenceMap = null;\n\t\t} else if (position > srcEnd) {\n\t\t\t// over read\n\t\t\tthrow new Error('Unexpected end of MessagePack data');\n\t\t} else if (!sequentialMode) {\n\t\t\tlet jsonView;\n\t\t\ttry {\n\t\t\t\tjsonView = JSON.stringify(result, (_, value) => typeof value === \"bigint\" ? `${value}n` : value).slice(0, 100);\n\t\t\t} catch(error) {\n\t\t\t\tjsonView = '(JSON view not available ' + error + ')';\n\t\t\t}\n\t\t\tthrow new Error('Data read, but end of buffer not reached ' + jsonView);\n\t\t}\n\t\t// else more to read, but we are reading sequentially, so don't clear source yet\n\t\treturn result;\n\t} catch(error) {\n\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\trestoreStructures();\n\t\tclearSource();\n\t\tif (error instanceof RangeError || error.message.startsWith('Unexpected end of buffer') || position > srcEnd) {\n\t\t\terror.incomplete = true;\n\t\t}\n\t\tthrow error;\n\t}\n}\n\nfunction restoreStructures() {\n\tfor (let id in currentStructures.restoreStructures) {\n\t\tcurrentStructures[id] = currentStructures.restoreStructures[id];\n\t}\n\tcurrentStructures.restoreStructures = null;\n}\n\nexport function read() {\n\tlet token = src[position++];\n\tif (token < 0xa0) {\n\t\tif (token < 0x80) {\n\t\t\tif (token < 0x40)\n\t\t\t\treturn token;\n\t\t\telse {\n\t\t\t\tlet structure = currentStructures[token & 0x3f] ||\n\t\t\t\t\tcurrentUnpackr.getStructures && loadStructures()[token & 0x3f];\n\t\t\t\tif (structure) {\n\t\t\t\t\tif (!structure.read) {\n\t\t\t\t\t\tstructure.read = createStructureReader(structure, token & 0x3f);\n\t\t\t\t\t}\n\t\t\t\t\treturn structure.read();\n\t\t\t\t} else\n\t\t\t\t\treturn token;\n\t\t\t}\n\t\t} else if (token < 0x90) {\n\t\t\t// map\n\t\t\ttoken -= 0x80;\n\t\t\tif (currentUnpackr.mapsAsObjects) {\n\t\t\t\tlet object = {};\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tlet key = readKey();\n\t\t\t\t\tif (key === '__proto__')\n\t\t\t\t\t\tkey = '__proto_';\n\t\t\t\t\tobject[key] = read();\n\t\t\t\t}\n\t\t\t\treturn object;\n\t\t\t} else {\n\t\t\t\tlet map = new Map();\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tmap.set(read(), read());\n\t\t\t\t}\n\t\t\t\treturn map;\n\t\t\t}\n\t\t} else {\n\t\t\ttoken -= 0x90;\n\t\t\tlet array = new Array(token);\n\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\tarray[i] = read();\n\t\t\t}\n\t\t\tif (currentUnpackr.freezeData)\n\t\t\t\treturn Object.freeze(array);\n\t\t\treturn array;\n\t\t}\n\t} else if (token < 0xc0) {\n\t\t// fixstr\n\t\tlet length = token - 0xa0;\n\t\tif (srcStringEnd >= position) {\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart);\n\t\t}\n\t\tif (srcStringEnd == 0 && srcEnd < 140) {\n\t\t\t// for small blocks, avoiding the overhead of the extract call is helpful\n\t\t\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length);\n\t\t\tif (string != null)\n\t\t\t\treturn string;\n\t\t}\n\t\treturn readFixedString(length);\n\t} else {\n\t\tlet value;\n\t\tswitch (token) {\n\t\t\tcase 0xc0: return null;\n\t\t\tcase 0xc1:\n\t\t\t\tif (bundledStrings) {\n\t\t\t\t\tvalue = read(); // followed by the length of the string in characters (not bytes!)\n\t\t\t\t\tif (value > 0)\n\t\t\t\t\t\treturn bundledStrings[1].slice(bundledStrings.position1, bundledStrings.position1 += value);\n\t\t\t\t\telse\n\t\t\t\t\t\treturn bundledStrings[0].slice(bundledStrings.position0, bundledStrings.position0 -= value);\n\t\t\t\t}\n\t\t\t\treturn C1; // \"never-used\", return special object to denote that\n\t\t\tcase 0xc2: return false;\n\t\t\tcase 0xc3: return true;\n\t\t\tcase 0xc4:\n\t\t\t\t// bin 8\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (value === undefined)\n\t\t\t\t\tthrow new Error('Unexpected end of buffer');\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc5:\n\t\t\t\t// bin 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc6:\n\t\t\t\t// bin 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readBin(value);\n\t\t\tcase 0xc7:\n\t\t\t\t// ext 8\n\t\t\t\treturn readExt(src[position++]);\n\t\t\tcase 0xc8:\n\t\t\t\t// ext 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readExt(value);\n\t\t\tcase 0xc9:\n\t\t\t\t// ext 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readExt(value);\n\t\t\tcase 0xca:\n\t\t\t\tvalue = dataView.getFloat32(position);\n\t\t\t\tif (currentUnpackr.useFloat32 > 2) {\n\t\t\t\t\t// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved\n\t\t\t\t\tlet multiplier = mult10[((src[position] & 0x7f) << 1) | (src[position + 1] >> 7)];\n\t\t\t\t\tposition += 4;\n\t\t\t\t\treturn ((multiplier * value + (value > 0 ? 0.5 : -0.5)) >> 0) / multiplier;\n\t\t\t\t}\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xcb:\n\t\t\t\tvalue = dataView.getFloat64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\t\t\t// uint handlers\n\t\t\tcase 0xcc:\n\t\t\t\treturn src[position++];\n\t\t\tcase 0xcd:\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn value;\n\t\t\tcase 0xce:\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xcf:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getUint32(position) * 0x100000000;\n\t\t\t\t\tvalue += dataView.getUint32(position + 4);\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position).toString();\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position);\n\t\t\t\t\tif (value<=BigInt(2)<<BigInt(52)) value=Number(value);\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigUint64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\n\t\t\t// int handlers\n\t\t\tcase 0xd0:\n\t\t\t\treturn dataView.getInt8(position++);\n\t\t\tcase 0xd1:\n\t\t\t\tvalue = dataView.getInt16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn value;\n\t\t\tcase 0xd2:\n\t\t\t\tvalue = dataView.getInt32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn value;\n\t\t\tcase 0xd3:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getInt32(position) * 0x100000000;\n\t\t\t\t\tvalue += dataView.getUint32(position + 4);\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position).toString();\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position);\n\t\t\t\t\tif (value>=BigInt(-2)<<BigInt(52)&&value<=BigInt(2)<<BigInt(52)) value=Number(value);\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigInt64(position);\n\t\t\t\tposition += 8;\n\t\t\t\treturn value;\n\n\t\t\tcase 0xd4:\n\t\t\t\t// fixext 1\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f);\n\t\t\t\t} else {\n\t\t\t\t\tlet extension = currentExtensions[value];\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\tif (extension.read) {\n\t\t\t\t\t\t\tposition++; // skip filler byte\n\t\t\t\t\t\t\treturn extension.read(read());\n\t\t\t\t\t\t} else if (extension.noBuffer) {\n\t\t\t\t\t\t\tposition++; // skip filler byte\n\t\t\t\t\t\t\treturn extension();\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\treturn extension(src.subarray(position, ++position));\n\t\t\t\t\t} else\n\t\t\t\t\t\tthrow new Error('Unknown extension ' + value);\n\t\t\t\t}\n\t\t\tcase 0xd5:\n\t\t\t\t// fixext 2\n\t\t\t\tvalue = src[position];\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\tposition++;\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f, src[position++]);\n\t\t\t\t} else\n\t\t\t\t\treturn readExt(2);\n\t\t\tcase 0xd6:\n\t\t\t\t// fixext 4\n\t\t\t\treturn readExt(4);\n\t\t\tcase 0xd7:\n\t\t\t\t// fixext 8\n\t\t\t\treturn readExt(8);\n\t\t\tcase 0xd8:\n\t\t\t\t// fixext 16\n\t\t\t\treturn readExt(16);\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tvalue = src[position++];\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString8(value);\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString16(value);\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart);\n\t\t\t\t}\n\t\t\t\treturn readString32(value);\n\t\t\tcase 0xdc:\n\t\t\t// array 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readArray(value);\n\t\t\tcase 0xdd:\n\t\t\t// array 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readArray(value);\n\t\t\tcase 0xde:\n\t\t\t// map 16\n\t\t\t\tvalue = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\treturn readMap(value);\n\t\t\tcase 0xdf:\n\t\t\t// map 32\n\t\t\t\tvalue = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\treturn readMap(value);\n\t\t\tdefault: // negative int\n\t\t\t\tif (token >= 0xe0)\n\t\t\t\t\treturn token - 0x100;\n\t\t\t\tif (token === undefined) {\n\t\t\t\t\tlet error = new Error('Unexpected end of MessagePack data');\n\t\t\t\t\terror.incomplete = true;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow new Error('Unknown MessagePack token ' + token);\n\n\t\t}\n\t}\n}\nconst validName = /^[a-zA-Z_$][a-zA-Z\\d_$]*$/;\nfunction createStructureReader(structure, firstId) {\n\tfunction readObject() {\n\t\t// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function\n\t\tif (readObject.count++ > inlineObjectReadThreshold) {\n\t\t\tlet optimizedReadObject;\n\t\t\ttry {\n\t\t\t\toptimizedReadObject = structure.read = (new Function('r', 'return function(){return ' + (currentUnpackr.freezeData ? 'Object.freeze' : '') +\n\t\t\t\t\t'({' + structure.map(key => key === '__proto__' ? '__proto_:r()' : validName.test(key) ? key + ':r()' : ('[' + JSON.stringify(key) + ']:r()')).join(',') + '})}'))(read);\n\t\t\t} catch(error) {\n\t\t\t\t// in CF workers, the new Function call could begin to fail at any point in time\n\t\t\t\tinlineObjectReadThreshold = Infinity; // disable going forward\n\t\t\t\treturn readObject(); // recursively try again\n\t\t\t}\n\t\t\tstructure.read0 = optimizedReadObject; // keep the un-wrapped body reader in sync\n\t\t\tif (structure.highByte === 0)\n\t\t\t\tstructure.read = createSecondByteReader(firstId, structure.read);\n\t\t\treturn optimizedReadObject(); // second byte is already read, if there is one so immediately read object\n\t\t}\n\t\tlet object = {};\n\t\tfor (let i = 0, l = structure.length; i < l; i++) {\n\t\t\tlet key = structure[i];\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read();\n\t\t}\n\t\tif (currentUnpackr.freezeData)\n\t\t\treturn Object.freeze(object);\n\t\treturn object;\n\t}\n\treadObject.count = 0;\n\t// read0 is the un-wrapped body reader: it reads the record's values directly without\n\t// consuming a leading high byte. recordDefinition uses it for the immediate read that follows\n\t// a record definition (the high byte, if present, was already consumed). For highByte === 0\n\t// structures the public reader is a second-byte reader (used by later references), but the\n\t// definition read itself must not consume that byte.\n\tstructure.read0 = readObject;\n\tif (structure.highByte === 0) {\n\t\treturn createSecondByteReader(firstId, readObject);\n\t}\n\treturn readObject;\n}\n\nconst createSecondByteReader = (firstId, read0) => {\n\treturn function() {\n\t\tlet highByte = src[position++];\n\t\tif (highByte === 0)\n\t\t\treturn read0();\n\t\tlet id = firstId < 32 ? -(firstId + (highByte << 5)) : firstId + (highByte << 5);\n\t\tlet structure = currentStructures[id] || loadStructures()[id];\n\t\tif (!structure) {\n\t\t\tthrow new Error('Record id is not defined for ' + id);\n\t\t}\n\t\tif (!structure.read)\n\t\t\tstructure.read = createStructureReader(structure, firstId);\n\t\treturn structure.read();\n\t};\n};\n\nexport function loadStructures() {\n\tlet loadedStructures = saveState(() => {\n\t\t// save the state in case getStructures modifies our buffer\n\t\tsrc = null;\n\t\treturn currentUnpackr.getStructures();\n\t});\n\treturn currentStructures = currentUnpackr._mergeStructures(loadedStructures, currentStructures);\n}\n\nvar readFixedString = readStringJS;\nvar readString8 = readStringJS;\nvar readString16 = readStringJS;\nvar readString32 = readStringJS;\nexport let isNativeAccelerationEnabled = false;\n\nexport function setExtractor(extractStrings) {\n\tisNativeAccelerationEnabled = true;\n\treadFixedString = readString(1);\n\treadString8 = readString(2);\n\treadString16 = readString(3);\n\treadString32 = readString(5);\n\tfunction readString(headerLength) {\n\t\treturn function readString(length) {\n\t\t\tlet string = strings[stringPosition++];\n\t\t\tif (string == null) {\n\t\t\t\tif (bundledStrings)\n\t\t\t\t\treturn readStringJS(length);\n\t\t\t\tlet byteOffset = src.byteOffset;\n\t\t\t\tlet extraction = extractStrings(position - headerLength + byteOffset, srcEnd + byteOffset, src.buffer);\n\t\t\t\tif (typeof extraction == 'string') {\n\t\t\t\t\tstring = extraction;\n\t\t\t\t\tstrings = EMPTY_ARRAY;\n\t\t\t\t} else {\n\t\t\t\t\tstrings = extraction;\n\t\t\t\t\tstringPosition = 1;\n\t\t\t\t\tsrcStringEnd = 1; // even if a utf-8 string was decoded, must indicate we are in the midst of extracted strings and can't skip strings\n\t\t\t\t\tstring = strings[0];\n\t\t\t\t\tif (string === undefined)\n\t\t\t\t\t\tthrow new Error('Unexpected end of buffer');\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet srcStringLength = string.length;\n\t\t\tif (srcStringLength <= length) {\n\t\t\t\tposition += length;\n\t\t\t\treturn string;\n\t\t\t}\n\t\t\tsrcString = string;\n\t\t\tsrcStringStart = position;\n\t\t\tsrcStringEnd = position + srcStringLength;\n\t\t\tposition += length;\n\t\t\treturn string.slice(0, length); // we know we just want the beginning\n\t\t};\n\t}\n}\nfunction readStringJS(length) {\n\tlet result;\n\tif (length < 16) {\n\t\tif (result = shortStringInJS(length))\n\t\t\treturn result;\n\t}\n\tif (length > 64 && decoder)\n\t\treturn decoder.decode(src.subarray(position, position += length));\n\tconst end = position + length;\n\tconst units = [];\n\tresult = '';\n\twhile (position < end) {\n\t\tconst byte1 = src[position++];\n\t\tif ((byte1 & 0x80) === 0) {\n\t\t\t// 1 byte\n\t\t\tunits.push(byte1);\n\t\t} else if ((byte1 & 0xe0) === 0xc0) {\n\t\t\t// 2 bytes\n\t\t\tif (byte1 < 0xc2 || position >= end || (src[position] & 0xc0) !== 0x80) {\n\t\t\t\tunits.push(0xFFFD);\n\t\t\t} else {\n\t\t\t\tconst byte2 = src[position++] & 0x3f;\n\t\t\t\tunits.push(((byte1 & 0x1f) << 6) | byte2);\n\t\t\t}\n\t\t} else if ((byte1 & 0xf0) === 0xe0) {\n\t\t\t// 3 bytes\n\t\t\tconst byte2 = position < end ? src[position] : 0;\n\t\t\tif (position >= end || (byte2 & 0xc0) !== 0x80 ||\n\t\t\t\t(byte1 === 0xe0 && byte2 < 0xa0) || (byte1 === 0xed && byte2 >= 0xa0)) {\n\t\t\t\tunits.push(0xFFFD);\n\t\t\t} else {\n\t\t\t\tposition++;\n\t\t\t\tif (position >= end || (src[position] & 0xc0) !== 0x80) {\n\t\t\t\t\tunits.push(0xFFFD);\n\t\t\t\t} else {\n\t\t\t\t\tconst byte3 = src[position++] & 0x3f;\n\t\t\t\t\tunits.push(((byte1 & 0x1f) << 12) | ((byte2 & 0x3f) << 6) | byte3);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ((byte1 & 0xf8) === 0xf0) {\n\t\t\t// 4 bytes\n\t\t\tconst byte2 = position < end ? src[position] : 0;\n\t\t\tif (byte1 > 0xf4 || position >= end || (byte2 & 0xc0) !== 0x80 ||\n\t\t\t\t(byte1 === 0xf0 && byte2 < 0x90) || (byte1 === 0xf4 && byte2 >= 0x90)) {\n\t\t\t\tunits.push(0xFFFD);\n\t\t\t} else {\n\t\t\t\tposition++;\n\t\t\t\tif (position >= end || (src[position] & 0xc0) !== 0x80) {\n\t\t\t\t\tunits.push(0xFFFD);\n\t\t\t\t} else {\n\t\t\t\t\tconst byte3 = src[position++] & 0x3f;\n\t\t\t\t\tif (position >= end || (src[position] & 0xc0) !== 0x80) {\n\t\t\t\t\t\tunits.push(0xFFFD);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst byte4 = src[position++] & 0x3f;\n\t\t\t\t\t\tlet unit = ((byte1 & 0x07) << 0x12) | ((byte2 & 0x3f) << 0x0c) | (byte3 << 0x06) | byte4;\n\t\t\t\t\t\tunit -= 0x10000;\n\t\t\t\t\t\tunits.push(((unit >>> 10) & 0x3ff) | 0xd800);\n\t\t\t\t\t\tunits.push(0xdc00 | (unit & 0x3ff));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tunits.push(0xFFFD); // replacement character for invalid lead byte\n\t\t}\n\n\t\tif (units.length >= 0x1000) {\n\t\t\tresult += fromCharCode.apply(String, units);\n\t\t\tunits.length = 0;\n\t\t}\n\t}\n\n\tif (units.length > 0) {\n\t\tresult += fromCharCode.apply(String, units);\n\t}\n\n\treturn result;\n}\nexport function readString(source, start, length) {\n\tlet existingSrc = src;\n\tsrc = source;\n\tposition = start;\n\ttry {\n\t\treturn readStringJS(length);\n\t} finally {\n\t\tsrc = existingSrc;\n\t}\n}\n\nfunction readArray(length) {\n\tlet array = new Array(length);\n\tfor (let i = 0; i < length; i++) {\n\t\tarray[i] = read();\n\t}\n\tif (currentUnpackr.freezeData)\n\t\treturn Object.freeze(array);\n\treturn array;\n}\n\nfunction readMap(length) {\n\tif (currentUnpackr.mapsAsObjects) {\n\t\tlet object = {};\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tlet key = readKey();\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read();\n\t\t}\n\t\treturn object;\n\t} else {\n\t\tlet map = new Map();\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tmap.set(read(), read());\n\t\t}\n\t\treturn map;\n\t}\n}\n\nvar fromCharCode = String.fromCharCode;\nfunction longStringInJS(length) {\n\tlet start = position;\n\tlet bytes = new Array(length);\n\tfor (let i = 0; i < length; i++) {\n\t\tconst byte = src[position++];\n\t\tif ((byte & 0x80) > 0) {\n\t\t\t\tposition = start;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tbytes[i] = byte;\n\t\t}\n\t\treturn fromCharCode.apply(String, bytes);\n}\nfunction shortStringInJS(length) {\n\tif (length < 4) {\n\t\tif (length < 2) {\n\t\t\tif (length === 0)\n\t\t\t\treturn '';\n\t\t\telse {\n\t\t\t\tlet a = src[position++];\n\t\t\t\tif ((a & 0x80) > 1) {\n\t\t\t\t\tposition -= 1;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a);\n\t\t\t}\n\t\t} else {\n\t\t\tlet a = src[position++];\n\t\t\tlet b = src[position++];\n\t\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0) {\n\t\t\t\tposition -= 2;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 3)\n\t\t\t\treturn fromCharCode(a, b);\n\t\t\tlet c = src[position++];\n\t\t\tif ((c & 0x80) > 0) {\n\t\t\t\tposition -= 3;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c);\n\t\t}\n\t} else {\n\t\tlet a = src[position++];\n\t\tlet b = src[position++];\n\t\tlet c = src[position++];\n\t\tlet d = src[position++];\n\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0 || (c & 0x80) > 0 || (d & 0x80) > 0) {\n\t\t\tposition -= 4;\n\t\t\treturn;\n\t\t}\n\t\tif (length < 6) {\n\t\t\tif (length === 4)\n\t\t\t\treturn fromCharCode(a, b, c, d);\n\t\t\telse {\n\t\t\t\tlet e = src[position++];\n\t\t\t\tif ((e & 0x80) > 0) {\n\t\t\t\t\tposition -= 5;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e);\n\t\t\t}\n\t\t} else if (length < 8) {\n\t\t\tlet e = src[position++];\n\t\t\tlet f = src[position++];\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0) {\n\t\t\t\tposition -= 6;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 7)\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f);\n\t\t\tlet g = src[position++];\n\t\t\tif ((g & 0x80) > 0) {\n\t\t\t\tposition -= 7;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c, d, e, f, g);\n\t\t} else {\n\t\t\tlet e = src[position++];\n\t\t\tlet f = src[position++];\n\t\t\tlet g = src[position++];\n\t\t\tlet h = src[position++];\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0 || (g & 0x80) > 0 || (h & 0x80) > 0) {\n\t\t\t\tposition -= 8;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (length < 10) {\n\t\t\t\tif (length === 8)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h);\n\t\t\t\telse {\n\t\t\t\t\tlet i = src[position++];\n\t\t\t\t\tif ((i & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 9;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i);\n\t\t\t\t}\n\t\t\t} else if (length < 12) {\n\t\t\t\tlet i = src[position++];\n\t\t\t\tlet j = src[position++];\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0) {\n\t\t\t\t\tposition -= 10;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (length < 11)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j);\n\t\t\t\tlet k = src[position++];\n\t\t\t\tif ((k & 0x80) > 0) {\n\t\t\t\t\tposition -= 11;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k);\n\t\t\t} else {\n\t\t\t\tlet i = src[position++];\n\t\t\t\tlet j = src[position++];\n\t\t\t\tlet k = src[position++];\n\t\t\t\tlet l = src[position++];\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0 || (k & 0x80) > 0 || (l & 0x80) > 0) {\n\t\t\t\t\tposition -= 12;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (length < 14) {\n\t\t\t\t\tif (length === 12)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l);\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet m = src[position++];\n\t\t\t\t\t\tif ((m & 0x80) > 0) {\n\t\t\t\t\t\t\tposition -= 13;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet m = src[position++];\n\t\t\t\t\tlet n = src[position++];\n\t\t\t\t\tif ((m & 0x80) > 0 || (n & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 14;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (length < 15)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n);\n\t\t\t\t\tlet o = src[position++];\n\t\t\t\t\tif ((o & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 15;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction readOnlyJSString() {\n\tlet token = src[position++];\n\tlet length;\n\tif (token < 0xc0) {\n\t\t// fixstr\n\t\tlength = token - 0xa0;\n\t} else {\n\t\tswitch(token) {\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tlength = src[position++];\n\t\t\t\tbreak;\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tlength = dataView.getUint16(position);\n\t\t\t\tposition += 2;\n\t\t\t\tbreak;\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tlength = dataView.getUint32(position);\n\t\t\t\tposition += 4;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Expected string');\n\t\t}\n\t}\n\treturn readStringJS(length);\n}\n\n\nfunction readBin(length) {\n\treturn currentUnpackr.copyBuffers ?\n\t\t// specifically use the copying slice (not the node one)\n\t\tUint8Array.prototype.slice.call(src, position, position += length) :\n\t\tsrc.subarray(position, position += length);\n}\nfunction readExt(length) {\n\tlet type = src[position++];\n\tif (currentExtensions[type]) {\n\t\tlet end;\n\t\treturn currentExtensions[type](src.subarray(position, end = (position += length)), (readPosition) => {\n\t\t\tposition = readPosition;\n\t\t\ttry {\n\t\t\t\treturn read();\n\t\t\t} finally {\n\t\t\t\tposition = end;\n\t\t\t}\n\t\t});\n\t}\n\telse\n\t\tthrow new Error('Unknown extension type ' + type);\n}\n\nvar keyCache = new Array(4096);\nfunction readKey() {\n\tlet length = src[position++];\n\tif (length >= 0xa0 && length < 0xc0) {\n\t\t// fixstr, potentially use key cache\n\t\tlength = length - 0xa0;\n\t\tif (srcStringEnd >= position) // if it has been extracted, must use it (and faster anyway)\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart);\n\t\telse if (!(srcStringEnd == 0 && srcEnd < 180))\n\t\t\treturn readFixedString(length);\n\t} else { // not cacheable, go back and do a standard read\n\t\tposition--;\n\t\treturn asSafeString(read());\n\t}\n\tlet key = ((length << 5) ^ (length > 1 ? dataView.getUint16(position) : length > 0 ? src[position] : 0)) & 0xfff;\n\tlet entry = keyCache[key];\n\tlet checkPosition = position;\n\tlet end = position + length - 3;\n\tlet chunk;\n\tlet i = 0;\n\tif (entry && entry.bytes == length) {\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = dataView.getUint32(checkPosition);\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcheckPosition += 4;\n\t\t}\n\t\tend += 3;\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = src[checkPosition++];\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (checkPosition === end) {\n\t\t\tposition = checkPosition;\n\t\t\treturn entry.string;\n\t\t}\n\t\tend -= 3;\n\t\tcheckPosition = position;\n\t}\n\tentry = [];\n\tkeyCache[key] = entry;\n\tentry.bytes = length;\n\twhile (checkPosition < end) {\n\t\tchunk = dataView.getUint32(checkPosition);\n\t\tentry.push(chunk);\n\t\tcheckPosition += 4;\n\t}\n\tend += 3;\n\twhile (checkPosition < end) {\n\t\tchunk = src[checkPosition++];\n\t\tentry.push(chunk);\n\t}\n\t// for small blocks, avoiding the overhead of the extract call is helpful\n\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length);\n\tif (string != null)\n\t\treturn entry.string = string;\n\treturn entry.string = readFixedString(length);\n}\n\nfunction asSafeString(property) {\n\t// protect against expensive (DoS) string conversions\n\tif (typeof property === 'string') return property;\n\tif (typeof property === 'number' || typeof property === 'boolean' || typeof property === 'bigint') return property.toString();\n\tif (property == null) return property + '';\n\tif (currentUnpackr.allowArraysInMapKeys && Array.isArray(property) && property.flat().every(item => ['string', 'number', 'boolean', 'bigint'].includes(typeof item))) {\n\t\treturn property.flat().toString();\n\t}\n\tthrow new Error(`Invalid property type for record: ${typeof property}`);\n}\n// the registration of the record definition extension (as \"r\")\nconst recordDefinition = (id, highByte) => {\n\tlet structure = read().map(asSafeString); // ensure that all keys are strings and\n\t// that the array is mutable\n\tlet firstByte = id;\n\tif (highByte !== undefined) {\n\t\tid = id < 32 ? -((highByte << 5) + id) : ((highByte << 5) + id);\n\t\tstructure.highByte = highByte;\n\t}\n\tlet existingStructure = currentStructures[id];\n\t// If it is a shared structure, we need to restore any changes after reading.\n\t// Also in sequential mode, we may get incomplete reads and thus errors, and we need to restore\n\t// to the state prior to an incomplete read in order to properly resume.\n\tif (existingStructure && (existingStructure.isShared || sequentialMode)) {\n\t\t(currentStructures.restoreStructures || (currentStructures.restoreStructures = []))[id] = existingStructure;\n\t}\n\tcurrentStructures[id] = structure;\n\tstructure.read = createStructureReader(structure, firstByte);\n\t// The high byte (if any) was already consumed as the `highByte` argument above, so read the\n\t// record body directly. Going through structure.read (a second-byte reader when highByte === 0)\n\t// would misinterpret the first value byte as a high byte — corrupting two-byte own-record\n\t// definitions (0xd5 0x72 ...). createStructureReader stashes the un-wrapped body reader on\n\t// structure.read0 precisely for this immediate post-definition read.\n\treturn (structure.read0 || structure.read)();\n};\ncurrentExtensions[0] = () => {}; // notepack defines extension 0 to mean undefined, so use that as the default here\ncurrentExtensions[0].noBuffer = true;\n\ncurrentExtensions[0x42] = data => {\n\tlet headLength = (data.byteLength % 8) || 8;\n\tlet head = BigInt(data[0] & 0x80 ? data[0] - 0x100 : data[0]);\n\tfor (let i = 1; i < headLength; i++) {\n\t\thead <<= BigInt(8);\n\t\thead += BigInt(data[i]);\n\t}\n\tif (data.byteLength !== headLength) {\n\t\tlet view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\t\tlet decode = (start, end) => {\n\t\t\tlet length = end - start;\n\t\t\tif (length <= 40) {\n\t\t\t\tlet out = view.getBigUint64(start);\n\t\t\t\tfor (let i = start + 8; i < end; i += 8) {\n\t\t\t\t\tout <<= BigInt(64);\n\t\t\t\t\tout |= view.getBigUint64(i);\n\t\t\t\t}\n\t\t\t\treturn out;\n\t\t\t}\n\t\t\t// if (length === 8) return view.getBigUint64(start)\n\t\t\tlet middle = start + (length >> 4 << 3);\n\t\t\tlet left = decode(start, middle);\n\t\t\tlet right = decode(middle, end);\n\t\t\treturn (left << BigInt((end - middle) * 8)) | right;\n\t\t};\n\t\thead = (head << BigInt((view.byteLength - headLength) * 8)) | decode(headLength, view.byteLength);\n\t}\n\treturn head;\n};\n\nlet errors = {\n\tError, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, AggregateError: typeof AggregateError === 'function' ? AggregateError : null,\n};\ncurrentExtensions[0x65] = () => {\n\tlet data = read();\n\tif (!errors[data[0]]) {\n\t\tlet error = Error(data[1], { cause: data[2] });\n\t\terror.name = data[0];\n\t\treturn error;\n\t}\n\treturn errors[data[0]](data[1], { cause: data[2] });\n};\n\ncurrentExtensions[0x69] = (data) => {\n\t// id extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled');\n\tlet id = dataView.getUint32(position - 4);\n\tif (!referenceMap)\n\t\treferenceMap = new Map();\n\tlet token = src[position];\n\tlet target;\n\t// TODO: handle any other types that can cycle and make the code more robust if there are other extensions\n\tif (token >= 0x90 && token < 0xa0 || token == 0xdc || token == 0xdd)\n\t\ttarget = [];\n\telse if (token >= 0x80 && token < 0x90 || token == 0xde || token == 0xdf)\n\t\ttarget = new Map();\n\telse if ((token >= 0xc7 && token <= 0xc9 || token >= 0xd4 && token <= 0xd8) && src[position + 1] === 0x73)\n\t\ttarget = new Set();\n\telse\n\t\ttarget = {};\n\n\tlet refEntry = { target }; // a placeholder object\n\treferenceMap.set(id, refEntry);\n\tlet targetProperties = read(); // read the next value as the target object to id\n\tif (!refEntry.used) {\n\t\t// no cycle, can just use the returned read object\n\t\treturn refEntry.target = targetProperties; // replace the placeholder with the real one\n\t} else {\n\t\t// there is a cycle, so we have to assign properties to original target\n\t\tObject.assign(target, targetProperties);\n\t}\n\n\t// copy over map/set entries if we're able to\n\tif (target instanceof Map)\n\t\tfor (let [k, v] of targetProperties.entries()) target.set(k, v);\n\tif (target instanceof Set)\n\t\tfor (let i of Array.from(targetProperties)) target.add(i);\n\treturn target;\n};\n\ncurrentExtensions[0x70] = (data) => {\n\t// pointer extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled');\n\tlet id = dataView.getUint32(position - 4);\n\tlet refEntry = referenceMap.get(id);\n\trefEntry.used = true;\n\treturn refEntry.target;\n};\n\ncurrentExtensions[0x73] = () => new Set(read());\n\nexport const typedArrays = ['Int8','Uint8','Uint8Clamped','Int16','Uint16','Int32','Uint32','Float32','Float64','BigInt64','BigUint64'].map(type => type + 'Array');\n\nlet glbl = typeof globalThis === 'object' ? globalThis : window;\ncurrentExtensions[0x74] = (data) => {\n\tlet typeCode = data[0];\n\t// we always have to slice to get a new ArrayBuffer that is aligned\n\tlet buffer = Uint8Array.prototype.slice.call(data, 1).buffer;\n\n\tlet typedArrayName = typedArrays[typeCode];\n\tif (!typedArrayName) {\n\t\tif (typeCode === 16) return buffer;\n\t\tif (typeCode === 17) return new DataView(buffer);\n\t\tthrow new Error('Could not find typed array for code ' + typeCode);\n\t}\n\treturn new glbl[typedArrayName](buffer);\n};\ncurrentExtensions[0x78] = () => {\n\tlet data = read();\n\treturn new RegExp(data[0], data[1]);\n};\nconst TEMP_BUNDLE = [];\ncurrentExtensions[0x62] = (data) => {\n\tlet dataSize = (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3];\n\tlet dataPosition = position;\n\tposition += dataSize - data.length;\n\tbundledStrings = TEMP_BUNDLE;\n\tbundledStrings = [readOnlyJSString(), readOnlyJSString()];\n\tbundledStrings.position0 = 0;\n\tbundledStrings.position1 = 0;\n\tbundledStrings.postBundlePosition = position;\n\tposition = dataPosition;\n\treturn read();\n};\n\ncurrentExtensions[0xff] = (data) => {\n\t// 32-bit date extension\n\tif (data.length == 4)\n\t\treturn new Date((data[0] * 0x1000000 + (data[1] << 16) + (data[2] << 8) + data[3]) * 1000);\n\telse if (data.length == 8)\n\t\treturn new Date(\n\t\t\t((data[0] << 22) + (data[1] << 14) + (data[2] << 6) + (data[3] >> 2)) / 1000000 +\n\t\t\t((data[3] & 0x3) * 0x100000000 + data[4] * 0x1000000 + (data[5] << 16) + (data[6] << 8) + data[7]) * 1000);\n\telse if (data.length == 12)\n\t\treturn new Date(\n\t\t\t((data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]) / 1000000 +\n\t\t\t(((data[4] & 0x80) ? -0x1000000000000 : 0) + data[6] * 0x10000000000 + data[7] * 0x100000000 + data[8] * 0x1000000 + (data[9] << 16) + (data[10] << 8) + data[11]) * 1000);\n\telse\n\t\treturn new Date('invalid');\n};\n// registration of bulk record definition?\n// currentExtensions[0x52] = () =>\n\nfunction saveState(callback) {\n\tif (currentUnpackr && currentUnpackr._onSaveState)\n\t\tcurrentUnpackr._onSaveState();\n\tlet savedSrcEnd = srcEnd;\n\tlet savedPosition = position;\n\tlet savedStringPosition = stringPosition;\n\tlet savedSrcStringStart = srcStringStart;\n\tlet savedSrcStringEnd = srcStringEnd;\n\tlet savedSrcString = srcString;\n\tlet savedStrings = strings;\n\tlet savedReferenceMap = referenceMap;\n\tlet savedBundledStrings = bundledStrings;\n\n\t// TODO: We may need to revisit this if we do more external calls to user code (since it could be slow)\n\tlet savedSrc = new Uint8Array(src.slice(0, srcEnd)); // we copy the data in case it changes while external data is processed\n\tlet savedStructures = currentStructures;\n\tlet savedStructuresContents = currentStructures.slice(0, currentStructures.length);\n\tlet savedPackr = currentUnpackr;\n\tlet savedSequentialMode = sequentialMode;\n\tlet value = callback();\n\tsrcEnd = savedSrcEnd;\n\tposition = savedPosition;\n\tstringPosition = savedStringPosition;\n\tsrcStringStart = savedSrcStringStart;\n\tsrcStringEnd = savedSrcStringEnd;\n\tsrcString = savedSrcString;\n\tstrings = savedStrings;\n\treferenceMap = savedReferenceMap;\n\tbundledStrings = savedBundledStrings;\n\tsrc = savedSrc;\n\tsequentialMode = savedSequentialMode;\n\tcurrentStructures = savedStructures;\n\tcurrentStructures.splice(0, currentStructures.length, ...savedStructuresContents);\n\tcurrentUnpackr = savedPackr;\n\tdataView = new DataView(src.buffer, src.byteOffset, src.byteLength);\n\treturn value;\n}\nexport function clearSource() {\n\tsrc = null;\n\treferenceMap = null;\n\tcurrentStructures = null;\n}\n\nexport function addExtension(extension) {\n\tif (extension.unpack)\n\t\tcurrentExtensions[extension.type] = extension.unpack;\n\telse\n\t\tcurrentExtensions[extension.type] = extension;\n}\n\nexport const mult10 = new Array(147); // this is a table matching binary exponents to the multiplier to determine significant digit rounding\nfor (let i = 0; i < 256; i++) {\n\tmult10[i] = +('1e' + Math.floor(45.15 - i * 0.30103));\n}\nexport const Decoder = Unpackr;\nvar defaultUnpackr = new Unpackr({ useRecords: false });\nexport const unpack = defaultUnpackr.unpack;\nexport const unpackMultiple = defaultUnpackr.unpackMultiple;\nexport const decode = defaultUnpackr.unpack;\nexport const FLOAT32_OPTIONS = {\n\tNEVER: 0,\n\tALWAYS: 1,\n\tDECIMAL_ROUND: 3,\n\tDECIMAL_FIT: 4\n};\nlet f32Array = new Float32Array(1);\nlet u8Array = new Uint8Array(f32Array.buffer, 0, 4);\nexport function roundFloat32(float32Number) {\n\tf32Array[0] = float32Number;\n\tlet multiplier = mult10[((u8Array[3] & 0x7f) << 1) | (u8Array[2] >> 7)];\n\treturn ((multiplier * float32Number + (float32Number > 0 ? 0.5 : -0.5)) >> 0) / multiplier;\n}\n// Marker for downstream libraries (e.g. structon) to detect per-instance\n// struct-decoding hooks (this._readStruct, this._onLoadedStructures,\n// this._onSaveState). See `checkedRead` for the dispatch.\nUnpackr.SUPPORTS_STRUCT_HOOKS = true;\n"],"names":["isNativeAccelerationEnabled"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "msgpackr",
3
3
  "author": "Kris Zyp",
4
- "version": "2.0.4",
4
+ "version": "2.0.5",
5
5
  "description": "Ultra-fast MessagePack implementation with extensions for records and structured cloning",
6
6
  "license": "MIT",
7
7
  "types": "./index.d.ts",
@@ -626,43 +626,49 @@ function readStringJS(length) {
626
626
  units.push(byte1);
627
627
  } else if ((byte1 & 0xe0) === 0xc0) {
628
628
  // 2 bytes
629
- const byte2 = src[position++] & 0x3f;
630
- const codePoint = ((byte1 & 0x1f) << 6) | byte2;
631
- // Reject overlong encoding: 2-byte sequences must encode values >= 0x80
632
- if (codePoint < 0x80) {
633
- units.push(0xFFFD); // replacement character
629
+ if (byte1 < 0xc2 || position >= end || (src[position] & 0xc0) !== 0x80) {
630
+ units.push(0xFFFD);
634
631
  } else {
635
- units.push(codePoint);
632
+ const byte2 = src[position++] & 0x3f;
633
+ units.push(((byte1 & 0x1f) << 6) | byte2);
636
634
  }
637
635
  } else if ((byte1 & 0xf0) === 0xe0) {
638
636
  // 3 bytes
639
- const byte2 = src[position++] & 0x3f;
640
- const byte3 = src[position++] & 0x3f;
641
- const codePoint = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
642
- // Reject overlong encoding: 3-byte sequences must encode values >= 0x800
643
- // Also reject surrogates (0xD800-0xDFFF)
644
- if (codePoint < 0x800 || (codePoint >= 0xD800 && codePoint <= 0xDFFF)) {
645
- units.push(0xFFFD); // replacement character
637
+ const byte2 = position < end ? src[position] : 0;
638
+ if (position >= end || (byte2 & 0xc0) !== 0x80 ||
639
+ (byte1 === 0xe0 && byte2 < 0xa0) || (byte1 === 0xed && byte2 >= 0xa0)) {
640
+ units.push(0xFFFD);
646
641
  } else {
647
- units.push(codePoint);
642
+ position++;
643
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
644
+ units.push(0xFFFD);
645
+ } else {
646
+ const byte3 = src[position++] & 0x3f;
647
+ units.push(((byte1 & 0x1f) << 12) | ((byte2 & 0x3f) << 6) | byte3);
648
+ }
648
649
  }
649
650
  } else if ((byte1 & 0xf8) === 0xf0) {
650
651
  // 4 bytes
651
- const byte2 = src[position++] & 0x3f;
652
- const byte3 = src[position++] & 0x3f;
653
- const byte4 = src[position++] & 0x3f;
654
- let unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
655
- // Reject overlong encoding: 4-byte sequences must encode values >= 0x10000
656
- // Also reject values > 0x10FFFF (maximum valid Unicode)
657
- if (unit < 0x10000 || unit > 0x10FFFF) {
658
- units.push(0xFFFD); // replacement character
659
- } else if (unit > 0xffff) {
660
- unit -= 0x10000;
661
- units.push(((unit >>> 10) & 0x3ff) | 0xd800);
662
- unit = 0xdc00 | (unit & 0x3ff);
663
- units.push(unit);
652
+ const byte2 = position < end ? src[position] : 0;
653
+ if (byte1 > 0xf4 || position >= end || (byte2 & 0xc0) !== 0x80 ||
654
+ (byte1 === 0xf0 && byte2 < 0x90) || (byte1 === 0xf4 && byte2 >= 0x90)) {
655
+ units.push(0xFFFD);
664
656
  } else {
665
- units.push(unit);
657
+ position++;
658
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
659
+ units.push(0xFFFD);
660
+ } else {
661
+ const byte3 = src[position++] & 0x3f;
662
+ if (position >= end || (src[position] & 0xc0) !== 0x80) {
663
+ units.push(0xFFFD);
664
+ } else {
665
+ const byte4 = src[position++] & 0x3f;
666
+ let unit = ((byte1 & 0x07) << 0x12) | ((byte2 & 0x3f) << 0x0c) | (byte3 << 0x06) | byte4;
667
+ unit -= 0x10000;
668
+ units.push(((unit >>> 10) & 0x3ff) | 0xd800);
669
+ units.push(0xdc00 | (unit & 0x3ff));
670
+ }
671
+ }
666
672
  }
667
673
  } else {
668
674
  units.push(0xFFFD); // replacement character for invalid lead byte