@hienlh/ppm 0.20.8 → 0.20.10

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 (538) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/cli-reference.md +4 -4
  4. package/assets/skills/ppm/references/http-api.md +1 -1
  5. package/dist/web/assets/accounts-settings-section-DC2A6FhQ.js +1 -0
  6. package/dist/web/assets/{ai-resource-editor-CMQfhxXp.js → ai-resource-editor-DDhuy_AR.js} +1 -1
  7. package/dist/web/assets/ai-settings-section-J9Rbs26g.js +1 -0
  8. package/dist/web/assets/{ai-settings-section-M07DCjAI.js → ai-settings-section-OrhLykA2.js} +1 -1
  9. package/dist/web/assets/{angular-html-BtJLNcMw.js → angular-html-D4qjt-75.js} +1 -1
  10. package/dist/web/assets/{angular-ts-CQiu5F_W.js → angular-ts-DvLn04T8.js} +1 -1
  11. package/dist/web/assets/{api-client-DwXlVfXP.js → api-client-DCzgxFNY.js} +1 -1
  12. package/dist/web/assets/api-client-PMwZQ4iC.js +1 -0
  13. package/dist/web/assets/{api-settings-BQIwZoLm.js → api-settings-t5xLrBkQ.js} +1 -1
  14. package/dist/web/assets/{api-themes-CmJZLEY1.js → api-themes-CJmyQeMk.js} +1 -1
  15. package/dist/web/assets/{apl-CKZvgs-w.js → apl-DQOoPzqd.js} +1 -1
  16. package/dist/web/assets/{appearance-settings-section-BBlJtEm5.js → appearance-settings-section-BQ1dH29t.js} +1 -1
  17. package/dist/web/assets/architecture-PBZL5I3N-D55g5j-p.js +1 -0
  18. package/dist/web/assets/arrow-left-y44wEZrw.js +1 -0
  19. package/dist/web/assets/arrow-right-SQ8KJIvE.js +1 -0
  20. package/dist/web/assets/{astro-D0b8ssLD.js → astro-C2zFJ1Er.js} +1 -1
  21. package/dist/web/assets/{audio-preview-DPMXOZ55.js → audio-preview-CAVqEwDi.js} +1 -1
  22. package/dist/web/assets/{blade-DOIpINLw.js → blade-CBD8sEa1.js} +1 -1
  23. package/dist/web/assets/{bot-D3-n2i31.js → bot-BNu2OM_S.js} +1 -1
  24. package/dist/web/assets/{brain-CuAQMSBE.js → brain-BsjvCk4k.js} +1 -1
  25. package/dist/web/assets/{bsl-CJ7_JlQ8.js → bsl-bs2JpeTQ.js} +1 -1
  26. package/dist/web/assets/{button-zgoXa9r7.js → button-DHI8IY_N.js} +1 -1
  27. package/dist/web/assets/{cairo-5CpV2T1P.js → cairo-DT2g4i_6.js} +1 -1
  28. package/dist/web/assets/{calendar-clock-CDP7AVjA.js → calendar-clock-Zydwzvp7.js} +1 -1
  29. package/dist/web/assets/chat-tab-D2le8LxY.js +15 -0
  30. package/dist/web/assets/check-DczxQ5UD.js +1 -0
  31. package/dist/web/assets/{chevron-down-B9puixxZ.js → chevron-down-BCt_kn-R.js} +1 -1
  32. package/dist/web/assets/chevron-right-Lt-y9H_e.js +1 -0
  33. package/dist/web/assets/{chevron-up-BPAINgoK.js → chevron-up-CRl1AF4q.js} +1 -1
  34. package/dist/web/assets/circle-D4vp8Yky.js +1 -0
  35. package/dist/web/assets/circle-question-mark-BGbDcz7E.js +1 -0
  36. package/dist/web/assets/clock-BBIE-uf3.js +1 -0
  37. package/dist/web/assets/{cobol-BreMVrtc.js → cobol-B2rp6LA1.js} +1 -1
  38. package/dist/web/assets/code-CvgQViOi.js +1 -0
  39. package/dist/web/assets/code-editor-D-8oqMBM.js +7 -0
  40. package/dist/web/assets/codex-daily-guard-h4ZpEemV.js +1 -0
  41. package/dist/web/assets/{coffee-D7DoKh5b.js → coffee-D5ShQC08.js} +1 -1
  42. package/dist/web/assets/{conflict-editor-C-Nv8YYj.js → conflict-editor-B0Mj8pYR.js} +1 -1
  43. package/dist/web/assets/{context-menu-DM9CgxGh.js → context-menu-I07Ld1Yr.js} +1 -1
  44. package/dist/web/assets/{copy-CXuIH4VC.js → copy-Bqr2VxN5.js} +1 -1
  45. package/dist/web/assets/{cpp-BnWeWAoE.js → cpp-BmKOH-E0.js} +1 -1
  46. package/dist/web/assets/{createLucideIcon-D6fVXe3s.js → createLucideIcon-CLMdC3Kl.js} +1 -1
  47. package/dist/web/assets/{crystal-D2pJbFUn.js → crystal-B7u_ZTpu.js} +1 -1
  48. package/dist/web/assets/{csv-preview-ou3KFzIH.js → csv-preview-Ds2oCW6U.js} +1 -1
  49. package/dist/web/assets/{data-grid-overlay-editor-dnWnblYo.js → data-grid-overlay-editor-DJWgclot.js} +1 -1
  50. package/dist/web/assets/{data-grid-types-BfGeMDy0.js → data-grid-types-Uu77aFvI.js} +1 -1
  51. package/dist/web/assets/{database-Dz0W7OH7.js → database-BHxcoKlT.js} +1 -1
  52. package/dist/web/assets/{database-viewer-Ckqg_-SS.js → database-viewer-CiwQ6spt.js} +1 -1
  53. package/dist/web/assets/{diff-viewer-CMzFnBCD.js → diff-viewer-BomFSnpH.js} +1 -1
  54. package/dist/web/assets/{dist-CWMPvPem.js → dist-BTdRgQig.js} +1 -1
  55. package/dist/web/assets/{docx-preview-B7Aospmh.js → docx-preview-PsyMM8SN.js} +1 -1
  56. package/dist/web/assets/{download-D70Q4Ba6.js → download-hiDsGuxx.js} +1 -1
  57. package/dist/web/assets/{edge-aqGMtbY3.js → edge--MpXROh5.js} +1 -1
  58. package/dist/web/assets/{edit-diff-preview-BvgPvuhH.js → edit-diff-preview-ESj6hMoD.js} +3 -3
  59. package/dist/web/assets/{elixir-CsYMBLc5.js → elixir-DL8mOfzH.js} +1 -1
  60. package/dist/web/assets/{elm-BU8C2gFp.js → elm-eVlzIFEZ.js} +1 -1
  61. package/dist/web/assets/{erb-Z_E49ab8.js → erb-BgvaH9l0.js} +1 -1
  62. package/dist/web/assets/{erlang-BRqOjXH9.js → erlang-CEf8Sfhs.js} +1 -1
  63. package/dist/web/assets/{esm-BHyWbWKE.js → esm-C5xqy163.js} +2 -2
  64. package/dist/web/assets/{explorer-body-CVx4qaIF.js → explorer-body-CExMoOiW.js} +2 -2
  65. package/dist/web/assets/explorer-window-content-Hy9kB6Q7.js +1 -0
  66. package/dist/web/assets/{extension-manager-section-CtcpVMWs.js → extension-manager-section-DMb56aut.js} +1 -1
  67. package/dist/web/assets/{extension-webview-DZ_QRZSM.js → extension-webview-CQB0Uvdo.js} +1 -1
  68. package/dist/web/assets/{eye-dfZn7evX.js → eye-DYS5JBeU.js} +1 -1
  69. package/dist/web/assets/{eye-off-CmtfyRUD.js → eye-off-YWCuob9F.js} +1 -1
  70. package/dist/web/assets/{file-exclamation-point-D5K2aaLi.js → file-exclamation-point-DpdJqj9-.js} +1 -1
  71. package/dist/web/assets/{files-settings-section-D7v-6nTa.js → files-settings-section-CVHPO3N9.js} +1 -1
  72. package/dist/web/assets/{flask-conical-Dix4qNDj.js → flask-conical-BUxpYe-g.js} +1 -1
  73. package/dist/web/assets/{folder-symlink-BavsIzoj.js → folder-symlink-DKTEop0L.js} +1 -1
  74. package/dist/web/assets/{fortran-fixed-form-CWbxmDGR.js → fortran-fixed-form-yAUsSjab.js} +1 -1
  75. package/dist/web/assets/{fsharp-DKMYbq6I.js → fsharp-BEWvY_ZR.js} +1 -1
  76. package/dist/web/assets/{gdresource-B3yFau4V.js → gdresource-CYZFZ057.js} +1 -1
  77. package/dist/web/assets/{general-settings-section-BW_h8pdA.js → general-settings-section-CWYR9F5y.js} +1 -1
  78. package/dist/web/assets/{git-commit-BW0p3Ekk.js → git-commit-DedchUJ6.js} +1 -1
  79. package/dist/web/assets/{git-log-panel-BQZkJDu0.js → git-log-panel-DYLF-XSq.js} +1 -1
  80. package/dist/web/assets/{git-rebase-DrvmQCS7.js → git-rebase-DPvHNzQr.js} +1 -1
  81. package/dist/web/assets/gitGraph-HDMCJU4V-At-P8hlA.js +1 -0
  82. package/dist/web/assets/{glide-data-grid-JKEslqGe.js → glide-data-grid-BxFN-Z6F.js} +8 -8
  83. package/dist/web/assets/{glimmer-js-BY1XApJJ.js → glimmer-js-B4hPYBMX.js} +1 -1
  84. package/dist/web/assets/{glimmer-ts-DPZtxF8N.js → glimmer-ts-C0WfcQnO.js} +1 -1
  85. package/dist/web/assets/{glsl-DZ8G_Hvf.js → glsl-DHW88hTv.js} +1 -1
  86. package/dist/web/assets/{graphql-Ck06uCZy.js → graphql-CEvXbo6e.js} +1 -1
  87. package/dist/web/assets/group-chat-tab-Ch6OGMKj.js +1 -0
  88. package/dist/web/assets/{hack-pLogDwAs.js → hack-lKfhn1vw.js} +1 -1
  89. package/dist/web/assets/{haml-CBqeCQ2A.js → haml-AjKlANaB.js} +1 -1
  90. package/dist/web/assets/{hand-CIPALZsE.js → hand-BomFk_WG.js} +1 -1
  91. package/dist/web/assets/{handlebars-B66JmVtp.js → handlebars-B8fZzj2G.js} +1 -1
  92. package/dist/web/assets/{html-Dk4wmfwC.js → html-H_S3FJMj.js} +1 -1
  93. package/dist/web/assets/{html-derivative-CJWqfN51.js → html-derivative-VZmoMdQD.js} +1 -1
  94. package/dist/web/assets/{http-CexhotTh.js → http-DBxROFKc.js} +1 -1
  95. package/dist/web/assets/{hurl-BScKFk3Z.js → hurl-Hf7XWQHN.js} +1 -1
  96. package/dist/web/assets/{hxml-DAle7vtu.js → hxml-BRhRKwSo.js} +1 -1
  97. package/dist/web/assets/{image-preview-V5SglTWk.js → image-preview-DjT5Xb2L.js} +1 -1
  98. package/dist/web/assets/index-BfDJvjH9.js +52 -0
  99. package/dist/web/assets/index-Di9nVG3y.css +2 -0
  100. package/dist/web/assets/info-3K5VOQVL-btSsuixb.js +1 -0
  101. package/dist/web/assets/{jinja-yHpyD80t.js → jinja-D3jMH0jG.js} +1 -1
  102. package/dist/web/assets/{jira-watcher-section-VyzVbAnw.js → jira-watcher-section-DZvWeUAW.js} +1 -1
  103. package/dist/web/assets/{jison-BY6WLJVu.js → jison-CZtpkLiY.js} +1 -1
  104. package/dist/web/assets/{julia-Dd_iYQDT.js → julia-DwFjOpos.js} +1 -1
  105. package/dist/web/assets/{just-BTuUKpxF.js → just-BEfj8dHN.js} +1 -1
  106. package/dist/web/assets/{key-round-oIll4vo-.js → key-round-BhkPzOjZ.js} +1 -1
  107. package/dist/web/assets/keybindings-store-CNqxSJxv.js +1 -0
  108. package/dist/web/assets/{keyboard-BLwfiRkT.js → keyboard-IQMXPNIE.js} +1 -1
  109. package/dist/web/assets/{keyboard-shortcuts-section-DOJi75mV.js → keyboard-shortcuts-section-DAFNxA49.js} +1 -1
  110. package/dist/web/assets/{latex-Dt3OUlMZ.js → latex-C6Rb_zGG.js} +1 -1
  111. package/dist/web/assets/{lib-BAsciSLw.js → lib-CFTK00ux.js} +1 -1
  112. package/dist/web/assets/{liquid-BxPJU2ix.js → liquid-DTVs9cD3.js} +1 -1
  113. package/dist/web/assets/loader-circle-Bm-Dq_wA.js +1 -0
  114. package/dist/web/assets/{lua-DEGIvn7d.js → lua-C1zfiqhG.js} +1 -1
  115. package/dist/web/assets/markdown-renderer-BSiaxWjE.js +1 -0
  116. package/dist/web/assets/markdown-renderer-CMNnYOPG.js +3 -0
  117. package/dist/web/assets/{marko-BDxwBJur.js → marko-_hrXozl2.js} +1 -1
  118. package/dist/web/assets/{mdc-B8aXPTg7.js → mdc-AX9XWu8K.js} +1 -1
  119. package/dist/web/assets/{media-url-TYMlO0M5.js → media-url-D43IHXnP.js} +1 -1
  120. package/dist/web/assets/{mobile-bottom-sheet-Ch1e_JBq.js → mobile-bottom-sheet-GSto0_0m.js} +1 -1
  121. package/dist/web/assets/mobile-explorer-sheet-BMg4Q9Bm.js +1 -0
  122. package/dist/web/assets/{monitor-CG69bSMW.js → monitor-DEoVYSPl.js} +1 -1
  123. package/dist/web/assets/{nextflow-DBVZnnT_.js → nextflow-xJ5dkaQ2.js} +1 -1
  124. package/dist/web/assets/{nginx-Crpyd-Do.js → nginx-BfbjvmIV.js} +1 -1
  125. package/dist/web/assets/{nim-BSqTBYDj.js → nim-KrUnNSwZ.js} +1 -1
  126. package/dist/web/assets/notification-store-CRlOB9I9.js +1 -0
  127. package/dist/web/assets/{notifications-settings-section-CeRvkXOM.js → notifications-settings-section-Cci_OOHx.js} +1 -1
  128. package/dist/web/assets/{number-overlay-editor-DldrUNs4.js → number-overlay-editor-CGZ1ObrN.js} +1 -1
  129. package/dist/web/assets/{overview-panel-DA0QB1-5.js → overview-panel-Ni1Wqr3E.js} +1 -1
  130. package/dist/web/assets/packet-RMMSAZCW-B20_sIFd.js +1 -0
  131. package/dist/web/assets/{panel-store-D42k25jy.js → panel-store-BcgZsiXU.js} +1 -1
  132. package/dist/web/assets/{pdf-preview-Cq33D5ej.js → pdf-preview-C28MEOND.js} +1 -1
  133. package/dist/web/assets/{perl-BU0kbB-K.js → perl-DAexWIeo.js} +1 -1
  134. package/dist/web/assets/{php-D9n1ikHN.js → php-DXc7GdU9.js} +1 -1
  135. package/dist/web/assets/pie-UPGHQEXC-nzfJdXCC.js +1 -0
  136. package/dist/web/assets/portal-container-context-DO44JpXO.js +1 -0
  137. package/dist/web/assets/{postgres-viewer-C__Z0C0s.js → postgres-viewer-DmbVhmJ8.js} +3 -3
  138. package/dist/web/assets/power-BMdSjXYW.js +1 -0
  139. package/dist/web/assets/{ppmbot-settings-section-Cma4VU7p.js → ppmbot-settings-section-Cef8FSS6.js} +1 -1
  140. package/dist/web/assets/{process-table-DH_HXtGc.js → process-table-BfixzY3r.js} +1 -1
  141. package/dist/web/assets/{project-store-C83MMnlt.js → project-store-DCDLF-x3.js} +1 -1
  142. package/dist/web/assets/{proxy-settings-section-xrTsFlTF.js → proxy-settings-section-BlLWfinY.js} +1 -1
  143. package/dist/web/assets/{pug-BOpaczDr.js → pug-CHds8FDl.js} +1 -1
  144. package/dist/web/assets/{qml-B-cQXhrg.js → qml-DBt6oNnU.js} +1 -1
  145. package/dist/web/assets/{query-audit-section-Drk97gb8.js → query-audit-section-qnSL15x8.js} +1 -1
  146. package/dist/web/assets/radar-KQ55EAFF-CS4sHKD5.js +1 -0
  147. package/dist/web/assets/{razor-DFB0pNCh.js → razor-DVDe2z8Z.js} +1 -1
  148. package/dist/web/assets/{react-DqIU0LFM.js → react-Bf5xrFLG.js} +1 -1
  149. package/dist/web/assets/remote-desktop-mobile-sheet-CG6h4OL2.js +2 -0
  150. package/dist/web/assets/{remote-desktop-mobile-view-Gk8UCVIx.js → remote-desktop-mobile-view-D__2WLV5.js} +1 -1
  151. package/dist/web/assets/{remote-desktop-readiness-gate-6reSZvad.js → remote-desktop-readiness-gate-rL48PCUH.js} +1 -1
  152. package/dist/web/assets/{remote-desktop-window-content-BW2KqONI.js → remote-desktop-window-content-DlGUCbxq.js} +1 -1
  153. package/dist/web/assets/{rst-DAXedsgm.js → rst-s3rP0H8p.js} +1 -1
  154. package/dist/web/assets/{ruby-BCO4polC.js → ruby-sRcfbjlr.js} +1 -1
  155. package/dist/web/assets/{run-in-terminal-DoTOtgQS.js → run-in-terminal-Yt_lq4T9.js} +1 -1
  156. package/dist/web/assets/{sas-DfB5dcFC.js → sas-CuyZeQJw.js} +1 -1
  157. package/dist/web/assets/{save-B1y4KIK9.js → save-CIuK3QI4.js} +1 -1
  158. package/dist/web/assets/{schedules-settings-section-DcKEz-S7.js → schedules-settings-section-BUqf3KTd.js} +1 -1
  159. package/dist/web/assets/{scss-BknIVgn7.js → scss-B9m4FneT.js} +1 -1
  160. package/dist/web/assets/{send-B9VUQlEK.js → send-DQz3yIWM.js} +1 -1
  161. package/dist/web/assets/{send-to-chat-Kl-0dNwN.js → send-to-chat-01eMNs3j.js} +1 -1
  162. package/dist/web/assets/separator-CE0YEyaB.js +1 -0
  163. package/dist/web/assets/settings-body-Baw2komX.js +2 -0
  164. package/dist/web/assets/{settings-store-_s4xFcFq.js → settings-store-CuQlVCIe.js} +2 -2
  165. package/dist/web/assets/settings-tab-DCW-3C38.js +1 -0
  166. package/dist/web/assets/settings-window-content-CVxOGqPV.js +1 -0
  167. package/dist/web/assets/{shaderlab-CPu31TpY.js → shaderlab-BuCltaXx.js} +1 -1
  168. package/dist/web/assets/{shellsession-CFX4c_TM.js → shellsession-DG_WIFRW.js} +1 -1
  169. package/dist/web/assets/{shield-check-BJSX7cAS.js → shield-check-46EViZ6-.js} +1 -1
  170. package/dist/web/assets/{shield-off-E1cQwXdc.js → shield-off-Dx5mw3le.js} +1 -1
  171. package/dist/web/assets/{soy-rz9hilgm.js → soy-CKNCwmqR.js} +1 -1
  172. package/dist/web/assets/{sparkles-blTKn0vi.js → sparkles-Bay_CedB.js} +1 -1
  173. package/dist/web/assets/{sparql-Bo8ZDeqE.js → sparql-BEH92-9e.js} +1 -1
  174. package/dist/web/assets/{sql-query-editor-BoYxc5vd.js → sql-query-editor-BTMEy88p.js} +1 -1
  175. package/dist/web/assets/{sqlite-viewer-O5lF3MMj.js → sqlite-viewer-BWLSC3VJ.js} +1 -1
  176. package/dist/web/assets/{stata-B5J-QMyE.js → stata-Bt5IUWCl.js} +1 -1
  177. package/dist/web/assets/{streaming-store-QQvg1cS-.js → streaming-store-Dw3ZR1E4.js} +1 -1
  178. package/dist/web/assets/{surrealql-Caw1ADnG.js → surrealql-B5M94PT2.js} +1 -1
  179. package/dist/web/assets/{svelte-D3oMVcxz.js → svelte-BqLoF5fB.js} +1 -1
  180. package/dist/web/assets/{system-monitor-body-C2mVJ7PV.js → system-monitor-body-BqPyB0CY.js} +2 -2
  181. package/dist/web/assets/system-monitor-tab-BXRvCThe.js +1 -0
  182. package/dist/web/assets/system-monitor-window-content-CvvwXkmW.js +1 -0
  183. package/dist/web/assets/{tab-host-window-content-C7F6D8hJ.js → tab-host-window-content-23IR3qzu.js} +1 -1
  184. package/dist/web/assets/{tab-store-B2ip0-Mv.js → tab-store-Dsk4jnlN.js} +1 -1
  185. package/dist/web/assets/{table-8HT8BG30.js → table-BbD_HNPU.js} +1 -1
  186. package/dist/web/assets/team-member-sheet-BXJtrQAB.js +2 -0
  187. package/dist/web/assets/{team-member-window-content-BwOTsc9r.js → team-member-window-content-CBWnzwZ1.js} +1 -1
  188. package/dist/web/assets/{templ-BAdNyIOL.js → templ-BxGWIwYz.js} +1 -1
  189. package/dist/web/assets/{terminal-tab-DlZW3MCn.js → terminal-tab-uNw7Yvwg.js} +3 -3
  190. package/dist/web/assets/{tex-IQ8mELOR.js → tex-B9CPrNBA.js} +1 -1
  191. package/dist/web/assets/{text-wrap-DafY0-Pa.js → text-wrap-97GXZlav.js} +1 -1
  192. package/dist/web/assets/{tool-cards-yiwO861p.js → tool-cards-CjirOQfx.js} +6 -6
  193. package/dist/web/assets/treemap-KZPCXAKY-BBrhTPZk.js +1 -0
  194. package/dist/web/assets/{ts-tags-D1DDO2jl.js → ts-tags-CObhnP_s.js} +1 -1
  195. package/dist/web/assets/{twig-C8Fd5RvV.js → twig-ZcDaz0E8.js} +1 -1
  196. package/dist/web/assets/{use-blob-url-D358Rpyp.js → use-blob-url-D-NnFGAr.js} +1 -1
  197. package/dist/web/assets/{use-coarse-long-press-BsBpxWup.js → use-coarse-long-press-CynaAB7m.js} +1 -1
  198. package/dist/web/assets/{use-inline-blame-D2pZjDoA.js → use-inline-blame-BLPCADZ8.js} +1 -1
  199. package/dist/web/assets/{use-is-mobile-Bi42QhIi.js → use-is-mobile-BsqeOLv4.js} +1 -1
  200. package/dist/web/assets/use-monaco-theme-D2ETCHji.js +1 -0
  201. package/dist/web/assets/use-open-team-member-BlUqTp-l.js +1 -0
  202. package/dist/web/assets/{use-remote-desktop-display-choice-BnVT4dhX.js → use-remote-desktop-display-choice-B4O11KIj.js} +1 -1
  203. package/dist/web/assets/{use-visual-viewport-CNdG4QHH.js → use-visual-viewport-hdC_hRtB.js} +1 -1
  204. package/dist/web/assets/{use-websocket-DQg9BQcq.js → use-websocket-CUKjQFAl.js} +1 -1
  205. package/dist/web/assets/vendor-markdown-3-bej77C.js +291 -0
  206. package/dist/web/assets/{vendor-mermaid-CfY1-PkA.js → vendor-mermaid-BoRFiriK.js} +1 -1
  207. package/dist/web/assets/{vendor-ui-BBdkypKW.js → vendor-ui-D1NQnrtd.js} +1 -1
  208. package/dist/web/assets/{video-preview-Dc4YbBqm.js → video-preview-BlD1DNP8.js} +1 -1
  209. package/dist/web/assets/{vue-EvccXlkP.js → vue-TgfQfAF8.js} +1 -1
  210. package/dist/web/assets/{vue-html-Dg0xUJCh.js → vue-html-DbAh9aHW.js} +1 -1
  211. package/dist/web/assets/{vue-vine-BdrMg72k.js → vue-vine-DQ8US6vO.js} +1 -1
  212. package/dist/web/assets/{window-pip-registry-BWxaVLj5.js → window-pip-registry-DfPfSFQg.js} +1 -1
  213. package/dist/web/assets/{window-store-CfxP5yor.js → window-store-BSXqIkwB.js} +1 -1
  214. package/dist/web/assets/ws-auth-ZB8jvzhM.js +1 -0
  215. package/dist/web/assets/x-TEI-uJYo.js +1 -0
  216. package/dist/web/assets/{xml-MmDclzxK.js → xml-CXzUNYMl.js} +1 -1
  217. package/dist/web/assets/{xsl-DQEFs6Dd.js → xsl-CdnFww1s.js} +1 -1
  218. package/dist/web/index.html +43 -43
  219. package/dist/web/monacoeditorwork/css.worker.bundle.js +122 -122
  220. package/dist/web/monacoeditorwork/editor.worker.bundle.js +78 -78
  221. package/dist/web/monacoeditorwork/html.worker.bundle.js +110 -110
  222. package/dist/web/monacoeditorwork/json.worker.bundle.js +108 -108
  223. package/dist/web/monacoeditorwork/ts.worker.bundle.js +81 -81
  224. package/dist/web/sw.js +1 -1
  225. package/package.json +1 -1
  226. package/scripts/check-ppm-dir-usage.sh +0 -0
  227. package/scripts/install.sh +0 -0
  228. package/scripts/release.sh +0 -0
  229. package/src/providers/codex-app-server/codex-event-mapper.ts +28 -1
  230. package/src/providers/codex-app-server/codex-provider.ts +38 -5
  231. package/src/providers/codex-app-server/codex-usage-parser.ts +3 -1
  232. package/src/server/routes/codex-accounts.ts +9 -5
  233. package/src/services/codex-account-login.ts +33 -5
  234. package/src/services/codex-account-portability.ts +3 -2
  235. package/src/services/codex-account.service.ts +48 -7
  236. package/src/services/codex-login-callback.ts +18 -0
  237. package/src/services/db.service.ts +14 -0
  238. package/src/services/edge-forwarder.ts +191 -191
  239. package/src/services/windows-process-tree.ts +351 -351
  240. package/src/shared/codex-daily-guard.ts +27 -0
  241. package/src/shared/codex-plan-label.ts +17 -0
  242. package/src/web/components/chat/codex-usage-panel.tsx +22 -2
  243. package/src/web/components/settings/accounts/account-card.tsx +43 -2
  244. package/src/web/components/settings/accounts/codex-accounts-section.tsx +43 -2
  245. package/src/web/components/settings/accounts/use-codex-accounts.ts +14 -2
  246. package/src/web/components/tunnels/named-tunnel/named-tunnel-copy.ts +1 -0
  247. package/src/web/components/tunnels/named-tunnel/named-tunnel-setup-content.tsx +8 -2
  248. package/src/web/components/tunnels/named-tunnel/named-tunnel-step-reducer.ts +14 -2
  249. package/dist/web/assets/accounts-settings-section-CRXY4Bsc.js +0 -1
  250. package/dist/web/assets/ai-settings-section-446NZWhI.js +0 -1
  251. package/dist/web/assets/api-client-CYZ79uUS.js +0 -1
  252. package/dist/web/assets/architecture-PBZL5I3N-DfR8k8Bc.js +0 -1
  253. package/dist/web/assets/arrow-left-DpXaakMC.js +0 -1
  254. package/dist/web/assets/chat-tab-Dn45anqr.js +0 -15
  255. package/dist/web/assets/check-BQKbhtoA.js +0 -1
  256. package/dist/web/assets/chevron-right-DK_HbYZC.js +0 -1
  257. package/dist/web/assets/circle-OKk7s0DX.js +0 -1
  258. package/dist/web/assets/circle-question-mark-qcWYO1P_.js +0 -1
  259. package/dist/web/assets/clock-BmPiGrSF.js +0 -1
  260. package/dist/web/assets/code-CRiIHSiv.js +0 -1
  261. package/dist/web/assets/code-editor-CKASeDbu.js +0 -7
  262. package/dist/web/assets/explorer-window-content-CqKVMkgW.js +0 -1
  263. package/dist/web/assets/gitGraph-HDMCJU4V-CPd78aaT.js +0 -1
  264. package/dist/web/assets/group-chat-tab-CTAhtVCr.js +0 -1
  265. package/dist/web/assets/index-B9Wbjl0o.css +0 -2
  266. package/dist/web/assets/index-DVNJ2W5R.js +0 -52
  267. package/dist/web/assets/info-3K5VOQVL-BciNds6R.js +0 -1
  268. package/dist/web/assets/keybindings-store-B5dEz0n1.js +0 -1
  269. package/dist/web/assets/loader-circle-DxI3O9_f.js +0 -1
  270. package/dist/web/assets/markdown-renderer-BGPo364Y.js +0 -1
  271. package/dist/web/assets/markdown-renderer-DtQIHtLs.js +0 -3
  272. package/dist/web/assets/mobile-explorer-sheet-C1q_DhrI.js +0 -1
  273. package/dist/web/assets/notification-store-DvUtkAXs.js +0 -1
  274. package/dist/web/assets/packet-RMMSAZCW-ClD3l2Bs.js +0 -1
  275. package/dist/web/assets/pie-UPGHQEXC-PU6kD0rW.js +0 -1
  276. package/dist/web/assets/portal-container-context-DeLx1cOI.js +0 -1
  277. package/dist/web/assets/power-CvtnQHU4.js +0 -1
  278. package/dist/web/assets/radar-KQ55EAFF-4LzjL0Zt.js +0 -1
  279. package/dist/web/assets/remote-desktop-mobile-sheet-6JdUr0Bj.js +0 -2
  280. package/dist/web/assets/separator-DvCsdlws.js +0 -1
  281. package/dist/web/assets/settings-body-CcKls51a.js +0 -2
  282. package/dist/web/assets/settings-tab-ChAk8nh2.js +0 -1
  283. package/dist/web/assets/settings-window-content-sA1K0cPW.js +0 -1
  284. package/dist/web/assets/system-monitor-tab-tXkg3jpV.js +0 -1
  285. package/dist/web/assets/system-monitor-window-content-BaKoFDEz.js +0 -1
  286. package/dist/web/assets/team-member-sheet-BA70_jmM.js +0 -2
  287. package/dist/web/assets/treemap-KZPCXAKY-DiumLNMg.js +0 -1
  288. package/dist/web/assets/use-accounts-data-B9t4BQaI.js +0 -1
  289. package/dist/web/assets/use-monaco-theme-DTPfPPvF.js +0 -1
  290. package/dist/web/assets/use-open-team-member-DGEx9xB0.js +0 -1
  291. package/dist/web/assets/vendor-markdown-CuWCHIVb.js +0 -291
  292. package/dist/web/assets/ws-auth-FRzMmfQx.js +0 -1
  293. package/dist/web/assets/x-Bdaog6Az.js +0 -1
  294. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  295. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  296. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  297. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
  298. /package/dist/web/assets/{abap-D-o-bvtI.js → abap-Dbc91hEB.js} +0 -0
  299. /package/dist/web/assets/{actionscript-3-D2tIzAm8.js → actionscript-3-C14d4O5M.js} +0 -0
  300. /package/dist/web/assets/{ada-DxatBcxS.js → ada-n8mPGtZF.js} +0 -0
  301. /package/dist/web/assets/{andromeeda-D0LK9YJ3.js → andromeeda-DAKL0TFq.js} +0 -0
  302. /package/dist/web/assets/{apache-B7uMPNiW.js → apache-BDCV8YqE.js} +0 -0
  303. /package/dist/web/assets/{apex-B7GiXrAr.js → apex-BphlFNA_.js} +0 -0
  304. /package/dist/web/assets/{applescript-D_SIFkKe.js → applescript-F2pJar76.js} +0 -0
  305. /package/dist/web/assets/{apply-theme-BVXAUYoN.js → apply-theme-Abd1TNqE.js} +0 -0
  306. /package/dist/web/assets/{ara-C3iECgdg.js → ara-B32t5JRb.js} +0 -0
  307. /package/dist/web/assets/{asciidoc-gc8z_MMY.js → asciidoc-DenFyKu-.js} +0 -0
  308. /package/dist/web/assets/{asm-27qeoPOI.js → asm-D5mJz41u.js} +0 -0
  309. /package/dist/web/assets/{aurora-x-C5J9fWe1.js → aurora-x-CUyAXiXM.js} +0 -0
  310. /package/dist/web/assets/{awk-B7GBzF92.js → awk-CUwaf-l-.js} +0 -0
  311. /package/dist/web/assets/{ayu-dark-XlnQhuLL.js → ayu-dark-Cgg8W7cK.js} +0 -0
  312. /package/dist/web/assets/{ayu-light-DKLLilkU.js → ayu-light-B1c04Bhg.js} +0 -0
  313. /package/dist/web/assets/{ayu-mirage-Dv-XOprJ.js → ayu-mirage-CdWbuzp5.js} +0 -0
  314. /package/dist/web/assets/{ballerina-DACRT-sT.js → ballerina-B2-GPRG0.js} +0 -0
  315. /package/dist/web/assets/{bat-BlQCq2XE.js → bat-Nss7Yr-0.js} +0 -0
  316. /package/dist/web/assets/{beancount-DYDztRI0.js → beancount-CgaWuvpQ.js} +0 -0
  317. /package/dist/web/assets/{berry-BE5YKqvx.js → berry-DCFF4Zj1.js} +0 -0
  318. /package/dist/web/assets/{bibtex-CAm7mgEm.js → bibtex-BPNI-Gig.js} +0 -0
  319. /package/dist/web/assets/{bicep-BKgAbfVa.js → bicep-qCj6DX1x.js} +0 -0
  320. /package/dist/web/assets/{bird2-yrBNbW1G.js → bird2-DYDjG-B_.js} +0 -0
  321. /package/dist/web/assets/{c-txZFr4RM.js → c-CZV8SiOL.js} +0 -0
  322. /package/dist/web/assets/{c3-D_DrzBUd.js → c3-BG7R2A4x.js} +0 -0
  323. /package/dist/web/assets/{cadence-CUFCEgG9.js → cadence-BuiQVST4.js} +0 -0
  324. /package/dist/web/assets/{can-open-in-ppm-_yqa69dV.js → can-open-in-ppm-DU5MH6XF.js} +0 -0
  325. /package/dist/web/assets/{catppuccin-frappe-Dn32MuhA.js → catppuccin-frappe-C-nwrEbb.js} +0 -0
  326. /package/dist/web/assets/{catppuccin-latte-Dewo7yDf.js → catppuccin-latte-nRLBO6vg.js} +0 -0
  327. /package/dist/web/assets/{catppuccin-macchiato-D8WOWZeo.js → catppuccin-macchiato-42eAAqCw.js} +0 -0
  328. /package/dist/web/assets/{catppuccin-mocha-b0md48XM.js → catppuccin-mocha-4lH0_4tX.js} +0 -0
  329. /package/dist/web/assets/{clarity-Ct3UqLBj.js → clarity-BCPLN5zJ.js} +0 -0
  330. /package/dist/web/assets/{clojure-CwP5aPEo.js → clojure-Btb509Z6.js} +0 -0
  331. /package/dist/web/assets/{cmake-D5RF49e5.js → cmake-CGLZgJL3.js} +0 -0
  332. /package/dist/web/assets/{codeowners-Cl5897L_.js → codeowners-Dgqmdm5J.js} +0 -0
  333. /package/dist/web/assets/{codeql-BKh1RCg0.js → codeql-DDUO6ZHS.js} +0 -0
  334. /package/dist/web/assets/{common-lisp-BhHuD6t0.js → common-lisp-DlhZ-mM8.js} +0 -0
  335. /package/dist/web/assets/{coq-Dco3qwD8.js → coq-CVz-5qYC.js} +0 -0
  336. /package/dist/web/assets/{csharp-Dpjw9ZA9.js → csharp-CXL6GcvM.js} +0 -0
  337. /package/dist/web/assets/{css-CPe4cabH.js → css-CthwUm0E.js} +0 -0
  338. /package/dist/web/assets/{csv-BAcTN8Kt.js → csv-Bsal3rDr.js} +0 -0
  339. /package/dist/web/assets/{csv-parser-DbxGKdMG.js → csv-parser-iow1WWML.js} +0 -0
  340. /package/dist/web/assets/{cue-Cr6y60TA.js → cue-D2bSqa4C.js} +0 -0
  341. /package/dist/web/assets/{cypher-DWtqXXFP.js → cypher-u-EM8HmU.js} +0 -0
  342. /package/dist/web/assets/{d-BASiTZk4.js → d-BFVkgfjO.js} +0 -0
  343. /package/dist/web/assets/{dark-plus-56kmnrcl.js → dark-plus-BXlM9uFB.js} +0 -0
  344. /package/dist/web/assets/{dart-C5mZnjoE.js → dart-Hxx4mUdp.js} +0 -0
  345. /package/dist/web/assets/{dax-B4I2e7d8.js → dax-DQwsaFe_.js} +0 -0
  346. /package/dist/web/assets/{desktop-DekGg0BT.js → desktop-CAHGHZLk.js} +0 -0
  347. /package/dist/web/assets/{diff-CWnJBd73.js → diff-CAbIXu6l.js} +0 -0
  348. /package/dist/web/assets/{dist-BKOM_AoT.js → dist-C_bG2Tku.js} +0 -0
  349. /package/dist/web/assets/{docker-DevchDxK.js → docker-51FhFKmM.js} +0 -0
  350. /package/dist/web/assets/{dotenv-DCvtdaGJ.js → dotenv-C4fc3fLK.js} +0 -0
  351. /package/dist/web/assets/{dracula-8U6Vkk3l.js → dracula-CTtuacPO.js} +0 -0
  352. /package/dist/web/assets/{dracula-soft-Bfeew5Wg.js → dracula-soft-B-95hu1J.js} +0 -0
  353. /package/dist/web/assets/{dream-maker-DDTJVuoy.js → dream-maker-Di3hAOzX.js} +0 -0
  354. /package/dist/web/assets/{emacs-lisp-CEHJqI4m.js → emacs-lisp-C6btr6QV.js} +0 -0
  355. /package/dist/web/assets/{everforest-dark-CHHLt7cq.js → everforest-dark-CDQGzEiq.js} +0 -0
  356. /package/dist/web/assets/{everforest-light-TcTbK1sM.js → everforest-light-DRZC8v3w.js} +0 -0
  357. /package/dist/web/assets/{fennel-Bh4vsA1A.js → fennel-BZz92X8f.js} +0 -0
  358. /package/dist/web/assets/{fish-D0T0fILG.js → fish-qpLXUfGf.js} +0 -0
  359. /package/dist/web/assets/{fluent-CgXDXdyy.js → fluent-B3F6P-xc.js} +0 -0
  360. /package/dist/web/assets/{format-bytes-Bc6SqF7M.js → format-bytes-B9Dbme9a.js} +0 -0
  361. /package/dist/web/assets/{fortran-free-form-CUg3Xhz4.js → fortran-free-form-DjGQrmKa.js} +0 -0
  362. /package/dist/web/assets/{gdscript-Cx056p_k.js → gdscript-DToF1duE.js} +0 -0
  363. /package/dist/web/assets/{gdshader-Dj1qP4I5.js → gdshader-FZCS76-j.js} +0 -0
  364. /package/dist/web/assets/{genie-SBt15wn7.js → genie-CN3-FS9S.js} +0 -0
  365. /package/dist/web/assets/{gherkin-bTJiHIrB.js → gherkin-DT66zHzt.js} +0 -0
  366. /package/dist/web/assets/{github-dark-BOPhyugs.js → github-dark-5S2AJM2m.js} +0 -0
  367. /package/dist/web/assets/{github-dark-default-Cktqe6NF.js → github-dark-default-DNEUWmc8.js} +0 -0
  368. /package/dist/web/assets/{github-dark-dimmed-CeWfII_B.js → github-dark-dimmed-BVgm_raB.js} +0 -0
  369. /package/dist/web/assets/{github-dark-high-contrast-CTx8LpdV.js → github-dark-high-contrast-Dai8qNkr.js} +0 -0
  370. /package/dist/web/assets/{github-light-DVsO5Un1.js → github-light-C49nlhDa.js} +0 -0
  371. /package/dist/web/assets/{github-light-default-BiyPxicr.js → github-light-default-BLQcyxQl.js} +0 -0
  372. /package/dist/web/assets/{github-light-high-contrast-BPlnke0a.js → github-light-high-contrast-BH3u_hMd.js} +0 -0
  373. /package/dist/web/assets/{gleam-CWSxvD0C.js → gleam-G2907CEQ.js} +0 -0
  374. /package/dist/web/assets/{gn-D7NUVJuv.js → gn-fxgN7J9Q.js} +0 -0
  375. /package/dist/web/assets/{gnuplot-c5uXmJKc.js → gnuplot-a1TK_67n.js} +0 -0
  376. /package/dist/web/assets/{go-CRsHi4Cw.js → go-DLqnNJpz.js} +0 -0
  377. /package/dist/web/assets/{groovy-DpV0RA5r.js → groovy-D8U-plxc.js} +0 -0
  378. /package/dist/web/assets/{gruvbox-dark-hard-DD9fguUN.js → gruvbox-dark-hard-DRYdA7rg.js} +0 -0
  379. /package/dist/web/assets/{gruvbox-dark-medium-BvcwpYJ-.js → gruvbox-dark-medium-CJgayBQH.js} +0 -0
  380. /package/dist/web/assets/{gruvbox-dark-soft-48dCxX9M.js → gruvbox-dark-soft-spQNOlQ2.js} +0 -0
  381. /package/dist/web/assets/{gruvbox-light-hard-CjJ994Ip.js → gruvbox-light-hard-FoElS0Wo.js} +0 -0
  382. /package/dist/web/assets/{gruvbox-light-medium-DQJQZ_rV.js → gruvbox-light-medium-9E1Brisc.js} +0 -0
  383. /package/dist/web/assets/{gruvbox-light-soft-AqsC9mKw.js → gruvbox-light-soft-Coyp7RRB.js} +0 -0
  384. /package/dist/web/assets/{haskell-B5V7yvmh.js → haskell-D1twJpgj.js} +0 -0
  385. /package/dist/web/assets/{haxe-LWTKfPKr.js → haxe-CppquubK.js} +0 -0
  386. /package/dist/web/assets/{hcl-QmNZdAtI.js → hcl-BWfTkyhR.js} +0 -0
  387. /package/dist/web/assets/{hjson-CboJsAzK.js → hjson-fgd7F6t5.js} +0 -0
  388. /package/dist/web/assets/{hlsl-Bd-DO_WL.js → hlsl-Ua1j-4aZ.js} +0 -0
  389. /package/dist/web/assets/{horizon-CU8Bi_ss.js → horizon-CTFgrxGb.js} +0 -0
  390. /package/dist/web/assets/{horizon-bright-iSQ3_3jP.js → horizon-bright-C4eTVZPB.js} +0 -0
  391. /package/dist/web/assets/{houston-CTXv3Puz.js → houston-BeYbWPdk.js} +0 -0
  392. /package/dist/web/assets/{hy-Cd4hTidD.js → hy-BposFX9Q.js} +0 -0
  393. /package/dist/web/assets/{image-gallery-J8h8IY0c.js → image-gallery-COea0nSk.js} +0 -0
  394. /package/dist/web/assets/{imba-BipCHEY2.js → imba-D11-b73t.js} +0 -0
  395. /package/dist/web/assets/{ini-Dd1KkMrB.js → ini-BCYCXf0w.js} +0 -0
  396. /package/dist/web/assets/{java-rGr0OQD8.js → java-BqKIPPzY.js} +0 -0
  397. /package/dist/web/assets/{javascript-DHhCH2TN.js → javascript-CxvTx_wu.js} +0 -0
  398. /package/dist/web/assets/{json-CMMLBCUf.js → json-DiknJGdj.js} +0 -0
  399. /package/dist/web/assets/{json5-mPOwTOsB.js → json5--8nFeehk.js} +0 -0
  400. /package/dist/web/assets/{jsonc-Bie0E6D3.js → jsonc-BFcq-Nx-.js} +0 -0
  401. /package/dist/web/assets/{jsonl-CpqHmtC1.js → jsonl-DKItgfTA.js} +0 -0
  402. /package/dist/web/assets/{jsonnet-D21Ms51e.js → jsonnet-sNz5wf7H.js} +0 -0
  403. /package/dist/web/assets/{jssm-BXnl1nur.js → jssm-BALAIF_E.js} +0 -0
  404. /package/dist/web/assets/{jsx-Chnii_vB.js → jsx-fXHHDCVl.js} +0 -0
  405. /package/dist/web/assets/{kanagawa-dragon-DhxR0UjL.js → kanagawa-dragon-nywk9qzg.js} +0 -0
  406. /package/dist/web/assets/{kanagawa-lotus-fupRg5wp.js → kanagawa-lotus-BmYPLC4f.js} +0 -0
  407. /package/dist/web/assets/{kanagawa-wave-DSWbRS9M.js → kanagawa-wave-624mOWgc.js} +0 -0
  408. /package/dist/web/assets/{kdl-DirGHqUy.js → kdl-DT8Argim.js} +0 -0
  409. /package/dist/web/assets/{kotlin-DkhUVMDC.js → kotlin-BvUjvPz2.js} +0 -0
  410. /package/dist/web/assets/{kusto-DU7OpovF.js → kusto-B0PONVdx.js} +0 -0
  411. /package/dist/web/assets/{laserwave-iLKb1ZCT.js → laserwave-ByV7LuzT.js} +0 -0
  412. /package/dist/web/assets/{lean-Cuvh_QAP.js → lean-DQtq2qQC.js} +0 -0
  413. /package/dist/web/assets/{less-B5tQZOdI.js → less-DZeD4ccP.js} +0 -0
  414. /package/dist/web/assets/{libesm-CdttTIAd.js → libesm-CcPYXCKp.js} +0 -0
  415. /package/dist/web/assets/{light-plus-DiHU2KL5.js → light-plus-BCaKDxvd.js} +0 -0
  416. /package/dist/web/assets/{llvm-sCBTKCKN.js → llvm-Dzok661y.js} +0 -0
  417. /package/dist/web/assets/{log-DtyR34Ie.js → log-C32HpwgI.js} +0 -0
  418. /package/dist/web/assets/{logo-CP91aQyG.js → logo-Dtjk3XHO.js} +0 -0
  419. /package/dist/web/assets/{luau-nfGo2ulP.js → luau-BMbN7IqN.js} +0 -0
  420. /package/dist/web/assets/{make-XbDn9GHe.js → make-DIVSnx7D.js} +0 -0
  421. /package/dist/web/assets/{markdown-BB1_3xLr.js → markdown-B1JzcsJb.js} +0 -0
  422. /package/dist/web/assets/{material-theme-CIx_sxAy.js → material-theme-XMfEph9O.js} +0 -0
  423. /package/dist/web/assets/{material-theme-darker-DsQeueDD.js → material-theme-darker-CRGzh4Ox.js} +0 -0
  424. /package/dist/web/assets/{material-theme-lighter-x_lMi74j.js → material-theme-lighter-D6esgP3h.js} +0 -0
  425. /package/dist/web/assets/{material-theme-ocean-Bkgh25P8.js → material-theme-ocean-CGbfRrFG.js} +0 -0
  426. /package/dist/web/assets/{material-theme-palenight-CoOjdbti.js → material-theme-palenight-DFW4xdPI.js} +0 -0
  427. /package/dist/web/assets/{matlab-D6xZas_8.js → matlab-Zpc8hvmI.js} +0 -0
  428. /package/dist/web/assets/{mdx-Cl5_YNoz.js → mdx-DLlDpnjI.js} +0 -0
  429. /package/dist/web/assets/{mermaid-8Eow4jz_.js → mermaid-q_sEDHYr.js} +0 -0
  430. /package/dist/web/assets/{min-dark-D4DhjgRE.js → min-dark-DUklXai3.js} +0 -0
  431. /package/dist/web/assets/{min-light-DzAckd0t.js → min-light-Ps7CV3R0.js} +0 -0
  432. /package/dist/web/assets/{mipsasm-zI_zu0tj.js → mipsasm-anKs0TGD.js} +0 -0
  433. /package/dist/web/assets/{mojo-DQnGGPHf.js → mojo-CWTvit9D.js} +0 -0
  434. /package/dist/web/assets/{monokai-CrFoD2VD.js → monokai-DOSMe3B9.js} +0 -0
  435. /package/dist/web/assets/{moonbit-DdphIGs6.js → moonbit-zOAryA05.js} +0 -0
  436. /package/dist/web/assets/{move-BUlkn0xW.js → move-CA6YZdSC.js} +0 -0
  437. /package/dist/web/assets/{narrat-CbOBdtCn.js → narrat-CyMxkfZJ.js} +0 -0
  438. /package/dist/web/assets/{nextflow-groovy-CeVLUTuQ.js → nextflow-groovy-D5beSS3L.js} +0 -0
  439. /package/dist/web/assets/{night-owl-Bm4LhUR1.js → night-owl-3ALu1K6e.js} +0 -0
  440. /package/dist/web/assets/{night-owl-light-DtcBiMEf.js → night-owl-light-_NLbQQrl.js} +0 -0
  441. /package/dist/web/assets/{nix-DrdwQ70g.js → nix-C_KqthNc.js} +0 -0
  442. /package/dist/web/assets/{nord-B0Head1v.js → nord-VG8J_Wfy.js} +0 -0
  443. /package/dist/web/assets/{nushell-CmUdltKn.js → nushell-Dx7K7YNI.js} +0 -0
  444. /package/dist/web/assets/{objective-c-BGDR33XN.js → objective-c-DrEbGERB.js} +0 -0
  445. /package/dist/web/assets/{objective-cpp-Buc1Zhd0.js → objective-cpp-DpiXqKhj.js} +0 -0
  446. /package/dist/web/assets/{ocaml-xdzl9rRD.js → ocaml-G6x51MAm.js} +0 -0
  447. /package/dist/web/assets/{odin-DiUFngnd.js → odin-tK6CU-OU.js} +0 -0
  448. /package/dist/web/assets/{one-dark-pro-BURxmIp3.js → one-dark-pro-581te-yF.js} +0 -0
  449. /package/dist/web/assets/{one-light-BMRMInAj.js → one-light-DpYva-U1.js} +0 -0
  450. /package/dist/web/assets/{openscad-DAgLA5J3.js → openscad-C7LYrrI4.js} +0 -0
  451. /package/dist/web/assets/{pascal-CoDZxcRB.js → pascal-ChqM3eJD.js} +0 -0
  452. /package/dist/web/assets/{pkl-DzKM6BuM.js → pkl-BlIRJsyQ.js} +0 -0
  453. /package/dist/web/assets/{plastic-vF15LmNS.js → plastic-DxceXlOD.js} +0 -0
  454. /package/dist/web/assets/{plsql-C1v07teA.js → plsql-CVikvjWK.js} +0 -0
  455. /package/dist/web/assets/{po-CLLC8BuA.js → po-BN9bpeJD.js} +0 -0
  456. /package/dist/web/assets/{poimandres-Uq0xysxM.js → poimandres-NeQA7ZSh.js} +0 -0
  457. /package/dist/web/assets/{polar-2-luY1Pc.js → polar-DtRx-uzO.js} +0 -0
  458. /package/dist/web/assets/{postcss-lbFhe0rz.js → postcss-EDnOs84S.js} +0 -0
  459. /package/dist/web/assets/{powerquery-RL8O9Wie.js → powerquery-mc-bbl3v.js} +0 -0
  460. /package/dist/web/assets/{powershell-upFWhb-b.js → powershell-ZqZF93a-.js} +0 -0
  461. /package/dist/web/assets/{prisma-DBtYaWFk.js → prisma-vhORN1Sx.js} +0 -0
  462. /package/dist/web/assets/{prolog-D8jSMykJ.js → prolog-DfIbN_m8.js} +0 -0
  463. /package/dist/web/assets/{proto-BM4eadF7.js → proto-BHcnh-Db.js} +0 -0
  464. /package/dist/web/assets/{puppet-BQDQ3Snu.js → puppet-oLpQOx2h.js} +0 -0
  465. /package/dist/web/assets/{purescript-Cj2aTX4s.js → purescript-HbM4Dt8M.js} +0 -0
  466. /package/dist/web/assets/{python-BYpqq6u4.js → python-Dlxo2z6Q.js} +0 -0
  467. /package/dist/web/assets/{qmldir-4uiTcwAu.js → qmldir-B5ox9idu.js} +0 -0
  468. /package/dist/web/assets/{qss-D5xB-Mqo.js → qss-CyegwBrl.js} +0 -0
  469. /package/dist/web/assets/{r-P6Ujy8rf.js → r-CxE2X3lg.js} +0 -0
  470. /package/dist/web/assets/{racket-COKgCFuM.js → racket-CpguQMOj.js} +0 -0
  471. /package/dist/web/assets/{raku-z14Q9i7K.js → raku-DDf8ASYE.js} +0 -0
  472. /package/dist/web/assets/{red-ObAvgvQ5.js → red-C634f6x3.js} +0 -0
  473. /package/dist/web/assets/{reg-Qv4f0JFA.js → reg-4gnm7BOP.js} +0 -0
  474. /package/dist/web/assets/{regexp-CEOVGIzy.js → regexp-Cs-hPAru.js} +0 -0
  475. /package/dist/web/assets/{rel-cWOyTUwd.js → rel-CrGcWbwM.js} +0 -0
  476. /package/dist/web/assets/{resolve-theme-CMp5xxCW.js → resolve-theme-Dm8ehbOv.js} +0 -0
  477. /package/dist/web/assets/{riscv-BZDwx-lv.js → riscv-B2P26ROS.js} +0 -0
  478. /package/dist/web/assets/{ron-BpjosPS0.js → ron-DDHGmvxW.js} +0 -0
  479. /package/dist/web/assets/{rose-pine-DhxfJWcm.js → rose-pine-CUYRoYal.js} +0 -0
  480. /package/dist/web/assets/{rose-pine-dawn-BbGt9Wy_.js → rose-pine-dawn-C9JfuUh8.js} +0 -0
  481. /package/dist/web/assets/{rose-pine-moon-dj4Zxgik.js → rose-pine-moon-CrYHzRJm.js} +0 -0
  482. /package/dist/web/assets/{rosmsg-EciOaHo2.js → rosmsg-iqzz1U38.js} +0 -0
  483. /package/dist/web/assets/{rust-C_eH59O_.js → rust-DVeWF3Is.js} +0 -0
  484. /package/dist/web/assets/{sass-Dos3R5lL.js → sass-CbVwBbUd.js} +0 -0
  485. /package/dist/web/assets/{scala-8lVKsTvf.js → scala-gZhcvPGv.js} +0 -0
  486. /package/dist/web/assets/{scheme-Bd3VdaZj.js → scheme-Z-DWgvmB.js} +0 -0
  487. /package/dist/web/assets/{sdbl-C4Yrjlgh.js → sdbl-wn_BtpSz.js} +0 -0
  488. /package/dist/web/assets/{shellscript-OFZbPKZH.js → shellscript-C09f889h.js} +0 -0
  489. /package/dist/web/assets/{slack-dark-aL6vlxZs.js → slack-dark-D63Fbr3l.js} +0 -0
  490. /package/dist/web/assets/{slack-ochin-BKt1E7sL.js → slack-ochin--Yu-v0r6.js} +0 -0
  491. /package/dist/web/assets/{smalltalk-D6qVBL1U.js → smalltalk-LQDcL_tW.js} +0 -0
  492. /package/dist/web/assets/{snazzy-light-BrWerT0t.js → snazzy-light-bo9fX83t.js} +0 -0
  493. /package/dist/web/assets/{solarized-dark-CzxTJgVQ.js → solarized-dark-zSs85XH6.js} +0 -0
  494. /package/dist/web/assets/{solarized-light-BecaDAnG.js → solarized-light-B6Q4CXBt.js} +0 -0
  495. /package/dist/web/assets/{solidity-C9t7pZ84.js → solidity-uUJPOjGx.js} +0 -0
  496. /package/dist/web/assets/{splunk-CtxfFKtF.js → splunk-C6oWgmrC.js} +0 -0
  497. /package/dist/web/assets/{sql-7FE_Duz0.js → sql-DyUvXbLi.js} +0 -0
  498. /package/dist/web/assets/{ssh-config-3Fr37ACC.js → ssh-config-62Vrd_7v.js} +0 -0
  499. /package/dist/web/assets/{stylus-BP4mE1sO.js → stylus-CmLQe7Fq.js} +0 -0
  500. /package/dist/web/assets/{swift-0uqTFouD.js → swift-DJwuT1eZ.js} +0 -0
  501. /package/dist/web/assets/{synthwave-84-DQaNM3DI.js → synthwave-84-CEeyTLD7.js} +0 -0
  502. /package/dist/web/assets/{system-verilog-DUIVrZHZ.js → system-verilog-DMqtAclw.js} +0 -0
  503. /package/dist/web/assets/{systemd-CtNo_WIh.js → systemd-XnScP_8M.js} +0 -0
  504. /package/dist/web/assets/{talonscript-B0HXaCVT.js → talonscript-CDoODzml.js} +0 -0
  505. /package/dist/web/assets/{tasl-Cb7RAl11.js → tasl-DycI0-Tf.js} +0 -0
  506. /package/dist/web/assets/{tcl-B79aC6l5.js → tcl-Dt8iP0sw.js} +0 -0
  507. /package/dist/web/assets/{terraform-75jJDjpW.js → terraform-DXzABgqQ.js} +0 -0
  508. /package/dist/web/assets/{tokyo-night-Cz9Uh9qb.js → tokyo-night-DHB1Yc-3.js} +0 -0
  509. /package/dist/web/assets/{toml-CD6y9A-z.js → toml-BkejsZF3.js} +0 -0
  510. /package/dist/web/assets/{tsv-CXJMbBrb.js → tsv-ClmhsiiR.js} +0 -0
  511. /package/dist/web/assets/{tsx-BuYN0I2t.js → tsx-Cp-c_JHF.js} +0 -0
  512. /package/dist/web/assets/{turtle-DWH-Rjse.js → turtle-BbwC417u.js} +0 -0
  513. /package/dist/web/assets/{typescript-BPd-hsrR.js → typescript-DbwnrRKJ.js} +0 -0
  514. /package/dist/web/assets/{typespec-B0wvVykx.js → typespec-DLL0LoZj.js} +0 -0
  515. /package/dist/web/assets/{typst-DWG2c48-.js → typst-BmEouVT1.js} +0 -0
  516. /package/dist/web/assets/{utils-IrnQujwR.js → utils-CwNUra6_.js} +0 -0
  517. /package/dist/web/assets/{v-Ch6E4Egd.js → v-C5rFgF81.js} +0 -0
  518. /package/dist/web/assets/{vala-CGVKwbPx.js → vala-rBXMujLw.js} +0 -0
  519. /package/dist/web/assets/{vb-BIEbSxyT.js → vb-mxG_YZv2.js} +0 -0
  520. /package/dist/web/assets/{vendor-xterm-YQlzIWv2.js → vendor-xterm-BtjgHRUe.js} +0 -0
  521. /package/dist/web/assets/{verilog-A-3pYPad.js → verilog-uQ-oJRKp.js} +0 -0
  522. /package/dist/web/assets/{vesper-CK1naZAV.js → vesper-SO5Hw_2X.js} +0 -0
  523. /package/dist/web/assets/{vhdl-CVawmgMg.js → vhdl-8IeO85hx.js} +0 -0
  524. /package/dist/web/assets/{viml-CiWjaqBY.js → viml-De-Hm57y.js} +0 -0
  525. /package/dist/web/assets/{vitesse-black-PYXW4-BO.js → vitesse-black-BVm23GJE.js} +0 -0
  526. /package/dist/web/assets/{vitesse-dark-BU5s4AuG.js → vitesse-dark-CR0XeT-h.js} +0 -0
  527. /package/dist/web/assets/{vitesse-light-DgkIT-N7.js → vitesse-light-CXIFICUA.js} +0 -0
  528. /package/dist/web/assets/{vyper-D8cRDPp3.js → vyper-dUuvAUFJ.js} +0 -0
  529. /package/dist/web/assets/{wasm-ClFJgzmT.js → wasm-D5Vd7qV1.js} +0 -0
  530. /package/dist/web/assets/{wasm-C02wlRbP.js → wasm-DbLMmiW0.js} +0 -0
  531. /package/dist/web/assets/{wenyan-B8plxIr8.js → wenyan-BafBYCBu.js} +0 -0
  532. /package/dist/web/assets/{wgsl-CVujtm3V.js → wgsl-DY5sHamz.js} +0 -0
  533. /package/dist/web/assets/{wikitext-CmcG9B69.js → wikitext-QkQQVra5.js} +0 -0
  534. /package/dist/web/assets/{wit--gl2Jium.js → wit-BZjaDTy9.js} +0 -0
  535. /package/dist/web/assets/{wolfram-6T_1D-NS.js → wolfram-vrjPFD7R.js} +0 -0
  536. /package/dist/web/assets/{yaml-CIVV9uA1.js → yaml-D1as76NB.js} +0 -0
  537. /package/dist/web/assets/{zenscript-CoT4yNdA.js → zenscript-D31myxQh.js} +0 -0
  538. /package/dist/web/assets/{zig-BWs2Qo3G.js → zig-BbLb6ieN.js} +0 -0
package/dist/web/sw.js CHANGED
@@ -1 +1 @@
1
- try{self[`workbox:core:7.3.0`]&&_()}catch{}var e=(e,...t)=>{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n},t=class extends Error{constructor(t,n){let r=e(t,n);super(r),this.name=t,this.details=n}},n={googleAnalytics:`googleAnalytics`,precache:`precache-v2`,prefix:`workbox`,runtime:`runtime`,suffix:typeof registration<`u`?registration.scope:``},r=e=>[n.prefix,e,n.suffix].filter(e=>e&&e.length>0).join(`-`),i=e=>{for(let t of Object.keys(n))e(t)},a={updateDetails:e=>{i(t=>{typeof e[t]==`string`&&(n[t]=e[t])})},getGoogleAnalyticsName:e=>e||r(n.googleAnalytics),getPrecacheName:e=>e||r(n.precache),getPrefix:()=>n.prefix,getRuntimeName:e=>e||r(n.runtime),getSuffix:()=>n.suffix};function o(e,t){let n=t();return e.waitUntil(n),n}try{self[`workbox:precaching:7.3.0`]&&_()}catch{}var s=`__WB_REVISION__`;function c(e){if(!e)throw new t(`add-to-cache-list-unexpected-type`,{entry:e});if(typeof e==`string`){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:n,url:r}=e;if(!r)throw new t(`add-to-cache-list-unexpected-type`,{entry:e});if(!n){let e=new URL(r,location.href);return{cacheKey:e.href,url:e.href}}let i=new URL(r,location.href),a=new URL(r,location.href);return i.searchParams.set(s,n),{cacheKey:i.href,url:a.href}}var l=class{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type===`install`&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}},u=class{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let n=t?.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}},d;function f(){if(d===void 0){let e=new Response(``);if(`body`in e)try{new Response(e.body),d=!0}catch{d=!1}d=!1}return d}async function p(e,n){let r=null;if(e.url&&(r=new URL(e.url).origin),r!==self.location.origin)throw new t(`cross-origin-copy-response`,{origin:r});let i=e.clone(),a={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=n?n(a):a,s=f()?i.body:await i.blob();return new Response(s,o)}var m=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),``);function h(e,t){let n=new URL(e);for(let e of t)n.searchParams.delete(e);return n.href}async function g(e,t,n,r){let i=h(t.url,n);if(t.url===i)return e.match(t,r);let a=Object.assign(Object.assign({},r),{ignoreSearch:!0}),o=await e.keys(t,a);for(let t of o)if(i===h(t.url,n))return e.match(t,r)}var v=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}},y=new Set;async function b(){for(let e of y)await e()}function x(e){return new Promise(t=>setTimeout(t,e))}try{self[`workbox:strategies:7.3.0`]&&_()}catch{}function S(e){return typeof e==`string`?new Request(e):e}var C=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new v,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(let e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:n}=this,r=S(e);if(r.mode===`navigate`&&n instanceof FetchEvent&&n.preloadResponse){let e=await n.preloadResponse;if(e)return e}let i=this.hasCallback(`fetchDidFail`)?r.clone():null;try{for(let e of this.iterateCallbacks(`requestWillFetch`))r=await e({request:r.clone(),event:n})}catch(e){if(e instanceof Error)throw new t(`plugin-error-request-will-fetch`,{thrownErrorMessage:e.message})}let a=r.clone();try{let e;e=await fetch(r,r.mode===`navigate`?void 0:this._strategy.fetchOptions);for(let t of this.iterateCallbacks(`fetchDidSucceed`))e=await t({event:n,request:a,response:e});return e}catch(e){throw i&&await this.runCallbacks(`fetchDidFail`,{error:e,event:n,originalRequest:i.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){let t=S(e),n,{cacheName:r,matchOptions:i}=this._strategy,a=await this.getCacheKey(t,`read`),o=Object.assign(Object.assign({},i),{cacheName:r});n=await caches.match(a,o);for(let e of this.iterateCallbacks(`cachedResponseWillBeUsed`))n=await e({cacheName:r,matchOptions:i,cachedResponse:n,request:a,event:this.event})||void 0;return n}async cachePut(e,n){let r=S(e);await x(0);let i=await this.getCacheKey(r,`write`);if(!n)throw new t(`cache-put-with-no-response`,{url:m(i.url)});let a=await this._ensureResponseSafeToCache(n);if(!a)return!1;let{cacheName:o,matchOptions:s}=this._strategy,c=await self.caches.open(o),l=this.hasCallback(`cacheDidUpdate`),u=l?await g(c,i.clone(),[`__WB_REVISION__`],s):null;try{await c.put(i,l?a.clone():a)}catch(e){if(e instanceof Error)throw e.name===`QuotaExceededError`&&await b(),e}for(let e of this.iterateCallbacks(`cacheDidUpdate`))await e({cacheName:o,oldResponse:u,newResponse:a.clone(),request:i,event:this.event});return!0}async getCacheKey(e,t){let n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(let e of this.iterateCallbacks(`cacheKeyWillBeUsed`))r=S(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if(typeof t[e]==`function`){let n=this._pluginStateMap.get(t);yield r=>{let i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){let e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>e.status===`rejected`);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(let e of this.iterateCallbacks(`cacheWillUpdate`))if(t=await e({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},w=class{constructor(e={}){this.cacheName=a.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,n=typeof e.request==`string`?new Request(e.request):e.request,r=`params`in e?e.params:void 0,i=new C(this,{event:t,request:n,params:r}),a=this._getResponse(i,n,t);return[a,this._awaitComplete(a,i,n,t)]}async _getResponse(e,n,r){await e.runCallbacks(`handlerWillStart`,{event:r,request:n});let i;try{if(i=await this._handle(n,e),!i||i.type===`error`)throw new t(`no-response`,{url:n.url})}catch(t){if(t instanceof Error){for(let a of e.iterateCallbacks(`handlerDidError`))if(i=await a({error:t,event:r,request:n}),i)break}if(!i)throw t}for(let t of e.iterateCallbacks(`handlerWillRespond`))i=await t({event:r,request:n,response:i});return i}async _awaitComplete(e,t,n,r){let i,a;try{i=await e}catch{}try{await t.runCallbacks(`handlerDidRespond`,{event:r,request:n,response:i}),await t.doneWaiting()}catch(e){e instanceof Error&&(a=e)}if(await t.runCallbacks(`handlerDidComplete`,{event:r,request:n,response:i,error:a}),t.destroy(),a)throw a}},T=class e extends w{constructor(t={}){t.cacheName=a.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=t.fallbackToNetwork!==!1,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&t.event.type===`install`?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,n){let r,i=n.params||{};if(this._fallbackToNetwork){let t=i.integrity,a=e.integrity,o=!a||a===t;r=await n.fetch(new Request(e,{integrity:e.mode===`no-cors`?void 0:a||t})),t&&o&&e.mode!==`no-cors`&&(this._useDefaultCacheabilityPluginIfNeeded(),await n.cachePut(e,r.clone()))}else throw new t(`missing-precache-entry`,{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,n){this._useDefaultCacheabilityPluginIfNeeded();let r=await n.fetch(e);if(!await n.cachePut(e,r.clone()))throw new t(`bad-precaching-response`,{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let t=null,n=0;for(let[r,i]of this.plugins.entries())i!==e.copyRedirectedCacheableResponsesPlugin&&(i===e.defaultPrecacheCacheabilityPlugin&&(t=r),i.cacheWillUpdate&&n++);n===0?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):n>1&&t!==null&&this.plugins.splice(t,1)}};T.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},T.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await p(e):e}};var E=class{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new T({cacheName:a.getPrecacheName(e),plugins:[...t,new u({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||=(self.addEventListener(`install`,this.install),self.addEventListener(`activate`,this.activate),!0)}addToCacheList(e){let n=[];for(let r of e){typeof r==`string`?n.push(r):r&&r.revision===void 0&&n.push(r.url);let{cacheKey:e,url:i}=c(r),a=typeof r!=`string`&&r.revision?`reload`:`default`;if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==e)throw new t(`add-to-cache-list-conflicting-entries`,{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:e});if(typeof r!=`string`&&r.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==r.integrity)throw new t(`add-to-cache-list-conflicting-integrities`,{url:i});this._cacheKeysToIntegrities.set(e,r.integrity)}if(this._urlsToCacheKeys.set(i,e),this._urlsToCacheModes.set(i,a),n.length>0){let e=`Workbox is precaching URLs without revision info: ${n.join(`, `)}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return o(e,async()=>{let t=new l;this.strategy.plugins.push(t);for(let[t,n]of this._urlsToCacheKeys){let r=this._cacheKeysToIntegrities.get(n),i=this._urlsToCacheModes.get(t),a=new Request(t,{integrity:r,cache:i,credentials:`same-origin`});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:a,event:e}))}let{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return o(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),n=new Set(this._urlsToCacheKeys.values()),r=[];for(let i of t)n.has(i.url)||(await e.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){let n=this.getCacheKeyForURL(e);if(!n)throw new t(`non-precached-url`,{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:n},t.params),this.strategy.handle(t))}},D,O=()=>(D||=new E,D);try{self[`workbox:routing:7.3.0`]&&_()}catch{}var k=e=>e&&typeof e==`object`?e:{handle:e},A=class{constructor(e,t,n=`GET`){this.handler=k(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=k(e)}},j=class extends A{constructor(e,t,n){super(({url:t})=>{let n=e.exec(t.href);if(n&&!(t.origin!==location.origin&&n.index!==0))return n.slice(1)},t,n)}},M=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener(`fetch`,(e=>{let{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener(`message`,(e=>{if(e.data&&e.data.type===`CACHE_URLS`){let{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(t=>{typeof t==`string`&&(t=[t]);let n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){let n=new URL(e.url,location.href);if(!n.protocol.startsWith(`http`))return;let r=n.origin===location.origin,{params:i,route:a}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n}),o=a&&a.handler,s=e.method;if(!o&&this._defaultHandlerMap.has(s)&&(o=this._defaultHandlerMap.get(s)),!o)return;let c;try{c=o.handle({url:n,request:e,event:t,params:i})}catch(e){c=Promise.reject(e)}let l=a&&a.catchHandler;return c instanceof Promise&&(this._catchHandler||l)&&(c=c.catch(async r=>{if(l)try{return await l.handle({url:n,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),c}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){let i=this._routes.get(n.method)||[];for(let a of i){let i,o=a.match({url:e,sameOrigin:t,request:n,event:r});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o==`boolean`)&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t=`GET`){this._defaultHandlerMap.set(t,k(e))}setCatchHandler(e){this._catchHandler=k(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t(`unregister-route-but-not-found-with-method`,{method:e.method});let n=this._routes.get(e.method).indexOf(e);if(n>-1)this._routes.get(e.method).splice(n,1);else throw new t(`unregister-route-route-not-registered`)}},N,P=()=>(N||(N=new M,N.addFetchListener(),N.addCacheListener()),N);function F(e,n,r){let i;if(typeof e==`string`){let t=new URL(e,location.href);i=new A(({url:e})=>e.href===t.href,n,r)}else if(e instanceof RegExp)i=new j(e,n,r);else if(typeof e==`function`)i=new A(e,n,r);else if(e instanceof A)i=e;else throw new t(`unsupported-route-type`,{moduleName:`workbox-routing`,funcName:`registerRoute`,paramName:`capture`});return P().registerRoute(i),i}function I(e,t=[]){for(let n of[...e.searchParams.keys()])t.some(e=>e.test(n))&&e.searchParams.delete(n);return e}function*L(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:n=`index.html`,cleanURLs:r=!0,urlManipulation:i}={}){let a=new URL(e,location.href);a.hash=``,yield a.href;let o=I(a,t);if(yield o.href,n&&o.pathname.endsWith(`/`)){let e=new URL(o.href);e.pathname+=n,yield e.href}if(r){let e=new URL(o.href);e.pathname+=`.html`,yield e.href}if(i){let e=i({url:a});for(let t of e)yield t.href}}var R=class extends A{constructor(e,t){super(({request:n})=>{let r=e.getURLsToCacheKeys();for(let i of L(n.url,t)){let t=r.get(i);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}};function z(e){F(new R(O(),e))}function B(e){O().precache(e)}function V(e,t){B(e),z(t)}V([{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"31f581ec0ffcdf0d172635228b907ffd","url":"index.html"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-512.svg"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-192.svg"},{"revision":"0797b652383bb69d817f1695b75742ec","url":"donate-qr.png"},{"revision":"eb9818b9094675c0c5d303168f273345","url":"monacoeditorwork/ts.worker.bundle.js"},{"revision":"9af0be92dcefdc1f1290441cb5ff5d9b","url":"monacoeditorwork/json.worker.bundle.js"},{"revision":"a261b429c39dbb75ae97972d7d005e6d","url":"monacoeditorwork/html.worker.bundle.js"},{"revision":"79953d804e1bbacecfd79b85fd679016","url":"monacoeditorwork/editor.worker.bundle.js"},{"revision":"fdcba0d09aac31df7a0bc652f6e739bd","url":"monacoeditorwork/css.worker.bundle.js"},{"revision":null,"url":"assets/zig-BWs2Qo3G.js"},{"revision":null,"url":"assets/zenscript-CoT4yNdA.js"},{"revision":null,"url":"assets/yaml-CIVV9uA1.js"},{"revision":null,"url":"assets/xsl-DQEFs6Dd.js"},{"revision":null,"url":"assets/xml-MmDclzxK.js"},{"revision":null,"url":"assets/x-Bdaog6Az.js"},{"revision":null,"url":"assets/ws-auth-FRzMmfQx.js"},{"revision":null,"url":"assets/wolfram-6T_1D-NS.js"},{"revision":null,"url":"assets/wit--gl2Jium.js"},{"revision":null,"url":"assets/window-store-CfxP5yor.js"},{"revision":null,"url":"assets/window-pip-registry-BWxaVLj5.js"},{"revision":null,"url":"assets/wikitext-CmcG9B69.js"},{"revision":null,"url":"assets/wgsl-CVujtm3V.js"},{"revision":null,"url":"assets/wenyan-B8plxIr8.js"},{"revision":null,"url":"assets/wasm-ClFJgzmT.js"},{"revision":null,"url":"assets/wasm-C02wlRbP.js"},{"revision":null,"url":"assets/vyper-D8cRDPp3.js"},{"revision":null,"url":"assets/vue-vine-BdrMg72k.js"},{"revision":null,"url":"assets/vue-html-Dg0xUJCh.js"},{"revision":null,"url":"assets/vue-EvccXlkP.js"},{"revision":null,"url":"assets/vitesse-light-DgkIT-N7.js"},{"revision":null,"url":"assets/vitesse-dark-BU5s4AuG.js"},{"revision":null,"url":"assets/vitesse-black-PYXW4-BO.js"},{"revision":null,"url":"assets/viml-CiWjaqBY.js"},{"revision":null,"url":"assets/video-preview-Dc4YbBqm.js"},{"revision":null,"url":"assets/vhdl-CVawmgMg.js"},{"revision":null,"url":"assets/vesper-CK1naZAV.js"},{"revision":null,"url":"assets/verilog-A-3pYPad.js"},{"revision":null,"url":"assets/vendor-xterm-YQlzIWv2.js"},{"revision":null,"url":"assets/vendor-xterm-DkTCHfhq.css"},{"revision":null,"url":"assets/vendor-ui-BBdkypKW.js"},{"revision":null,"url":"assets/vendor-mermaid-CfY1-PkA.js"},{"revision":null,"url":"assets/vendor-markdown-CuWCHIVb.js"},{"revision":null,"url":"assets/vb-BIEbSxyT.js"},{"revision":null,"url":"assets/vala-CGVKwbPx.js"},{"revision":null,"url":"assets/v-Ch6E4Egd.js"},{"revision":null,"url":"assets/utils-IrnQujwR.js"},{"revision":null,"url":"assets/use-websocket-DQg9BQcq.js"},{"revision":null,"url":"assets/use-visual-viewport-CNdG4QHH.js"},{"revision":null,"url":"assets/use-remote-desktop-display-choice-BnVT4dhX.js"},{"revision":null,"url":"assets/use-open-team-member-DGEx9xB0.js"},{"revision":null,"url":"assets/use-monaco-theme-DTPfPPvF.js"},{"revision":null,"url":"assets/use-is-mobile-Bi42QhIi.js"},{"revision":null,"url":"assets/use-inline-blame-D2pZjDoA.js"},{"revision":null,"url":"assets/use-coarse-long-press-BsBpxWup.js"},{"revision":null,"url":"assets/use-blob-url-D358Rpyp.js"},{"revision":null,"url":"assets/use-accounts-data-B9t4BQaI.js"},{"revision":null,"url":"assets/typst-DWG2c48-.js"},{"revision":null,"url":"assets/typespec-B0wvVykx.js"},{"revision":null,"url":"assets/typescript-BPd-hsrR.js"},{"revision":null,"url":"assets/twig-C8Fd5RvV.js"},{"revision":null,"url":"assets/turtle-DWH-Rjse.js"},{"revision":null,"url":"assets/tsx-BuYN0I2t.js"},{"revision":null,"url":"assets/tsv-CXJMbBrb.js"},{"revision":null,"url":"assets/ts-tags-D1DDO2jl.js"},{"revision":null,"url":"assets/treemap-KZPCXAKY-DiumLNMg.js"},{"revision":null,"url":"assets/tool-cards-yiwO861p.js"},{"revision":null,"url":"assets/toml-CD6y9A-z.js"},{"revision":null,"url":"assets/tokyo-night-Cz9Uh9qb.js"},{"revision":null,"url":"assets/text-wrap-DafY0-Pa.js"},{"revision":null,"url":"assets/tex-IQ8mELOR.js"},{"revision":null,"url":"assets/terraform-75jJDjpW.js"},{"revision":null,"url":"assets/terminal-tab-DlZW3MCn.js"},{"revision":null,"url":"assets/templ-BAdNyIOL.js"},{"revision":null,"url":"assets/team-member-window-content-BwOTsc9r.js"},{"revision":null,"url":"assets/team-member-sheet-BA70_jmM.js"},{"revision":null,"url":"assets/tcl-B79aC6l5.js"},{"revision":null,"url":"assets/tasl-Cb7RAl11.js"},{"revision":null,"url":"assets/talonscript-B0HXaCVT.js"},{"revision":null,"url":"assets/table-8HT8BG30.js"},{"revision":null,"url":"assets/tab-store-B2ip0-Mv.js"},{"revision":null,"url":"assets/tab-host-window-content-C7F6D8hJ.js"},{"revision":null,"url":"assets/systemd-CtNo_WIh.js"},{"revision":null,"url":"assets/system-verilog-DUIVrZHZ.js"},{"revision":null,"url":"assets/system-monitor-window-content-BaKoFDEz.js"},{"revision":null,"url":"assets/system-monitor-tab-tXkg3jpV.js"},{"revision":null,"url":"assets/system-monitor-body-C2mVJ7PV.js"},{"revision":null,"url":"assets/synthwave-84-DQaNM3DI.js"},{"revision":null,"url":"assets/swift-0uqTFouD.js"},{"revision":null,"url":"assets/svelte-D3oMVcxz.js"},{"revision":null,"url":"assets/surrealql-Caw1ADnG.js"},{"revision":null,"url":"assets/stylus-BP4mE1sO.js"},{"revision":null,"url":"assets/streaming-store-QQvg1cS-.js"},{"revision":null,"url":"assets/stata-B5J-QMyE.js"},{"revision":null,"url":"assets/ssh-config-3Fr37ACC.js"},{"revision":null,"url":"assets/sqlite-viewer-O5lF3MMj.js"},{"revision":null,"url":"assets/sql-query-editor-BoYxc5vd.js"},{"revision":null,"url":"assets/sql-7FE_Duz0.js"},{"revision":null,"url":"assets/splunk-CtxfFKtF.js"},{"revision":null,"url":"assets/sparql-Bo8ZDeqE.js"},{"revision":null,"url":"assets/sparkles-blTKn0vi.js"},{"revision":null,"url":"assets/soy-rz9hilgm.js"},{"revision":null,"url":"assets/solidity-C9t7pZ84.js"},{"revision":null,"url":"assets/solarized-light-BecaDAnG.js"},{"revision":null,"url":"assets/solarized-dark-CzxTJgVQ.js"},{"revision":null,"url":"assets/snazzy-light-BrWerT0t.js"},{"revision":null,"url":"assets/smalltalk-D6qVBL1U.js"},{"revision":null,"url":"assets/slack-ochin-BKt1E7sL.js"},{"revision":null,"url":"assets/slack-dark-aL6vlxZs.js"},{"revision":null,"url":"assets/shield-off-E1cQwXdc.js"},{"revision":null,"url":"assets/shield-check-BJSX7cAS.js"},{"revision":null,"url":"assets/shellsession-CFX4c_TM.js"},{"revision":null,"url":"assets/shellscript-OFZbPKZH.js"},{"revision":null,"url":"assets/shaderlab-CPu31TpY.js"},{"revision":null,"url":"assets/settings-window-content-sA1K0cPW.js"},{"revision":null,"url":"assets/settings-tab-ChAk8nh2.js"},{"revision":null,"url":"assets/settings-store-_s4xFcFq.js"},{"revision":null,"url":"assets/settings-body-CcKls51a.js"},{"revision":null,"url":"assets/separator-DvCsdlws.js"},{"revision":null,"url":"assets/send-to-chat-Kl-0dNwN.js"},{"revision":null,"url":"assets/send-B9VUQlEK.js"},{"revision":null,"url":"assets/sdbl-C4Yrjlgh.js"},{"revision":null,"url":"assets/scss-BknIVgn7.js"},{"revision":null,"url":"assets/scheme-Bd3VdaZj.js"},{"revision":null,"url":"assets/schedules-settings-section-DcKEz-S7.js"},{"revision":null,"url":"assets/scala-8lVKsTvf.js"},{"revision":null,"url":"assets/save-B1y4KIK9.js"},{"revision":null,"url":"assets/sass-Dos3R5lL.js"},{"revision":null,"url":"assets/sas-DfB5dcFC.js"},{"revision":null,"url":"assets/rust-C_eH59O_.js"},{"revision":null,"url":"assets/run-in-terminal-DoTOtgQS.js"},{"revision":null,"url":"assets/ruby-BCO4polC.js"},{"revision":null,"url":"assets/rst-DAXedsgm.js"},{"revision":null,"url":"assets/rosmsg-EciOaHo2.js"},{"revision":null,"url":"assets/rose-pine-moon-dj4Zxgik.js"},{"revision":null,"url":"assets/rose-pine-DhxfJWcm.js"},{"revision":null,"url":"assets/rose-pine-dawn-BbGt9Wy_.js"},{"revision":null,"url":"assets/ron-BpjosPS0.js"},{"revision":null,"url":"assets/rolldown-runtime-FhOqtrmT.js"},{"revision":null,"url":"assets/riscv-BZDwx-lv.js"},{"revision":null,"url":"assets/resolve-theme-CMp5xxCW.js"},{"revision":null,"url":"assets/remote-desktop-window-content-BW2KqONI.js"},{"revision":null,"url":"assets/remote-desktop-readiness-gate-6reSZvad.js"},{"revision":null,"url":"assets/remote-desktop-mobile-view-Gk8UCVIx.js"},{"revision":null,"url":"assets/remote-desktop-mobile-sheet-6JdUr0Bj.js"},{"revision":null,"url":"assets/rel-cWOyTUwd.js"},{"revision":null,"url":"assets/regexp-CEOVGIzy.js"},{"revision":null,"url":"assets/reg-Qv4f0JFA.js"},{"revision":null,"url":"assets/red-ObAvgvQ5.js"},{"revision":null,"url":"assets/react-DqIU0LFM.js"},{"revision":null,"url":"assets/razor-DFB0pNCh.js"},{"revision":null,"url":"assets/raku-z14Q9i7K.js"},{"revision":null,"url":"assets/radar-KQ55EAFF-4LzjL0Zt.js"},{"revision":null,"url":"assets/racket-COKgCFuM.js"},{"revision":null,"url":"assets/r-P6Ujy8rf.js"},{"revision":null,"url":"assets/query-audit-section-Drk97gb8.js"},{"revision":null,"url":"assets/qss-D5xB-Mqo.js"},{"revision":null,"url":"assets/qmldir-4uiTcwAu.js"},{"revision":null,"url":"assets/qml-B-cQXhrg.js"},{"revision":null,"url":"assets/python-BYpqq6u4.js"},{"revision":null,"url":"assets/purescript-Cj2aTX4s.js"},{"revision":null,"url":"assets/puppet-BQDQ3Snu.js"},{"revision":null,"url":"assets/pug-BOpaczDr.js"},{"revision":null,"url":"assets/proxy-settings-section-xrTsFlTF.js"},{"revision":null,"url":"assets/proto-BM4eadF7.js"},{"revision":null,"url":"assets/prolog-D8jSMykJ.js"},{"revision":null,"url":"assets/project-store-C83MMnlt.js"},{"revision":null,"url":"assets/process-table-DH_HXtGc.js"},{"revision":null,"url":"assets/prisma-DBtYaWFk.js"},{"revision":null,"url":"assets/ppmbot-settings-section-Cma4VU7p.js"},{"revision":null,"url":"assets/powershell-upFWhb-b.js"},{"revision":null,"url":"assets/powerquery-RL8O9Wie.js"},{"revision":null,"url":"assets/power-CvtnQHU4.js"},{"revision":null,"url":"assets/postgres-viewer-C__Z0C0s.js"},{"revision":null,"url":"assets/postcss-lbFhe0rz.js"},{"revision":null,"url":"assets/portal-container-context-DeLx1cOI.js"},{"revision":null,"url":"assets/polar-2-luY1Pc.js"},{"revision":null,"url":"assets/poimandres-Uq0xysxM.js"},{"revision":null,"url":"assets/po-CLLC8BuA.js"},{"revision":null,"url":"assets/plsql-C1v07teA.js"},{"revision":null,"url":"assets/plastic-vF15LmNS.js"},{"revision":null,"url":"assets/pkl-DzKM6BuM.js"},{"revision":null,"url":"assets/pie-UPGHQEXC-PU6kD0rW.js"},{"revision":null,"url":"assets/php-D9n1ikHN.js"},{"revision":null,"url":"assets/perl-BU0kbB-K.js"},{"revision":null,"url":"assets/pdf-preview-Cq33D5ej.js"},{"revision":null,"url":"assets/pascal-CoDZxcRB.js"},{"revision":null,"url":"assets/panel-store-D42k25jy.js"},{"revision":null,"url":"assets/packet-RMMSAZCW-ClD3l2Bs.js"},{"revision":null,"url":"assets/overview-panel-DA0QB1-5.js"},{"revision":null,"url":"assets/openscad-DAgLA5J3.js"},{"revision":null,"url":"assets/one-light-BMRMInAj.js"},{"revision":null,"url":"assets/one-dark-pro-BURxmIp3.js"},{"revision":null,"url":"assets/odin-DiUFngnd.js"},{"revision":null,"url":"assets/ocaml-xdzl9rRD.js"},{"revision":null,"url":"assets/objective-cpp-Buc1Zhd0.js"},{"revision":null,"url":"assets/objective-c-BGDR33XN.js"},{"revision":null,"url":"assets/nushell-CmUdltKn.js"},{"revision":null,"url":"assets/number-overlay-editor-DldrUNs4.js"},{"revision":null,"url":"assets/notifications-settings-section-CeRvkXOM.js"},{"revision":null,"url":"assets/notification-store-DvUtkAXs.js"},{"revision":null,"url":"assets/nord-B0Head1v.js"},{"revision":null,"url":"assets/nix-DrdwQ70g.js"},{"revision":null,"url":"assets/nim-BSqTBYDj.js"},{"revision":null,"url":"assets/night-owl-light-DtcBiMEf.js"},{"revision":null,"url":"assets/night-owl-Bm4LhUR1.js"},{"revision":null,"url":"assets/nginx-Crpyd-Do.js"},{"revision":null,"url":"assets/nextflow-groovy-CeVLUTuQ.js"},{"revision":null,"url":"assets/nextflow-DBVZnnT_.js"},{"revision":null,"url":"assets/narrat-CbOBdtCn.js"},{"revision":null,"url":"assets/move-BUlkn0xW.js"},{"revision":null,"url":"assets/moonbit-DdphIGs6.js"},{"revision":null,"url":"assets/monokai-CrFoD2VD.js"},{"revision":null,"url":"assets/monitor-CG69bSMW.js"},{"revision":null,"url":"assets/mojo-DQnGGPHf.js"},{"revision":null,"url":"assets/mobile-explorer-sheet-C1q_DhrI.js"},{"revision":null,"url":"assets/mobile-bottom-sheet-Ch1e_JBq.js"},{"revision":null,"url":"assets/mipsasm-zI_zu0tj.js"},{"revision":null,"url":"assets/min-light-DzAckd0t.js"},{"revision":null,"url":"assets/min-dark-D4DhjgRE.js"},{"revision":null,"url":"assets/mermaid-8Eow4jz_.js"},{"revision":null,"url":"assets/media-url-TYMlO0M5.js"},{"revision":null,"url":"assets/mdx-Cl5_YNoz.js"},{"revision":null,"url":"assets/mdc-B8aXPTg7.js"},{"revision":null,"url":"assets/matlab-D6xZas_8.js"},{"revision":null,"url":"assets/material-theme-palenight-CoOjdbti.js"},{"revision":null,"url":"assets/material-theme-ocean-Bkgh25P8.js"},{"revision":null,"url":"assets/material-theme-lighter-x_lMi74j.js"},{"revision":null,"url":"assets/material-theme-darker-DsQeueDD.js"},{"revision":null,"url":"assets/material-theme-CIx_sxAy.js"},{"revision":null,"url":"assets/marko-BDxwBJur.js"},{"revision":null,"url":"assets/markdown-renderer-DtQIHtLs.js"},{"revision":null,"url":"assets/markdown-renderer-BGPo364Y.js"},{"revision":null,"url":"assets/markdown-BB1_3xLr.js"},{"revision":null,"url":"assets/make-XbDn9GHe.js"},{"revision":null,"url":"assets/luau-nfGo2ulP.js"},{"revision":null,"url":"assets/lua-DEGIvn7d.js"},{"revision":null,"url":"assets/logo-CP91aQyG.js"},{"revision":null,"url":"assets/log-DtyR34Ie.js"},{"revision":null,"url":"assets/loader-circle-DxI3O9_f.js"},{"revision":null,"url":"assets/llvm-sCBTKCKN.js"},{"revision":null,"url":"assets/liquid-BxPJU2ix.js"},{"revision":null,"url":"assets/light-plus-DiHU2KL5.js"},{"revision":null,"url":"assets/libesm-CdttTIAd.js"},{"revision":null,"url":"assets/lib-BAsciSLw.js"},{"revision":null,"url":"assets/less-B5tQZOdI.js"},{"revision":null,"url":"assets/lean-Cuvh_QAP.js"},{"revision":null,"url":"assets/latex-Dt3OUlMZ.js"},{"revision":null,"url":"assets/laserwave-iLKb1ZCT.js"},{"revision":null,"url":"assets/kusto-DU7OpovF.js"},{"revision":null,"url":"assets/kotlin-DkhUVMDC.js"},{"revision":null,"url":"assets/keyboard-shortcuts-section-DOJi75mV.js"},{"revision":null,"url":"assets/keyboard-BLwfiRkT.js"},{"revision":null,"url":"assets/keybindings-store-B5dEz0n1.js"},{"revision":null,"url":"assets/key-round-oIll4vo-.js"},{"revision":null,"url":"assets/kdl-DirGHqUy.js"},{"revision":null,"url":"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2"},{"revision":null,"url":"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2"},{"revision":null,"url":"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2"},{"revision":null,"url":"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2"},{"revision":null,"url":"assets/KaTeX_Script-Regular-D3wIWfF6.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2"},{"revision":null,"url":"assets/KaTeX_Math-Italic-t53AETM-.woff2"},{"revision":null,"url":"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Regular-B22Nviop.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2"},{"revision":null,"url":"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Bold-Cx986IdX.woff2"},{"revision":null,"url":"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2"},{"revision":null,"url":"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2"},{"revision":null,"url":"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2"},{"revision":null,"url":"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2"},{"revision":null,"url":"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2"},{"revision":null,"url":"assets/kanagawa-wave-DSWbRS9M.js"},{"revision":null,"url":"assets/kanagawa-lotus-fupRg5wp.js"},{"revision":null,"url":"assets/kanagawa-dragon-DhxR0UjL.js"},{"revision":null,"url":"assets/just-BTuUKpxF.js"},{"revision":null,"url":"assets/julia-Dd_iYQDT.js"},{"revision":null,"url":"assets/jsx-Chnii_vB.js"},{"revision":null,"url":"assets/jssm-BXnl1nur.js"},{"revision":null,"url":"assets/jsonnet-D21Ms51e.js"},{"revision":null,"url":"assets/jsonl-CpqHmtC1.js"},{"revision":null,"url":"assets/jsonc-Bie0E6D3.js"},{"revision":null,"url":"assets/json5-mPOwTOsB.js"},{"revision":null,"url":"assets/json-CMMLBCUf.js"},{"revision":null,"url":"assets/jison-BY6WLJVu.js"},{"revision":null,"url":"assets/jira-watcher-section-VyzVbAnw.js"},{"revision":null,"url":"assets/jinja-yHpyD80t.js"},{"revision":null,"url":"assets/javascript-DHhCH2TN.js"},{"revision":null,"url":"assets/java-rGr0OQD8.js"},{"revision":null,"url":"assets/ini-Dd1KkMrB.js"},{"revision":null,"url":"assets/info-3K5VOQVL-BciNds6R.js"},{"revision":null,"url":"assets/index-DVNJ2W5R.js"},{"revision":null,"url":"assets/index-B9Wbjl0o.css"},{"revision":null,"url":"assets/imba-BipCHEY2.js"},{"revision":null,"url":"assets/image-preview-V5SglTWk.js"},{"revision":null,"url":"assets/image-gallery-J8h8IY0c.js"},{"revision":null,"url":"assets/hy-Cd4hTidD.js"},{"revision":null,"url":"assets/hxml-DAle7vtu.js"},{"revision":null,"url":"assets/hurl-BScKFk3Z.js"},{"revision":null,"url":"assets/http-CexhotTh.js"},{"revision":null,"url":"assets/html-Dk4wmfwC.js"},{"revision":null,"url":"assets/html-derivative-CJWqfN51.js"},{"revision":null,"url":"assets/houston-CTXv3Puz.js"},{"revision":null,"url":"assets/horizon-CU8Bi_ss.js"},{"revision":null,"url":"assets/horizon-bright-iSQ3_3jP.js"},{"revision":null,"url":"assets/hlsl-Bd-DO_WL.js"},{"revision":null,"url":"assets/hjson-CboJsAzK.js"},{"revision":null,"url":"assets/hcl-QmNZdAtI.js"},{"revision":null,"url":"assets/haxe-LWTKfPKr.js"},{"revision":null,"url":"assets/haskell-B5V7yvmh.js"},{"revision":null,"url":"assets/handlebars-B66JmVtp.js"},{"revision":null,"url":"assets/hand-CIPALZsE.js"},{"revision":null,"url":"assets/haml-CBqeCQ2A.js"},{"revision":null,"url":"assets/hack-pLogDwAs.js"},{"revision":null,"url":"assets/gruvbox-light-soft-AqsC9mKw.js"},{"revision":null,"url":"assets/gruvbox-light-medium-DQJQZ_rV.js"},{"revision":null,"url":"assets/gruvbox-light-hard-CjJ994Ip.js"},{"revision":null,"url":"assets/gruvbox-dark-soft-48dCxX9M.js"},{"revision":null,"url":"assets/gruvbox-dark-medium-BvcwpYJ-.js"},{"revision":null,"url":"assets/gruvbox-dark-hard-DD9fguUN.js"},{"revision":null,"url":"assets/group-chat-tab-CTAhtVCr.js"},{"revision":null,"url":"assets/groovy-DpV0RA5r.js"},{"revision":null,"url":"assets/graphql-Ck06uCZy.js"},{"revision":null,"url":"assets/go-CRsHi4Cw.js"},{"revision":null,"url":"assets/gnuplot-c5uXmJKc.js"},{"revision":null,"url":"assets/gn-D7NUVJuv.js"},{"revision":null,"url":"assets/glsl-DZ8G_Hvf.js"},{"revision":null,"url":"assets/glimmer-ts-DPZtxF8N.js"},{"revision":null,"url":"assets/glimmer-js-BY1XApJJ.js"},{"revision":null,"url":"assets/glide-data-grid-nthEL3fk.css"},{"revision":null,"url":"assets/glide-data-grid-JKEslqGe.js"},{"revision":null,"url":"assets/gleam-CWSxvD0C.js"},{"revision":null,"url":"assets/github-light-high-contrast-BPlnke0a.js"},{"revision":null,"url":"assets/github-light-DVsO5Un1.js"},{"revision":null,"url":"assets/github-light-default-BiyPxicr.js"},{"revision":null,"url":"assets/github-dark-high-contrast-CTx8LpdV.js"},{"revision":null,"url":"assets/github-dark-dimmed-CeWfII_B.js"},{"revision":null,"url":"assets/github-dark-default-Cktqe6NF.js"},{"revision":null,"url":"assets/github-dark-BOPhyugs.js"},{"revision":null,"url":"assets/gitGraph-HDMCJU4V-CPd78aaT.js"},{"revision":null,"url":"assets/git-rebase-DrvmQCS7.js"},{"revision":null,"url":"assets/git-log-panel-BQZkJDu0.js"},{"revision":null,"url":"assets/git-commit-BW0p3Ekk.js"},{"revision":null,"url":"assets/gherkin-bTJiHIrB.js"},{"revision":null,"url":"assets/genie-SBt15wn7.js"},{"revision":null,"url":"assets/general-settings-section-BW_h8pdA.js"},{"revision":null,"url":"assets/gdshader-Dj1qP4I5.js"},{"revision":null,"url":"assets/gdscript-Cx056p_k.js"},{"revision":null,"url":"assets/gdresource-B3yFau4V.js"},{"revision":null,"url":"assets/fsharp-DKMYbq6I.js"},{"revision":null,"url":"assets/fortran-free-form-CUg3Xhz4.js"},{"revision":null,"url":"assets/fortran-fixed-form-CWbxmDGR.js"},{"revision":null,"url":"assets/format-bytes-Bc6SqF7M.js"},{"revision":null,"url":"assets/folder-symlink-BavsIzoj.js"},{"revision":null,"url":"assets/fluent-CgXDXdyy.js"},{"revision":null,"url":"assets/flask-conical-Dix4qNDj.js"},{"revision":null,"url":"assets/fish-D0T0fILG.js"},{"revision":null,"url":"assets/files-settings-section-D7v-6nTa.js"},{"revision":null,"url":"assets/file-exclamation-point-D5K2aaLi.js"},{"revision":null,"url":"assets/fennel-Bh4vsA1A.js"},{"revision":null,"url":"assets/eye-off-CmtfyRUD.js"},{"revision":null,"url":"assets/eye-dfZn7evX.js"},{"revision":null,"url":"assets/extension-webview-DZ_QRZSM.js"},{"revision":null,"url":"assets/extension-manager-section-CtcpVMWs.js"},{"revision":null,"url":"assets/explorer-window-content-CqKVMkgW.js"},{"revision":null,"url":"assets/explorer-body-CVx4qaIF.js"},{"revision":null,"url":"assets/everforest-light-TcTbK1sM.js"},{"revision":null,"url":"assets/everforest-dark-CHHLt7cq.js"},{"revision":null,"url":"assets/esm-BHyWbWKE.js"},{"revision":null,"url":"assets/erlang-BRqOjXH9.js"},{"revision":null,"url":"assets/erb-Z_E49ab8.js"},{"revision":null,"url":"assets/emacs-lisp-CEHJqI4m.js"},{"revision":null,"url":"assets/elm-BU8C2gFp.js"},{"revision":null,"url":"assets/elixir-CsYMBLc5.js"},{"revision":null,"url":"assets/edit-diff-preview-BvgPvuhH.js"},{"revision":null,"url":"assets/edge-aqGMtbY3.js"},{"revision":null,"url":"assets/dream-maker-DDTJVuoy.js"},{"revision":null,"url":"assets/dracula-soft-Bfeew5Wg.js"},{"revision":null,"url":"assets/dracula-8U6Vkk3l.js"},{"revision":null,"url":"assets/download-D70Q4Ba6.js"},{"revision":null,"url":"assets/dotenv-DCvtdaGJ.js"},{"revision":null,"url":"assets/docx-preview-B7Aospmh.js"},{"revision":null,"url":"assets/docker-DevchDxK.js"},{"revision":null,"url":"assets/dist-CWMPvPem.js"},{"revision":null,"url":"assets/dist-BKOM_AoT.js"},{"revision":null,"url":"assets/diff-viewer-CMzFnBCD.js"},{"revision":null,"url":"assets/diff-CWnJBd73.js"},{"revision":null,"url":"assets/desktop-DekGg0BT.js"},{"revision":null,"url":"assets/dax-B4I2e7d8.js"},{"revision":null,"url":"assets/database-viewer-Ckqg_-SS.js"},{"revision":null,"url":"assets/database-Dz0W7OH7.js"},{"revision":null,"url":"assets/data-grid-types-BfGeMDy0.js"},{"revision":null,"url":"assets/data-grid-overlay-editor-dnWnblYo.js"},{"revision":null,"url":"assets/dart-C5mZnjoE.js"},{"revision":null,"url":"assets/dark-plus-56kmnrcl.js"},{"revision":null,"url":"assets/d-BASiTZk4.js"},{"revision":null,"url":"assets/cypher-DWtqXXFP.js"},{"revision":null,"url":"assets/cue-Cr6y60TA.js"},{"revision":null,"url":"assets/csv-preview-ou3KFzIH.js"},{"revision":null,"url":"assets/csv-parser-DbxGKdMG.js"},{"revision":null,"url":"assets/csv-BAcTN8Kt.js"},{"revision":null,"url":"assets/css-CPe4cabH.js"},{"revision":null,"url":"assets/csharp-Dpjw9ZA9.js"},{"revision":null,"url":"assets/crystal-D2pJbFUn.js"},{"revision":null,"url":"assets/createLucideIcon-D6fVXe3s.js"},{"revision":null,"url":"assets/cpp-BnWeWAoE.js"},{"revision":null,"url":"assets/coq-Dco3qwD8.js"},{"revision":null,"url":"assets/copy-CXuIH4VC.js"},{"revision":null,"url":"assets/context-menu-DM9CgxGh.js"},{"revision":null,"url":"assets/conflict-editor-C-Nv8YYj.js"},{"revision":null,"url":"assets/common-lisp-BhHuD6t0.js"},{"revision":null,"url":"assets/coffee-D7DoKh5b.js"},{"revision":null,"url":"assets/codeql-BKh1RCg0.js"},{"revision":null,"url":"assets/codeowners-Cl5897L_.js"},{"revision":null,"url":"assets/code-editor-CKASeDbu.js"},{"revision":null,"url":"assets/code-CRiIHSiv.js"},{"revision":null,"url":"assets/cobol-BreMVrtc.js"},{"revision":null,"url":"assets/cmake-D5RF49e5.js"},{"revision":null,"url":"assets/clojure-CwP5aPEo.js"},{"revision":null,"url":"assets/clock-BmPiGrSF.js"},{"revision":null,"url":"assets/clarity-Ct3UqLBj.js"},{"revision":null,"url":"assets/circle-question-mark-qcWYO1P_.js"},{"revision":null,"url":"assets/circle-OKk7s0DX.js"},{"revision":null,"url":"assets/chevron-up-BPAINgoK.js"},{"revision":null,"url":"assets/chevron-right-DK_HbYZC.js"},{"revision":null,"url":"assets/chevron-down-B9puixxZ.js"},{"revision":null,"url":"assets/check-BQKbhtoA.js"},{"revision":null,"url":"assets/chat-tab-Dn45anqr.js"},{"revision":null,"url":"assets/catppuccin-mocha-b0md48XM.js"},{"revision":null,"url":"assets/catppuccin-macchiato-D8WOWZeo.js"},{"revision":null,"url":"assets/catppuccin-latte-Dewo7yDf.js"},{"revision":null,"url":"assets/catppuccin-frappe-Dn32MuhA.js"},{"revision":null,"url":"assets/can-open-in-ppm-_yqa69dV.js"},{"revision":null,"url":"assets/calendar-clock-CDP7AVjA.js"},{"revision":null,"url":"assets/cairo-5CpV2T1P.js"},{"revision":null,"url":"assets/cadence-CUFCEgG9.js"},{"revision":null,"url":"assets/c3-D_DrzBUd.js"},{"revision":null,"url":"assets/c-txZFr4RM.js"},{"revision":null,"url":"assets/button-zgoXa9r7.js"},{"revision":null,"url":"assets/bsl-CJ7_JlQ8.js"},{"revision":null,"url":"assets/brain-CuAQMSBE.js"},{"revision":null,"url":"assets/bot-D3-n2i31.js"},{"revision":null,"url":"assets/blade-DOIpINLw.js"},{"revision":null,"url":"assets/bird2-yrBNbW1G.js"},{"revision":null,"url":"assets/bicep-BKgAbfVa.js"},{"revision":null,"url":"assets/bibtex-CAm7mgEm.js"},{"revision":null,"url":"assets/berry-BE5YKqvx.js"},{"revision":null,"url":"assets/beancount-DYDztRI0.js"},{"revision":null,"url":"assets/bat-BlQCq2XE.js"},{"revision":null,"url":"assets/ballerina-DACRT-sT.js"},{"revision":null,"url":"assets/ayu-mirage-Dv-XOprJ.js"},{"revision":null,"url":"assets/ayu-light-DKLLilkU.js"},{"revision":null,"url":"assets/ayu-dark-XlnQhuLL.js"},{"revision":null,"url":"assets/awk-B7GBzF92.js"},{"revision":null,"url":"assets/aurora-x-C5J9fWe1.js"},{"revision":null,"url":"assets/audio-preview-DPMXOZ55.js"},{"revision":null,"url":"assets/astro-D0b8ssLD.js"},{"revision":null,"url":"assets/asm-27qeoPOI.js"},{"revision":null,"url":"assets/asciidoc-gc8z_MMY.js"},{"revision":null,"url":"assets/arrow-left-DpXaakMC.js"},{"revision":null,"url":"assets/architecture-PBZL5I3N-DfR8k8Bc.js"},{"revision":null,"url":"assets/ara-C3iECgdg.js"},{"revision":null,"url":"assets/apply-theme-BVXAUYoN.js"},{"revision":null,"url":"assets/applescript-D_SIFkKe.js"},{"revision":null,"url":"assets/appearance-settings-section-BBlJtEm5.js"},{"revision":null,"url":"assets/apl-CKZvgs-w.js"},{"revision":null,"url":"assets/api-themes-CmJZLEY1.js"},{"revision":null,"url":"assets/api-settings-BQIwZoLm.js"},{"revision":null,"url":"assets/api-client-DwXlVfXP.js"},{"revision":null,"url":"assets/api-client-CYZ79uUS.js"},{"revision":null,"url":"assets/apex-B7GiXrAr.js"},{"revision":null,"url":"assets/apache-B7uMPNiW.js"},{"revision":null,"url":"assets/angular-ts-CQiu5F_W.js"},{"revision":null,"url":"assets/angular-html-BtJLNcMw.js"},{"revision":null,"url":"assets/andromeeda-D0LK9YJ3.js"},{"revision":null,"url":"assets/ai-settings-section-M07DCjAI.js"},{"revision":null,"url":"assets/ai-settings-section-446NZWhI.js"},{"revision":null,"url":"assets/ai-resource-editor-CMQfhxXp.js"},{"revision":null,"url":"assets/ada-DxatBcxS.js"},{"revision":null,"url":"assets/actionscript-3-D2tIzAm8.js"},{"revision":null,"url":"assets/accounts-settings-section-CRXY4Bsc.js"},{"revision":null,"url":"assets/abap-D-o-bvtI.js"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-192.svg"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-512.svg"},{"revision":"26dccd02a2ef7522892015154f5e3680","url":"manifest.webmanifest"}]);
1
+ try{self[`workbox:core:7.3.0`]&&_()}catch{}var e=(e,...t)=>{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n},t=class extends Error{constructor(t,n){let r=e(t,n);super(r),this.name=t,this.details=n}},n={googleAnalytics:`googleAnalytics`,precache:`precache-v2`,prefix:`workbox`,runtime:`runtime`,suffix:typeof registration<`u`?registration.scope:``},r=e=>[n.prefix,e,n.suffix].filter(e=>e&&e.length>0).join(`-`),i=e=>{for(let t of Object.keys(n))e(t)},a={updateDetails:e=>{i(t=>{typeof e[t]==`string`&&(n[t]=e[t])})},getGoogleAnalyticsName:e=>e||r(n.googleAnalytics),getPrecacheName:e=>e||r(n.precache),getPrefix:()=>n.prefix,getRuntimeName:e=>e||r(n.runtime),getSuffix:()=>n.suffix};function o(e,t){let n=t();return e.waitUntil(n),n}try{self[`workbox:precaching:7.3.0`]&&_()}catch{}var s=`__WB_REVISION__`;function c(e){if(!e)throw new t(`add-to-cache-list-unexpected-type`,{entry:e});if(typeof e==`string`){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:n,url:r}=e;if(!r)throw new t(`add-to-cache-list-unexpected-type`,{entry:e});if(!n){let e=new URL(r,location.href);return{cacheKey:e.href,url:e.href}}let i=new URL(r,location.href),a=new URL(r,location.href);return i.searchParams.set(s,n),{cacheKey:i.href,url:a.href}}var l=class{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type===`install`&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}},u=class{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let n=t?.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}},d;function f(){if(d===void 0){let e=new Response(``);if(`body`in e)try{new Response(e.body),d=!0}catch{d=!1}d=!1}return d}async function p(e,n){let r=null;if(e.url&&(r=new URL(e.url).origin),r!==self.location.origin)throw new t(`cross-origin-copy-response`,{origin:r});let i=e.clone(),a={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=n?n(a):a,s=f()?i.body:await i.blob();return new Response(s,o)}var m=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),``);function h(e,t){let n=new URL(e);for(let e of t)n.searchParams.delete(e);return n.href}async function g(e,t,n,r){let i=h(t.url,n);if(t.url===i)return e.match(t,r);let a=Object.assign(Object.assign({},r),{ignoreSearch:!0}),o=await e.keys(t,a);for(let t of o)if(i===h(t.url,n))return e.match(t,r)}var v=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}},y=new Set;async function b(){for(let e of y)await e()}function x(e){return new Promise(t=>setTimeout(t,e))}try{self[`workbox:strategies:7.3.0`]&&_()}catch{}function S(e){return typeof e==`string`?new Request(e):e}var C=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new v,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(let e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:n}=this,r=S(e);if(r.mode===`navigate`&&n instanceof FetchEvent&&n.preloadResponse){let e=await n.preloadResponse;if(e)return e}let i=this.hasCallback(`fetchDidFail`)?r.clone():null;try{for(let e of this.iterateCallbacks(`requestWillFetch`))r=await e({request:r.clone(),event:n})}catch(e){if(e instanceof Error)throw new t(`plugin-error-request-will-fetch`,{thrownErrorMessage:e.message})}let a=r.clone();try{let e;e=await fetch(r,r.mode===`navigate`?void 0:this._strategy.fetchOptions);for(let t of this.iterateCallbacks(`fetchDidSucceed`))e=await t({event:n,request:a,response:e});return e}catch(e){throw i&&await this.runCallbacks(`fetchDidFail`,{error:e,event:n,originalRequest:i.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){let t=S(e),n,{cacheName:r,matchOptions:i}=this._strategy,a=await this.getCacheKey(t,`read`),o=Object.assign(Object.assign({},i),{cacheName:r});n=await caches.match(a,o);for(let e of this.iterateCallbacks(`cachedResponseWillBeUsed`))n=await e({cacheName:r,matchOptions:i,cachedResponse:n,request:a,event:this.event})||void 0;return n}async cachePut(e,n){let r=S(e);await x(0);let i=await this.getCacheKey(r,`write`);if(!n)throw new t(`cache-put-with-no-response`,{url:m(i.url)});let a=await this._ensureResponseSafeToCache(n);if(!a)return!1;let{cacheName:o,matchOptions:s}=this._strategy,c=await self.caches.open(o),l=this.hasCallback(`cacheDidUpdate`),u=l?await g(c,i.clone(),[`__WB_REVISION__`],s):null;try{await c.put(i,l?a.clone():a)}catch(e){if(e instanceof Error)throw e.name===`QuotaExceededError`&&await b(),e}for(let e of this.iterateCallbacks(`cacheDidUpdate`))await e({cacheName:o,oldResponse:u,newResponse:a.clone(),request:i,event:this.event});return!0}async getCacheKey(e,t){let n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(let e of this.iterateCallbacks(`cacheKeyWillBeUsed`))r=S(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if(typeof t[e]==`function`){let n=this._pluginStateMap.get(t);yield r=>{let i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){let e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>e.status===`rejected`);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(let e of this.iterateCallbacks(`cacheWillUpdate`))if(t=await e({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},w=class{constructor(e={}){this.cacheName=a.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,n=typeof e.request==`string`?new Request(e.request):e.request,r=`params`in e?e.params:void 0,i=new C(this,{event:t,request:n,params:r}),a=this._getResponse(i,n,t);return[a,this._awaitComplete(a,i,n,t)]}async _getResponse(e,n,r){await e.runCallbacks(`handlerWillStart`,{event:r,request:n});let i;try{if(i=await this._handle(n,e),!i||i.type===`error`)throw new t(`no-response`,{url:n.url})}catch(t){if(t instanceof Error){for(let a of e.iterateCallbacks(`handlerDidError`))if(i=await a({error:t,event:r,request:n}),i)break}if(!i)throw t}for(let t of e.iterateCallbacks(`handlerWillRespond`))i=await t({event:r,request:n,response:i});return i}async _awaitComplete(e,t,n,r){let i,a;try{i=await e}catch{}try{await t.runCallbacks(`handlerDidRespond`,{event:r,request:n,response:i}),await t.doneWaiting()}catch(e){e instanceof Error&&(a=e)}if(await t.runCallbacks(`handlerDidComplete`,{event:r,request:n,response:i,error:a}),t.destroy(),a)throw a}},T=class e extends w{constructor(t={}){t.cacheName=a.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=t.fallbackToNetwork!==!1,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&t.event.type===`install`?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,n){let r,i=n.params||{};if(this._fallbackToNetwork){let t=i.integrity,a=e.integrity,o=!a||a===t;r=await n.fetch(new Request(e,{integrity:e.mode===`no-cors`?void 0:a||t})),t&&o&&e.mode!==`no-cors`&&(this._useDefaultCacheabilityPluginIfNeeded(),await n.cachePut(e,r.clone()))}else throw new t(`missing-precache-entry`,{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,n){this._useDefaultCacheabilityPluginIfNeeded();let r=await n.fetch(e);if(!await n.cachePut(e,r.clone()))throw new t(`bad-precaching-response`,{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let t=null,n=0;for(let[r,i]of this.plugins.entries())i!==e.copyRedirectedCacheableResponsesPlugin&&(i===e.defaultPrecacheCacheabilityPlugin&&(t=r),i.cacheWillUpdate&&n++);n===0?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):n>1&&t!==null&&this.plugins.splice(t,1)}};T.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},T.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await p(e):e}};var E=class{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new T({cacheName:a.getPrecacheName(e),plugins:[...t,new u({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||=(self.addEventListener(`install`,this.install),self.addEventListener(`activate`,this.activate),!0)}addToCacheList(e){let n=[];for(let r of e){typeof r==`string`?n.push(r):r&&r.revision===void 0&&n.push(r.url);let{cacheKey:e,url:i}=c(r),a=typeof r!=`string`&&r.revision?`reload`:`default`;if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==e)throw new t(`add-to-cache-list-conflicting-entries`,{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:e});if(typeof r!=`string`&&r.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==r.integrity)throw new t(`add-to-cache-list-conflicting-integrities`,{url:i});this._cacheKeysToIntegrities.set(e,r.integrity)}if(this._urlsToCacheKeys.set(i,e),this._urlsToCacheModes.set(i,a),n.length>0){let e=`Workbox is precaching URLs without revision info: ${n.join(`, `)}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return o(e,async()=>{let t=new l;this.strategy.plugins.push(t);for(let[t,n]of this._urlsToCacheKeys){let r=this._cacheKeysToIntegrities.get(n),i=this._urlsToCacheModes.get(t),a=new Request(t,{integrity:r,cache:i,credentials:`same-origin`});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:a,event:e}))}let{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return o(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),n=new Set(this._urlsToCacheKeys.values()),r=[];for(let i of t)n.has(i.url)||(await e.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){let n=this.getCacheKeyForURL(e);if(!n)throw new t(`non-precached-url`,{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:n},t.params),this.strategy.handle(t))}},D,O=()=>(D||=new E,D);try{self[`workbox:routing:7.3.0`]&&_()}catch{}var k=e=>e&&typeof e==`object`?e:{handle:e},A=class{constructor(e,t,n=`GET`){this.handler=k(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=k(e)}},j=class extends A{constructor(e,t,n){super(({url:t})=>{let n=e.exec(t.href);if(n&&!(t.origin!==location.origin&&n.index!==0))return n.slice(1)},t,n)}},M=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener(`fetch`,(e=>{let{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener(`message`,(e=>{if(e.data&&e.data.type===`CACHE_URLS`){let{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(t=>{typeof t==`string`&&(t=[t]);let n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){let n=new URL(e.url,location.href);if(!n.protocol.startsWith(`http`))return;let r=n.origin===location.origin,{params:i,route:a}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n}),o=a&&a.handler,s=e.method;if(!o&&this._defaultHandlerMap.has(s)&&(o=this._defaultHandlerMap.get(s)),!o)return;let c;try{c=o.handle({url:n,request:e,event:t,params:i})}catch(e){c=Promise.reject(e)}let l=a&&a.catchHandler;return c instanceof Promise&&(this._catchHandler||l)&&(c=c.catch(async r=>{if(l)try{return await l.handle({url:n,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),c}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){let i=this._routes.get(n.method)||[];for(let a of i){let i,o=a.match({url:e,sameOrigin:t,request:n,event:r});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o==`boolean`)&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t=`GET`){this._defaultHandlerMap.set(t,k(e))}setCatchHandler(e){this._catchHandler=k(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t(`unregister-route-but-not-found-with-method`,{method:e.method});let n=this._routes.get(e.method).indexOf(e);if(n>-1)this._routes.get(e.method).splice(n,1);else throw new t(`unregister-route-route-not-registered`)}},N,P=()=>(N||(N=new M,N.addFetchListener(),N.addCacheListener()),N);function F(e,n,r){let i;if(typeof e==`string`){let t=new URL(e,location.href);i=new A(({url:e})=>e.href===t.href,n,r)}else if(e instanceof RegExp)i=new j(e,n,r);else if(typeof e==`function`)i=new A(e,n,r);else if(e instanceof A)i=e;else throw new t(`unsupported-route-type`,{moduleName:`workbox-routing`,funcName:`registerRoute`,paramName:`capture`});return P().registerRoute(i),i}function I(e,t=[]){for(let n of[...e.searchParams.keys()])t.some(e=>e.test(n))&&e.searchParams.delete(n);return e}function*L(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:n=`index.html`,cleanURLs:r=!0,urlManipulation:i}={}){let a=new URL(e,location.href);a.hash=``,yield a.href;let o=I(a,t);if(yield o.href,n&&o.pathname.endsWith(`/`)){let e=new URL(o.href);e.pathname+=n,yield e.href}if(r){let e=new URL(o.href);e.pathname+=`.html`,yield e.href}if(i){let e=i({url:a});for(let t of e)yield t.href}}var R=class extends A{constructor(e,t){super(({request:n})=>{let r=e.getURLsToCacheKeys();for(let i of L(n.url,t)){let t=r.get(i);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}};function z(e){F(new R(O(),e))}function B(e){O().precache(e)}function V(e,t){B(e),z(t)}V([{"revision":"1872c500de691dce40960bb85481de07","url":"registerSW.js"},{"revision":"c42341de2dcef9538d9f946fc572d7b4","url":"index.html"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-512.svg"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-192.svg"},{"revision":"0797b652383bb69d817f1695b75742ec","url":"donate-qr.png"},{"revision":"948e060affb598c339be40d69e1f6f9c","url":"monacoeditorwork/ts.worker.bundle.js"},{"revision":"a5d8a1acfc29c2a4c882a54ffc93def3","url":"monacoeditorwork/json.worker.bundle.js"},{"revision":"d0f94ce046cf8cf09605ee7664dac557","url":"monacoeditorwork/html.worker.bundle.js"},{"revision":"a424156a79b9c1b907db93aa3180585a","url":"monacoeditorwork/editor.worker.bundle.js"},{"revision":"b3a7f967560c9816492a1567b3f7f0dc","url":"monacoeditorwork/css.worker.bundle.js"},{"revision":null,"url":"assets/zig-BbLb6ieN.js"},{"revision":null,"url":"assets/zenscript-D31myxQh.js"},{"revision":null,"url":"assets/yaml-D1as76NB.js"},{"revision":null,"url":"assets/xsl-CdnFww1s.js"},{"revision":null,"url":"assets/xml-CXzUNYMl.js"},{"revision":null,"url":"assets/x-TEI-uJYo.js"},{"revision":null,"url":"assets/ws-auth-ZB8jvzhM.js"},{"revision":null,"url":"assets/wolfram-vrjPFD7R.js"},{"revision":null,"url":"assets/wit-BZjaDTy9.js"},{"revision":null,"url":"assets/window-store-BSXqIkwB.js"},{"revision":null,"url":"assets/window-pip-registry-DfPfSFQg.js"},{"revision":null,"url":"assets/wikitext-QkQQVra5.js"},{"revision":null,"url":"assets/wgsl-DY5sHamz.js"},{"revision":null,"url":"assets/wenyan-BafBYCBu.js"},{"revision":null,"url":"assets/wasm-DbLMmiW0.js"},{"revision":null,"url":"assets/wasm-D5Vd7qV1.js"},{"revision":null,"url":"assets/vyper-dUuvAUFJ.js"},{"revision":null,"url":"assets/vue-vine-DQ8US6vO.js"},{"revision":null,"url":"assets/vue-html-DbAh9aHW.js"},{"revision":null,"url":"assets/vue-TgfQfAF8.js"},{"revision":null,"url":"assets/vitesse-light-CXIFICUA.js"},{"revision":null,"url":"assets/vitesse-dark-CR0XeT-h.js"},{"revision":null,"url":"assets/vitesse-black-BVm23GJE.js"},{"revision":null,"url":"assets/viml-De-Hm57y.js"},{"revision":null,"url":"assets/video-preview-BlD1DNP8.js"},{"revision":null,"url":"assets/vhdl-8IeO85hx.js"},{"revision":null,"url":"assets/vesper-SO5Hw_2X.js"},{"revision":null,"url":"assets/verilog-uQ-oJRKp.js"},{"revision":null,"url":"assets/vendor-xterm-DkTCHfhq.css"},{"revision":null,"url":"assets/vendor-xterm-BtjgHRUe.js"},{"revision":null,"url":"assets/vendor-ui-D1NQnrtd.js"},{"revision":null,"url":"assets/vendor-mermaid-BoRFiriK.js"},{"revision":null,"url":"assets/vendor-markdown-3-bej77C.js"},{"revision":null,"url":"assets/vb-mxG_YZv2.js"},{"revision":null,"url":"assets/vala-rBXMujLw.js"},{"revision":null,"url":"assets/v-C5rFgF81.js"},{"revision":null,"url":"assets/utils-CwNUra6_.js"},{"revision":null,"url":"assets/use-websocket-CUKjQFAl.js"},{"revision":null,"url":"assets/use-visual-viewport-hdC_hRtB.js"},{"revision":null,"url":"assets/use-remote-desktop-display-choice-B4O11KIj.js"},{"revision":null,"url":"assets/use-open-team-member-BlUqTp-l.js"},{"revision":null,"url":"assets/use-monaco-theme-D2ETCHji.js"},{"revision":null,"url":"assets/use-is-mobile-BsqeOLv4.js"},{"revision":null,"url":"assets/use-inline-blame-BLPCADZ8.js"},{"revision":null,"url":"assets/use-coarse-long-press-CynaAB7m.js"},{"revision":null,"url":"assets/use-blob-url-D-NnFGAr.js"},{"revision":null,"url":"assets/typst-BmEouVT1.js"},{"revision":null,"url":"assets/typespec-DLL0LoZj.js"},{"revision":null,"url":"assets/typescript-DbwnrRKJ.js"},{"revision":null,"url":"assets/twig-ZcDaz0E8.js"},{"revision":null,"url":"assets/turtle-BbwC417u.js"},{"revision":null,"url":"assets/tsx-Cp-c_JHF.js"},{"revision":null,"url":"assets/tsv-ClmhsiiR.js"},{"revision":null,"url":"assets/ts-tags-CObhnP_s.js"},{"revision":null,"url":"assets/treemap-KZPCXAKY-BBrhTPZk.js"},{"revision":null,"url":"assets/tool-cards-CjirOQfx.js"},{"revision":null,"url":"assets/toml-BkejsZF3.js"},{"revision":null,"url":"assets/tokyo-night-DHB1Yc-3.js"},{"revision":null,"url":"assets/text-wrap-97GXZlav.js"},{"revision":null,"url":"assets/tex-B9CPrNBA.js"},{"revision":null,"url":"assets/terraform-DXzABgqQ.js"},{"revision":null,"url":"assets/terminal-tab-uNw7Yvwg.js"},{"revision":null,"url":"assets/templ-BxGWIwYz.js"},{"revision":null,"url":"assets/team-member-window-content-CBWnzwZ1.js"},{"revision":null,"url":"assets/team-member-sheet-BXJtrQAB.js"},{"revision":null,"url":"assets/tcl-Dt8iP0sw.js"},{"revision":null,"url":"assets/tasl-DycI0-Tf.js"},{"revision":null,"url":"assets/talonscript-CDoODzml.js"},{"revision":null,"url":"assets/table-BbD_HNPU.js"},{"revision":null,"url":"assets/tab-store-Dsk4jnlN.js"},{"revision":null,"url":"assets/tab-host-window-content-23IR3qzu.js"},{"revision":null,"url":"assets/systemd-XnScP_8M.js"},{"revision":null,"url":"assets/system-verilog-DMqtAclw.js"},{"revision":null,"url":"assets/system-monitor-window-content-CvvwXkmW.js"},{"revision":null,"url":"assets/system-monitor-tab-BXRvCThe.js"},{"revision":null,"url":"assets/system-monitor-body-BqPyB0CY.js"},{"revision":null,"url":"assets/synthwave-84-CEeyTLD7.js"},{"revision":null,"url":"assets/swift-DJwuT1eZ.js"},{"revision":null,"url":"assets/svelte-BqLoF5fB.js"},{"revision":null,"url":"assets/surrealql-B5M94PT2.js"},{"revision":null,"url":"assets/stylus-CmLQe7Fq.js"},{"revision":null,"url":"assets/streaming-store-Dw3ZR1E4.js"},{"revision":null,"url":"assets/stata-Bt5IUWCl.js"},{"revision":null,"url":"assets/ssh-config-62Vrd_7v.js"},{"revision":null,"url":"assets/sqlite-viewer-BWLSC3VJ.js"},{"revision":null,"url":"assets/sql-query-editor-BTMEy88p.js"},{"revision":null,"url":"assets/sql-DyUvXbLi.js"},{"revision":null,"url":"assets/splunk-C6oWgmrC.js"},{"revision":null,"url":"assets/sparql-BEH92-9e.js"},{"revision":null,"url":"assets/sparkles-Bay_CedB.js"},{"revision":null,"url":"assets/soy-CKNCwmqR.js"},{"revision":null,"url":"assets/solidity-uUJPOjGx.js"},{"revision":null,"url":"assets/solarized-light-B6Q4CXBt.js"},{"revision":null,"url":"assets/solarized-dark-zSs85XH6.js"},{"revision":null,"url":"assets/snazzy-light-bo9fX83t.js"},{"revision":null,"url":"assets/smalltalk-LQDcL_tW.js"},{"revision":null,"url":"assets/slack-ochin--Yu-v0r6.js"},{"revision":null,"url":"assets/slack-dark-D63Fbr3l.js"},{"revision":null,"url":"assets/shield-off-Dx5mw3le.js"},{"revision":null,"url":"assets/shield-check-46EViZ6-.js"},{"revision":null,"url":"assets/shellsession-DG_WIFRW.js"},{"revision":null,"url":"assets/shellscript-C09f889h.js"},{"revision":null,"url":"assets/shaderlab-BuCltaXx.js"},{"revision":null,"url":"assets/settings-window-content-CVxOGqPV.js"},{"revision":null,"url":"assets/settings-tab-DCW-3C38.js"},{"revision":null,"url":"assets/settings-store-CuQlVCIe.js"},{"revision":null,"url":"assets/settings-body-Baw2komX.js"},{"revision":null,"url":"assets/separator-CE0YEyaB.js"},{"revision":null,"url":"assets/send-to-chat-01eMNs3j.js"},{"revision":null,"url":"assets/send-DQz3yIWM.js"},{"revision":null,"url":"assets/sdbl-wn_BtpSz.js"},{"revision":null,"url":"assets/scss-B9m4FneT.js"},{"revision":null,"url":"assets/scheme-Z-DWgvmB.js"},{"revision":null,"url":"assets/schedules-settings-section-BUqf3KTd.js"},{"revision":null,"url":"assets/scala-gZhcvPGv.js"},{"revision":null,"url":"assets/save-CIuK3QI4.js"},{"revision":null,"url":"assets/sass-CbVwBbUd.js"},{"revision":null,"url":"assets/sas-CuyZeQJw.js"},{"revision":null,"url":"assets/rust-DVeWF3Is.js"},{"revision":null,"url":"assets/run-in-terminal-Yt_lq4T9.js"},{"revision":null,"url":"assets/ruby-sRcfbjlr.js"},{"revision":null,"url":"assets/rst-s3rP0H8p.js"},{"revision":null,"url":"assets/rosmsg-iqzz1U38.js"},{"revision":null,"url":"assets/rose-pine-moon-CrYHzRJm.js"},{"revision":null,"url":"assets/rose-pine-dawn-C9JfuUh8.js"},{"revision":null,"url":"assets/rose-pine-CUYRoYal.js"},{"revision":null,"url":"assets/ron-DDHGmvxW.js"},{"revision":null,"url":"assets/rolldown-runtime-FhOqtrmT.js"},{"revision":null,"url":"assets/riscv-B2P26ROS.js"},{"revision":null,"url":"assets/resolve-theme-Dm8ehbOv.js"},{"revision":null,"url":"assets/remote-desktop-window-content-DlGUCbxq.js"},{"revision":null,"url":"assets/remote-desktop-readiness-gate-rL48PCUH.js"},{"revision":null,"url":"assets/remote-desktop-mobile-view-D__2WLV5.js"},{"revision":null,"url":"assets/remote-desktop-mobile-sheet-CG6h4OL2.js"},{"revision":null,"url":"assets/rel-CrGcWbwM.js"},{"revision":null,"url":"assets/regexp-Cs-hPAru.js"},{"revision":null,"url":"assets/reg-4gnm7BOP.js"},{"revision":null,"url":"assets/red-C634f6x3.js"},{"revision":null,"url":"assets/react-Bf5xrFLG.js"},{"revision":null,"url":"assets/razor-DVDe2z8Z.js"},{"revision":null,"url":"assets/raku-DDf8ASYE.js"},{"revision":null,"url":"assets/radar-KQ55EAFF-CS4sHKD5.js"},{"revision":null,"url":"assets/racket-CpguQMOj.js"},{"revision":null,"url":"assets/r-CxE2X3lg.js"},{"revision":null,"url":"assets/query-audit-section-qnSL15x8.js"},{"revision":null,"url":"assets/qss-CyegwBrl.js"},{"revision":null,"url":"assets/qmldir-B5ox9idu.js"},{"revision":null,"url":"assets/qml-DBt6oNnU.js"},{"revision":null,"url":"assets/python-Dlxo2z6Q.js"},{"revision":null,"url":"assets/purescript-HbM4Dt8M.js"},{"revision":null,"url":"assets/puppet-oLpQOx2h.js"},{"revision":null,"url":"assets/pug-CHds8FDl.js"},{"revision":null,"url":"assets/proxy-settings-section-BlLWfinY.js"},{"revision":null,"url":"assets/proto-BHcnh-Db.js"},{"revision":null,"url":"assets/prolog-DfIbN_m8.js"},{"revision":null,"url":"assets/project-store-DCDLF-x3.js"},{"revision":null,"url":"assets/process-table-BfixzY3r.js"},{"revision":null,"url":"assets/prisma-vhORN1Sx.js"},{"revision":null,"url":"assets/ppmbot-settings-section-Cef8FSS6.js"},{"revision":null,"url":"assets/powershell-ZqZF93a-.js"},{"revision":null,"url":"assets/powerquery-mc-bbl3v.js"},{"revision":null,"url":"assets/power-BMdSjXYW.js"},{"revision":null,"url":"assets/postgres-viewer-DmbVhmJ8.js"},{"revision":null,"url":"assets/postcss-EDnOs84S.js"},{"revision":null,"url":"assets/portal-container-context-DO44JpXO.js"},{"revision":null,"url":"assets/polar-DtRx-uzO.js"},{"revision":null,"url":"assets/poimandres-NeQA7ZSh.js"},{"revision":null,"url":"assets/po-BN9bpeJD.js"},{"revision":null,"url":"assets/plsql-CVikvjWK.js"},{"revision":null,"url":"assets/plastic-DxceXlOD.js"},{"revision":null,"url":"assets/pkl-BlIRJsyQ.js"},{"revision":null,"url":"assets/pie-UPGHQEXC-nzfJdXCC.js"},{"revision":null,"url":"assets/php-DXc7GdU9.js"},{"revision":null,"url":"assets/perl-DAexWIeo.js"},{"revision":null,"url":"assets/pdf-preview-C28MEOND.js"},{"revision":null,"url":"assets/pascal-ChqM3eJD.js"},{"revision":null,"url":"assets/panel-store-BcgZsiXU.js"},{"revision":null,"url":"assets/packet-RMMSAZCW-B20_sIFd.js"},{"revision":null,"url":"assets/overview-panel-Ni1Wqr3E.js"},{"revision":null,"url":"assets/openscad-C7LYrrI4.js"},{"revision":null,"url":"assets/one-light-DpYva-U1.js"},{"revision":null,"url":"assets/one-dark-pro-581te-yF.js"},{"revision":null,"url":"assets/odin-tK6CU-OU.js"},{"revision":null,"url":"assets/ocaml-G6x51MAm.js"},{"revision":null,"url":"assets/objective-cpp-DpiXqKhj.js"},{"revision":null,"url":"assets/objective-c-DrEbGERB.js"},{"revision":null,"url":"assets/nushell-Dx7K7YNI.js"},{"revision":null,"url":"assets/number-overlay-editor-CGZ1ObrN.js"},{"revision":null,"url":"assets/notifications-settings-section-Cci_OOHx.js"},{"revision":null,"url":"assets/notification-store-CRlOB9I9.js"},{"revision":null,"url":"assets/nord-VG8J_Wfy.js"},{"revision":null,"url":"assets/nix-C_KqthNc.js"},{"revision":null,"url":"assets/nim-KrUnNSwZ.js"},{"revision":null,"url":"assets/night-owl-light-_NLbQQrl.js"},{"revision":null,"url":"assets/night-owl-3ALu1K6e.js"},{"revision":null,"url":"assets/nginx-BfbjvmIV.js"},{"revision":null,"url":"assets/nextflow-xJ5dkaQ2.js"},{"revision":null,"url":"assets/nextflow-groovy-D5beSS3L.js"},{"revision":null,"url":"assets/narrat-CyMxkfZJ.js"},{"revision":null,"url":"assets/move-CA6YZdSC.js"},{"revision":null,"url":"assets/moonbit-zOAryA05.js"},{"revision":null,"url":"assets/monokai-DOSMe3B9.js"},{"revision":null,"url":"assets/monitor-DEoVYSPl.js"},{"revision":null,"url":"assets/mojo-CWTvit9D.js"},{"revision":null,"url":"assets/mobile-explorer-sheet-BMg4Q9Bm.js"},{"revision":null,"url":"assets/mobile-bottom-sheet-GSto0_0m.js"},{"revision":null,"url":"assets/mipsasm-anKs0TGD.js"},{"revision":null,"url":"assets/min-light-Ps7CV3R0.js"},{"revision":null,"url":"assets/min-dark-DUklXai3.js"},{"revision":null,"url":"assets/mermaid-q_sEDHYr.js"},{"revision":null,"url":"assets/media-url-D43IHXnP.js"},{"revision":null,"url":"assets/mdx-DLlDpnjI.js"},{"revision":null,"url":"assets/mdc-AX9XWu8K.js"},{"revision":null,"url":"assets/matlab-Zpc8hvmI.js"},{"revision":null,"url":"assets/material-theme-palenight-DFW4xdPI.js"},{"revision":null,"url":"assets/material-theme-ocean-CGbfRrFG.js"},{"revision":null,"url":"assets/material-theme-lighter-D6esgP3h.js"},{"revision":null,"url":"assets/material-theme-darker-CRGzh4Ox.js"},{"revision":null,"url":"assets/material-theme-XMfEph9O.js"},{"revision":null,"url":"assets/marko-_hrXozl2.js"},{"revision":null,"url":"assets/markdown-renderer-CMNnYOPG.js"},{"revision":null,"url":"assets/markdown-renderer-BSiaxWjE.js"},{"revision":null,"url":"assets/markdown-B1JzcsJb.js"},{"revision":null,"url":"assets/make-DIVSnx7D.js"},{"revision":null,"url":"assets/luau-BMbN7IqN.js"},{"revision":null,"url":"assets/lua-C1zfiqhG.js"},{"revision":null,"url":"assets/logo-Dtjk3XHO.js"},{"revision":null,"url":"assets/log-C32HpwgI.js"},{"revision":null,"url":"assets/loader-circle-Bm-Dq_wA.js"},{"revision":null,"url":"assets/llvm-Dzok661y.js"},{"revision":null,"url":"assets/liquid-DTVs9cD3.js"},{"revision":null,"url":"assets/light-plus-BCaKDxvd.js"},{"revision":null,"url":"assets/libesm-CcPYXCKp.js"},{"revision":null,"url":"assets/lib-CFTK00ux.js"},{"revision":null,"url":"assets/less-DZeD4ccP.js"},{"revision":null,"url":"assets/lean-DQtq2qQC.js"},{"revision":null,"url":"assets/latex-C6Rb_zGG.js"},{"revision":null,"url":"assets/laserwave-ByV7LuzT.js"},{"revision":null,"url":"assets/kusto-B0PONVdx.js"},{"revision":null,"url":"assets/kotlin-BvUjvPz2.js"},{"revision":null,"url":"assets/keyboard-shortcuts-section-DAFNxA49.js"},{"revision":null,"url":"assets/keyboard-IQMXPNIE.js"},{"revision":null,"url":"assets/keybindings-store-CNqxSJxv.js"},{"revision":null,"url":"assets/key-round-BhkPzOjZ.js"},{"revision":null,"url":"assets/kdl-DT8Argim.js"},{"revision":null,"url":"assets/kanagawa-wave-624mOWgc.js"},{"revision":null,"url":"assets/kanagawa-lotus-BmYPLC4f.js"},{"revision":null,"url":"assets/kanagawa-dragon-nywk9qzg.js"},{"revision":null,"url":"assets/just-BEfj8dHN.js"},{"revision":null,"url":"assets/julia-DwFjOpos.js"},{"revision":null,"url":"assets/jsx-fXHHDCVl.js"},{"revision":null,"url":"assets/jssm-BALAIF_E.js"},{"revision":null,"url":"assets/jsonnet-sNz5wf7H.js"},{"revision":null,"url":"assets/jsonl-DKItgfTA.js"},{"revision":null,"url":"assets/jsonc-BFcq-Nx-.js"},{"revision":null,"url":"assets/json5--8nFeehk.js"},{"revision":null,"url":"assets/json-DiknJGdj.js"},{"revision":null,"url":"assets/jison-CZtpkLiY.js"},{"revision":null,"url":"assets/jira-watcher-section-DZvWeUAW.js"},{"revision":null,"url":"assets/jinja-D3jMH0jG.js"},{"revision":null,"url":"assets/javascript-CxvTx_wu.js"},{"revision":null,"url":"assets/java-BqKIPPzY.js"},{"revision":null,"url":"assets/ini-BCYCXf0w.js"},{"revision":null,"url":"assets/info-3K5VOQVL-btSsuixb.js"},{"revision":null,"url":"assets/index-Di9nVG3y.css"},{"revision":null,"url":"assets/index-BfDJvjH9.js"},{"revision":null,"url":"assets/imba-D11-b73t.js"},{"revision":null,"url":"assets/image-preview-DjT5Xb2L.js"},{"revision":null,"url":"assets/image-gallery-COea0nSk.js"},{"revision":null,"url":"assets/hy-BposFX9Q.js"},{"revision":null,"url":"assets/hxml-BRhRKwSo.js"},{"revision":null,"url":"assets/hurl-Hf7XWQHN.js"},{"revision":null,"url":"assets/http-DBxROFKc.js"},{"revision":null,"url":"assets/html-derivative-VZmoMdQD.js"},{"revision":null,"url":"assets/html-H_S3FJMj.js"},{"revision":null,"url":"assets/houston-BeYbWPdk.js"},{"revision":null,"url":"assets/horizon-bright-C4eTVZPB.js"},{"revision":null,"url":"assets/horizon-CTFgrxGb.js"},{"revision":null,"url":"assets/hlsl-Ua1j-4aZ.js"},{"revision":null,"url":"assets/hjson-fgd7F6t5.js"},{"revision":null,"url":"assets/hcl-BWfTkyhR.js"},{"revision":null,"url":"assets/haxe-CppquubK.js"},{"revision":null,"url":"assets/haskell-D1twJpgj.js"},{"revision":null,"url":"assets/handlebars-B8fZzj2G.js"},{"revision":null,"url":"assets/hand-BomFk_WG.js"},{"revision":null,"url":"assets/haml-AjKlANaB.js"},{"revision":null,"url":"assets/hack-lKfhn1vw.js"},{"revision":null,"url":"assets/gruvbox-light-soft-Coyp7RRB.js"},{"revision":null,"url":"assets/gruvbox-light-medium-9E1Brisc.js"},{"revision":null,"url":"assets/gruvbox-light-hard-FoElS0Wo.js"},{"revision":null,"url":"assets/gruvbox-dark-soft-spQNOlQ2.js"},{"revision":null,"url":"assets/gruvbox-dark-medium-CJgayBQH.js"},{"revision":null,"url":"assets/gruvbox-dark-hard-DRYdA7rg.js"},{"revision":null,"url":"assets/group-chat-tab-Ch6OGMKj.js"},{"revision":null,"url":"assets/groovy-D8U-plxc.js"},{"revision":null,"url":"assets/graphql-CEvXbo6e.js"},{"revision":null,"url":"assets/go-DLqnNJpz.js"},{"revision":null,"url":"assets/gnuplot-a1TK_67n.js"},{"revision":null,"url":"assets/gn-fxgN7J9Q.js"},{"revision":null,"url":"assets/glsl-DHW88hTv.js"},{"revision":null,"url":"assets/glimmer-ts-C0WfcQnO.js"},{"revision":null,"url":"assets/glimmer-js-B4hPYBMX.js"},{"revision":null,"url":"assets/glide-data-grid-nthEL3fk.css"},{"revision":null,"url":"assets/glide-data-grid-BxFN-Z6F.js"},{"revision":null,"url":"assets/gleam-G2907CEQ.js"},{"revision":null,"url":"assets/github-light-high-contrast-BH3u_hMd.js"},{"revision":null,"url":"assets/github-light-default-BLQcyxQl.js"},{"revision":null,"url":"assets/github-light-C49nlhDa.js"},{"revision":null,"url":"assets/github-dark-high-contrast-Dai8qNkr.js"},{"revision":null,"url":"assets/github-dark-dimmed-BVgm_raB.js"},{"revision":null,"url":"assets/github-dark-default-DNEUWmc8.js"},{"revision":null,"url":"assets/github-dark-5S2AJM2m.js"},{"revision":null,"url":"assets/gitGraph-HDMCJU4V-At-P8hlA.js"},{"revision":null,"url":"assets/git-rebase-DPvHNzQr.js"},{"revision":null,"url":"assets/git-log-panel-DYLF-XSq.js"},{"revision":null,"url":"assets/git-commit-DedchUJ6.js"},{"revision":null,"url":"assets/gherkin-DT66zHzt.js"},{"revision":null,"url":"assets/genie-CN3-FS9S.js"},{"revision":null,"url":"assets/general-settings-section-CWYR9F5y.js"},{"revision":null,"url":"assets/gdshader-FZCS76-j.js"},{"revision":null,"url":"assets/gdscript-DToF1duE.js"},{"revision":null,"url":"assets/gdresource-CYZFZ057.js"},{"revision":null,"url":"assets/fsharp-BEWvY_ZR.js"},{"revision":null,"url":"assets/fortran-free-form-DjGQrmKa.js"},{"revision":null,"url":"assets/fortran-fixed-form-yAUsSjab.js"},{"revision":null,"url":"assets/format-bytes-B9Dbme9a.js"},{"revision":null,"url":"assets/folder-symlink-DKTEop0L.js"},{"revision":null,"url":"assets/fluent-B3F6P-xc.js"},{"revision":null,"url":"assets/flask-conical-BUxpYe-g.js"},{"revision":null,"url":"assets/fish-qpLXUfGf.js"},{"revision":null,"url":"assets/files-settings-section-CVHPO3N9.js"},{"revision":null,"url":"assets/file-exclamation-point-DpdJqj9-.js"},{"revision":null,"url":"assets/fennel-BZz92X8f.js"},{"revision":null,"url":"assets/eye-off-YWCuob9F.js"},{"revision":null,"url":"assets/eye-DYS5JBeU.js"},{"revision":null,"url":"assets/extension-webview-CQB0Uvdo.js"},{"revision":null,"url":"assets/extension-manager-section-DMb56aut.js"},{"revision":null,"url":"assets/explorer-window-content-Hy9kB6Q7.js"},{"revision":null,"url":"assets/explorer-body-CExMoOiW.js"},{"revision":null,"url":"assets/everforest-light-DRZC8v3w.js"},{"revision":null,"url":"assets/everforest-dark-CDQGzEiq.js"},{"revision":null,"url":"assets/esm-C5xqy163.js"},{"revision":null,"url":"assets/erlang-CEf8Sfhs.js"},{"revision":null,"url":"assets/erb-BgvaH9l0.js"},{"revision":null,"url":"assets/emacs-lisp-C6btr6QV.js"},{"revision":null,"url":"assets/elm-eVlzIFEZ.js"},{"revision":null,"url":"assets/elixir-DL8mOfzH.js"},{"revision":null,"url":"assets/edit-diff-preview-ESj6hMoD.js"},{"revision":null,"url":"assets/edge--MpXROh5.js"},{"revision":null,"url":"assets/dream-maker-Di3hAOzX.js"},{"revision":null,"url":"assets/dracula-soft-B-95hu1J.js"},{"revision":null,"url":"assets/dracula-CTtuacPO.js"},{"revision":null,"url":"assets/download-hiDsGuxx.js"},{"revision":null,"url":"assets/dotenv-C4fc3fLK.js"},{"revision":null,"url":"assets/docx-preview-PsyMM8SN.js"},{"revision":null,"url":"assets/docker-51FhFKmM.js"},{"revision":null,"url":"assets/dist-C_bG2Tku.js"},{"revision":null,"url":"assets/dist-BTdRgQig.js"},{"revision":null,"url":"assets/diff-viewer-BomFSnpH.js"},{"revision":null,"url":"assets/diff-CAbIXu6l.js"},{"revision":null,"url":"assets/desktop-CAHGHZLk.js"},{"revision":null,"url":"assets/dax-DQwsaFe_.js"},{"revision":null,"url":"assets/database-viewer-CiwQ6spt.js"},{"revision":null,"url":"assets/database-BHxcoKlT.js"},{"revision":null,"url":"assets/data-grid-types-Uu77aFvI.js"},{"revision":null,"url":"assets/data-grid-overlay-editor-DJWgclot.js"},{"revision":null,"url":"assets/dart-Hxx4mUdp.js"},{"revision":null,"url":"assets/dark-plus-BXlM9uFB.js"},{"revision":null,"url":"assets/d-BFVkgfjO.js"},{"revision":null,"url":"assets/cypher-u-EM8HmU.js"},{"revision":null,"url":"assets/cue-D2bSqa4C.js"},{"revision":null,"url":"assets/csv-preview-Ds2oCW6U.js"},{"revision":null,"url":"assets/csv-parser-iow1WWML.js"},{"revision":null,"url":"assets/csv-Bsal3rDr.js"},{"revision":null,"url":"assets/css-CthwUm0E.js"},{"revision":null,"url":"assets/csharp-CXL6GcvM.js"},{"revision":null,"url":"assets/crystal-B7u_ZTpu.js"},{"revision":null,"url":"assets/createLucideIcon-CLMdC3Kl.js"},{"revision":null,"url":"assets/cpp-BmKOH-E0.js"},{"revision":null,"url":"assets/coq-CVz-5qYC.js"},{"revision":null,"url":"assets/copy-Bqr2VxN5.js"},{"revision":null,"url":"assets/context-menu-I07Ld1Yr.js"},{"revision":null,"url":"assets/conflict-editor-B0Mj8pYR.js"},{"revision":null,"url":"assets/common-lisp-DlhZ-mM8.js"},{"revision":null,"url":"assets/coffee-D5ShQC08.js"},{"revision":null,"url":"assets/codex-daily-guard-h4ZpEemV.js"},{"revision":null,"url":"assets/codeql-DDUO6ZHS.js"},{"revision":null,"url":"assets/codeowners-Dgqmdm5J.js"},{"revision":null,"url":"assets/code-editor-D-8oqMBM.js"},{"revision":null,"url":"assets/code-CvgQViOi.js"},{"revision":null,"url":"assets/cobol-B2rp6LA1.js"},{"revision":null,"url":"assets/cmake-CGLZgJL3.js"},{"revision":null,"url":"assets/clojure-Btb509Z6.js"},{"revision":null,"url":"assets/clock-BBIE-uf3.js"},{"revision":null,"url":"assets/clarity-BCPLN5zJ.js"},{"revision":null,"url":"assets/circle-question-mark-BGbDcz7E.js"},{"revision":null,"url":"assets/circle-D4vp8Yky.js"},{"revision":null,"url":"assets/chevron-up-CRl1AF4q.js"},{"revision":null,"url":"assets/chevron-right-Lt-y9H_e.js"},{"revision":null,"url":"assets/chevron-down-BCt_kn-R.js"},{"revision":null,"url":"assets/check-DczxQ5UD.js"},{"revision":null,"url":"assets/chat-tab-D2le8LxY.js"},{"revision":null,"url":"assets/catppuccin-mocha-4lH0_4tX.js"},{"revision":null,"url":"assets/catppuccin-macchiato-42eAAqCw.js"},{"revision":null,"url":"assets/catppuccin-latte-nRLBO6vg.js"},{"revision":null,"url":"assets/catppuccin-frappe-C-nwrEbb.js"},{"revision":null,"url":"assets/can-open-in-ppm-DU5MH6XF.js"},{"revision":null,"url":"assets/calendar-clock-Zydwzvp7.js"},{"revision":null,"url":"assets/cairo-DT2g4i_6.js"},{"revision":null,"url":"assets/cadence-BuiQVST4.js"},{"revision":null,"url":"assets/c3-BG7R2A4x.js"},{"revision":null,"url":"assets/c-CZV8SiOL.js"},{"revision":null,"url":"assets/button-DHI8IY_N.js"},{"revision":null,"url":"assets/bsl-bs2JpeTQ.js"},{"revision":null,"url":"assets/brain-BsjvCk4k.js"},{"revision":null,"url":"assets/bot-BNu2OM_S.js"},{"revision":null,"url":"assets/blade-CBD8sEa1.js"},{"revision":null,"url":"assets/bird2-DYDjG-B_.js"},{"revision":null,"url":"assets/bicep-qCj6DX1x.js"},{"revision":null,"url":"assets/bibtex-BPNI-Gig.js"},{"revision":null,"url":"assets/berry-DCFF4Zj1.js"},{"revision":null,"url":"assets/beancount-CgaWuvpQ.js"},{"revision":null,"url":"assets/bat-Nss7Yr-0.js"},{"revision":null,"url":"assets/ballerina-B2-GPRG0.js"},{"revision":null,"url":"assets/ayu-mirage-CdWbuzp5.js"},{"revision":null,"url":"assets/ayu-light-B1c04Bhg.js"},{"revision":null,"url":"assets/ayu-dark-Cgg8W7cK.js"},{"revision":null,"url":"assets/awk-CUwaf-l-.js"},{"revision":null,"url":"assets/aurora-x-CUyAXiXM.js"},{"revision":null,"url":"assets/audio-preview-CAVqEwDi.js"},{"revision":null,"url":"assets/astro-C2zFJ1Er.js"},{"revision":null,"url":"assets/asm-D5mJz41u.js"},{"revision":null,"url":"assets/asciidoc-DenFyKu-.js"},{"revision":null,"url":"assets/arrow-right-SQ8KJIvE.js"},{"revision":null,"url":"assets/arrow-left-y44wEZrw.js"},{"revision":null,"url":"assets/architecture-PBZL5I3N-D55g5j-p.js"},{"revision":null,"url":"assets/ara-B32t5JRb.js"},{"revision":null,"url":"assets/apply-theme-Abd1TNqE.js"},{"revision":null,"url":"assets/applescript-F2pJar76.js"},{"revision":null,"url":"assets/appearance-settings-section-BQ1dH29t.js"},{"revision":null,"url":"assets/apl-DQOoPzqd.js"},{"revision":null,"url":"assets/api-themes-CJmyQeMk.js"},{"revision":null,"url":"assets/api-settings-t5xLrBkQ.js"},{"revision":null,"url":"assets/api-client-PMwZQ4iC.js"},{"revision":null,"url":"assets/api-client-DCzgxFNY.js"},{"revision":null,"url":"assets/apex-BphlFNA_.js"},{"revision":null,"url":"assets/apache-BDCV8YqE.js"},{"revision":null,"url":"assets/angular-ts-DvLn04T8.js"},{"revision":null,"url":"assets/angular-html-D4qjt-75.js"},{"revision":null,"url":"assets/andromeeda-DAKL0TFq.js"},{"revision":null,"url":"assets/ai-settings-section-OrhLykA2.js"},{"revision":null,"url":"assets/ai-settings-section-J9Rbs26g.js"},{"revision":null,"url":"assets/ai-resource-editor-DDhuy_AR.js"},{"revision":null,"url":"assets/ada-n8mPGtZF.js"},{"revision":null,"url":"assets/actionscript-3-C14d4O5M.js"},{"revision":null,"url":"assets/accounts-settings-section-DC2A6FhQ.js"},{"revision":null,"url":"assets/abap-Dbc91hEB.js"},{"revision":null,"url":"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2"},{"revision":null,"url":"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2"},{"revision":null,"url":"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2"},{"revision":null,"url":"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2"},{"revision":null,"url":"assets/KaTeX_Script-Regular-D3wIWfF6.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2"},{"revision":null,"url":"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2"},{"revision":null,"url":"assets/KaTeX_Math-Italic-t53AETM-.woff2"},{"revision":null,"url":"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Regular-B22Nviop.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2"},{"revision":null,"url":"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2"},{"revision":null,"url":"assets/KaTeX_Main-Bold-Cx986IdX.woff2"},{"revision":null,"url":"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2"},{"revision":null,"url":"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2"},{"revision":null,"url":"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2"},{"revision":null,"url":"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2"},{"revision":null,"url":"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-192.svg"},{"revision":"a0fb34fc84eb148d51812cd62669f20d","url":"icon-512.svg"},{"revision":"26dccd02a2ef7522892015154f5e3680","url":"manifest.webmanifest"}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hienlh/ppm",
3
- "version": "0.20.8",
3
+ "version": "0.20.10",
4
4
  "description": "Personal Project Manager — mobile-first web IDE with AI assistance",
5
5
  "author": "hienlh",
6
6
  "license": "SEE LICENSE IN LICENSE",
File without changes
File without changes
File without changes
@@ -29,6 +29,30 @@ function asObj(v: unknown): Record<string, unknown> {
29
29
  return (v && typeof v === "object") ? (v as Record<string, unknown>) : {};
30
30
  }
31
31
 
32
+ function text(v: unknown): string {
33
+ return typeof v === "string" ? v.trim() : "";
34
+ }
35
+
36
+ /** Keep web-search cards readable: Codex returns structured results, not terminal output. */
37
+ function webSearchOutput(item: Item): string {
38
+ const error = text(item.error);
39
+ if (error) return error;
40
+ const results = Array.isArray(item.results) ? item.results : [];
41
+ if (results.length === 0) return "Search completed with no results.";
42
+ const lines = results.slice(0, 8).flatMap((value, index) => {
43
+ const result = asObj(value);
44
+ const url = text(result.url) || text(result.href) || text(result.link);
45
+ const title = text(result.title) || text(result.name) || text(result.domain) || url || `Result ${index + 1}`;
46
+ const snippet = text(result.snippet) || text(result.description) || text(result.text);
47
+ return [
48
+ `${index + 1}. ${title}`,
49
+ ...(url ? [` ${url}`] : []),
50
+ ...(snippet ? [` ${snippet}`] : []),
51
+ ];
52
+ });
53
+ return [`Found ${results.length} result${results.length === 1 ? "" : "s"}.`, ...lines].join("\n");
54
+ }
55
+
32
56
  /**
33
57
  * The command text to SHOW for a commandExecution item.
34
58
  *
@@ -151,6 +175,9 @@ export function itemToToolResult(item: Item): ChatEvent {
151
175
  const failure = item.failure;
152
176
  isError = failure != null;
153
177
  output = isError ? redactTruncate(failure) : String(item.savedPath ?? "generated");
178
+ } else if (type === "webSearch") {
179
+ output = redactTruncate(webSearchOutput(item));
180
+ isError = item.error != null;
154
181
  } else {
155
182
  output = redactTruncate(item);
156
183
  }
@@ -208,7 +235,7 @@ export function mapCodexEvent(notif: Notif, sessionId: string): ChatEvent[] {
208
235
  // Other tools describe themselves fully at `started`; re-sending those
209
236
  // would only cost a second event in the buffer, the log and every
210
237
  // client's socket.
211
- if (item.type === "imageGeneration") return [itemToToolUse(item), itemToToolResult(item)];
238
+ if (item.type === "imageGeneration" || item.type === "webSearch") return [itemToToolUse(item), itemToToolResult(item)];
212
239
  return [itemToToolResult(item)];
213
240
  }
214
241
  return [];
@@ -19,9 +19,11 @@ import {
19
19
  peekCodexAccount,
20
20
  selectCodexAccount,
21
21
  getAllCodexUsages,
22
+ getCodexAccountUsage,
22
23
  codexUsageLevel,
23
24
  type CodexAccount,
24
25
  } from "../../services/codex-account.service.ts";
26
+ import { dailyGuardMessage, dailyGuardState } from "../../shared/codex-daily-guard.ts";
25
27
  import { isCodexAccountUsageLimited, markCodexAccountUsageLimited } from "../../services/codex-account-cooldown.ts";
26
28
  import { isCodexUsageLimit, codexErrorMessage, parseCodexUsageLimitReset } from "./codex-usage-limit.ts";
27
29
  import { killProcessTree } from "../../services/windows-process-tree.ts";
@@ -157,6 +159,8 @@ interface LiveSession {
157
159
  * nothing downstream can notice. Follow-ups therefore wait in `pendingTurns`
158
160
  * and are sent when the running turn reports `turn/completed`. */
159
161
  turnInFlight?: boolean;
162
+ /** A daily-guard usage read is in progress before the next turn starts. */
163
+ checkingDailyGuard?: boolean;
160
164
  /** Id of the running turn — `turn/interrupt` needs it, `threadId` alone is rejected. */
161
165
  activeTurnId?: string | null;
162
166
  /** Interrupt asked for before `turn/started` named the turn; fired on arrival. */
@@ -397,7 +401,7 @@ export class CodexAppServerProvider implements AIProvider {
397
401
  return;
398
402
  }
399
403
  }
400
- this.startTurn(live, message, opts);
404
+ void this.startTurn(live, message, opts);
401
405
  for await (const ev of live.channel.iterator) {
402
406
  yield ev;
403
407
  }
@@ -407,7 +411,23 @@ export class CodexAppServerProvider implements AIProvider {
407
411
  pushMessage(sessionId: string, content: string, opts?: SendMessageOpts): void {
408
412
  const live = this.live.get(sessionId);
409
413
  if (!live || live.client.isClosed) return;
410
- this.startTurn(live, content, opts);
414
+ void this.startTurn(live, content, opts);
415
+ }
416
+
417
+ /** Return a refusal only when this session's managed account opted into pacing. */
418
+ private async dailyGuardError(live: LiveSession): Promise<string | null> {
419
+ const accountId = live.threadId ? getSessionCodexAccount(live.threadId) : null;
420
+ const account = accountId ? getCodexAccount(accountId) : null;
421
+ if (!account?.dailyGuardEnabled) return null;
422
+ try {
423
+ const usage = await getCodexAccountUsage(account.id);
424
+ const state = usage.session == null ? dailyGuardState(usage.weekly) : null;
425
+ return state?.blocked ? dailyGuardMessage(state) : null;
426
+ } catch {
427
+ // An unreadable quota cannot honestly be called spent. Keep the account usable and let
428
+ // Codex's real quota refusal remain the authority until the next successful usage read.
429
+ return null;
430
+ }
411
431
  }
412
432
 
413
433
  /**
@@ -418,7 +438,7 @@ export class CodexAppServerProvider implements AIProvider {
418
438
  * second entry would both show it twice and shift every later `rollout-N` id, which
419
439
  * fork anchors resolve against.
420
440
  */
421
- private startTurn(live: LiveSession, message: string, opts?: SendMessageOpts, replay = false): void {
441
+ private async startTurn(live: LiveSession, message: string, opts?: SendMessageOpts, replay = false): Promise<void> {
422
442
  if (!live.threadId) return;
423
443
  // One turn at a time — anything sent now would be dropped without a trace.
424
444
  // `now` additionally cuts the running turn short so this one answers next.
@@ -428,6 +448,19 @@ export class CodexAppServerProvider implements AIProvider {
428
448
  if (priority === "now") this.interruptActiveTurn(live);
429
449
  return;
430
450
  }
451
+ if (live.checkingDailyGuard) {
452
+ this.enqueueTurn(live, { message, opts, priority: opts?.priority ?? "next" });
453
+ return;
454
+ }
455
+ live.checkingDailyGuard = true;
456
+ const guardError = await this.dailyGuardError(live);
457
+ live.checkingDailyGuard = false;
458
+ if (guardError) {
459
+ live.channel.push({ type: "error", message: guardError });
460
+ live.channel.push({ type: "done", sessionId: live.threadId, resultSubtype: "error_during_execution" });
461
+ this.endTurn(live);
462
+ return;
463
+ }
431
464
  live.turnInFlight = true;
432
465
  // `/compact` → trigger codex's real compaction (thread/compact/start), not a text turn.
433
466
  // Completion is surfaced on the `thread/compacted` notification (handleNotification).
@@ -516,7 +549,7 @@ export class CodexAppServerProvider implements AIProvider {
516
549
  live.interruptRequested = false;
517
550
  live.lastTurnInput = undefined;
518
551
  const next = live.pendingTurns.shift();
519
- if (next) this.startTurn(live, next.message, next.opts);
552
+ if (next) void this.startTurn(live, next.message, next.opts);
520
553
  }
521
554
 
522
555
  // ── Usage-limit rotation ──
@@ -593,7 +626,7 @@ export class CodexAppServerProvider implements AIProvider {
593
626
  live.turnInFlight = false;
594
627
  live.activeTurnId = null;
595
628
  live.interruptRequested = false;
596
- if (pending) this.startTurn(live, pending.message, pending.opts, true);
629
+ if (pending) void this.startTurn(live, pending.message, pending.opts, true);
597
630
  else this.endTurn(live);
598
631
  }
599
632
 
@@ -1,5 +1,6 @@
1
1
  import type { UsageInfo, LimitBucket } from "../provider.interface.ts";
2
2
  import type { GetAccountRateLimitsResponse, RateLimitWindow } from "./codex-protocol.ts";
3
+ import { codexPlanLabel } from "../../shared/codex-plan-label.ts";
3
4
 
4
5
  /** codex resetsAt is a unix timestamp; tolerate seconds or milliseconds. */
5
6
  function toIso(resetsAt: number | null | undefined): string | undefined {
@@ -64,6 +65,7 @@ export function parseCodexUsage(res: GetAccountRateLimitsResponse | null | undef
64
65
  out.session = toBucket(w);
65
66
  }
66
67
  });
67
- if (snap.planType) out.activeAccountLabel = String(snap.planType);
68
+ const planLabel = codexPlanLabel(snap.planType);
69
+ if (planLabel) out.activeAccountLabel = planLabel;
68
70
  return out;
69
71
  }
@@ -1,6 +1,6 @@
1
1
  import { Hono } from "hono";
2
2
  import { ok, err } from "../../types/api.ts";
3
- import { listCodexAccounts, removeCodexAccount, getAllCodexUsages, getCodexStrategy, setCodexStrategy, selectCodexAccount, setCodexAccountStatus, codexUsageLevel, type CodexStrategy } from "../../services/codex-account.service.ts";
3
+ import { listCodexAccounts, removeCodexAccount, getAllCodexUsages, getCodexStrategy, setCodexStrategy, selectCodexAccount, setCodexAccountStatus, setCodexDailyGuard, codexUsageLevel, type CodexStrategy } from "../../services/codex-account.service.ts";
4
4
  import { addApiKeyAccount, startDeviceLogin, getDeviceLoginStatus, cancelDeviceLogin, startBrowserLogin, submitBrowserCallback, getBrowserLoginStatus, cancelBrowserLogin } from "../../services/codex-account-login.ts";
5
5
  import { exportCodexEncrypted, importCodexEncrypted } from "../../services/codex-account-portability.ts";
6
6
 
@@ -43,11 +43,15 @@ codexAccountsRoutes.post("/pick", async (c) => {
43
43
  * immediately instead of taking the better part of a minute.
44
44
  */
45
45
  codexAccountsRoutes.patch("/:id", async (c) => {
46
- const body = await c.req.json<{ status?: string }>().catch(() => ({} as { status?: string }));
47
- if (body.status !== "active" && body.status !== "disabled") {
48
- return c.json(err("status must be active or disabled"), 400);
46
+ const body = await c.req.json<{ status?: string; dailyGuardEnabled?: unknown }>().catch(() => ({} as { status?: string; dailyGuardEnabled?: unknown }));
47
+ if (body.status !== undefined) {
48
+ if (body.status !== "active" && body.status !== "disabled") return c.json(err("status must be active or disabled"), 400);
49
+ const updated = setCodexAccountStatus(c.req.param("id"), body.status);
50
+ if (!updated) return c.json(err("Account not found"), 404);
51
+ return c.json(ok(updated));
49
52
  }
50
- const updated = setCodexAccountStatus(c.req.param("id"), body.status);
53
+ if (typeof body.dailyGuardEnabled !== "boolean") return c.json(err("status or dailyGuardEnabled is required"), 400);
54
+ const updated = setCodexDailyGuard(c.req.param("id"), body.dailyGuardEnabled);
51
55
  if (!updated) return c.json(err("Account not found"), 404);
52
56
  return c.json(ok(updated));
53
57
  });
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { randomUUID } from "node:crypto";
17
17
  import { mkdirSync, rmSync } from "node:fs";
18
- import { buildCodexCallback, checkCodexLoginPort, parseBrowserLogin, type BrowserLoginCallback } from "./codex-login-callback.ts";
18
+ import { buildCodexCallback, buildCodexSuccessCallback, checkCodexLoginPort, parseBrowserLogin, type BrowserLoginCallback } from "./codex-login-callback.ts";
19
19
  import { CodexJsonRpcClient, CONTROL_REQUEST_TIMEOUT_MS } from "../providers/codex-app-server/codex-jsonrpc-client.ts";
20
20
  import { codexAccountHome, createCodexAccount, type CodexAccount } from "./codex-account.service.ts";
21
21
 
@@ -218,18 +218,46 @@ export function submitBrowserCallback(id: string, callbackUrl: string, send: typ
218
218
  browser.submitted = true;
219
219
  const controller = new AbortController();
220
220
  p.callbackAbort = controller;
221
- const timeout = unref(setTimeout(() => controller.abort(), 30_000));
221
+ let timedOut = false;
222
+ const timeout = unref(setTimeout(() => {
223
+ timedOut = true;
224
+ controller.abort();
225
+ // Bun can leave a loopback fetch pending after its AbortSignal fires. Do not leave the
226
+ // browser polling forever: the callback code cannot safely be reused, so make the
227
+ // failure visible and let the user start a fresh authorization.
228
+ if (isCurrentPendingLogin(id, p)) {
229
+ settle(id, { state: "error", error: "Codex did not finish the callback within 30 seconds. Start a new browser login and try again." });
230
+ }
231
+ }, 30_000));
222
232
  void (async () => {
223
233
  try {
224
- const response = await send(target, { redirect: "manual", signal: controller.signal });
225
- // Do not render or log the OAuth response body or follow its redirect.
234
+ // Connect to 127.0.0.1 (never a user-controlled localhost resolution), but preserve
235
+ // the OAuth redirect's localhost Host header. Codex's loopback listener associates
236
+ // the callback with the redirect URI and otherwise accepts the socket without
237
+ // completing the login.
238
+ let response = await send(target, {
239
+ redirect: "manual",
240
+ signal: controller.signal,
241
+ headers: { Host: "localhost:1455" },
242
+ });
243
+ if (response.status >= 300 && response.status < 400) {
244
+ const location = response.headers.get("location");
245
+ await response.body?.cancel();
246
+ if (!location) throw new Error("Codex returned a callback redirect without a destination.");
247
+ response = await send(buildCodexSuccessCallback(location, browser), {
248
+ redirect: "manual",
249
+ signal: controller.signal,
250
+ headers: { Host: "localhost:1455" },
251
+ });
252
+ }
253
+ // Do not render or log either loopback OAuth response body.
226
254
  await response.body?.cancel();
227
255
  if (response.status >= 400 && isCurrentPendingLogin(id, p)) {
228
256
  settle(id, { state: "error", error: "Codex rejected the callback. Start a new browser login." });
229
257
  }
230
258
  } catch {
231
259
  // A closed callback socket may mean successful login. Polling owns the result.
232
- if (isCurrentPendingLogin(id, p)) browser.submitted = false;
260
+ if (!timedOut && isCurrentPendingLogin(id, p)) browser.submitted = false;
233
261
  } finally {
234
262
  clearTimeout(timeout);
235
263
  if (p.callbackAbort === controller) p.callbackAbort = undefined;
@@ -20,6 +20,7 @@ interface PortableCodexAccount {
20
20
  label: string;
21
21
  type: CodexAccountType;
22
22
  planType?: string | null;
23
+ dailyGuardEnabled?: boolean;
23
24
  authJson?: string | null; // contents of CODEX_HOME/auth.json
24
25
  creds?: CodexCreds | null; // apiKey creds (chatgpt auth lives in authJson)
25
26
  }
@@ -35,7 +36,7 @@ export function exportCodexEncrypted(password: string, accountIds?: string[]): s
35
36
  const authPath = join(a.home, "auth.json");
36
37
  if (existsSync(authPath)) authJson = readFileSync(authPath, "utf8");
37
38
  } catch { /* ignore unreadable home */ }
38
- return { id: a.id, label: a.label, type: a.type, planType: a.planType ?? null, authJson, creds: getCodexAccountCreds(a.id) };
39
+ return { id: a.id, label: a.label, type: a.type, planType: a.planType ?? null, dailyGuardEnabled: a.dailyGuardEnabled, authJson, creds: getCodexAccountCreds(a.id) };
39
40
  });
40
41
  return encryptWithPassword(JSON.stringify({ magic: BACKUP_MAGIC, accounts: portable }), password);
41
42
  }
@@ -56,7 +57,7 @@ export function importCodexEncrypted(blob: string, password: string): { imported
56
57
  // createCodexAccount inserts the row and mkdirs the CODEX_HOME (0700).
57
58
  createCodexAccount({
58
59
  id: p.id, label: p.label || "Imported", type: p.type,
59
- planType: p.planType ?? null, creds: p.creds ?? undefined,
60
+ planType: p.planType ?? null, creds: p.creds ?? undefined, dailyGuardEnabled: p.dailyGuardEnabled !== false,
60
61
  });
61
62
 
62
63
  // Restore auth.json so codex re-auths from it on next spawn.