@pubinfo/core 2.1.9 → 2.1.10-beta.2

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 (366) hide show
  1. package/dist/{AppSetting-kJRPnkd7.js → AppSetting-Dl8pVkN4.js} +19 -19
  2. package/dist/{HCheckList-DfyQDWlj.js → HCheckList-CHR-lWIq.js} +1 -1
  3. package/dist/{HSlideover-CW2mo_MH.js → HSlideover-Bc6OHPHe.js} +1 -1
  4. package/dist/{HToggle-DTYX36Nv.js → HToggle-C_iVIpxv.js} +1 -1
  5. package/dist/HeaderFullMenu-BRhGliRJ.js +6 -0
  6. package/dist/{HeaderFullMenu-BJISBxyT.js → HeaderFullMenu-DCF-gTCZ.js} +5 -5
  7. package/dist/HeaderThinMenu-B_7vLcQX.js +6 -0
  8. package/dist/{HeaderThinMenu-D-aQYGqU.js → HeaderThinMenu-PA12XAvb.js} +6 -6
  9. package/dist/{PreferencesContent-CsiWBBO1.js → PreferencesContent-cll4nwwl.js} +12 -12
  10. package/dist/{SettingBreadcrumb-eKruZu6b.js → SettingBreadcrumb-BvSc7VUo.js} +7 -7
  11. package/dist/{SettingCopyright-BRJsDUkG.js → SettingCopyright-DcWLKM5d.js} +4 -4
  12. package/dist/{SettingEnableTransition-DyIuTVwf.js → SettingEnableTransition-BBH52KKl.js} +5 -5
  13. package/dist/{SettingHome-B83g4XZP.js → SettingHome-Cd43oJmB.js} +6 -6
  14. package/dist/{SettingMenu-DWVM_tI_.js → SettingMenu-CJsN4F1l.js} +9 -9
  15. package/dist/{SettingMode-BzU3i7wu.js → SettingMode-BwhhUYlz.js} +4 -4
  16. package/dist/{SettingNavSearch-B4K-SZAx.js → SettingNavSearch-BhHUWem3.js} +5 -5
  17. package/dist/{SettingOther-ErTVvHY4.js → SettingOther-CDY0jSVT.js} +6 -6
  18. package/dist/{SettingPage-BuvXTZ-r.js → SettingPage-B0WNvUlj.js} +3 -3
  19. package/dist/{SettingTabbar-C4LeLY8p.js → SettingTabbar-DuqQVRnz.js} +9 -9
  20. package/dist/{SettingThemes-Cw6RPVzb.js → SettingThemes-Doo6Ax3u.js} +6 -6
  21. package/dist/{SettingToolbar-TWm_5emz.js → SettingToolbar-CHV_dVJ9.js} +5 -5
  22. package/dist/{SettingTopbar-C4TN5uEY.js → SettingTopbar-CF1K_XIt.js} +9 -9
  23. package/dist/{SettingWidthMode-nLOBk0va.js → SettingWidthMode-VaN0CrBa.js} +5 -5
  24. package/dist/{auth-CMohCBnq.js → auth-CPSkJwBz.js} +46 -45
  25. package/dist/{change-organization-C0ycAOrg.js → change-organization-OjxZhWST.js} +6 -6
  26. package/dist/{change-password-BG-GzMjk.js → change-password-B6kO54-d.js} +7 -7
  27. package/dist/chunk-EsrJ1IKw.js +18 -0
  28. package/dist/{components-D3h4bynm.js → components-DVIyiEVI.js} +1630 -8110
  29. package/dist/core-Bg2PEcZK.js +4884 -0
  30. package/dist/engine-oniguruma-CUfGsBrF.js +243 -0
  31. package/dist/{form-B8DLqjcv.js → form-EQ9eL9hv.js} +4 -4
  32. package/dist/index.js +42 -41
  33. package/dist/{json-CS4uwq6s.js → json-S7wVLDnW.js} +1 -1
  34. package/dist/{modal-DI1pivlf.js → modal-CSWipFvB.js} +177 -193
  35. package/dist/{not-found-DefRS5UT.js → not-found-DBe-djEg.js} +5 -5
  36. package/dist/{not-permission-DlVznUAr.js → not-permission-DQzWCpOK.js} +5 -5
  37. package/dist/{pick-CiRODtTM.js → pick-C42gkI1h.js} +1 -1
  38. package/dist/{profile-D_LjvR1Z.js → profile-DJ3gpjsS.js} +368 -367
  39. package/dist/{tree-select-_dclwCh-.js → tree-select-CTjWj5WT.js} +1 -1
  40. package/dist/utils/shikiHighlighter.d.ts +24 -0
  41. package/dist/{watchDiff-D0Gf0T5E.js → watchDiff-C4eGkl9e.js} +1 -1
  42. package/package.json +7 -7
  43. package/src/features/components/PartyLogin/steps/One.vue +7 -20
  44. package/src/utils/shikiHighlighter.ts +80 -0
  45. package/dist/HeaderFullMenu-b76YdzzL.js +0 -6
  46. package/dist/HeaderThinMenu-Axg_TXct.js +0 -6
  47. package/dist/abap-DnRAvVWC.js +0 -2
  48. package/dist/actionscript-3-msZW2Nd7.js +0 -2
  49. package/dist/ada-BnC7joNr.js +0 -2
  50. package/dist/andromeeda-DAi7Zn3O.js +0 -2
  51. package/dist/angular-html-CfzavAnw.js +0 -14
  52. package/dist/angular-html-CrOacC1u.js +0 -2
  53. package/dist/angular-ts-DiJs407Z.js +0 -16
  54. package/dist/apache-B-Z8vYaQ.js +0 -2
  55. package/dist/apex-C2Noo1FU.js +0 -2
  56. package/dist/apl-BFsbNrB2.js +0 -14
  57. package/dist/applescript-BpRgPLPz.js +0 -2
  58. package/dist/ara-DTx016Ok.js +0 -2
  59. package/dist/asciidoc-wKjKdiA4.js +0 -2
  60. package/dist/asm-xZOYl9w2.js +0 -2
  61. package/dist/astro-D9e5nYiV.js +0 -16
  62. package/dist/aurora-x-CDpb0rTE.js +0 -2
  63. package/dist/awk-3BwACbwn.js +0 -2
  64. package/dist/ayu-dark-CPnKMvWU.js +0 -2
  65. package/dist/ballerina-VA7wU8Y0.js +0 -2
  66. package/dist/bat-sVhn2XCB.js +0 -2
  67. package/dist/beancount-CNgVKIDY.js +0 -2
  68. package/dist/berry-BlI-PUTt.js +0 -2
  69. package/dist/bibtex-B6IEpmWb.js +0 -2
  70. package/dist/bicep-kktY_vpK.js +0 -2
  71. package/dist/blade-B1141JsO.js +0 -18
  72. package/dist/bsl-BbNmGm08.js +0 -3
  73. package/dist/c-4zsKFSTE.js +0 -2
  74. package/dist/c-Cvq0wHxz.js +0 -2
  75. package/dist/cadence-CeV8achK.js +0 -2
  76. package/dist/cairo-BeL3hNNR.js +0 -3
  77. package/dist/catppuccin-frappe-CYjXTpLB.js +0 -2
  78. package/dist/catppuccin-latte-BP-uZ0dx.js +0 -2
  79. package/dist/catppuccin-macchiato-CgDoT_aE.js +0 -2
  80. package/dist/catppuccin-mocha-Bk_D7dln.js +0 -2
  81. package/dist/clarity-DBEE78gB.js +0 -2
  82. package/dist/clojure-BFXloc7Q.js +0 -2
  83. package/dist/cmake-C6J-XxwT.js +0 -2
  84. package/dist/cobol-DYWOBmba.js +0 -8
  85. package/dist/codeowners-2QIwUD68.js +0 -2
  86. package/dist/codeql-fYQZB3Eu.js +0 -2
  87. package/dist/coffee-uoAXafwu.js +0 -3
  88. package/dist/common-lisp-mqEFEz2m.js +0 -2
  89. package/dist/coq-DVFDtWom.js +0 -2
  90. package/dist/cpp-BO2dorzg.js +0 -2
  91. package/dist/cpp-Ba8vDVQv.js +0 -16
  92. package/dist/crystal-CdH-hSfI.js +0 -16
  93. package/dist/csharp-D4GwS--m.js +0 -2
  94. package/dist/css-BPH6wT__.js +0 -2
  95. package/dist/css-Dn_LUKRl.js +0 -2
  96. package/dist/csv-DGhU9OPh.js +0 -2
  97. package/dist/cue-BjeLxBDB.js +0 -2
  98. package/dist/cypher-Axek-jiX.js +0 -2
  99. package/dist/d-CvSb7lgK.js +0 -2
  100. package/dist/dark-plus-BROoqxNE.js +0 -2
  101. package/dist/dart-D3lY8Y-J.js +0 -2
  102. package/dist/dax-8_Wvr0d1.js +0 -2
  103. package/dist/desktop-CGQdBGkk.js +0 -2
  104. package/dist/diff-IbIUICCs.js +0 -2
  105. package/dist/docker-DYs0e5yp.js +0 -2
  106. package/dist/dotenv-DP5FfelN.js +0 -2
  107. package/dist/dracula-CO5RND2y.js +0 -2
  108. package/dist/dracula-soft-CcubPGL5.js +0 -2
  109. package/dist/dream-maker-Cguvgdbe.js +0 -2
  110. package/dist/edge-Dnua-W20.js +0 -10
  111. package/dist/elixir-DFKWSPCw.js +0 -3
  112. package/dist/elm-VFC9t5c8.js +0 -3
  113. package/dist/emacs-lisp-CFhrNsBY.js +0 -2
  114. package/dist/erb-CCXgwK_j.js +0 -8
  115. package/dist/erlang-C99AW0pa.js +0 -3
  116. package/dist/everforest-dark-BzkBm4oV.js +0 -2
  117. package/dist/everforest-light-6t-pc3xg.js +0 -2
  118. package/dist/fennel-DLzv2kEg.js +0 -2
  119. package/dist/fish-CrpcBLGY.js +0 -2
  120. package/dist/fluent-Cgb80GZA.js +0 -2
  121. package/dist/fortran-fixed-form-m2e4NVmq.js +0 -3
  122. package/dist/fortran-free-form-5KVyf4H-.js +0 -2
  123. package/dist/fsharp-D2zphAKM.js +0 -3
  124. package/dist/gdresource-C7deQN19.js +0 -8
  125. package/dist/gdscript-C1VWrs5m.js +0 -2
  126. package/dist/gdshader-BIY53tWi.js +0 -2
  127. package/dist/genie-9IFfnqUU.js +0 -2
  128. package/dist/gherkin-1iObs2O9.js +0 -2
  129. package/dist/git-commit-fODQp1jL.js +0 -3
  130. package/dist/git-rebase-B9JMbwIM.js +0 -3
  131. package/dist/github-dark-CrDaVcf5.js +0 -2
  132. package/dist/github-dark-default-D7ew6oyG.js +0 -2
  133. package/dist/github-dark-dimmed-C9HFgab3.js +0 -2
  134. package/dist/github-dark-high-contrast-wgTYZXF2.js +0 -2
  135. package/dist/github-light-clYQ578w.js +0 -2
  136. package/dist/github-light-default-BD-qeOgc.js +0 -2
  137. package/dist/github-light-high-contrast-CUWPjA6F.js +0 -2
  138. package/dist/gleam-D1sL72nZ.js +0 -2
  139. package/dist/glimmer-js-mnfoipP4.js +0 -12
  140. package/dist/glimmer-ts-Vwc7x5el.js +0 -12
  141. package/dist/glsl-BM79ANxo.js +0 -2
  142. package/dist/glsl-bVDu2tRl.js +0 -3
  143. package/dist/gnuplot-C7nG8NBx.js +0 -2
  144. package/dist/go-CDMGBx9R.js +0 -2
  145. package/dist/graphql-Blhn4Ti0.js +0 -12
  146. package/dist/graphql-miYQqS2P.js +0 -2
  147. package/dist/groovy-DpAdtwL_.js +0 -2
  148. package/dist/gruvbox-dark-hard-DGsx2GxU.js +0 -2
  149. package/dist/gruvbox-dark-medium-DAKSw6I6.js +0 -2
  150. package/dist/gruvbox-dark-soft-CeX40AvH.js +0 -2
  151. package/dist/gruvbox-light-hard-CF1Tu1iA.js +0 -2
  152. package/dist/gruvbox-light-medium-xsCjHpPw.js +0 -2
  153. package/dist/gruvbox-light-soft-7coHTuzG.js +0 -2
  154. package/dist/hack-7C5x4T-_.js +0 -8
  155. package/dist/haml-DfQvtItk.js +0 -2
  156. package/dist/haml-Dv6tzh7n.js +0 -8
  157. package/dist/handlebars-CROXrCh9.js +0 -12
  158. package/dist/haskell-BCU_ENra.js +0 -2
  159. package/dist/haxe-CI2Cw40C.js +0 -2
  160. package/dist/hcl-DZT6kL4Z.js +0 -2
  161. package/dist/hjson-DjX8ZGxP.js +0 -2
  162. package/dist/hlsl-DrbHkFUr.js +0 -2
  163. package/dist/houston-B7By0kh6.js +0 -2
  164. package/dist/html-CHDLnu8B.js +0 -2
  165. package/dist/html-D_hMHeE_.js +0 -8
  166. package/dist/html-derivative-CopqrXDk.js +0 -3
  167. package/dist/html-derivative-D3CEVNhY.js +0 -2
  168. package/dist/http-DtxVMOhn.js +0 -12
  169. package/dist/hurl-DEd-LLt-.js +0 -10
  170. package/dist/hxml-DpEoYyNf.js +0 -3
  171. package/dist/hy-DeNSN3Xl.js +0 -2
  172. package/dist/imba-C8QCbIT1.js +0 -2
  173. package/dist/ini-5K44R-c9.js +0 -2
  174. package/dist/java-C20Uda2J.js +0 -2
  175. package/dist/java-DzXBQdoj.js +0 -2
  176. package/dist/javascript-BJbJ2Vkc.js +0 -2
  177. package/dist/javascript-Dycm8Hyd.js +0 -2
  178. package/dist/jinja-BP27dfdV.js +0 -3
  179. package/dist/jison-CXOe1N5D.js +0 -3
  180. package/dist/json-osxk1FMH.js +0 -2
  181. package/dist/json5-XoFX4Xcw.js +0 -2
  182. package/dist/jsonc-K40Y1Q0-.js +0 -2
  183. package/dist/jsonl-Bna9B-tR.js +0 -2
  184. package/dist/jsonnet-1lw9dY-D.js +0 -2
  185. package/dist/jssm-CYUnZBcY.js +0 -2
  186. package/dist/jsx-BPBOa2CL.js +0 -2
  187. package/dist/jsx-DyXpcK38.js +0 -2
  188. package/dist/julia-BIymapM-.js +0 -14
  189. package/dist/kanagawa-dragon-Xfwgxn9c.js +0 -2
  190. package/dist/kanagawa-lotus-BRUptwxp.js +0 -2
  191. package/dist/kanagawa-wave-DW-acwZd.js +0 -2
  192. package/dist/kdl-CfclADGt.js +0 -2
  193. package/dist/kotlin-FNhFixyq.js +0 -2
  194. package/dist/kusto-CF-Y9S4v.js +0 -2
  195. package/dist/laserwave-hOG3RlVG.js +0 -2
  196. package/dist/latex-CDB4AtOy.js +0 -3
  197. package/dist/lean-CUXEMhPT.js +0 -2
  198. package/dist/less-BFxpJcv2.js +0 -2
  199. package/dist/light-plus-DVh8P_vS.js +0 -2
  200. package/dist/liquid-DOAu7AIJ.js +0 -12
  201. package/dist/llvm-yB1CCqBM.js +0 -2
  202. package/dist/log-BG-t_tD8.js +0 -2
  203. package/dist/logo-CGZiAo8G.js +0 -2
  204. package/dist/lua-C7jagqEX.js +0 -2
  205. package/dist/lua-DwvoJpOg.js +0 -3
  206. package/dist/luau-CvL4lods.js +0 -2
  207. package/dist/make-C3tgDf9_.js +0 -2
  208. package/dist/markdown-Dyup0Au6.js +0 -2
  209. package/dist/marko-CU9xlJim.js +0 -12
  210. package/dist/material-theme-DmFtxJmp.js +0 -2
  211. package/dist/material-theme-darker-CUOM9kCp.js +0 -2
  212. package/dist/material-theme-lighter-BTz57UB3.js +0 -2
  213. package/dist/material-theme-ocean-ByxaTGeQ.js +0 -2
  214. package/dist/material-theme-palenight-BcnRkkgS.js +0 -2
  215. package/dist/matlab-Cp-Q2k26.js +0 -2
  216. package/dist/mdc-CgyezY4I.js +0 -10
  217. package/dist/mdx-BGY1YXYE.js +0 -2
  218. package/dist/mermaid-4us6aNUf.js +0 -2
  219. package/dist/min-dark-DNbI5SbO.js +0 -2
  220. package/dist/min-light-F4BhMi3a.js +0 -2
  221. package/dist/mipsasm-DsVvDD7N.js +0 -2
  222. package/dist/mojo-DsbeQpTC.js +0 -2
  223. package/dist/monokai-CCPJIqmO.js +0 -2
  224. package/dist/move-CsY6oaMr.js +0 -2
  225. package/dist/narrat-Dt9pplE3.js +0 -2
  226. package/dist/nextflow-_yz6btMz.js +0 -2
  227. package/dist/nginx-D0SaaB1T.js +0 -3
  228. package/dist/night-owl-BF0oLCh4.js +0 -2
  229. package/dist/nim-ClZRjmAG.js +0 -18
  230. package/dist/nix-C30pu-XF.js +0 -2
  231. package/dist/nord-CivpZPbe.js +0 -2
  232. package/dist/nushell-CN3bvvul.js +0 -2
  233. package/dist/objective-c-BU41w6gi.js +0 -2
  234. package/dist/objective-cpp-DRi_u4XF.js +0 -2
  235. package/dist/ocaml-BQUPg4Vc.js +0 -2
  236. package/dist/one-dark-pro-B90Mr6az.js +0 -2
  237. package/dist/one-light-Czi-k9Qd.js +0 -2
  238. package/dist/openscad-DzhxhWzS.js +0 -2
  239. package/dist/pascal-fr-zfvY8.js +0 -2
  240. package/dist/perl-BONdgqEk.js +0 -14
  241. package/dist/php-CkldpTwd.js +0 -16
  242. package/dist/pkl-DiBgHWzw.js +0 -2
  243. package/dist/plastic-DgEVLLEf.js +0 -2
  244. package/dist/plsql-B0Y5lzLA.js +0 -2
  245. package/dist/po-DH_2lVVI.js +0 -2
  246. package/dist/poimandres-DVw_WEOw.js +0 -2
  247. package/dist/polar-B5UJqW2X.js +0 -2
  248. package/dist/postcss-DcHaF3o6.js +0 -2
  249. package/dist/powerquery-782B9lMX.js +0 -2
  250. package/dist/powershell-C430fpLb.js +0 -2
  251. package/dist/prisma-CvweD45H.js +0 -2
  252. package/dist/prolog-D4wVZtB7.js +0 -2
  253. package/dist/proto-DdvYvbZd.js +0 -2
  254. package/dist/pug-BNgUsZNy.js +0 -10
  255. package/dist/puppet-CClzKUH9.js +0 -2
  256. package/dist/purescript-DHIg5VOR.js +0 -2
  257. package/dist/python-DvhvKlZZ.js +0 -2
  258. package/dist/qml-nEcL49P6.js +0 -3
  259. package/dist/qmldir-BtOqlgPr.js +0 -2
  260. package/dist/qss-ClrV3_Z9.js +0 -2
  261. package/dist/r-C-usIf8k.js +0 -2
  262. package/dist/r-C16XYL7B.js +0 -2
  263. package/dist/racket-od71tNNk.js +0 -2
  264. package/dist/raku-BafRw-D9.js +0 -2
  265. package/dist/razor-DFLmUw5J.js +0 -8
  266. package/dist/red-CxfwiYss.js +0 -2
  267. package/dist/reg-CEJ4u76_.js +0 -2
  268. package/dist/regexp-DHmQlrOr.js +0 -2
  269. package/dist/regexp-DhnhP6Rg.js +0 -2
  270. package/dist/rel-CqP7ei8l.js +0 -2
  271. package/dist/riscv-MDRl54Sr.js +0 -2
  272. package/dist/rose-pine-C-YvPx8i.js +0 -2
  273. package/dist/rose-pine-dawn-YFmwt8a2.js +0 -2
  274. package/dist/rose-pine-moon-CEkPllOl.js +0 -2
  275. package/dist/rosmsg-CjPdTMH_.js +0 -2
  276. package/dist/rst-FjQhBJbo.js +0 -20
  277. package/dist/ruby-6_kFSgYU.js +0 -28
  278. package/dist/rust-BmA7pwJq.js +0 -2
  279. package/dist/sas-DWFkkZhV.js +0 -3
  280. package/dist/sass-WBoQIb5a.js +0 -2
  281. package/dist/scala-oj3UWPYE.js +0 -2
  282. package/dist/scheme-D8elN4XP.js +0 -2
  283. package/dist/scss-C3rOBIpO.js +0 -2
  284. package/dist/scss-DCW_iwzw.js +0 -3
  285. package/dist/sdbl-1Jil1ibL.js +0 -2
  286. package/dist/shaderlab-BiTZe6wd.js +0 -3
  287. package/dist/shellscript-BgfUoURL.js +0 -2
  288. package/dist/shellscript-VazcVHVa.js +0 -2
  289. package/dist/shellsession-E9-fFzrt.js +0 -3
  290. package/dist/slack-dark-CrvBI2ER.js +0 -2
  291. package/dist/slack-ochin-DHGUEcgG.js +0 -2
  292. package/dist/smalltalk-CqpX258U.js +0 -2
  293. package/dist/snazzy-light-Ds9WHe42.js +0 -2
  294. package/dist/solarized-dark-D_uyE4Am.js +0 -2
  295. package/dist/solarized-light-CiPKp-CD.js +0 -2
  296. package/dist/solidity-DkHnQa-Q.js +0 -2
  297. package/dist/soy-zulPRiR4.js +0 -3
  298. package/dist/sparql-_ExiBwId.js +0 -3
  299. package/dist/splunk-C1WI5q-z.js +0 -2
  300. package/dist/sql-Dx3aMqR5.js +0 -2
  301. package/dist/sql-uECzuuDw.js +0 -2
  302. package/dist/ssh-config-DCNkoN49.js +0 -2
  303. package/dist/stata-CEvt7T3u.js +0 -3
  304. package/dist/stylus-DjIFnVIy.js +0 -2
  305. package/dist/svelte-BTXiw8b_.js +0 -12
  306. package/dist/swift-DbLRdXGw.js +0 -2
  307. package/dist/synthwave-84-BUvQUrA0.js +0 -2
  308. package/dist/system-verilog-DwRrDuUC.js +0 -2
  309. package/dist/systemd-Bgl646hW.js +0 -2
  310. package/dist/talonscript-CsY1u3F7.js +0 -2
  311. package/dist/tasl-DdqzqPD0.js +0 -2
  312. package/dist/tcl-BfhAB2cJ.js +0 -2
  313. package/dist/templ-BWRLQt5A.js +0 -10
  314. package/dist/terraform-pGAQ0zW7.js +0 -2
  315. package/dist/tex-xdbq3CaT.js +0 -3
  316. package/dist/tokyo-night-vc5Diq8Q.js +0 -2
  317. package/dist/toml-Cyhj-OXr.js +0 -2
  318. package/dist/ts-tags-grq0tiUL.js +0 -36
  319. package/dist/tsv-C9bNKEMa.js +0 -2
  320. package/dist/tsx-BhOqGk0p.js +0 -2
  321. package/dist/tsx-CMQ1mQIE.js +0 -2
  322. package/dist/turtle-Bx6SVsq9.js +0 -2
  323. package/dist/twig-UeNhiIh3.js +0 -16
  324. package/dist/typescript-BKcsjt75.js +0 -2
  325. package/dist/typescript-C_OcD2I9.js +0 -2
  326. package/dist/typespec-otBjN2Qt.js +0 -2
  327. package/dist/typst-QU-aNfPn.js +0 -2
  328. package/dist/v-BhDBjJzl.js +0 -2
  329. package/dist/vala-47dwwaWY.js +0 -2
  330. package/dist/vb-BnhjgUfT.js +0 -2
  331. package/dist/verilog-BqCzecFd.js +0 -2
  332. package/dist/vesper-OMhtc8Do.js +0 -2
  333. package/dist/vhdl-CPlO9C1x.js +0 -2
  334. package/dist/viml-CVoyjbl3.js +0 -2
  335. package/dist/vitesse-black-V_wQwmut.js +0 -2
  336. package/dist/vue-DVWuOfxq.js +0 -20
  337. package/dist/vue-html-Cppv63Ia.js +0 -8
  338. package/dist/vue-vine-BKFt49hu.js +0 -18
  339. package/dist/vyper-Dr9ZK7Tc.js +0 -2
  340. package/dist/wasm-Hzjjdewx.js +0 -2
  341. package/dist/wenyan-MudmExHN.js +0 -2
  342. package/dist/wgsl-Bl50NE6j.js +0 -2
  343. package/dist/wikitext-1zhw1Fse.js +0 -2
  344. package/dist/wit-viBDayJa.js +0 -2
  345. package/dist/wolfram-CgYjQJoa.js +0 -2
  346. package/dist/xml-Bi7r6gAu.js +0 -3
  347. package/dist/xml-DcJlpw85.js +0 -2
  348. package/dist/xsl-CK5YakcJ.js +0 -3
  349. package/dist/yaml-BOJKoODW.js +0 -2
  350. package/dist/yaml-CD-Vt5Sq.js +0 -2
  351. package/dist/zenscript-BnwCdyI6.js +0 -2
  352. package/dist/zig-Bjv5g2TX.js +0 -2
  353. /package/dist/{HButton-CErp0mmx.js → HButton-CzYSwI6a.js} +0 -0
  354. /package/dist/{HDivider-D0jqQd5V.js → HDivider-CXS9rl4C.js} +0 -0
  355. /package/dist/{HInput-SGtQfOg-.js → HInput-CSVwTg1Q.js} +0 -0
  356. /package/dist/{HTooltip-BUu2jovy.js → HTooltip-BHBHfrCD.js} +0 -0
  357. /package/dist/{_plugin-vue_export-helper-sUTDUeGO.js → _plugin-vue_export-helper-DaPiLSxE.js} +0 -0
  358. /package/dist/{dist-CJQj4sgz.js → dist-DAb-7mqe.js} +0 -0
  359. /package/dist/{overlayscrollbars-vue-BJtv0PXr.js → overlayscrollbars-vue-BOGU2FK-.js} +0 -0
  360. /package/dist/{question-line-DlOx1JLj.js → question-line-BKVlJGUb.js} +0 -0
  361. /package/dist/{reload-BSumZEfh.js → reload-DAR8dVYw.js} +0 -0
  362. /package/dist/{right-DreQ_F11.js → right-VKgVtqD5.js} +0 -0
  363. /package/dist/{useContext-DLtu9F7E.js → useContext-D6pJCZez.js} +0 -0
  364. /package/dist/{vitesse-dark-CqDMGtk5.js → vitesse-dark-BsnBIHGG.js} +0 -0
  365. /package/dist/{vitesse-light-2jYwTSYp.js → vitesse-light-Cs_6DF7j.js} +0 -0
  366. /package/dist/{wasm-k6ZKCtGX.js → wasm-EvDQvzqp.js} +0 -0
@@ -0,0 +1,4884 @@
1
+ import { n as __export } from "./chunk-EsrJ1IKw.js";
2
+ var ShikiError = class extends Error {
3
+ constructor(s) {
4
+ super(s), this.name = "ShikiError";
5
+ }
6
+ };
7
+ function clone(s) {
8
+ return doClone(s);
9
+ }
10
+ function doClone(s) {
11
+ return Array.isArray(s) ? cloneArray(s) : s instanceof RegExp ? s : typeof s == "object" ? cloneObj(s) : s;
12
+ }
13
+ function cloneArray(s) {
14
+ let I = [];
15
+ for (let L = 0, z = s.length; L < z; L++) I[L] = doClone(s[L]);
16
+ return I;
17
+ }
18
+ function cloneObj(s) {
19
+ let I = {};
20
+ for (let L in s) I[L] = doClone(s[L]);
21
+ return I;
22
+ }
23
+ function mergeObjects(s, ...I) {
24
+ return I.forEach((I) => {
25
+ for (let L in I) s[L] = I[L];
26
+ }), s;
27
+ }
28
+ function basename(s) {
29
+ let I = ~s.lastIndexOf("/") || ~s.lastIndexOf("\\");
30
+ return I === 0 ? s : ~I === s.length - 1 ? basename(s.substring(0, s.length - 1)) : s.substr(~I + 1);
31
+ }
32
+ var CAPTURING_REGEX_SOURCE = /\$(\d+)|\${(\d+):\/(downcase|upcase)}/g, RegexSource = class {
33
+ static hasCaptures(s) {
34
+ return s === null ? !1 : (CAPTURING_REGEX_SOURCE.lastIndex = 0, CAPTURING_REGEX_SOURCE.test(s));
35
+ }
36
+ static replaceCaptures(s, I, L) {
37
+ return s.replace(CAPTURING_REGEX_SOURCE, (s, R, z, B) => {
38
+ let V = L[parseInt(R || z, 10)];
39
+ if (V) {
40
+ let s = I.substring(V.start, V.end);
41
+ for (; s[0] === ".";) s = s.substring(1);
42
+ switch (B) {
43
+ case "downcase": return s.toLowerCase();
44
+ case "upcase": return s.toUpperCase();
45
+ default: return s;
46
+ }
47
+ } else return s;
48
+ });
49
+ }
50
+ };
51
+ function strcmp(s, I) {
52
+ return s < I ? -1 : s > I ? 1 : 0;
53
+ }
54
+ function strArrCmp(s, I) {
55
+ if (s === null && I === null) return 0;
56
+ if (!s) return -1;
57
+ if (!I) return 1;
58
+ let L = s.length, R = I.length;
59
+ if (L === R) {
60
+ for (let R = 0; R < L; R++) {
61
+ let L = strcmp(s[R], I[R]);
62
+ if (L !== 0) return L;
63
+ }
64
+ return 0;
65
+ }
66
+ return L - R;
67
+ }
68
+ function isValidHexColor(s) {
69
+ return !!(/^#[0-9a-f]{6}$/i.test(s) || /^#[0-9a-f]{8}$/i.test(s) || /^#[0-9a-f]{3}$/i.test(s) || /^#[0-9a-f]{4}$/i.test(s));
70
+ }
71
+ function escapeRegExpCharacters(s) {
72
+ return s.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, "\\$&");
73
+ }
74
+ var CachedFn = class {
75
+ constructor(s) {
76
+ this.fn = s;
77
+ }
78
+ cache = /* @__PURE__ */ new Map();
79
+ get(s) {
80
+ if (this.cache.has(s)) return this.cache.get(s);
81
+ let I = this.fn(s);
82
+ return this.cache.set(s, I), I;
83
+ }
84
+ }, Theme = class {
85
+ constructor(s, I, L) {
86
+ this._colorMap = s, this._defaults = I, this._root = L;
87
+ }
88
+ static createFromRawTheme(s, I) {
89
+ return this.createFromParsedTheme(parseTheme(s), I);
90
+ }
91
+ static createFromParsedTheme(s, I) {
92
+ return resolveParsedThemeRules(s, I);
93
+ }
94
+ _cachedMatchRoot = new CachedFn((s) => this._root.match(s));
95
+ getColorMap() {
96
+ return this._colorMap.getColorMap();
97
+ }
98
+ getDefaults() {
99
+ return this._defaults;
100
+ }
101
+ match(s) {
102
+ if (s === null) return this._defaults;
103
+ let I = s.scopeName, L = this._cachedMatchRoot.get(I).find((I) => _scopePathMatchesParentScopes(s.parent, I.parentScopes));
104
+ return L ? new StyleAttributes(L.fontStyle, L.foreground, L.background) : null;
105
+ }
106
+ }, ScopeStack = class s {
107
+ constructor(s, I) {
108
+ this.parent = s, this.scopeName = I;
109
+ }
110
+ static push(I, L) {
111
+ for (let R of L) I = new s(I, R);
112
+ return I;
113
+ }
114
+ static from(...I) {
115
+ let L = null;
116
+ for (let R = 0; R < I.length; R++) L = new s(L, I[R]);
117
+ return L;
118
+ }
119
+ push(I) {
120
+ return new s(this, I);
121
+ }
122
+ getSegments() {
123
+ let s = this, I = [];
124
+ for (; s;) I.push(s.scopeName), s = s.parent;
125
+ return I.reverse(), I;
126
+ }
127
+ toString() {
128
+ return this.getSegments().join(" ");
129
+ }
130
+ extends(s) {
131
+ return this === s ? !0 : this.parent === null ? !1 : this.parent.extends(s);
132
+ }
133
+ getExtensionIfDefined(s) {
134
+ let I = [], L = this;
135
+ for (; L && L !== s;) I.push(L.scopeName), L = L.parent;
136
+ return L === s ? I.reverse() : void 0;
137
+ }
138
+ };
139
+ function _scopePathMatchesParentScopes(s, I) {
140
+ if (I.length === 0) return !0;
141
+ for (let L = 0; L < I.length; L++) {
142
+ let R = I[L], z = !1;
143
+ if (R === ">") {
144
+ if (L === I.length - 1) return !1;
145
+ R = I[++L], z = !0;
146
+ }
147
+ for (; s && !_matchesScope(s.scopeName, R);) {
148
+ if (z) return !1;
149
+ s = s.parent;
150
+ }
151
+ if (!s) return !1;
152
+ s = s.parent;
153
+ }
154
+ return !0;
155
+ }
156
+ function _matchesScope(s, I) {
157
+ return I === s || s.startsWith(I) && s[I.length] === ".";
158
+ }
159
+ var StyleAttributes = class {
160
+ constructor(s, I, L) {
161
+ this.fontStyle = s, this.foregroundId = I, this.backgroundId = L;
162
+ }
163
+ };
164
+ function parseTheme(s) {
165
+ if (!s || !s.settings || !Array.isArray(s.settings)) return [];
166
+ let I = s.settings, L = [], R = 0;
167
+ for (let s = 0, z = I.length; s < z; s++) {
168
+ let z = I[s];
169
+ if (!z.settings) continue;
170
+ let B;
171
+ if (typeof z.scope == "string") {
172
+ let s = z.scope;
173
+ s = s.replace(/^[,]+/, ""), s = s.replace(/[,]+$/, ""), B = s.split(",");
174
+ } else B = Array.isArray(z.scope) ? z.scope : [""];
175
+ let V = -1;
176
+ if (typeof z.settings.fontStyle == "string") {
177
+ V = 0;
178
+ let s = z.settings.fontStyle.split(" ");
179
+ for (let I = 0, L = s.length; I < L; I++) switch (s[I]) {
180
+ case "italic":
181
+ V |= 1;
182
+ break;
183
+ case "bold":
184
+ V |= 2;
185
+ break;
186
+ case "underline":
187
+ V |= 4;
188
+ break;
189
+ case "strikethrough":
190
+ V |= 8;
191
+ break;
192
+ }
193
+ }
194
+ let H = null;
195
+ typeof z.settings.foreground == "string" && isValidHexColor(z.settings.foreground) && (H = z.settings.foreground);
196
+ let U = null;
197
+ typeof z.settings.background == "string" && isValidHexColor(z.settings.background) && (U = z.settings.background);
198
+ for (let I = 0, z = B.length; I < z; I++) {
199
+ let z = B[I].trim().split(" "), W = z[z.length - 1], G = null;
200
+ z.length > 1 && (G = z.slice(0, z.length - 1), G.reverse()), L[R++] = new ParsedThemeRule(W, G, s, V, H, U);
201
+ }
202
+ }
203
+ return L;
204
+ }
205
+ var ParsedThemeRule = class {
206
+ constructor(s, I, L, R, z, B) {
207
+ this.scope = s, this.parentScopes = I, this.index = L, this.fontStyle = R, this.foreground = z, this.background = B;
208
+ }
209
+ }, FontStyle = /* @__PURE__ */ ((s) => (s[s.NotSet = -1] = "NotSet", s[s.None = 0] = "None", s[s.Italic = 1] = "Italic", s[s.Bold = 2] = "Bold", s[s.Underline = 4] = "Underline", s[s.Strikethrough = 8] = "Strikethrough", s))(FontStyle || {});
210
+ function resolveParsedThemeRules(s, I) {
211
+ s.sort((s, I) => {
212
+ let L = strcmp(s.scope, I.scope);
213
+ return L !== 0 || (L = strArrCmp(s.parentScopes, I.parentScopes), L !== 0) ? L : s.index - I.index;
214
+ });
215
+ let L = 0, R = "#000000", z = "#ffffff";
216
+ for (; s.length >= 1 && s[0].scope === "";) {
217
+ let I = s.shift();
218
+ I.fontStyle !== -1 && (L = I.fontStyle), I.foreground !== null && (R = I.foreground), I.background !== null && (z = I.background);
219
+ }
220
+ let B = new ColorMap(I), V = new StyleAttributes(L, B.getId(R), B.getId(z)), H = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1, 0, 0), []);
221
+ for (let I = 0, L = s.length; I < L; I++) {
222
+ let L = s[I];
223
+ H.insert(0, L.scope, L.parentScopes, L.fontStyle, B.getId(L.foreground), B.getId(L.background));
224
+ }
225
+ return new Theme(B, V, H);
226
+ }
227
+ var ColorMap = class {
228
+ _isFrozen;
229
+ _lastColorId;
230
+ _id2color;
231
+ _color2id;
232
+ constructor(s) {
233
+ if (this._lastColorId = 0, this._id2color = [], this._color2id = /* @__PURE__ */ Object.create(null), Array.isArray(s)) {
234
+ this._isFrozen = !0;
235
+ for (let I = 0, L = s.length; I < L; I++) this._color2id[s[I]] = I, this._id2color[I] = s[I];
236
+ } else this._isFrozen = !1;
237
+ }
238
+ getId(s) {
239
+ if (s === null) return 0;
240
+ s = s.toUpperCase();
241
+ let I = this._color2id[s];
242
+ if (I) return I;
243
+ if (this._isFrozen) throw Error(`Missing color in color map - ${s}`);
244
+ return I = ++this._lastColorId, this._color2id[s] = I, this._id2color[I] = s, I;
245
+ }
246
+ getColorMap() {
247
+ return this._id2color.slice(0);
248
+ }
249
+ }, emptyParentScopes = Object.freeze([]), ThemeTrieElementRule = class s {
250
+ scopeDepth;
251
+ parentScopes;
252
+ fontStyle;
253
+ foreground;
254
+ background;
255
+ constructor(s, I, L, R, z) {
256
+ this.scopeDepth = s, this.parentScopes = I || emptyParentScopes, this.fontStyle = L, this.foreground = R, this.background = z;
257
+ }
258
+ clone() {
259
+ return new s(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);
260
+ }
261
+ static cloneArr(s) {
262
+ let I = [];
263
+ for (let L = 0, R = s.length; L < R; L++) I[L] = s[L].clone();
264
+ return I;
265
+ }
266
+ acceptOverwrite(s, I, L, R) {
267
+ this.scopeDepth > s ? console.log("how did this happen?") : this.scopeDepth = s, I !== -1 && (this.fontStyle = I), L !== 0 && (this.foreground = L), R !== 0 && (this.background = R);
268
+ }
269
+ }, ThemeTrieElement = class s {
270
+ constructor(s, I = [], L = {}) {
271
+ this._mainRule = s, this._children = L, this._rulesWithParentScopes = I;
272
+ }
273
+ _rulesWithParentScopes;
274
+ static _cmpBySpecificity(s, I) {
275
+ if (s.scopeDepth !== I.scopeDepth) return I.scopeDepth - s.scopeDepth;
276
+ let L = 0, R = 0;
277
+ for (; s.parentScopes[L] === ">" && L++, I.parentScopes[R] === ">" && R++, !(L >= s.parentScopes.length || R >= I.parentScopes.length);) {
278
+ let z = I.parentScopes[R].length - s.parentScopes[L].length;
279
+ if (z !== 0) return z;
280
+ L++, R++;
281
+ }
282
+ return I.parentScopes.length - s.parentScopes.length;
283
+ }
284
+ match(I) {
285
+ if (I !== "") {
286
+ let s = I.indexOf("."), L, R;
287
+ if (s === -1 ? (L = I, R = "") : (L = I.substring(0, s), R = I.substring(s + 1)), this._children.hasOwnProperty(L)) return this._children[L].match(R);
288
+ }
289
+ let L = this._rulesWithParentScopes.concat(this._mainRule);
290
+ return L.sort(s._cmpBySpecificity), L;
291
+ }
292
+ insert(I, L, R, z, B, V) {
293
+ if (L === "") {
294
+ this._doInsertHere(I, R, z, B, V);
295
+ return;
296
+ }
297
+ let H = L.indexOf("."), U, W;
298
+ H === -1 ? (U = L, W = "") : (U = L.substring(0, H), W = L.substring(H + 1));
299
+ let G;
300
+ this._children.hasOwnProperty(U) ? G = this._children[U] : (G = new s(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes)), this._children[U] = G), G.insert(I + 1, W, R, z, B, V);
301
+ }
302
+ _doInsertHere(s, I, L, R, z) {
303
+ if (I === null) {
304
+ this._mainRule.acceptOverwrite(s, L, R, z);
305
+ return;
306
+ }
307
+ for (let B = 0, V = this._rulesWithParentScopes.length; B < V; B++) {
308
+ let V = this._rulesWithParentScopes[B];
309
+ if (strArrCmp(V.parentScopes, I) === 0) {
310
+ V.acceptOverwrite(s, L, R, z);
311
+ return;
312
+ }
313
+ }
314
+ L === -1 && (L = this._mainRule.fontStyle), R === 0 && (R = this._mainRule.foreground), z === 0 && (z = this._mainRule.background), this._rulesWithParentScopes.push(new ThemeTrieElementRule(s, I, L, R, z));
315
+ }
316
+ }, EncodedTokenMetadata = class s {
317
+ static toBinaryStr(s) {
318
+ return s.toString(2).padStart(32, "0");
319
+ }
320
+ static print(I) {
321
+ let L = s.getLanguageId(I), R = s.getTokenType(I), z = s.getFontStyle(I), B = s.getForeground(I), V = s.getBackground(I);
322
+ console.log({
323
+ languageId: L,
324
+ tokenType: R,
325
+ fontStyle: z,
326
+ foreground: B,
327
+ background: V
328
+ });
329
+ }
330
+ static getLanguageId(s) {
331
+ return (s & 255) >>> 0;
332
+ }
333
+ static getTokenType(s) {
334
+ return (s & 768) >>> 8;
335
+ }
336
+ static containsBalancedBrackets(s) {
337
+ return (s & 1024) != 0;
338
+ }
339
+ static getFontStyle(s) {
340
+ return (s & 30720) >>> 11;
341
+ }
342
+ static getForeground(s) {
343
+ return (s & 16744448) >>> 15;
344
+ }
345
+ static getBackground(s) {
346
+ return (s & 4278190080) >>> 24;
347
+ }
348
+ static set(I, L, R, z, B, V, H) {
349
+ let U = s.getLanguageId(I), W = s.getTokenType(I), G = s.containsBalancedBrackets(I) ? 1 : 0, K = s.getFontStyle(I), q = s.getForeground(I), J = s.getBackground(I);
350
+ return L !== 0 && (U = L), R !== 8 && (W = fromOptionalTokenType(R)), z !== null && (G = z ? 1 : 0), B !== -1 && (K = B), V !== 0 && (q = V), H !== 0 && (J = H), (U << 0 | W << 8 | G << 10 | K << 11 | q << 15 | J << 24) >>> 0;
351
+ }
352
+ };
353
+ function toOptionalTokenType(s) {
354
+ return s;
355
+ }
356
+ function fromOptionalTokenType(s) {
357
+ return s;
358
+ }
359
+ function createMatchers(s, I) {
360
+ let L = [], R = newTokenizer(s), z = R.next();
361
+ for (; z !== null;) {
362
+ let s = 0;
363
+ if (z.length === 2 && z.charAt(1) === ":") {
364
+ switch (z.charAt(0)) {
365
+ case "R":
366
+ s = 1;
367
+ break;
368
+ case "L":
369
+ s = -1;
370
+ break;
371
+ default: console.log(`Unknown priority ${z} in scope selector`);
372
+ }
373
+ z = R.next();
374
+ }
375
+ let I = V();
376
+ if (L.push({
377
+ matcher: I,
378
+ priority: s
379
+ }), z !== ",") break;
380
+ z = R.next();
381
+ }
382
+ return L;
383
+ function B() {
384
+ if (z === "-") {
385
+ z = R.next();
386
+ let s = B();
387
+ return (I) => !!s && !s(I);
388
+ }
389
+ if (z === "(") {
390
+ z = R.next();
391
+ let s = H();
392
+ return z === ")" && (z = R.next()), s;
393
+ }
394
+ if (isIdentifier(z)) {
395
+ let s = [];
396
+ do
397
+ s.push(z), z = R.next();
398
+ while (isIdentifier(z));
399
+ return (L) => I(s, L);
400
+ }
401
+ return null;
402
+ }
403
+ function V() {
404
+ let s = [], I = B();
405
+ for (; I;) s.push(I), I = B();
406
+ return (I) => s.every((s) => s(I));
407
+ }
408
+ function H() {
409
+ let s = [], I = V();
410
+ for (; I && (s.push(I), z === "|" || z === ",");) {
411
+ do
412
+ z = R.next();
413
+ while (z === "|" || z === ",");
414
+ I = V();
415
+ }
416
+ return (I) => s.some((s) => s(I));
417
+ }
418
+ }
419
+ function isIdentifier(s) {
420
+ return !!s && !!s.match(/[\w\.:]+/);
421
+ }
422
+ function newTokenizer(s) {
423
+ let I = /([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g, L = I.exec(s);
424
+ return { next: () => {
425
+ if (!L) return null;
426
+ let R = L[0];
427
+ return L = I.exec(s), R;
428
+ } };
429
+ }
430
+ function disposeOnigString(s) {
431
+ typeof s.dispose == "function" && s.dispose();
432
+ }
433
+ var TopLevelRuleReference = class {
434
+ constructor(s) {
435
+ this.scopeName = s;
436
+ }
437
+ toKey() {
438
+ return this.scopeName;
439
+ }
440
+ }, TopLevelRepositoryRuleReference = class {
441
+ constructor(s, I) {
442
+ this.scopeName = s, this.ruleName = I;
443
+ }
444
+ toKey() {
445
+ return `${this.scopeName}#${this.ruleName}`;
446
+ }
447
+ }, ExternalReferenceCollector = class {
448
+ _references = [];
449
+ _seenReferenceKeys = /* @__PURE__ */ new Set();
450
+ get references() {
451
+ return this._references;
452
+ }
453
+ visitedRule = /* @__PURE__ */ new Set();
454
+ add(s) {
455
+ let I = s.toKey();
456
+ this._seenReferenceKeys.has(I) || (this._seenReferenceKeys.add(I), this._references.push(s));
457
+ }
458
+ }, ScopeDependencyProcessor = class {
459
+ constructor(s, I) {
460
+ this.repo = s, this.initialScopeName = I, this.seenFullScopeRequests.add(this.initialScopeName), this.Q = [new TopLevelRuleReference(this.initialScopeName)];
461
+ }
462
+ seenFullScopeRequests = /* @__PURE__ */ new Set();
463
+ seenPartialScopeRequests = /* @__PURE__ */ new Set();
464
+ Q;
465
+ processQueue() {
466
+ let s = this.Q;
467
+ this.Q = [];
468
+ let I = new ExternalReferenceCollector();
469
+ for (let L of s) collectReferencesOfReference(L, this.initialScopeName, this.repo, I);
470
+ for (let s of I.references) if (s instanceof TopLevelRuleReference) {
471
+ if (this.seenFullScopeRequests.has(s.scopeName)) continue;
472
+ this.seenFullScopeRequests.add(s.scopeName), this.Q.push(s);
473
+ } else {
474
+ if (this.seenFullScopeRequests.has(s.scopeName) || this.seenPartialScopeRequests.has(s.toKey())) continue;
475
+ this.seenPartialScopeRequests.add(s.toKey()), this.Q.push(s);
476
+ }
477
+ }
478
+ };
479
+ function collectReferencesOfReference(s, I, L, R) {
480
+ let z = L.lookup(s.scopeName);
481
+ if (!z) {
482
+ if (s.scopeName === I) throw Error(`No grammar provided for <${I}>`);
483
+ return;
484
+ }
485
+ let B = L.lookup(I);
486
+ s instanceof TopLevelRuleReference ? collectExternalReferencesInTopLevelRule({
487
+ baseGrammar: B,
488
+ selfGrammar: z
489
+ }, R) : collectExternalReferencesInTopLevelRepositoryRule(s.ruleName, {
490
+ baseGrammar: B,
491
+ selfGrammar: z,
492
+ repository: z.repository
493
+ }, R);
494
+ let V = L.injections(s.scopeName);
495
+ if (V) for (let s of V) R.add(new TopLevelRuleReference(s));
496
+ }
497
+ function collectExternalReferencesInTopLevelRepositoryRule(s, I, L) {
498
+ if (I.repository && I.repository[s]) {
499
+ let R = I.repository[s];
500
+ collectExternalReferencesInRules([R], I, L);
501
+ }
502
+ }
503
+ function collectExternalReferencesInTopLevelRule(s, I) {
504
+ s.selfGrammar.patterns && Array.isArray(s.selfGrammar.patterns) && collectExternalReferencesInRules(s.selfGrammar.patterns, {
505
+ ...s,
506
+ repository: s.selfGrammar.repository
507
+ }, I), s.selfGrammar.injections && collectExternalReferencesInRules(Object.values(s.selfGrammar.injections), {
508
+ ...s,
509
+ repository: s.selfGrammar.repository
510
+ }, I);
511
+ }
512
+ function collectExternalReferencesInRules(s, I, L) {
513
+ for (let R of s) {
514
+ if (L.visitedRule.has(R)) continue;
515
+ L.visitedRule.add(R);
516
+ let s = R.repository ? mergeObjects({}, I.repository, R.repository) : I.repository;
517
+ Array.isArray(R.patterns) && collectExternalReferencesInRules(R.patterns, {
518
+ ...I,
519
+ repository: s
520
+ }, L);
521
+ let z = R.include;
522
+ if (!z) continue;
523
+ let B = parseInclude(z);
524
+ switch (B.kind) {
525
+ case 0:
526
+ collectExternalReferencesInTopLevelRule({
527
+ ...I,
528
+ selfGrammar: I.baseGrammar
529
+ }, L);
530
+ break;
531
+ case 1:
532
+ collectExternalReferencesInTopLevelRule(I, L);
533
+ break;
534
+ case 2:
535
+ collectExternalReferencesInTopLevelRepositoryRule(B.ruleName, {
536
+ ...I,
537
+ repository: s
538
+ }, L);
539
+ break;
540
+ case 3:
541
+ case 4:
542
+ let R = B.scopeName === I.selfGrammar.scopeName ? I.selfGrammar : B.scopeName === I.baseGrammar.scopeName ? I.baseGrammar : void 0;
543
+ if (R) {
544
+ let z = {
545
+ baseGrammar: I.baseGrammar,
546
+ selfGrammar: R,
547
+ repository: s
548
+ };
549
+ B.kind === 4 ? collectExternalReferencesInTopLevelRepositoryRule(B.ruleName, z, L) : collectExternalReferencesInTopLevelRule(z, L);
550
+ } else B.kind === 4 ? L.add(new TopLevelRepositoryRuleReference(B.scopeName, B.ruleName)) : L.add(new TopLevelRuleReference(B.scopeName));
551
+ break;
552
+ }
553
+ }
554
+ }
555
+ var BaseReference = class {
556
+ kind = 0;
557
+ }, SelfReference = class {
558
+ kind = 1;
559
+ }, RelativeReference = class {
560
+ constructor(s) {
561
+ this.ruleName = s;
562
+ }
563
+ kind = 2;
564
+ }, TopLevelReference = class {
565
+ constructor(s) {
566
+ this.scopeName = s;
567
+ }
568
+ kind = 3;
569
+ }, TopLevelRepositoryReference = class {
570
+ constructor(s, I) {
571
+ this.scopeName = s, this.ruleName = I;
572
+ }
573
+ kind = 4;
574
+ };
575
+ function parseInclude(s) {
576
+ if (s === "$base") return new BaseReference();
577
+ if (s === "$self") return new SelfReference();
578
+ let I = s.indexOf("#");
579
+ return I === -1 ? new TopLevelReference(s) : I === 0 ? new RelativeReference(s.substring(1)) : new TopLevelRepositoryReference(s.substring(0, I), s.substring(I + 1));
580
+ }
581
+ var HAS_BACK_REFERENCES = /\\(\d+)/, BACK_REFERENCING_END = /\\(\d+)/g, endRuleId = -1, whileRuleId = -2;
582
+ function ruleIdFromNumber(s) {
583
+ return s;
584
+ }
585
+ function ruleIdToNumber(s) {
586
+ return s;
587
+ }
588
+ var Rule = class {
589
+ $location;
590
+ id;
591
+ _nameIsCapturing;
592
+ _name;
593
+ _contentNameIsCapturing;
594
+ _contentName;
595
+ constructor(s, I, L, R) {
596
+ this.$location = s, this.id = I, this._name = L || null, this._nameIsCapturing = RegexSource.hasCaptures(this._name), this._contentName = R || null, this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);
597
+ }
598
+ get debugName() {
599
+ let s = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : "unknown";
600
+ return `${this.constructor.name}#${this.id} @ ${s}`;
601
+ }
602
+ getName(s, I) {
603
+ return !this._nameIsCapturing || this._name === null || s === null || I === null ? this._name : RegexSource.replaceCaptures(this._name, s, I);
604
+ }
605
+ getContentName(s, I) {
606
+ return !this._contentNameIsCapturing || this._contentName === null ? this._contentName : RegexSource.replaceCaptures(this._contentName, s, I);
607
+ }
608
+ }, CaptureRule = class extends Rule {
609
+ retokenizeCapturedWithRuleId;
610
+ constructor(s, I, L, R, z) {
611
+ super(s, I, L, R), this.retokenizeCapturedWithRuleId = z;
612
+ }
613
+ dispose() {}
614
+ collectPatterns(s, I) {
615
+ throw Error("Not supported!");
616
+ }
617
+ compile(s, I) {
618
+ throw Error("Not supported!");
619
+ }
620
+ compileAG(s, I, L, R) {
621
+ throw Error("Not supported!");
622
+ }
623
+ }, MatchRule = class extends Rule {
624
+ _match;
625
+ captures;
626
+ _cachedCompiledPatterns;
627
+ constructor(s, I, L, R, z) {
628
+ super(s, I, L, null), this._match = new RegExpSource(R, this.id), this.captures = z, this._cachedCompiledPatterns = null;
629
+ }
630
+ dispose() {
631
+ this._cachedCompiledPatterns &&= (this._cachedCompiledPatterns.dispose(), null);
632
+ }
633
+ get debugMatchRegExp() {
634
+ return `${this._match.source}`;
635
+ }
636
+ collectPatterns(s, I) {
637
+ I.push(this._match);
638
+ }
639
+ compile(s, I) {
640
+ return this._getCachedCompiledPatterns(s).compile(s);
641
+ }
642
+ compileAG(s, I, L, R) {
643
+ return this._getCachedCompiledPatterns(s).compileAG(s, L, R);
644
+ }
645
+ _getCachedCompiledPatterns(s) {
646
+ return this._cachedCompiledPatterns || (this._cachedCompiledPatterns = new RegExpSourceList(), this.collectPatterns(s, this._cachedCompiledPatterns)), this._cachedCompiledPatterns;
647
+ }
648
+ }, IncludeOnlyRule = class extends Rule {
649
+ hasMissingPatterns;
650
+ patterns;
651
+ _cachedCompiledPatterns;
652
+ constructor(s, I, L, R, z) {
653
+ super(s, I, L, R), this.patterns = z.patterns, this.hasMissingPatterns = z.hasMissingPatterns, this._cachedCompiledPatterns = null;
654
+ }
655
+ dispose() {
656
+ this._cachedCompiledPatterns &&= (this._cachedCompiledPatterns.dispose(), null);
657
+ }
658
+ collectPatterns(s, I) {
659
+ for (let L of this.patterns) s.getRule(L).collectPatterns(s, I);
660
+ }
661
+ compile(s, I) {
662
+ return this._getCachedCompiledPatterns(s).compile(s);
663
+ }
664
+ compileAG(s, I, L, R) {
665
+ return this._getCachedCompiledPatterns(s).compileAG(s, L, R);
666
+ }
667
+ _getCachedCompiledPatterns(s) {
668
+ return this._cachedCompiledPatterns || (this._cachedCompiledPatterns = new RegExpSourceList(), this.collectPatterns(s, this._cachedCompiledPatterns)), this._cachedCompiledPatterns;
669
+ }
670
+ }, BeginEndRule = class extends Rule {
671
+ _begin;
672
+ beginCaptures;
673
+ _end;
674
+ endHasBackReferences;
675
+ endCaptures;
676
+ applyEndPatternLast;
677
+ hasMissingPatterns;
678
+ patterns;
679
+ _cachedCompiledPatterns;
680
+ constructor(s, I, L, R, z, B, V, H, U, W) {
681
+ super(s, I, L, R), this._begin = new RegExpSource(z, this.id), this.beginCaptures = B, this._end = new RegExpSource(V || "￿", -1), this.endHasBackReferences = this._end.hasBackReferences, this.endCaptures = H, this.applyEndPatternLast = U || !1, this.patterns = W.patterns, this.hasMissingPatterns = W.hasMissingPatterns, this._cachedCompiledPatterns = null;
682
+ }
683
+ dispose() {
684
+ this._cachedCompiledPatterns &&= (this._cachedCompiledPatterns.dispose(), null);
685
+ }
686
+ get debugBeginRegExp() {
687
+ return `${this._begin.source}`;
688
+ }
689
+ get debugEndRegExp() {
690
+ return `${this._end.source}`;
691
+ }
692
+ getEndWithResolvedBackReferences(s, I) {
693
+ return this._end.resolveBackReferences(s, I);
694
+ }
695
+ collectPatterns(s, I) {
696
+ I.push(this._begin);
697
+ }
698
+ compile(s, I) {
699
+ return this._getCachedCompiledPatterns(s, I).compile(s);
700
+ }
701
+ compileAG(s, I, L, R) {
702
+ return this._getCachedCompiledPatterns(s, I).compileAG(s, L, R);
703
+ }
704
+ _getCachedCompiledPatterns(s, I) {
705
+ if (!this._cachedCompiledPatterns) {
706
+ this._cachedCompiledPatterns = new RegExpSourceList();
707
+ for (let I of this.patterns) s.getRule(I).collectPatterns(s, this._cachedCompiledPatterns);
708
+ this.applyEndPatternLast ? this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end) : this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);
709
+ }
710
+ return this._end.hasBackReferences && (this.applyEndPatternLast ? this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, I) : this._cachedCompiledPatterns.setSource(0, I)), this._cachedCompiledPatterns;
711
+ }
712
+ }, BeginWhileRule = class extends Rule {
713
+ _begin;
714
+ beginCaptures;
715
+ whileCaptures;
716
+ _while;
717
+ whileHasBackReferences;
718
+ hasMissingPatterns;
719
+ patterns;
720
+ _cachedCompiledPatterns;
721
+ _cachedCompiledWhilePatterns;
722
+ constructor(s, I, L, R, z, B, V, H, U) {
723
+ super(s, I, L, R), this._begin = new RegExpSource(z, this.id), this.beginCaptures = B, this.whileCaptures = H, this._while = new RegExpSource(V, whileRuleId), this.whileHasBackReferences = this._while.hasBackReferences, this.patterns = U.patterns, this.hasMissingPatterns = U.hasMissingPatterns, this._cachedCompiledPatterns = null, this._cachedCompiledWhilePatterns = null;
724
+ }
725
+ dispose() {
726
+ this._cachedCompiledPatterns &&= (this._cachedCompiledPatterns.dispose(), null), this._cachedCompiledWhilePatterns &&= (this._cachedCompiledWhilePatterns.dispose(), null);
727
+ }
728
+ get debugBeginRegExp() {
729
+ return `${this._begin.source}`;
730
+ }
731
+ get debugWhileRegExp() {
732
+ return `${this._while.source}`;
733
+ }
734
+ getWhileWithResolvedBackReferences(s, I) {
735
+ return this._while.resolveBackReferences(s, I);
736
+ }
737
+ collectPatterns(s, I) {
738
+ I.push(this._begin);
739
+ }
740
+ compile(s, I) {
741
+ return this._getCachedCompiledPatterns(s).compile(s);
742
+ }
743
+ compileAG(s, I, L, R) {
744
+ return this._getCachedCompiledPatterns(s).compileAG(s, L, R);
745
+ }
746
+ _getCachedCompiledPatterns(s) {
747
+ if (!this._cachedCompiledPatterns) {
748
+ this._cachedCompiledPatterns = new RegExpSourceList();
749
+ for (let I of this.patterns) s.getRule(I).collectPatterns(s, this._cachedCompiledPatterns);
750
+ }
751
+ return this._cachedCompiledPatterns;
752
+ }
753
+ compileWhile(s, I) {
754
+ return this._getCachedCompiledWhilePatterns(s, I).compile(s);
755
+ }
756
+ compileWhileAG(s, I, L, R) {
757
+ return this._getCachedCompiledWhilePatterns(s, I).compileAG(s, L, R);
758
+ }
759
+ _getCachedCompiledWhilePatterns(s, I) {
760
+ return this._cachedCompiledWhilePatterns || (this._cachedCompiledWhilePatterns = new RegExpSourceList(), this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while)), this._while.hasBackReferences && this._cachedCompiledWhilePatterns.setSource(0, I || "￿"), this._cachedCompiledWhilePatterns;
761
+ }
762
+ }, RuleFactory = class s {
763
+ static createCaptureRule(s, I, L, R, z) {
764
+ return s.registerRule((s) => new CaptureRule(I, s, L, R, z));
765
+ }
766
+ static getCompiledRuleId(I, L, R) {
767
+ return I.id || L.registerRule((z) => {
768
+ if (I.id = z, I.match) return new MatchRule(I.$vscodeTextmateLocation, I.id, I.name, I.match, s._compileCaptures(I.captures, L, R));
769
+ if (I.begin === void 0) {
770
+ I.repository && (R = mergeObjects({}, R, I.repository));
771
+ let z = I.patterns;
772
+ return z === void 0 && I.include && (z = [{ include: I.include }]), new IncludeOnlyRule(I.$vscodeTextmateLocation, I.id, I.name, I.contentName, s._compilePatterns(z, L, R));
773
+ }
774
+ return I.while ? new BeginWhileRule(I.$vscodeTextmateLocation, I.id, I.name, I.contentName, I.begin, s._compileCaptures(I.beginCaptures || I.captures, L, R), I.while, s._compileCaptures(I.whileCaptures || I.captures, L, R), s._compilePatterns(I.patterns, L, R)) : new BeginEndRule(I.$vscodeTextmateLocation, I.id, I.name, I.contentName, I.begin, s._compileCaptures(I.beginCaptures || I.captures, L, R), I.end, s._compileCaptures(I.endCaptures || I.captures, L, R), I.applyEndPatternLast, s._compilePatterns(I.patterns, L, R));
775
+ }), I.id;
776
+ }
777
+ static _compileCaptures(I, L, R) {
778
+ let z = [];
779
+ if (I) {
780
+ let B = 0;
781
+ for (let s in I) {
782
+ if (s === "$vscodeTextmateLocation") continue;
783
+ let I = parseInt(s, 10);
784
+ I > B && (B = I);
785
+ }
786
+ for (let s = 0; s <= B; s++) z[s] = null;
787
+ for (let B in I) {
788
+ if (B === "$vscodeTextmateLocation") continue;
789
+ let V = parseInt(B, 10), H = 0;
790
+ I[B].patterns && (H = s.getCompiledRuleId(I[B], L, R)), z[V] = s.createCaptureRule(L, I[B].$vscodeTextmateLocation, I[B].name, I[B].contentName, H);
791
+ }
792
+ }
793
+ return z;
794
+ }
795
+ static _compilePatterns(I, L, R) {
796
+ let z = [];
797
+ if (I) for (let B = 0, V = I.length; B < V; B++) {
798
+ let V = I[B], H = -1;
799
+ if (V.include) {
800
+ let I = parseInclude(V.include);
801
+ switch (I.kind) {
802
+ case 0:
803
+ case 1:
804
+ H = s.getCompiledRuleId(R[V.include], L, R);
805
+ break;
806
+ case 2:
807
+ let z = R[I.ruleName];
808
+ z && (H = s.getCompiledRuleId(z, L, R));
809
+ break;
810
+ case 3:
811
+ case 4:
812
+ let B = I.scopeName, U = I.kind === 4 ? I.ruleName : null, W = L.getExternalGrammar(B, R);
813
+ if (W) if (U) {
814
+ let I = W.repository[U];
815
+ I && (H = s.getCompiledRuleId(I, L, W.repository));
816
+ } else H = s.getCompiledRuleId(W.repository.$self, L, W.repository);
817
+ break;
818
+ }
819
+ } else H = s.getCompiledRuleId(V, L, R);
820
+ if (H !== -1) {
821
+ let s = L.getRule(H), I = !1;
822
+ if ((s instanceof IncludeOnlyRule || s instanceof BeginEndRule || s instanceof BeginWhileRule) && s.hasMissingPatterns && s.patterns.length === 0 && (I = !0), I) continue;
823
+ z.push(H);
824
+ }
825
+ }
826
+ return {
827
+ patterns: z,
828
+ hasMissingPatterns: (I ? I.length : 0) !== z.length
829
+ };
830
+ }
831
+ }, RegExpSource = class s {
832
+ source;
833
+ ruleId;
834
+ hasAnchor;
835
+ hasBackReferences;
836
+ _anchorCache;
837
+ constructor(s, I) {
838
+ if (s && typeof s == "string") {
839
+ let I = s.length, L = 0, R = [], z = !1;
840
+ for (let B = 0; B < I; B++) if (s.charAt(B) === "\\" && B + 1 < I) {
841
+ let I = s.charAt(B + 1);
842
+ I === "z" ? (R.push(s.substring(L, B)), R.push("$(?!\\n)(?<!\\n)"), L = B + 2) : (I === "A" || I === "G") && (z = !0), B++;
843
+ }
844
+ this.hasAnchor = z, L === 0 ? this.source = s : (R.push(s.substring(L, I)), this.source = R.join(""));
845
+ } else this.hasAnchor = !1, this.source = s;
846
+ this.hasAnchor ? this._anchorCache = this._buildAnchorCache() : this._anchorCache = null, this.ruleId = I, typeof this.source == "string" ? this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source) : this.hasBackReferences = !1;
847
+ }
848
+ clone() {
849
+ return new s(this.source, this.ruleId);
850
+ }
851
+ setSource(s) {
852
+ this.source !== s && (this.source = s, this.hasAnchor && (this._anchorCache = this._buildAnchorCache()));
853
+ }
854
+ resolveBackReferences(s, I) {
855
+ if (typeof this.source != "string") throw Error("This method should only be called if the source is a string");
856
+ let L = I.map((I) => s.substring(I.start, I.end));
857
+ return BACK_REFERENCING_END.lastIndex = 0, this.source.replace(BACK_REFERENCING_END, (s, I) => escapeRegExpCharacters(L[parseInt(I, 10)] || ""));
858
+ }
859
+ _buildAnchorCache() {
860
+ if (typeof this.source != "string") throw Error("This method should only be called if the source is a string");
861
+ let s = [], I = [], L = [], R = [], z, B, V, H;
862
+ for (z = 0, B = this.source.length; z < B; z++) V = this.source.charAt(z), s[z] = V, I[z] = V, L[z] = V, R[z] = V, V === "\\" && z + 1 < B && (H = this.source.charAt(z + 1), H === "A" ? (s[z + 1] = "￿", I[z + 1] = "￿", L[z + 1] = "A", R[z + 1] = "A") : H === "G" ? (s[z + 1] = "￿", I[z + 1] = "G", L[z + 1] = "￿", R[z + 1] = "G") : (s[z + 1] = H, I[z + 1] = H, L[z + 1] = H, R[z + 1] = H), z++);
863
+ return {
864
+ A0_G0: s.join(""),
865
+ A0_G1: I.join(""),
866
+ A1_G0: L.join(""),
867
+ A1_G1: R.join("")
868
+ };
869
+ }
870
+ resolveAnchors(s, I) {
871
+ return !this.hasAnchor || !this._anchorCache || typeof this.source != "string" ? this.source : s ? I ? this._anchorCache.A1_G1 : this._anchorCache.A1_G0 : I ? this._anchorCache.A0_G1 : this._anchorCache.A0_G0;
872
+ }
873
+ }, RegExpSourceList = class {
874
+ _items;
875
+ _hasAnchors;
876
+ _cached;
877
+ _anchorCache;
878
+ constructor() {
879
+ this._items = [], this._hasAnchors = !1, this._cached = null, this._anchorCache = {
880
+ A0_G0: null,
881
+ A0_G1: null,
882
+ A1_G0: null,
883
+ A1_G1: null
884
+ };
885
+ }
886
+ dispose() {
887
+ this._disposeCaches();
888
+ }
889
+ _disposeCaches() {
890
+ this._cached &&= (this._cached.dispose(), null), this._anchorCache.A0_G0 && (this._anchorCache.A0_G0.dispose(), this._anchorCache.A0_G0 = null), this._anchorCache.A0_G1 && (this._anchorCache.A0_G1.dispose(), this._anchorCache.A0_G1 = null), this._anchorCache.A1_G0 && (this._anchorCache.A1_G0.dispose(), this._anchorCache.A1_G0 = null), this._anchorCache.A1_G1 && (this._anchorCache.A1_G1.dispose(), this._anchorCache.A1_G1 = null);
891
+ }
892
+ push(s) {
893
+ this._items.push(s), this._hasAnchors = this._hasAnchors || s.hasAnchor;
894
+ }
895
+ unshift(s) {
896
+ this._items.unshift(s), this._hasAnchors = this._hasAnchors || s.hasAnchor;
897
+ }
898
+ length() {
899
+ return this._items.length;
900
+ }
901
+ setSource(s, I) {
902
+ this._items[s].source !== I && (this._disposeCaches(), this._items[s].setSource(I));
903
+ }
904
+ compile(s) {
905
+ return this._cached ||= new CompiledRule(s, this._items.map((s) => s.source), this._items.map((s) => s.ruleId)), this._cached;
906
+ }
907
+ compileAG(s, I, L) {
908
+ return this._hasAnchors ? I ? L ? (this._anchorCache.A1_G1 || (this._anchorCache.A1_G1 = this._resolveAnchors(s, I, L)), this._anchorCache.A1_G1) : (this._anchorCache.A1_G0 || (this._anchorCache.A1_G0 = this._resolveAnchors(s, I, L)), this._anchorCache.A1_G0) : L ? (this._anchorCache.A0_G1 || (this._anchorCache.A0_G1 = this._resolveAnchors(s, I, L)), this._anchorCache.A0_G1) : (this._anchorCache.A0_G0 || (this._anchorCache.A0_G0 = this._resolveAnchors(s, I, L)), this._anchorCache.A0_G0) : this.compile(s);
909
+ }
910
+ _resolveAnchors(s, I, L) {
911
+ return new CompiledRule(s, this._items.map((s) => s.resolveAnchors(I, L)), this._items.map((s) => s.ruleId));
912
+ }
913
+ }, CompiledRule = class {
914
+ constructor(s, I, L) {
915
+ this.regExps = I, this.rules = L, this.scanner = s.createOnigScanner(I);
916
+ }
917
+ scanner;
918
+ dispose() {
919
+ typeof this.scanner.dispose == "function" && this.scanner.dispose();
920
+ }
921
+ toString() {
922
+ let s = [];
923
+ for (let I = 0, L = this.rules.length; I < L; I++) s.push(" - " + this.rules[I] + ": " + this.regExps[I]);
924
+ return s.join("\n");
925
+ }
926
+ findNextMatchSync(s, I, L) {
927
+ let R = this.scanner.findNextMatchSync(s, I, L);
928
+ return R ? {
929
+ ruleId: this.rules[R.index],
930
+ captureIndices: R.captureIndices
931
+ } : null;
932
+ }
933
+ }, BasicScopeAttributes = class {
934
+ constructor(s, I) {
935
+ this.languageId = s, this.tokenType = I;
936
+ }
937
+ }, BasicScopeAttributesProvider = class s {
938
+ _defaultAttributes;
939
+ _embeddedLanguagesMatcher;
940
+ constructor(s, I) {
941
+ this._defaultAttributes = new BasicScopeAttributes(s, 8), this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(I || {}));
942
+ }
943
+ getDefaultAttributes() {
944
+ return this._defaultAttributes;
945
+ }
946
+ getBasicScopeAttributes(I) {
947
+ return I === null ? s._NULL_SCOPE_METADATA : this._getBasicScopeAttributes.get(I);
948
+ }
949
+ static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);
950
+ _getBasicScopeAttributes = new CachedFn((s) => new BasicScopeAttributes(this._scopeToLanguage(s), this._toStandardTokenType(s)));
951
+ _scopeToLanguage(s) {
952
+ return this._embeddedLanguagesMatcher.match(s) || 0;
953
+ }
954
+ _toStandardTokenType(I) {
955
+ let L = I.match(s.STANDARD_TOKEN_TYPE_REGEXP);
956
+ if (!L) return 8;
957
+ switch (L[1]) {
958
+ case "comment": return 1;
959
+ case "string": return 2;
960
+ case "regex": return 3;
961
+ case "meta.embedded": return 0;
962
+ }
963
+ throw Error("Unexpected match for standard token type!");
964
+ }
965
+ static STANDARD_TOKEN_TYPE_REGEXP = /\b(comment|string|regex|meta\.embedded)\b/;
966
+ }, ScopeMatcher = class {
967
+ values;
968
+ scopesRegExp;
969
+ constructor(s) {
970
+ if (s.length === 0) this.values = null, this.scopesRegExp = null;
971
+ else {
972
+ this.values = new Map(s);
973
+ let I = s.map(([s, I]) => escapeRegExpCharacters(s));
974
+ I.sort(), I.reverse(), this.scopesRegExp = RegExp(`^((${I.join(")|(")}))($|\\.)`, "");
975
+ }
976
+ }
977
+ match(s) {
978
+ if (!this.scopesRegExp) return;
979
+ let I = s.match(this.scopesRegExp);
980
+ if (I) return this.values.get(I[1]);
981
+ }
982
+ };
983
+ typeof process < "u" && process.env.VSCODE_TEXTMATE_DEBUG;
984
+ var UseOnigurumaFindOptions = !1, TokenizeStringResult = class {
985
+ constructor(s, I) {
986
+ this.stack = s, this.stoppedEarly = I;
987
+ }
988
+ };
989
+ function _tokenizeString(s, I, L, R, z, B, V, H) {
990
+ let U = I.content.length, W = !1, G = -1;
991
+ if (V) {
992
+ let V = _checkWhileConditions(s, I, L, R, z, B);
993
+ z = V.stack, R = V.linePos, L = V.isFirstLine, G = V.anchorPosition;
994
+ }
995
+ let K = Date.now();
996
+ for (; !W;) {
997
+ if (H !== 0 && Date.now() - K > H) return new TokenizeStringResult(z, !0);
998
+ q();
999
+ }
1000
+ return new TokenizeStringResult(z, !1);
1001
+ function q() {
1002
+ let V = matchRuleOrInjections(s, I, L, R, z, G);
1003
+ if (!V) {
1004
+ B.produce(z, U), W = !0;
1005
+ return;
1006
+ }
1007
+ let H = V.captureIndices, K = V.matchedRuleId, q = H && H.length > 0 ? H[0].end > R : !1;
1008
+ if (K === endRuleId) {
1009
+ let V = z.getRule(s);
1010
+ B.produce(z, H[0].start), z = z.withContentNameScopesList(z.nameScopesList), handleCaptures(s, I, L, z, B, V.endCaptures, H), B.produce(z, H[0].end);
1011
+ let K = z;
1012
+ if (z = z.parent, G = K.getAnchorPos(), !q && K.getEnterPos() === R) {
1013
+ z = K, B.produce(z, U), W = !0;
1014
+ return;
1015
+ }
1016
+ } else {
1017
+ let V = s.getRule(K);
1018
+ B.produce(z, H[0].start);
1019
+ let J = z, Y = V.getName(I.content, H), X = z.contentNameScopesList.pushAttributed(Y, s);
1020
+ if (z = z.push(K, R, G, H[0].end === U, null, X, X), V instanceof BeginEndRule) {
1021
+ let R = V;
1022
+ handleCaptures(s, I, L, z, B, R.beginCaptures, H), B.produce(z, H[0].end), G = H[0].end;
1023
+ let K = R.getContentName(I.content, H), Y = X.pushAttributed(K, s);
1024
+ if (z = z.withContentNameScopesList(Y), R.endHasBackReferences && (z = z.withEndRule(R.getEndWithResolvedBackReferences(I.content, H))), !q && J.hasSameRuleAs(z)) {
1025
+ z = z.pop(), B.produce(z, U), W = !0;
1026
+ return;
1027
+ }
1028
+ } else if (V instanceof BeginWhileRule) {
1029
+ let R = V;
1030
+ handleCaptures(s, I, L, z, B, R.beginCaptures, H), B.produce(z, H[0].end), G = H[0].end;
1031
+ let K = R.getContentName(I.content, H), Y = X.pushAttributed(K, s);
1032
+ if (z = z.withContentNameScopesList(Y), R.whileHasBackReferences && (z = z.withEndRule(R.getWhileWithResolvedBackReferences(I.content, H))), !q && J.hasSameRuleAs(z)) {
1033
+ z = z.pop(), B.produce(z, U), W = !0;
1034
+ return;
1035
+ }
1036
+ } else if (handleCaptures(s, I, L, z, B, V.captures, H), B.produce(z, H[0].end), z = z.pop(), !q) {
1037
+ z = z.safePop(), B.produce(z, U), W = !0;
1038
+ return;
1039
+ }
1040
+ }
1041
+ H[0].end > R && (R = H[0].end, L = !1);
1042
+ }
1043
+ }
1044
+ function _checkWhileConditions(s, I, L, R, z, B) {
1045
+ let V = z.beginRuleCapturedEOL ? 0 : -1, H = [];
1046
+ for (let I = z; I; I = I.pop()) {
1047
+ let L = I.getRule(s);
1048
+ L instanceof BeginWhileRule && H.push({
1049
+ rule: L,
1050
+ stack: I
1051
+ });
1052
+ }
1053
+ for (let U = H.pop(); U; U = H.pop()) {
1054
+ let { ruleScanner: H, findOptions: W } = prepareRuleWhileSearch(U.rule, s, U.stack.endRule, L, R === V), G = H.findNextMatchSync(I, R, W);
1055
+ if (G) {
1056
+ if (G.ruleId !== whileRuleId) {
1057
+ z = U.stack.pop();
1058
+ break;
1059
+ }
1060
+ G.captureIndices && G.captureIndices.length && (B.produce(U.stack, G.captureIndices[0].start), handleCaptures(s, I, L, U.stack, B, U.rule.whileCaptures, G.captureIndices), B.produce(U.stack, G.captureIndices[0].end), V = G.captureIndices[0].end, G.captureIndices[0].end > R && (R = G.captureIndices[0].end, L = !1));
1061
+ } else {
1062
+ z = U.stack.pop();
1063
+ break;
1064
+ }
1065
+ }
1066
+ return {
1067
+ stack: z,
1068
+ linePos: R,
1069
+ anchorPosition: V,
1070
+ isFirstLine: L
1071
+ };
1072
+ }
1073
+ function matchRuleOrInjections(s, I, L, R, z, B) {
1074
+ let V = matchRule(s, I, L, R, z, B), H = s.getInjections();
1075
+ if (H.length === 0) return V;
1076
+ let U = matchInjections(H, s, I, L, R, z, B);
1077
+ if (!U) return V;
1078
+ if (!V) return U;
1079
+ let W = V.captureIndices[0].start, G = U.captureIndices[0].start;
1080
+ return G < W || U.priorityMatch && G === W ? U : V;
1081
+ }
1082
+ function matchRule(s, I, L, R, z, B) {
1083
+ let { ruleScanner: V, findOptions: H } = prepareRuleSearch(z.getRule(s), s, z.endRule, L, R === B), U = V.findNextMatchSync(I, R, H);
1084
+ return U ? {
1085
+ captureIndices: U.captureIndices,
1086
+ matchedRuleId: U.ruleId
1087
+ } : null;
1088
+ }
1089
+ function matchInjections(s, I, L, R, z, B, V) {
1090
+ let H = Number.MAX_VALUE, U = null, W, G = 0, K = B.contentNameScopesList.getScopeNames();
1091
+ for (let B = 0, q = s.length; B < q; B++) {
1092
+ let q = s[B];
1093
+ if (!q.matcher(K)) continue;
1094
+ let { ruleScanner: J, findOptions: Y } = prepareRuleSearch(I.getRule(q.ruleId), I, null, R, z === V), X = J.findNextMatchSync(L, z, Y);
1095
+ if (!X) continue;
1096
+ let Z = X.captureIndices[0].start;
1097
+ if (!(Z >= H) && (H = Z, U = X.captureIndices, W = X.ruleId, G = q.priority, H === z)) break;
1098
+ }
1099
+ return U ? {
1100
+ priorityMatch: G === -1,
1101
+ captureIndices: U,
1102
+ matchedRuleId: W
1103
+ } : null;
1104
+ }
1105
+ function prepareRuleSearch(s, I, L, R, z) {
1106
+ return UseOnigurumaFindOptions ? {
1107
+ ruleScanner: s.compile(I, L),
1108
+ findOptions: getFindOptions(R, z)
1109
+ } : {
1110
+ ruleScanner: s.compileAG(I, L, R, z),
1111
+ findOptions: 0
1112
+ };
1113
+ }
1114
+ function prepareRuleWhileSearch(s, I, L, R, z) {
1115
+ return UseOnigurumaFindOptions ? {
1116
+ ruleScanner: s.compileWhile(I, L),
1117
+ findOptions: getFindOptions(R, z)
1118
+ } : {
1119
+ ruleScanner: s.compileWhileAG(I, L, R, z),
1120
+ findOptions: 0
1121
+ };
1122
+ }
1123
+ function getFindOptions(s, I) {
1124
+ let L = 0;
1125
+ return s || (L |= 1), I || (L |= 4), L;
1126
+ }
1127
+ function handleCaptures(s, I, L, R, z, B, V) {
1128
+ if (B.length === 0) return;
1129
+ let H = I.content, U = Math.min(B.length, V.length), W = [], G = V[0].end;
1130
+ for (let I = 0; I < U; I++) {
1131
+ let U = B[I];
1132
+ if (U === null) continue;
1133
+ let K = V[I];
1134
+ if (K.length === 0) continue;
1135
+ if (K.start > G) break;
1136
+ for (; W.length > 0 && W[W.length - 1].endPos <= K.start;) z.produceFromScopes(W[W.length - 1].scopes, W[W.length - 1].endPos), W.pop();
1137
+ if (W.length > 0 ? z.produceFromScopes(W[W.length - 1].scopes, K.start) : z.produce(R, K.start), U.retokenizeCapturedWithRuleId) {
1138
+ let I = U.getName(H, V), B = R.contentNameScopesList.pushAttributed(I, s), W = U.getContentName(H, V), G = B.pushAttributed(W, s), q = R.push(U.retokenizeCapturedWithRuleId, K.start, -1, !1, null, B, G), J = s.createOnigString(H.substring(0, K.end));
1139
+ _tokenizeString(s, J, L && K.start === 0, K.start, q, z, !1, 0), disposeOnigString(J);
1140
+ continue;
1141
+ }
1142
+ let q = U.getName(H, V);
1143
+ if (q !== null) {
1144
+ let I = (W.length > 0 ? W[W.length - 1].scopes : R.contentNameScopesList).pushAttributed(q, s);
1145
+ W.push(new LocalStackElement(I, K.end));
1146
+ }
1147
+ }
1148
+ for (; W.length > 0;) z.produceFromScopes(W[W.length - 1].scopes, W[W.length - 1].endPos), W.pop();
1149
+ }
1150
+ var LocalStackElement = class {
1151
+ scopes;
1152
+ endPos;
1153
+ constructor(s, I) {
1154
+ this.scopes = s, this.endPos = I;
1155
+ }
1156
+ };
1157
+ function createGrammar(s, I, L, R, z, B, V, H) {
1158
+ return new Grammar(s, I, L, R, z, B, V, H);
1159
+ }
1160
+ function collectInjections(s, I, L, R, z) {
1161
+ let B = createMatchers(I, nameMatcher), V = RuleFactory.getCompiledRuleId(L, R, z.repository);
1162
+ for (let L of B) s.push({
1163
+ debugSelector: I,
1164
+ matcher: L.matcher,
1165
+ ruleId: V,
1166
+ grammar: z,
1167
+ priority: L.priority
1168
+ });
1169
+ }
1170
+ function nameMatcher(s, I) {
1171
+ if (I.length < s.length) return !1;
1172
+ let L = 0;
1173
+ return s.every((s) => {
1174
+ for (let R = L; R < I.length; R++) if (scopesAreMatching(I[R], s)) return L = R + 1, !0;
1175
+ return !1;
1176
+ });
1177
+ }
1178
+ function scopesAreMatching(s, I) {
1179
+ if (!s) return !1;
1180
+ if (s === I) return !0;
1181
+ let L = I.length;
1182
+ return s.length > L && s.substr(0, L) === I && s[L] === ".";
1183
+ }
1184
+ var Grammar = class {
1185
+ constructor(s, I, L, R, z, B, V, H) {
1186
+ if (this._rootScopeName = s, this.balancedBracketSelectors = B, this._onigLib = H, this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(L, R), this._rootId = -1, this._lastRuleId = 0, this._ruleId2desc = [null], this._includedGrammars = {}, this._grammarRepository = V, this._grammar = initGrammar(I, null), this._injections = null, this._tokenTypeMatchers = [], z) for (let s of Object.keys(z)) {
1187
+ let I = createMatchers(s, nameMatcher);
1188
+ for (let L of I) this._tokenTypeMatchers.push({
1189
+ matcher: L.matcher,
1190
+ type: z[s]
1191
+ });
1192
+ }
1193
+ }
1194
+ _rootId;
1195
+ _lastRuleId;
1196
+ _ruleId2desc;
1197
+ _includedGrammars;
1198
+ _grammarRepository;
1199
+ _grammar;
1200
+ _injections;
1201
+ _basicScopeAttributesProvider;
1202
+ _tokenTypeMatchers;
1203
+ get themeProvider() {
1204
+ return this._grammarRepository;
1205
+ }
1206
+ dispose() {
1207
+ for (let s of this._ruleId2desc) s && s.dispose();
1208
+ }
1209
+ createOnigScanner(s) {
1210
+ return this._onigLib.createOnigScanner(s);
1211
+ }
1212
+ createOnigString(s) {
1213
+ return this._onigLib.createOnigString(s);
1214
+ }
1215
+ getMetadataForScope(s) {
1216
+ return this._basicScopeAttributesProvider.getBasicScopeAttributes(s);
1217
+ }
1218
+ _collectInjections() {
1219
+ let s = {
1220
+ lookup: (s) => s === this._rootScopeName ? this._grammar : this.getExternalGrammar(s),
1221
+ injections: (s) => this._grammarRepository.injections(s)
1222
+ }, I = [], L = this._rootScopeName, R = s.lookup(L);
1223
+ if (R) {
1224
+ let s = R.injections;
1225
+ if (s) for (let L in s) collectInjections(I, L, s[L], this, R);
1226
+ let z = this._grammarRepository.injections(L);
1227
+ z && z.forEach((s) => {
1228
+ let L = this.getExternalGrammar(s);
1229
+ if (L) {
1230
+ let s = L.injectionSelector;
1231
+ s && collectInjections(I, s, L, this, L);
1232
+ }
1233
+ });
1234
+ }
1235
+ return I.sort((s, I) => s.priority - I.priority), I;
1236
+ }
1237
+ getInjections() {
1238
+ return this._injections === null && (this._injections = this._collectInjections()), this._injections;
1239
+ }
1240
+ registerRule(s) {
1241
+ let I = ++this._lastRuleId, L = s(ruleIdFromNumber(I));
1242
+ return this._ruleId2desc[I] = L, L;
1243
+ }
1244
+ getRule(s) {
1245
+ return this._ruleId2desc[ruleIdToNumber(s)];
1246
+ }
1247
+ getExternalGrammar(s, I) {
1248
+ if (this._includedGrammars[s]) return this._includedGrammars[s];
1249
+ if (this._grammarRepository) {
1250
+ let L = this._grammarRepository.lookup(s);
1251
+ if (L) return this._includedGrammars[s] = initGrammar(L, I && I.$base), this._includedGrammars[s];
1252
+ }
1253
+ }
1254
+ tokenizeLine(s, I, L = 0) {
1255
+ let R = this._tokenize(s, I, !1, L);
1256
+ return {
1257
+ tokens: R.lineTokens.getResult(R.ruleStack, R.lineLength),
1258
+ ruleStack: R.ruleStack,
1259
+ stoppedEarly: R.stoppedEarly
1260
+ };
1261
+ }
1262
+ tokenizeLine2(s, I, L = 0) {
1263
+ let R = this._tokenize(s, I, !0, L);
1264
+ return {
1265
+ tokens: R.lineTokens.getBinaryResult(R.ruleStack, R.lineLength),
1266
+ ruleStack: R.ruleStack,
1267
+ stoppedEarly: R.stoppedEarly
1268
+ };
1269
+ }
1270
+ _tokenize(s, I, L, R) {
1271
+ this._rootId === -1 && (this._rootId = RuleFactory.getCompiledRuleId(this._grammar.repository.$self, this, this._grammar.repository), this.getInjections());
1272
+ let z;
1273
+ if (!I || I === StateStackImpl.NULL) {
1274
+ z = !0;
1275
+ let s = this._basicScopeAttributesProvider.getDefaultAttributes(), L = this.themeProvider.getDefaults(), R = EncodedTokenMetadata.set(0, s.languageId, s.tokenType, null, L.fontStyle, L.foregroundId, L.backgroundId), B = this.getRule(this._rootId).getName(null, null), V;
1276
+ V = B ? AttributedScopeStack.createRootAndLookUpScopeName(B, R, this) : AttributedScopeStack.createRoot("unknown", R), I = new StateStackImpl(null, this._rootId, -1, -1, !1, null, V, V);
1277
+ } else z = !1, I.reset();
1278
+ s += "\n";
1279
+ let B = this.createOnigString(s), V = B.content.length, H = new LineTokens(L, s, this._tokenTypeMatchers, this.balancedBracketSelectors), U = _tokenizeString(this, B, z, 0, I, H, !0, R);
1280
+ return disposeOnigString(B), {
1281
+ lineLength: V,
1282
+ lineTokens: H,
1283
+ ruleStack: U.stack,
1284
+ stoppedEarly: U.stoppedEarly
1285
+ };
1286
+ }
1287
+ };
1288
+ function initGrammar(s, I) {
1289
+ return s = clone(s), s.repository = s.repository || {}, s.repository.$self = {
1290
+ $vscodeTextmateLocation: s.$vscodeTextmateLocation,
1291
+ patterns: s.patterns,
1292
+ name: s.scopeName
1293
+ }, s.repository.$base = I || s.repository.$self, s;
1294
+ }
1295
+ var AttributedScopeStack = class s {
1296
+ constructor(s, I, L) {
1297
+ this.parent = s, this.scopePath = I, this.tokenAttributes = L;
1298
+ }
1299
+ static fromExtension(I, L) {
1300
+ let R = I, z = I?.scopePath ?? null;
1301
+ for (let I of L) z = ScopeStack.push(z, I.scopeNames), R = new s(R, z, I.encodedTokenAttributes);
1302
+ return R;
1303
+ }
1304
+ static createRoot(I, L) {
1305
+ return new s(null, new ScopeStack(null, I), L);
1306
+ }
1307
+ static createRootAndLookUpScopeName(I, L, R) {
1308
+ let z = R.getMetadataForScope(I), B = new ScopeStack(null, I), V = R.themeProvider.themeMatch(B);
1309
+ return new s(null, B, s.mergeAttributes(L, z, V));
1310
+ }
1311
+ get scopeName() {
1312
+ return this.scopePath.scopeName;
1313
+ }
1314
+ toString() {
1315
+ return this.getScopeNames().join(" ");
1316
+ }
1317
+ equals(I) {
1318
+ return s.equals(this, I);
1319
+ }
1320
+ static equals(s, I) {
1321
+ do {
1322
+ if (s === I || !s && !I) return !0;
1323
+ if (!s || !I || s.scopeName !== I.scopeName || s.tokenAttributes !== I.tokenAttributes) return !1;
1324
+ s = s.parent, I = I.parent;
1325
+ } while (!0);
1326
+ }
1327
+ static mergeAttributes(s, I, L) {
1328
+ let R = -1, z = 0, B = 0;
1329
+ return L !== null && (R = L.fontStyle, z = L.foregroundId, B = L.backgroundId), EncodedTokenMetadata.set(s, I.languageId, I.tokenType, null, R, z, B);
1330
+ }
1331
+ pushAttributed(I, L) {
1332
+ if (I === null) return this;
1333
+ if (I.indexOf(" ") === -1) return s._pushAttributed(this, I, L);
1334
+ let R = I.split(/ /g), z = this;
1335
+ for (let I of R) z = s._pushAttributed(z, I, L);
1336
+ return z;
1337
+ }
1338
+ static _pushAttributed(I, L, R) {
1339
+ let z = R.getMetadataForScope(L), B = I.scopePath.push(L), V = R.themeProvider.themeMatch(B);
1340
+ return new s(I, B, s.mergeAttributes(I.tokenAttributes, z, V));
1341
+ }
1342
+ getScopeNames() {
1343
+ return this.scopePath.getSegments();
1344
+ }
1345
+ getExtensionIfDefined(s) {
1346
+ let I = [], L = this;
1347
+ for (; L && L !== s;) I.push({
1348
+ encodedTokenAttributes: L.tokenAttributes,
1349
+ scopeNames: L.scopePath.getExtensionIfDefined(L.parent?.scopePath ?? null)
1350
+ }), L = L.parent;
1351
+ return L === s ? I.reverse() : void 0;
1352
+ }
1353
+ }, StateStackImpl = class s {
1354
+ constructor(s, I, L, R, z, B, V, H) {
1355
+ this.parent = s, this.ruleId = I, this.beginRuleCapturedEOL = z, this.endRule = B, this.nameScopesList = V, this.contentNameScopesList = H, this.depth = this.parent ? this.parent.depth + 1 : 1, this._enterPos = L, this._anchorPos = R;
1356
+ }
1357
+ _stackElementBrand = void 0;
1358
+ static NULL = new s(null, 0, 0, 0, !1, null, null, null);
1359
+ _enterPos;
1360
+ _anchorPos;
1361
+ depth;
1362
+ equals(I) {
1363
+ return I === null ? !1 : s._equals(this, I);
1364
+ }
1365
+ static _equals(s, I) {
1366
+ return s === I ? !0 : this._structuralEquals(s, I) ? AttributedScopeStack.equals(s.contentNameScopesList, I.contentNameScopesList) : !1;
1367
+ }
1368
+ static _structuralEquals(s, I) {
1369
+ do {
1370
+ if (s === I || !s && !I) return !0;
1371
+ if (!s || !I || s.depth !== I.depth || s.ruleId !== I.ruleId || s.endRule !== I.endRule) return !1;
1372
+ s = s.parent, I = I.parent;
1373
+ } while (!0);
1374
+ }
1375
+ clone() {
1376
+ return this;
1377
+ }
1378
+ static _reset(s) {
1379
+ for (; s;) s._enterPos = -1, s._anchorPos = -1, s = s.parent;
1380
+ }
1381
+ reset() {
1382
+ s._reset(this);
1383
+ }
1384
+ pop() {
1385
+ return this.parent;
1386
+ }
1387
+ safePop() {
1388
+ return this.parent ? this.parent : this;
1389
+ }
1390
+ push(I, L, R, z, B, V, H) {
1391
+ return new s(this, I, L, R, z, B, V, H);
1392
+ }
1393
+ getEnterPos() {
1394
+ return this._enterPos;
1395
+ }
1396
+ getAnchorPos() {
1397
+ return this._anchorPos;
1398
+ }
1399
+ getRule(s) {
1400
+ return s.getRule(this.ruleId);
1401
+ }
1402
+ toString() {
1403
+ let s = [];
1404
+ return this._writeString(s, 0), "[" + s.join(",") + "]";
1405
+ }
1406
+ _writeString(s, I) {
1407
+ return this.parent && (I = this.parent._writeString(s, I)), s[I++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`, I;
1408
+ }
1409
+ withContentNameScopesList(s) {
1410
+ return this.contentNameScopesList === s ? this : this.parent.push(this.ruleId, this._enterPos, this._anchorPos, this.beginRuleCapturedEOL, this.endRule, this.nameScopesList, s);
1411
+ }
1412
+ withEndRule(I) {
1413
+ return this.endRule === I ? this : new s(this.parent, this.ruleId, this._enterPos, this._anchorPos, this.beginRuleCapturedEOL, I, this.nameScopesList, this.contentNameScopesList);
1414
+ }
1415
+ hasSameRuleAs(s) {
1416
+ let I = this;
1417
+ for (; I && I._enterPos === s._enterPos;) {
1418
+ if (I.ruleId === s.ruleId) return !0;
1419
+ I = I.parent;
1420
+ }
1421
+ return !1;
1422
+ }
1423
+ toStateStackFrame() {
1424
+ return {
1425
+ ruleId: ruleIdToNumber(this.ruleId),
1426
+ beginRuleCapturedEOL: this.beginRuleCapturedEOL,
1427
+ endRule: this.endRule,
1428
+ nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],
1429
+ contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []
1430
+ };
1431
+ }
1432
+ static pushFrame(I, L) {
1433
+ let R = AttributedScopeStack.fromExtension(I?.nameScopesList ?? null, L.nameScopesList);
1434
+ return new s(I, ruleIdFromNumber(L.ruleId), L.enterPos ?? -1, L.anchorPos ?? -1, L.beginRuleCapturedEOL, L.endRule, R, AttributedScopeStack.fromExtension(R, L.contentNameScopesList));
1435
+ }
1436
+ }, BalancedBracketSelectors = class {
1437
+ balancedBracketScopes;
1438
+ unbalancedBracketScopes;
1439
+ allowAny = !1;
1440
+ constructor(s, I) {
1441
+ this.balancedBracketScopes = s.flatMap((s) => s === "*" ? (this.allowAny = !0, []) : createMatchers(s, nameMatcher).map((s) => s.matcher)), this.unbalancedBracketScopes = I.flatMap((s) => createMatchers(s, nameMatcher).map((s) => s.matcher));
1442
+ }
1443
+ get matchesAlways() {
1444
+ return this.allowAny && this.unbalancedBracketScopes.length === 0;
1445
+ }
1446
+ get matchesNever() {
1447
+ return this.balancedBracketScopes.length === 0 && !this.allowAny;
1448
+ }
1449
+ match(s) {
1450
+ for (let I of this.unbalancedBracketScopes) if (I(s)) return !1;
1451
+ for (let I of this.balancedBracketScopes) if (I(s)) return !0;
1452
+ return this.allowAny;
1453
+ }
1454
+ }, LineTokens = class {
1455
+ constructor(s, I, L, R) {
1456
+ this.balancedBracketSelectors = R, this._emitBinaryTokens = s, this._tokenTypeOverrides = L, this._lineText = null, this._tokens = [], this._binaryTokens = [], this._lastTokenEndIndex = 0;
1457
+ }
1458
+ _emitBinaryTokens;
1459
+ _lineText;
1460
+ _tokens;
1461
+ _binaryTokens;
1462
+ _lastTokenEndIndex;
1463
+ _tokenTypeOverrides;
1464
+ produce(s, I) {
1465
+ this.produceFromScopes(s.contentNameScopesList, I);
1466
+ }
1467
+ produceFromScopes(s, I) {
1468
+ if (this._lastTokenEndIndex >= I) return;
1469
+ if (this._emitBinaryTokens) {
1470
+ let L = s?.tokenAttributes ?? 0, R = !1;
1471
+ if (this.balancedBracketSelectors?.matchesAlways && (R = !0), this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {
1472
+ let I = s?.getScopeNames() ?? [];
1473
+ for (let s of this._tokenTypeOverrides) s.matcher(I) && (L = EncodedTokenMetadata.set(L, 0, toOptionalTokenType(s.type), null, -1, 0, 0));
1474
+ this.balancedBracketSelectors && (R = this.balancedBracketSelectors.match(I));
1475
+ }
1476
+ if (R && (L = EncodedTokenMetadata.set(L, 0, 8, R, -1, 0, 0)), this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === L) {
1477
+ this._lastTokenEndIndex = I;
1478
+ return;
1479
+ }
1480
+ this._binaryTokens.push(this._lastTokenEndIndex), this._binaryTokens.push(L), this._lastTokenEndIndex = I;
1481
+ return;
1482
+ }
1483
+ let L = s?.getScopeNames() ?? [];
1484
+ this._tokens.push({
1485
+ startIndex: this._lastTokenEndIndex,
1486
+ endIndex: I,
1487
+ scopes: L
1488
+ }), this._lastTokenEndIndex = I;
1489
+ }
1490
+ getResult(s, I) {
1491
+ return this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === I - 1 && this._tokens.pop(), this._tokens.length === 0 && (this._lastTokenEndIndex = -1, this.produce(s, I), this._tokens[this._tokens.length - 1].startIndex = 0), this._tokens;
1492
+ }
1493
+ getBinaryResult(s, I) {
1494
+ this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === I - 1 && (this._binaryTokens.pop(), this._binaryTokens.pop()), this._binaryTokens.length === 0 && (this._lastTokenEndIndex = -1, this.produce(s, I), this._binaryTokens[this._binaryTokens.length - 2] = 0);
1495
+ let L = new Uint32Array(this._binaryTokens.length);
1496
+ for (let s = 0, I = this._binaryTokens.length; s < I; s++) L[s] = this._binaryTokens[s];
1497
+ return L;
1498
+ }
1499
+ }, SyncRegistry = class {
1500
+ constructor(s, I) {
1501
+ this._onigLib = I, this._theme = s;
1502
+ }
1503
+ _grammars = /* @__PURE__ */ new Map();
1504
+ _rawGrammars = /* @__PURE__ */ new Map();
1505
+ _injectionGrammars = /* @__PURE__ */ new Map();
1506
+ _theme;
1507
+ dispose() {
1508
+ for (let s of this._grammars.values()) s.dispose();
1509
+ }
1510
+ setTheme(s) {
1511
+ this._theme = s;
1512
+ }
1513
+ getColorMap() {
1514
+ return this._theme.getColorMap();
1515
+ }
1516
+ addGrammar(s, I) {
1517
+ this._rawGrammars.set(s.scopeName, s), I && this._injectionGrammars.set(s.scopeName, I);
1518
+ }
1519
+ lookup(s) {
1520
+ return this._rawGrammars.get(s);
1521
+ }
1522
+ injections(s) {
1523
+ return this._injectionGrammars.get(s);
1524
+ }
1525
+ getDefaults() {
1526
+ return this._theme.getDefaults();
1527
+ }
1528
+ themeMatch(s) {
1529
+ return this._theme.match(s);
1530
+ }
1531
+ grammarForScopeName(s, I, L, R, z) {
1532
+ if (!this._grammars.has(s)) {
1533
+ let B = this._rawGrammars.get(s);
1534
+ if (!B) return null;
1535
+ this._grammars.set(s, createGrammar(s, B, I, L, R, z, this, this._onigLib));
1536
+ }
1537
+ return this._grammars.get(s);
1538
+ }
1539
+ }, Registry$1 = class {
1540
+ _options;
1541
+ _syncRegistry;
1542
+ _ensureGrammarCache;
1543
+ constructor(s) {
1544
+ this._options = s, this._syncRegistry = new SyncRegistry(Theme.createFromRawTheme(s.theme, s.colorMap), s.onigLib), this._ensureGrammarCache = /* @__PURE__ */ new Map();
1545
+ }
1546
+ dispose() {
1547
+ this._syncRegistry.dispose();
1548
+ }
1549
+ setTheme(s, I) {
1550
+ this._syncRegistry.setTheme(Theme.createFromRawTheme(s, I));
1551
+ }
1552
+ getColorMap() {
1553
+ return this._syncRegistry.getColorMap();
1554
+ }
1555
+ loadGrammarWithEmbeddedLanguages(s, I, L) {
1556
+ return this.loadGrammarWithConfiguration(s, I, { embeddedLanguages: L });
1557
+ }
1558
+ loadGrammarWithConfiguration(s, I, L) {
1559
+ return this._loadGrammar(s, I, L.embeddedLanguages, L.tokenTypes, new BalancedBracketSelectors(L.balancedBracketSelectors || [], L.unbalancedBracketSelectors || []));
1560
+ }
1561
+ loadGrammar(s) {
1562
+ return this._loadGrammar(s, 0, null, null, null);
1563
+ }
1564
+ _loadGrammar(s, I, L, R, z) {
1565
+ let B = new ScopeDependencyProcessor(this._syncRegistry, s);
1566
+ for (; B.Q.length > 0;) B.Q.map((s) => this._loadSingleGrammar(s.scopeName)), B.processQueue();
1567
+ return this._grammarForScopeName(s, I, L, R, z);
1568
+ }
1569
+ _loadSingleGrammar(s) {
1570
+ this._ensureGrammarCache.has(s) || (this._doLoadSingleGrammar(s), this._ensureGrammarCache.set(s, !0));
1571
+ }
1572
+ _doLoadSingleGrammar(s) {
1573
+ let I = this._options.loadGrammar(s);
1574
+ if (I) {
1575
+ let L = typeof this._options.getInjections == "function" ? this._options.getInjections(s) : void 0;
1576
+ this._syncRegistry.addGrammar(I, L);
1577
+ }
1578
+ }
1579
+ addGrammar(s, I = [], L = 0, R = null) {
1580
+ return this._syncRegistry.addGrammar(s, I), this._grammarForScopeName(s.scopeName, L, R);
1581
+ }
1582
+ _grammarForScopeName(s, I = 0, L = null, R = null, z = null) {
1583
+ return this._syncRegistry.grammarForScopeName(s, I, L, R, z);
1584
+ }
1585
+ }, INITIAL = StateStackImpl.NULL;
1586
+ const htmlVoidElements = [
1587
+ "area",
1588
+ "base",
1589
+ "basefont",
1590
+ "bgsound",
1591
+ "br",
1592
+ "col",
1593
+ "command",
1594
+ "embed",
1595
+ "frame",
1596
+ "hr",
1597
+ "image",
1598
+ "img",
1599
+ "input",
1600
+ "keygen",
1601
+ "link",
1602
+ "meta",
1603
+ "param",
1604
+ "source",
1605
+ "track",
1606
+ "wbr"
1607
+ ];
1608
+ var Schema = class {
1609
+ constructor(s, I, L) {
1610
+ this.normal = I, this.property = s, L && (this.space = L);
1611
+ }
1612
+ };
1613
+ Schema.prototype.normal = {}, Schema.prototype.property = {}, Schema.prototype.space = void 0;
1614
+ function merge(s, I) {
1615
+ let L = {}, R = {};
1616
+ for (let I of s) Object.assign(L, I.property), Object.assign(R, I.normal);
1617
+ return new Schema(L, R, I);
1618
+ }
1619
+ function normalize(s) {
1620
+ return s.toLowerCase();
1621
+ }
1622
+ var Info = class {
1623
+ constructor(s, I) {
1624
+ this.attribute = I, this.property = s;
1625
+ }
1626
+ };
1627
+ Info.prototype.attribute = "", Info.prototype.booleanish = !1, Info.prototype.boolean = !1, Info.prototype.commaOrSpaceSeparated = !1, Info.prototype.commaSeparated = !1, Info.prototype.defined = !1, Info.prototype.mustUseProperty = !1, Info.prototype.number = !1, Info.prototype.overloadedBoolean = !1, Info.prototype.property = "", Info.prototype.spaceSeparated = !1, Info.prototype.space = void 0;
1628
+ var types_exports = /* @__PURE__ */ __export({
1629
+ boolean: () => boolean,
1630
+ booleanish: () => booleanish,
1631
+ commaOrSpaceSeparated: () => commaOrSpaceSeparated,
1632
+ commaSeparated: () => commaSeparated,
1633
+ number: () => number,
1634
+ overloadedBoolean: () => overloadedBoolean,
1635
+ spaceSeparated: () => spaceSeparated
1636
+ }, 1), powers = 0;
1637
+ const boolean = increment(), booleanish = increment(), overloadedBoolean = increment(), number = increment(), spaceSeparated = increment(), commaSeparated = increment(), commaOrSpaceSeparated = increment();
1638
+ function increment() {
1639
+ return 2 ** ++powers;
1640
+ }
1641
+ var checks = Object.keys(types_exports), DefinedInfo = class extends Info {
1642
+ constructor(s, I, L, R) {
1643
+ let z = -1;
1644
+ if (super(s, I), mark(this, "space", R), typeof L == "number") for (; ++z < checks.length;) {
1645
+ let s = checks[z];
1646
+ mark(this, checks[z], (L & types_exports[s]) === types_exports[s]);
1647
+ }
1648
+ }
1649
+ };
1650
+ DefinedInfo.prototype.defined = !0;
1651
+ function mark(s, I, L) {
1652
+ L && (s[I] = L);
1653
+ }
1654
+ function create(s) {
1655
+ let I = {}, L = {};
1656
+ for (let [R, z] of Object.entries(s.properties)) {
1657
+ let B = new DefinedInfo(R, s.transform(s.attributes || {}, R), z, s.space);
1658
+ s.mustUseProperty && s.mustUseProperty.includes(R) && (B.mustUseProperty = !0), I[R] = B, L[normalize(R)] = R, L[normalize(B.attribute)] = R;
1659
+ }
1660
+ return new Schema(I, L, s.space);
1661
+ }
1662
+ const aria = create({
1663
+ properties: {
1664
+ ariaActiveDescendant: null,
1665
+ ariaAtomic: booleanish,
1666
+ ariaAutoComplete: null,
1667
+ ariaBusy: booleanish,
1668
+ ariaChecked: booleanish,
1669
+ ariaColCount: number,
1670
+ ariaColIndex: number,
1671
+ ariaColSpan: number,
1672
+ ariaControls: spaceSeparated,
1673
+ ariaCurrent: null,
1674
+ ariaDescribedBy: spaceSeparated,
1675
+ ariaDetails: null,
1676
+ ariaDisabled: booleanish,
1677
+ ariaDropEffect: spaceSeparated,
1678
+ ariaErrorMessage: null,
1679
+ ariaExpanded: booleanish,
1680
+ ariaFlowTo: spaceSeparated,
1681
+ ariaGrabbed: booleanish,
1682
+ ariaHasPopup: null,
1683
+ ariaHidden: booleanish,
1684
+ ariaInvalid: null,
1685
+ ariaKeyShortcuts: null,
1686
+ ariaLabel: null,
1687
+ ariaLabelledBy: spaceSeparated,
1688
+ ariaLevel: number,
1689
+ ariaLive: null,
1690
+ ariaModal: booleanish,
1691
+ ariaMultiLine: booleanish,
1692
+ ariaMultiSelectable: booleanish,
1693
+ ariaOrientation: null,
1694
+ ariaOwns: spaceSeparated,
1695
+ ariaPlaceholder: null,
1696
+ ariaPosInSet: number,
1697
+ ariaPressed: booleanish,
1698
+ ariaReadOnly: booleanish,
1699
+ ariaRelevant: null,
1700
+ ariaRequired: booleanish,
1701
+ ariaRoleDescription: spaceSeparated,
1702
+ ariaRowCount: number,
1703
+ ariaRowIndex: number,
1704
+ ariaRowSpan: number,
1705
+ ariaSelected: booleanish,
1706
+ ariaSetSize: number,
1707
+ ariaSort: null,
1708
+ ariaValueMax: number,
1709
+ ariaValueMin: number,
1710
+ ariaValueNow: number,
1711
+ ariaValueText: null,
1712
+ role: null
1713
+ },
1714
+ transform(s, I) {
1715
+ return I === "role" ? I : "aria-" + I.slice(4).toLowerCase();
1716
+ }
1717
+ });
1718
+ function caseSensitiveTransform(s, I) {
1719
+ return I in s ? s[I] : I;
1720
+ }
1721
+ function caseInsensitiveTransform(s, I) {
1722
+ return caseSensitiveTransform(s, I.toLowerCase());
1723
+ }
1724
+ const html$3 = create({
1725
+ attributes: {
1726
+ acceptcharset: "accept-charset",
1727
+ classname: "class",
1728
+ htmlfor: "for",
1729
+ httpequiv: "http-equiv"
1730
+ },
1731
+ mustUseProperty: [
1732
+ "checked",
1733
+ "multiple",
1734
+ "muted",
1735
+ "selected"
1736
+ ],
1737
+ properties: {
1738
+ abbr: null,
1739
+ accept: commaSeparated,
1740
+ acceptCharset: spaceSeparated,
1741
+ accessKey: spaceSeparated,
1742
+ action: null,
1743
+ allow: null,
1744
+ allowFullScreen: boolean,
1745
+ allowPaymentRequest: boolean,
1746
+ allowUserMedia: boolean,
1747
+ alt: null,
1748
+ as: null,
1749
+ async: boolean,
1750
+ autoCapitalize: null,
1751
+ autoComplete: spaceSeparated,
1752
+ autoFocus: boolean,
1753
+ autoPlay: boolean,
1754
+ blocking: spaceSeparated,
1755
+ capture: null,
1756
+ charSet: null,
1757
+ checked: boolean,
1758
+ cite: null,
1759
+ className: spaceSeparated,
1760
+ cols: number,
1761
+ colSpan: null,
1762
+ content: null,
1763
+ contentEditable: booleanish,
1764
+ controls: boolean,
1765
+ controlsList: spaceSeparated,
1766
+ coords: number | commaSeparated,
1767
+ crossOrigin: null,
1768
+ data: null,
1769
+ dateTime: null,
1770
+ decoding: null,
1771
+ default: boolean,
1772
+ defer: boolean,
1773
+ dir: null,
1774
+ dirName: null,
1775
+ disabled: boolean,
1776
+ download: overloadedBoolean,
1777
+ draggable: booleanish,
1778
+ encType: null,
1779
+ enterKeyHint: null,
1780
+ fetchPriority: null,
1781
+ form: null,
1782
+ formAction: null,
1783
+ formEncType: null,
1784
+ formMethod: null,
1785
+ formNoValidate: boolean,
1786
+ formTarget: null,
1787
+ headers: spaceSeparated,
1788
+ height: number,
1789
+ hidden: overloadedBoolean,
1790
+ high: number,
1791
+ href: null,
1792
+ hrefLang: null,
1793
+ htmlFor: spaceSeparated,
1794
+ httpEquiv: spaceSeparated,
1795
+ id: null,
1796
+ imageSizes: null,
1797
+ imageSrcSet: null,
1798
+ inert: boolean,
1799
+ inputMode: null,
1800
+ integrity: null,
1801
+ is: null,
1802
+ isMap: boolean,
1803
+ itemId: null,
1804
+ itemProp: spaceSeparated,
1805
+ itemRef: spaceSeparated,
1806
+ itemScope: boolean,
1807
+ itemType: spaceSeparated,
1808
+ kind: null,
1809
+ label: null,
1810
+ lang: null,
1811
+ language: null,
1812
+ list: null,
1813
+ loading: null,
1814
+ loop: boolean,
1815
+ low: number,
1816
+ manifest: null,
1817
+ max: null,
1818
+ maxLength: number,
1819
+ media: null,
1820
+ method: null,
1821
+ min: null,
1822
+ minLength: number,
1823
+ multiple: boolean,
1824
+ muted: boolean,
1825
+ name: null,
1826
+ nonce: null,
1827
+ noModule: boolean,
1828
+ noValidate: boolean,
1829
+ onAbort: null,
1830
+ onAfterPrint: null,
1831
+ onAuxClick: null,
1832
+ onBeforeMatch: null,
1833
+ onBeforePrint: null,
1834
+ onBeforeToggle: null,
1835
+ onBeforeUnload: null,
1836
+ onBlur: null,
1837
+ onCancel: null,
1838
+ onCanPlay: null,
1839
+ onCanPlayThrough: null,
1840
+ onChange: null,
1841
+ onClick: null,
1842
+ onClose: null,
1843
+ onContextLost: null,
1844
+ onContextMenu: null,
1845
+ onContextRestored: null,
1846
+ onCopy: null,
1847
+ onCueChange: null,
1848
+ onCut: null,
1849
+ onDblClick: null,
1850
+ onDrag: null,
1851
+ onDragEnd: null,
1852
+ onDragEnter: null,
1853
+ onDragExit: null,
1854
+ onDragLeave: null,
1855
+ onDragOver: null,
1856
+ onDragStart: null,
1857
+ onDrop: null,
1858
+ onDurationChange: null,
1859
+ onEmptied: null,
1860
+ onEnded: null,
1861
+ onError: null,
1862
+ onFocus: null,
1863
+ onFormData: null,
1864
+ onHashChange: null,
1865
+ onInput: null,
1866
+ onInvalid: null,
1867
+ onKeyDown: null,
1868
+ onKeyPress: null,
1869
+ onKeyUp: null,
1870
+ onLanguageChange: null,
1871
+ onLoad: null,
1872
+ onLoadedData: null,
1873
+ onLoadedMetadata: null,
1874
+ onLoadEnd: null,
1875
+ onLoadStart: null,
1876
+ onMessage: null,
1877
+ onMessageError: null,
1878
+ onMouseDown: null,
1879
+ onMouseEnter: null,
1880
+ onMouseLeave: null,
1881
+ onMouseMove: null,
1882
+ onMouseOut: null,
1883
+ onMouseOver: null,
1884
+ onMouseUp: null,
1885
+ onOffline: null,
1886
+ onOnline: null,
1887
+ onPageHide: null,
1888
+ onPageShow: null,
1889
+ onPaste: null,
1890
+ onPause: null,
1891
+ onPlay: null,
1892
+ onPlaying: null,
1893
+ onPopState: null,
1894
+ onProgress: null,
1895
+ onRateChange: null,
1896
+ onRejectionHandled: null,
1897
+ onReset: null,
1898
+ onResize: null,
1899
+ onScroll: null,
1900
+ onScrollEnd: null,
1901
+ onSecurityPolicyViolation: null,
1902
+ onSeeked: null,
1903
+ onSeeking: null,
1904
+ onSelect: null,
1905
+ onSlotChange: null,
1906
+ onStalled: null,
1907
+ onStorage: null,
1908
+ onSubmit: null,
1909
+ onSuspend: null,
1910
+ onTimeUpdate: null,
1911
+ onToggle: null,
1912
+ onUnhandledRejection: null,
1913
+ onUnload: null,
1914
+ onVolumeChange: null,
1915
+ onWaiting: null,
1916
+ onWheel: null,
1917
+ open: boolean,
1918
+ optimum: number,
1919
+ pattern: null,
1920
+ ping: spaceSeparated,
1921
+ placeholder: null,
1922
+ playsInline: boolean,
1923
+ popover: null,
1924
+ popoverTarget: null,
1925
+ popoverTargetAction: null,
1926
+ poster: null,
1927
+ preload: null,
1928
+ readOnly: boolean,
1929
+ referrerPolicy: null,
1930
+ rel: spaceSeparated,
1931
+ required: boolean,
1932
+ reversed: boolean,
1933
+ rows: number,
1934
+ rowSpan: number,
1935
+ sandbox: spaceSeparated,
1936
+ scope: null,
1937
+ scoped: boolean,
1938
+ seamless: boolean,
1939
+ selected: boolean,
1940
+ shadowRootClonable: boolean,
1941
+ shadowRootDelegatesFocus: boolean,
1942
+ shadowRootMode: null,
1943
+ shape: null,
1944
+ size: number,
1945
+ sizes: null,
1946
+ slot: null,
1947
+ span: number,
1948
+ spellCheck: booleanish,
1949
+ src: null,
1950
+ srcDoc: null,
1951
+ srcLang: null,
1952
+ srcSet: null,
1953
+ start: number,
1954
+ step: null,
1955
+ style: null,
1956
+ tabIndex: number,
1957
+ target: null,
1958
+ title: null,
1959
+ translate: null,
1960
+ type: null,
1961
+ typeMustMatch: boolean,
1962
+ useMap: null,
1963
+ value: booleanish,
1964
+ width: number,
1965
+ wrap: null,
1966
+ writingSuggestions: null,
1967
+ align: null,
1968
+ aLink: null,
1969
+ archive: spaceSeparated,
1970
+ axis: null,
1971
+ background: null,
1972
+ bgColor: null,
1973
+ border: number,
1974
+ borderColor: null,
1975
+ bottomMargin: number,
1976
+ cellPadding: null,
1977
+ cellSpacing: null,
1978
+ char: null,
1979
+ charOff: null,
1980
+ classId: null,
1981
+ clear: null,
1982
+ code: null,
1983
+ codeBase: null,
1984
+ codeType: null,
1985
+ color: null,
1986
+ compact: boolean,
1987
+ declare: boolean,
1988
+ event: null,
1989
+ face: null,
1990
+ frame: null,
1991
+ frameBorder: null,
1992
+ hSpace: number,
1993
+ leftMargin: number,
1994
+ link: null,
1995
+ longDesc: null,
1996
+ lowSrc: null,
1997
+ marginHeight: number,
1998
+ marginWidth: number,
1999
+ noResize: boolean,
2000
+ noHref: boolean,
2001
+ noShade: boolean,
2002
+ noWrap: boolean,
2003
+ object: null,
2004
+ profile: null,
2005
+ prompt: null,
2006
+ rev: null,
2007
+ rightMargin: number,
2008
+ rules: null,
2009
+ scheme: null,
2010
+ scrolling: booleanish,
2011
+ standby: null,
2012
+ summary: null,
2013
+ text: null,
2014
+ topMargin: number,
2015
+ valueType: null,
2016
+ version: null,
2017
+ vAlign: null,
2018
+ vLink: null,
2019
+ vSpace: number,
2020
+ allowTransparency: null,
2021
+ autoCorrect: null,
2022
+ autoSave: null,
2023
+ disablePictureInPicture: boolean,
2024
+ disableRemotePlayback: boolean,
2025
+ prefix: null,
2026
+ property: null,
2027
+ results: number,
2028
+ security: null,
2029
+ unselectable: null
2030
+ },
2031
+ space: "html",
2032
+ transform: caseInsensitiveTransform
2033
+ }), svg$1 = create({
2034
+ attributes: {
2035
+ accentHeight: "accent-height",
2036
+ alignmentBaseline: "alignment-baseline",
2037
+ arabicForm: "arabic-form",
2038
+ baselineShift: "baseline-shift",
2039
+ capHeight: "cap-height",
2040
+ className: "class",
2041
+ clipPath: "clip-path",
2042
+ clipRule: "clip-rule",
2043
+ colorInterpolation: "color-interpolation",
2044
+ colorInterpolationFilters: "color-interpolation-filters",
2045
+ colorProfile: "color-profile",
2046
+ colorRendering: "color-rendering",
2047
+ crossOrigin: "crossorigin",
2048
+ dataType: "datatype",
2049
+ dominantBaseline: "dominant-baseline",
2050
+ enableBackground: "enable-background",
2051
+ fillOpacity: "fill-opacity",
2052
+ fillRule: "fill-rule",
2053
+ floodColor: "flood-color",
2054
+ floodOpacity: "flood-opacity",
2055
+ fontFamily: "font-family",
2056
+ fontSize: "font-size",
2057
+ fontSizeAdjust: "font-size-adjust",
2058
+ fontStretch: "font-stretch",
2059
+ fontStyle: "font-style",
2060
+ fontVariant: "font-variant",
2061
+ fontWeight: "font-weight",
2062
+ glyphName: "glyph-name",
2063
+ glyphOrientationHorizontal: "glyph-orientation-horizontal",
2064
+ glyphOrientationVertical: "glyph-orientation-vertical",
2065
+ hrefLang: "hreflang",
2066
+ horizAdvX: "horiz-adv-x",
2067
+ horizOriginX: "horiz-origin-x",
2068
+ horizOriginY: "horiz-origin-y",
2069
+ imageRendering: "image-rendering",
2070
+ letterSpacing: "letter-spacing",
2071
+ lightingColor: "lighting-color",
2072
+ markerEnd: "marker-end",
2073
+ markerMid: "marker-mid",
2074
+ markerStart: "marker-start",
2075
+ navDown: "nav-down",
2076
+ navDownLeft: "nav-down-left",
2077
+ navDownRight: "nav-down-right",
2078
+ navLeft: "nav-left",
2079
+ navNext: "nav-next",
2080
+ navPrev: "nav-prev",
2081
+ navRight: "nav-right",
2082
+ navUp: "nav-up",
2083
+ navUpLeft: "nav-up-left",
2084
+ navUpRight: "nav-up-right",
2085
+ onAbort: "onabort",
2086
+ onActivate: "onactivate",
2087
+ onAfterPrint: "onafterprint",
2088
+ onBeforePrint: "onbeforeprint",
2089
+ onBegin: "onbegin",
2090
+ onCancel: "oncancel",
2091
+ onCanPlay: "oncanplay",
2092
+ onCanPlayThrough: "oncanplaythrough",
2093
+ onChange: "onchange",
2094
+ onClick: "onclick",
2095
+ onClose: "onclose",
2096
+ onCopy: "oncopy",
2097
+ onCueChange: "oncuechange",
2098
+ onCut: "oncut",
2099
+ onDblClick: "ondblclick",
2100
+ onDrag: "ondrag",
2101
+ onDragEnd: "ondragend",
2102
+ onDragEnter: "ondragenter",
2103
+ onDragExit: "ondragexit",
2104
+ onDragLeave: "ondragleave",
2105
+ onDragOver: "ondragover",
2106
+ onDragStart: "ondragstart",
2107
+ onDrop: "ondrop",
2108
+ onDurationChange: "ondurationchange",
2109
+ onEmptied: "onemptied",
2110
+ onEnd: "onend",
2111
+ onEnded: "onended",
2112
+ onError: "onerror",
2113
+ onFocus: "onfocus",
2114
+ onFocusIn: "onfocusin",
2115
+ onFocusOut: "onfocusout",
2116
+ onHashChange: "onhashchange",
2117
+ onInput: "oninput",
2118
+ onInvalid: "oninvalid",
2119
+ onKeyDown: "onkeydown",
2120
+ onKeyPress: "onkeypress",
2121
+ onKeyUp: "onkeyup",
2122
+ onLoad: "onload",
2123
+ onLoadedData: "onloadeddata",
2124
+ onLoadedMetadata: "onloadedmetadata",
2125
+ onLoadStart: "onloadstart",
2126
+ onMessage: "onmessage",
2127
+ onMouseDown: "onmousedown",
2128
+ onMouseEnter: "onmouseenter",
2129
+ onMouseLeave: "onmouseleave",
2130
+ onMouseMove: "onmousemove",
2131
+ onMouseOut: "onmouseout",
2132
+ onMouseOver: "onmouseover",
2133
+ onMouseUp: "onmouseup",
2134
+ onMouseWheel: "onmousewheel",
2135
+ onOffline: "onoffline",
2136
+ onOnline: "ononline",
2137
+ onPageHide: "onpagehide",
2138
+ onPageShow: "onpageshow",
2139
+ onPaste: "onpaste",
2140
+ onPause: "onpause",
2141
+ onPlay: "onplay",
2142
+ onPlaying: "onplaying",
2143
+ onPopState: "onpopstate",
2144
+ onProgress: "onprogress",
2145
+ onRateChange: "onratechange",
2146
+ onRepeat: "onrepeat",
2147
+ onReset: "onreset",
2148
+ onResize: "onresize",
2149
+ onScroll: "onscroll",
2150
+ onSeeked: "onseeked",
2151
+ onSeeking: "onseeking",
2152
+ onSelect: "onselect",
2153
+ onShow: "onshow",
2154
+ onStalled: "onstalled",
2155
+ onStorage: "onstorage",
2156
+ onSubmit: "onsubmit",
2157
+ onSuspend: "onsuspend",
2158
+ onTimeUpdate: "ontimeupdate",
2159
+ onToggle: "ontoggle",
2160
+ onUnload: "onunload",
2161
+ onVolumeChange: "onvolumechange",
2162
+ onWaiting: "onwaiting",
2163
+ onZoom: "onzoom",
2164
+ overlinePosition: "overline-position",
2165
+ overlineThickness: "overline-thickness",
2166
+ paintOrder: "paint-order",
2167
+ panose1: "panose-1",
2168
+ pointerEvents: "pointer-events",
2169
+ referrerPolicy: "referrerpolicy",
2170
+ renderingIntent: "rendering-intent",
2171
+ shapeRendering: "shape-rendering",
2172
+ stopColor: "stop-color",
2173
+ stopOpacity: "stop-opacity",
2174
+ strikethroughPosition: "strikethrough-position",
2175
+ strikethroughThickness: "strikethrough-thickness",
2176
+ strokeDashArray: "stroke-dasharray",
2177
+ strokeDashOffset: "stroke-dashoffset",
2178
+ strokeLineCap: "stroke-linecap",
2179
+ strokeLineJoin: "stroke-linejoin",
2180
+ strokeMiterLimit: "stroke-miterlimit",
2181
+ strokeOpacity: "stroke-opacity",
2182
+ strokeWidth: "stroke-width",
2183
+ tabIndex: "tabindex",
2184
+ textAnchor: "text-anchor",
2185
+ textDecoration: "text-decoration",
2186
+ textRendering: "text-rendering",
2187
+ transformOrigin: "transform-origin",
2188
+ typeOf: "typeof",
2189
+ underlinePosition: "underline-position",
2190
+ underlineThickness: "underline-thickness",
2191
+ unicodeBidi: "unicode-bidi",
2192
+ unicodeRange: "unicode-range",
2193
+ unitsPerEm: "units-per-em",
2194
+ vAlphabetic: "v-alphabetic",
2195
+ vHanging: "v-hanging",
2196
+ vIdeographic: "v-ideographic",
2197
+ vMathematical: "v-mathematical",
2198
+ vectorEffect: "vector-effect",
2199
+ vertAdvY: "vert-adv-y",
2200
+ vertOriginX: "vert-origin-x",
2201
+ vertOriginY: "vert-origin-y",
2202
+ wordSpacing: "word-spacing",
2203
+ writingMode: "writing-mode",
2204
+ xHeight: "x-height",
2205
+ playbackOrder: "playbackorder",
2206
+ timelineBegin: "timelinebegin"
2207
+ },
2208
+ properties: {
2209
+ about: commaOrSpaceSeparated,
2210
+ accentHeight: number,
2211
+ accumulate: null,
2212
+ additive: null,
2213
+ alignmentBaseline: null,
2214
+ alphabetic: number,
2215
+ amplitude: number,
2216
+ arabicForm: null,
2217
+ ascent: number,
2218
+ attributeName: null,
2219
+ attributeType: null,
2220
+ azimuth: number,
2221
+ bandwidth: null,
2222
+ baselineShift: null,
2223
+ baseFrequency: null,
2224
+ baseProfile: null,
2225
+ bbox: null,
2226
+ begin: null,
2227
+ bias: number,
2228
+ by: null,
2229
+ calcMode: null,
2230
+ capHeight: number,
2231
+ className: spaceSeparated,
2232
+ clip: null,
2233
+ clipPath: null,
2234
+ clipPathUnits: null,
2235
+ clipRule: null,
2236
+ color: null,
2237
+ colorInterpolation: null,
2238
+ colorInterpolationFilters: null,
2239
+ colorProfile: null,
2240
+ colorRendering: null,
2241
+ content: null,
2242
+ contentScriptType: null,
2243
+ contentStyleType: null,
2244
+ crossOrigin: null,
2245
+ cursor: null,
2246
+ cx: null,
2247
+ cy: null,
2248
+ d: null,
2249
+ dataType: null,
2250
+ defaultAction: null,
2251
+ descent: number,
2252
+ diffuseConstant: number,
2253
+ direction: null,
2254
+ display: null,
2255
+ dur: null,
2256
+ divisor: number,
2257
+ dominantBaseline: null,
2258
+ download: boolean,
2259
+ dx: null,
2260
+ dy: null,
2261
+ edgeMode: null,
2262
+ editable: null,
2263
+ elevation: number,
2264
+ enableBackground: null,
2265
+ end: null,
2266
+ event: null,
2267
+ exponent: number,
2268
+ externalResourcesRequired: null,
2269
+ fill: null,
2270
+ fillOpacity: number,
2271
+ fillRule: null,
2272
+ filter: null,
2273
+ filterRes: null,
2274
+ filterUnits: null,
2275
+ floodColor: null,
2276
+ floodOpacity: null,
2277
+ focusable: null,
2278
+ focusHighlight: null,
2279
+ fontFamily: null,
2280
+ fontSize: null,
2281
+ fontSizeAdjust: null,
2282
+ fontStretch: null,
2283
+ fontStyle: null,
2284
+ fontVariant: null,
2285
+ fontWeight: null,
2286
+ format: null,
2287
+ fr: null,
2288
+ from: null,
2289
+ fx: null,
2290
+ fy: null,
2291
+ g1: commaSeparated,
2292
+ g2: commaSeparated,
2293
+ glyphName: commaSeparated,
2294
+ glyphOrientationHorizontal: null,
2295
+ glyphOrientationVertical: null,
2296
+ glyphRef: null,
2297
+ gradientTransform: null,
2298
+ gradientUnits: null,
2299
+ handler: null,
2300
+ hanging: number,
2301
+ hatchContentUnits: null,
2302
+ hatchUnits: null,
2303
+ height: null,
2304
+ href: null,
2305
+ hrefLang: null,
2306
+ horizAdvX: number,
2307
+ horizOriginX: number,
2308
+ horizOriginY: number,
2309
+ id: null,
2310
+ ideographic: number,
2311
+ imageRendering: null,
2312
+ initialVisibility: null,
2313
+ in: null,
2314
+ in2: null,
2315
+ intercept: number,
2316
+ k: number,
2317
+ k1: number,
2318
+ k2: number,
2319
+ k3: number,
2320
+ k4: number,
2321
+ kernelMatrix: commaOrSpaceSeparated,
2322
+ kernelUnitLength: null,
2323
+ keyPoints: null,
2324
+ keySplines: null,
2325
+ keyTimes: null,
2326
+ kerning: null,
2327
+ lang: null,
2328
+ lengthAdjust: null,
2329
+ letterSpacing: null,
2330
+ lightingColor: null,
2331
+ limitingConeAngle: number,
2332
+ local: null,
2333
+ markerEnd: null,
2334
+ markerMid: null,
2335
+ markerStart: null,
2336
+ markerHeight: null,
2337
+ markerUnits: null,
2338
+ markerWidth: null,
2339
+ mask: null,
2340
+ maskContentUnits: null,
2341
+ maskUnits: null,
2342
+ mathematical: null,
2343
+ max: null,
2344
+ media: null,
2345
+ mediaCharacterEncoding: null,
2346
+ mediaContentEncodings: null,
2347
+ mediaSize: number,
2348
+ mediaTime: null,
2349
+ method: null,
2350
+ min: null,
2351
+ mode: null,
2352
+ name: null,
2353
+ navDown: null,
2354
+ navDownLeft: null,
2355
+ navDownRight: null,
2356
+ navLeft: null,
2357
+ navNext: null,
2358
+ navPrev: null,
2359
+ navRight: null,
2360
+ navUp: null,
2361
+ navUpLeft: null,
2362
+ navUpRight: null,
2363
+ numOctaves: null,
2364
+ observer: null,
2365
+ offset: null,
2366
+ onAbort: null,
2367
+ onActivate: null,
2368
+ onAfterPrint: null,
2369
+ onBeforePrint: null,
2370
+ onBegin: null,
2371
+ onCancel: null,
2372
+ onCanPlay: null,
2373
+ onCanPlayThrough: null,
2374
+ onChange: null,
2375
+ onClick: null,
2376
+ onClose: null,
2377
+ onCopy: null,
2378
+ onCueChange: null,
2379
+ onCut: null,
2380
+ onDblClick: null,
2381
+ onDrag: null,
2382
+ onDragEnd: null,
2383
+ onDragEnter: null,
2384
+ onDragExit: null,
2385
+ onDragLeave: null,
2386
+ onDragOver: null,
2387
+ onDragStart: null,
2388
+ onDrop: null,
2389
+ onDurationChange: null,
2390
+ onEmptied: null,
2391
+ onEnd: null,
2392
+ onEnded: null,
2393
+ onError: null,
2394
+ onFocus: null,
2395
+ onFocusIn: null,
2396
+ onFocusOut: null,
2397
+ onHashChange: null,
2398
+ onInput: null,
2399
+ onInvalid: null,
2400
+ onKeyDown: null,
2401
+ onKeyPress: null,
2402
+ onKeyUp: null,
2403
+ onLoad: null,
2404
+ onLoadedData: null,
2405
+ onLoadedMetadata: null,
2406
+ onLoadStart: null,
2407
+ onMessage: null,
2408
+ onMouseDown: null,
2409
+ onMouseEnter: null,
2410
+ onMouseLeave: null,
2411
+ onMouseMove: null,
2412
+ onMouseOut: null,
2413
+ onMouseOver: null,
2414
+ onMouseUp: null,
2415
+ onMouseWheel: null,
2416
+ onOffline: null,
2417
+ onOnline: null,
2418
+ onPageHide: null,
2419
+ onPageShow: null,
2420
+ onPaste: null,
2421
+ onPause: null,
2422
+ onPlay: null,
2423
+ onPlaying: null,
2424
+ onPopState: null,
2425
+ onProgress: null,
2426
+ onRateChange: null,
2427
+ onRepeat: null,
2428
+ onReset: null,
2429
+ onResize: null,
2430
+ onScroll: null,
2431
+ onSeeked: null,
2432
+ onSeeking: null,
2433
+ onSelect: null,
2434
+ onShow: null,
2435
+ onStalled: null,
2436
+ onStorage: null,
2437
+ onSubmit: null,
2438
+ onSuspend: null,
2439
+ onTimeUpdate: null,
2440
+ onToggle: null,
2441
+ onUnload: null,
2442
+ onVolumeChange: null,
2443
+ onWaiting: null,
2444
+ onZoom: null,
2445
+ opacity: null,
2446
+ operator: null,
2447
+ order: null,
2448
+ orient: null,
2449
+ orientation: null,
2450
+ origin: null,
2451
+ overflow: null,
2452
+ overlay: null,
2453
+ overlinePosition: number,
2454
+ overlineThickness: number,
2455
+ paintOrder: null,
2456
+ panose1: null,
2457
+ path: null,
2458
+ pathLength: number,
2459
+ patternContentUnits: null,
2460
+ patternTransform: null,
2461
+ patternUnits: null,
2462
+ phase: null,
2463
+ ping: spaceSeparated,
2464
+ pitch: null,
2465
+ playbackOrder: null,
2466
+ pointerEvents: null,
2467
+ points: null,
2468
+ pointsAtX: number,
2469
+ pointsAtY: number,
2470
+ pointsAtZ: number,
2471
+ preserveAlpha: null,
2472
+ preserveAspectRatio: null,
2473
+ primitiveUnits: null,
2474
+ propagate: null,
2475
+ property: commaOrSpaceSeparated,
2476
+ r: null,
2477
+ radius: null,
2478
+ referrerPolicy: null,
2479
+ refX: null,
2480
+ refY: null,
2481
+ rel: commaOrSpaceSeparated,
2482
+ rev: commaOrSpaceSeparated,
2483
+ renderingIntent: null,
2484
+ repeatCount: null,
2485
+ repeatDur: null,
2486
+ requiredExtensions: commaOrSpaceSeparated,
2487
+ requiredFeatures: commaOrSpaceSeparated,
2488
+ requiredFonts: commaOrSpaceSeparated,
2489
+ requiredFormats: commaOrSpaceSeparated,
2490
+ resource: null,
2491
+ restart: null,
2492
+ result: null,
2493
+ rotate: null,
2494
+ rx: null,
2495
+ ry: null,
2496
+ scale: null,
2497
+ seed: null,
2498
+ shapeRendering: null,
2499
+ side: null,
2500
+ slope: null,
2501
+ snapshotTime: null,
2502
+ specularConstant: number,
2503
+ specularExponent: number,
2504
+ spreadMethod: null,
2505
+ spacing: null,
2506
+ startOffset: null,
2507
+ stdDeviation: null,
2508
+ stemh: null,
2509
+ stemv: null,
2510
+ stitchTiles: null,
2511
+ stopColor: null,
2512
+ stopOpacity: null,
2513
+ strikethroughPosition: number,
2514
+ strikethroughThickness: number,
2515
+ string: null,
2516
+ stroke: null,
2517
+ strokeDashArray: commaOrSpaceSeparated,
2518
+ strokeDashOffset: null,
2519
+ strokeLineCap: null,
2520
+ strokeLineJoin: null,
2521
+ strokeMiterLimit: number,
2522
+ strokeOpacity: number,
2523
+ strokeWidth: null,
2524
+ style: null,
2525
+ surfaceScale: number,
2526
+ syncBehavior: null,
2527
+ syncBehaviorDefault: null,
2528
+ syncMaster: null,
2529
+ syncTolerance: null,
2530
+ syncToleranceDefault: null,
2531
+ systemLanguage: commaOrSpaceSeparated,
2532
+ tabIndex: number,
2533
+ tableValues: null,
2534
+ target: null,
2535
+ targetX: number,
2536
+ targetY: number,
2537
+ textAnchor: null,
2538
+ textDecoration: null,
2539
+ textRendering: null,
2540
+ textLength: null,
2541
+ timelineBegin: null,
2542
+ title: null,
2543
+ transformBehavior: null,
2544
+ type: null,
2545
+ typeOf: commaOrSpaceSeparated,
2546
+ to: null,
2547
+ transform: null,
2548
+ transformOrigin: null,
2549
+ u1: null,
2550
+ u2: null,
2551
+ underlinePosition: number,
2552
+ underlineThickness: number,
2553
+ unicode: null,
2554
+ unicodeBidi: null,
2555
+ unicodeRange: null,
2556
+ unitsPerEm: number,
2557
+ values: null,
2558
+ vAlphabetic: number,
2559
+ vMathematical: number,
2560
+ vectorEffect: null,
2561
+ vHanging: number,
2562
+ vIdeographic: number,
2563
+ version: null,
2564
+ vertAdvY: number,
2565
+ vertOriginX: number,
2566
+ vertOriginY: number,
2567
+ viewBox: null,
2568
+ viewTarget: null,
2569
+ visibility: null,
2570
+ width: null,
2571
+ widths: null,
2572
+ wordSpacing: null,
2573
+ writingMode: null,
2574
+ x: null,
2575
+ x1: null,
2576
+ x2: null,
2577
+ xChannelSelector: null,
2578
+ xHeight: number,
2579
+ y: null,
2580
+ y1: null,
2581
+ y2: null,
2582
+ yChannelSelector: null,
2583
+ z: null,
2584
+ zoomAndPan: null
2585
+ },
2586
+ space: "svg",
2587
+ transform: caseSensitiveTransform
2588
+ }), xlink = create({
2589
+ properties: {
2590
+ xLinkActuate: null,
2591
+ xLinkArcRole: null,
2592
+ xLinkHref: null,
2593
+ xLinkRole: null,
2594
+ xLinkShow: null,
2595
+ xLinkTitle: null,
2596
+ xLinkType: null
2597
+ },
2598
+ space: "xlink",
2599
+ transform(s, I) {
2600
+ return "xlink:" + I.slice(5).toLowerCase();
2601
+ }
2602
+ }), xmlns = create({
2603
+ attributes: { xmlnsxlink: "xmlns:xlink" },
2604
+ properties: {
2605
+ xmlnsXLink: null,
2606
+ xmlns: null
2607
+ },
2608
+ space: "xmlns",
2609
+ transform: caseInsensitiveTransform
2610
+ }), xml = create({
2611
+ properties: {
2612
+ xmlBase: null,
2613
+ xmlLang: null,
2614
+ xmlSpace: null
2615
+ },
2616
+ space: "xml",
2617
+ transform(s, I) {
2618
+ return "xml:" + I.slice(3).toLowerCase();
2619
+ }
2620
+ });
2621
+ var cap = /[A-Z]/g, dash = /-[a-z]/g, valid = /^data[-\w.:]+$/i;
2622
+ function find(s, I) {
2623
+ let L = normalize(I), R = I, z = Info;
2624
+ if (L in s.normal) return s.property[s.normal[L]];
2625
+ if (L.length > 4 && L.slice(0, 4) === "data" && valid.test(I)) {
2626
+ if (I.charAt(4) === "-") {
2627
+ let s = I.slice(5).replace(dash, camelcase);
2628
+ R = "data" + s.charAt(0).toUpperCase() + s.slice(1);
2629
+ } else {
2630
+ let s = I.slice(4);
2631
+ if (!dash.test(s)) {
2632
+ let L = s.replace(cap, kebab);
2633
+ L.charAt(0) !== "-" && (L = "-" + L), I = "data" + L;
2634
+ }
2635
+ }
2636
+ z = DefinedInfo;
2637
+ }
2638
+ return new z(R, I);
2639
+ }
2640
+ function kebab(s) {
2641
+ return "-" + s.toLowerCase();
2642
+ }
2643
+ function camelcase(s) {
2644
+ return s.charAt(1).toUpperCase();
2645
+ }
2646
+ const html$2 = merge([
2647
+ aria,
2648
+ html$3,
2649
+ xlink,
2650
+ xmlns,
2651
+ xml
2652
+ ], "html"), svg = merge([
2653
+ aria,
2654
+ svg$1,
2655
+ xlink,
2656
+ xmlns,
2657
+ xml
2658
+ ], "svg");
2659
+ var own$2 = {}.hasOwnProperty;
2660
+ function zwitch(s, I) {
2661
+ let L = I || {};
2662
+ function R(I, ...L) {
2663
+ let z = R.invalid, B = R.handlers;
2664
+ if (I && own$2.call(I, s)) {
2665
+ let L = String(I[s]);
2666
+ z = own$2.call(B, L) ? B[L] : R.unknown;
2667
+ }
2668
+ if (z) return z.call(this, I, ...L);
2669
+ }
2670
+ return R.handlers = L.handlers || {}, R.invalid = L.invalid, R.unknown = L.unknown, R;
2671
+ }
2672
+ var defaultSubsetRegex = /["&'<>`]/g, surrogatePairsRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, controlCharactersRegex = /[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g, regexEscapeRegex = /[|\\{}()[\]^$+*?.]/g, subsetToRegexCache = /* @__PURE__ */ new WeakMap();
2673
+ function core(s, I) {
2674
+ if (s = s.replace(I.subset ? charactersToExpressionCached(I.subset) : defaultSubsetRegex, R), I.subset || I.escapeOnly) return s;
2675
+ return s.replace(surrogatePairsRegex, L).replace(controlCharactersRegex, R);
2676
+ function L(s, L, R) {
2677
+ return I.format((s.charCodeAt(0) - 55296) * 1024 + s.charCodeAt(1) - 56320 + 65536, R.charCodeAt(L + 2), I);
2678
+ }
2679
+ function R(s, L, R) {
2680
+ return I.format(s.charCodeAt(0), R.charCodeAt(L + 1), I);
2681
+ }
2682
+ }
2683
+ function charactersToExpressionCached(s) {
2684
+ let I = subsetToRegexCache.get(s);
2685
+ return I || (I = charactersToExpression(s), subsetToRegexCache.set(s, I)), I;
2686
+ }
2687
+ function charactersToExpression(s) {
2688
+ let I = [], L = -1;
2689
+ for (; ++L < s.length;) I.push(s[L].replace(regexEscapeRegex, "\\$&"));
2690
+ return RegExp("(?:" + I.join("|") + ")", "g");
2691
+ }
2692
+ var hexadecimalRegex = /[\dA-Fa-f]/;
2693
+ function toHexadecimal(s, I, L) {
2694
+ let R = "&#x" + s.toString(16).toUpperCase();
2695
+ return L && I && !hexadecimalRegex.test(String.fromCharCode(I)) ? R : R + ";";
2696
+ }
2697
+ var decimalRegex = /\d/;
2698
+ function toDecimal(s, I, L) {
2699
+ let R = "&#" + String(s);
2700
+ return L && I && !decimalRegex.test(String.fromCharCode(I)) ? R : R + ";";
2701
+ }
2702
+ const characterEntitiesLegacy = /* @__PURE__ */ "AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml".split("."), characterEntitiesHtml4 = {
2703
+ nbsp: "\xA0",
2704
+ iexcl: "¡",
2705
+ cent: "¢",
2706
+ pound: "£",
2707
+ curren: "¤",
2708
+ yen: "¥",
2709
+ brvbar: "¦",
2710
+ sect: "§",
2711
+ uml: "¨",
2712
+ copy: "©",
2713
+ ordf: "ª",
2714
+ laquo: "«",
2715
+ not: "¬",
2716
+ shy: "­",
2717
+ reg: "®",
2718
+ macr: "¯",
2719
+ deg: "°",
2720
+ plusmn: "±",
2721
+ sup2: "²",
2722
+ sup3: "³",
2723
+ acute: "´",
2724
+ micro: "µ",
2725
+ para: "¶",
2726
+ middot: "·",
2727
+ cedil: "¸",
2728
+ sup1: "¹",
2729
+ ordm: "º",
2730
+ raquo: "»",
2731
+ frac14: "¼",
2732
+ frac12: "½",
2733
+ frac34: "¾",
2734
+ iquest: "¿",
2735
+ Agrave: "À",
2736
+ Aacute: "Á",
2737
+ Acirc: "Â",
2738
+ Atilde: "Ã",
2739
+ Auml: "Ä",
2740
+ Aring: "Å",
2741
+ AElig: "Æ",
2742
+ Ccedil: "Ç",
2743
+ Egrave: "È",
2744
+ Eacute: "É",
2745
+ Ecirc: "Ê",
2746
+ Euml: "Ë",
2747
+ Igrave: "Ì",
2748
+ Iacute: "Í",
2749
+ Icirc: "Î",
2750
+ Iuml: "Ï",
2751
+ ETH: "Ð",
2752
+ Ntilde: "Ñ",
2753
+ Ograve: "Ò",
2754
+ Oacute: "Ó",
2755
+ Ocirc: "Ô",
2756
+ Otilde: "Õ",
2757
+ Ouml: "Ö",
2758
+ times: "×",
2759
+ Oslash: "Ø",
2760
+ Ugrave: "Ù",
2761
+ Uacute: "Ú",
2762
+ Ucirc: "Û",
2763
+ Uuml: "Ü",
2764
+ Yacute: "Ý",
2765
+ THORN: "Þ",
2766
+ szlig: "ß",
2767
+ agrave: "à",
2768
+ aacute: "á",
2769
+ acirc: "â",
2770
+ atilde: "ã",
2771
+ auml: "ä",
2772
+ aring: "å",
2773
+ aelig: "æ",
2774
+ ccedil: "ç",
2775
+ egrave: "è",
2776
+ eacute: "é",
2777
+ ecirc: "ê",
2778
+ euml: "ë",
2779
+ igrave: "ì",
2780
+ iacute: "í",
2781
+ icirc: "î",
2782
+ iuml: "ï",
2783
+ eth: "ð",
2784
+ ntilde: "ñ",
2785
+ ograve: "ò",
2786
+ oacute: "ó",
2787
+ ocirc: "ô",
2788
+ otilde: "õ",
2789
+ ouml: "ö",
2790
+ divide: "÷",
2791
+ oslash: "ø",
2792
+ ugrave: "ù",
2793
+ uacute: "ú",
2794
+ ucirc: "û",
2795
+ uuml: "ü",
2796
+ yacute: "ý",
2797
+ thorn: "þ",
2798
+ yuml: "ÿ",
2799
+ fnof: "ƒ",
2800
+ Alpha: "Α",
2801
+ Beta: "Β",
2802
+ Gamma: "Γ",
2803
+ Delta: "Δ",
2804
+ Epsilon: "Ε",
2805
+ Zeta: "Ζ",
2806
+ Eta: "Η",
2807
+ Theta: "Θ",
2808
+ Iota: "Ι",
2809
+ Kappa: "Κ",
2810
+ Lambda: "Λ",
2811
+ Mu: "Μ",
2812
+ Nu: "Ν",
2813
+ Xi: "Ξ",
2814
+ Omicron: "Ο",
2815
+ Pi: "Π",
2816
+ Rho: "Ρ",
2817
+ Sigma: "Σ",
2818
+ Tau: "Τ",
2819
+ Upsilon: "Υ",
2820
+ Phi: "Φ",
2821
+ Chi: "Χ",
2822
+ Psi: "Ψ",
2823
+ Omega: "Ω",
2824
+ alpha: "α",
2825
+ beta: "β",
2826
+ gamma: "γ",
2827
+ delta: "δ",
2828
+ epsilon: "ε",
2829
+ zeta: "ζ",
2830
+ eta: "η",
2831
+ theta: "θ",
2832
+ iota: "ι",
2833
+ kappa: "κ",
2834
+ lambda: "λ",
2835
+ mu: "μ",
2836
+ nu: "ν",
2837
+ xi: "ξ",
2838
+ omicron: "ο",
2839
+ pi: "π",
2840
+ rho: "ρ",
2841
+ sigmaf: "ς",
2842
+ sigma: "σ",
2843
+ tau: "τ",
2844
+ upsilon: "υ",
2845
+ phi: "φ",
2846
+ chi: "χ",
2847
+ psi: "ψ",
2848
+ omega: "ω",
2849
+ thetasym: "ϑ",
2850
+ upsih: "ϒ",
2851
+ piv: "ϖ",
2852
+ bull: "•",
2853
+ hellip: "…",
2854
+ prime: "′",
2855
+ Prime: "″",
2856
+ oline: "‾",
2857
+ frasl: "⁄",
2858
+ weierp: "℘",
2859
+ image: "ℑ",
2860
+ real: "ℜ",
2861
+ trade: "™",
2862
+ alefsym: "ℵ",
2863
+ larr: "←",
2864
+ uarr: "↑",
2865
+ rarr: "→",
2866
+ darr: "↓",
2867
+ harr: "↔",
2868
+ crarr: "↵",
2869
+ lArr: "⇐",
2870
+ uArr: "⇑",
2871
+ rArr: "⇒",
2872
+ dArr: "⇓",
2873
+ hArr: "⇔",
2874
+ forall: "∀",
2875
+ part: "∂",
2876
+ exist: "∃",
2877
+ empty: "∅",
2878
+ nabla: "∇",
2879
+ isin: "∈",
2880
+ notin: "∉",
2881
+ ni: "∋",
2882
+ prod: "∏",
2883
+ sum: "∑",
2884
+ minus: "−",
2885
+ lowast: "∗",
2886
+ radic: "√",
2887
+ prop: "∝",
2888
+ infin: "∞",
2889
+ ang: "∠",
2890
+ and: "∧",
2891
+ or: "∨",
2892
+ cap: "∩",
2893
+ cup: "∪",
2894
+ int: "∫",
2895
+ there4: "∴",
2896
+ sim: "∼",
2897
+ cong: "≅",
2898
+ asymp: "≈",
2899
+ ne: "≠",
2900
+ equiv: "≡",
2901
+ le: "≤",
2902
+ ge: "≥",
2903
+ sub: "⊂",
2904
+ sup: "⊃",
2905
+ nsub: "⊄",
2906
+ sube: "⊆",
2907
+ supe: "⊇",
2908
+ oplus: "⊕",
2909
+ otimes: "⊗",
2910
+ perp: "⊥",
2911
+ sdot: "⋅",
2912
+ lceil: "⌈",
2913
+ rceil: "⌉",
2914
+ lfloor: "⌊",
2915
+ rfloor: "⌋",
2916
+ lang: "〈",
2917
+ rang: "〉",
2918
+ loz: "◊",
2919
+ spades: "♠",
2920
+ clubs: "♣",
2921
+ hearts: "♥",
2922
+ diams: "♦",
2923
+ quot: "\"",
2924
+ amp: "&",
2925
+ lt: "<",
2926
+ gt: ">",
2927
+ OElig: "Œ",
2928
+ oelig: "œ",
2929
+ Scaron: "Š",
2930
+ scaron: "š",
2931
+ Yuml: "Ÿ",
2932
+ circ: "ˆ",
2933
+ tilde: "˜",
2934
+ ensp: " ",
2935
+ emsp: " ",
2936
+ thinsp: " ",
2937
+ zwnj: "‌",
2938
+ zwj: "‍",
2939
+ lrm: "‎",
2940
+ rlm: "‏",
2941
+ ndash: "–",
2942
+ mdash: "—",
2943
+ lsquo: "‘",
2944
+ rsquo: "’",
2945
+ sbquo: "‚",
2946
+ ldquo: "“",
2947
+ rdquo: "”",
2948
+ bdquo: "„",
2949
+ dagger: "†",
2950
+ Dagger: "‡",
2951
+ permil: "‰",
2952
+ lsaquo: "‹",
2953
+ rsaquo: "›",
2954
+ euro: "€"
2955
+ }, dangerous = [
2956
+ "cent",
2957
+ "copy",
2958
+ "divide",
2959
+ "gt",
2960
+ "lt",
2961
+ "not",
2962
+ "para",
2963
+ "times"
2964
+ ];
2965
+ var own$1 = {}.hasOwnProperty, characters = {}, key;
2966
+ for (key in characterEntitiesHtml4) own$1.call(characterEntitiesHtml4, key) && (characters[characterEntitiesHtml4[key]] = key);
2967
+ var notAlphanumericRegex = /[^\dA-Za-z]/;
2968
+ function toNamed(s, I, L, R) {
2969
+ let z = String.fromCharCode(s);
2970
+ if (own$1.call(characters, z)) {
2971
+ let s = characters[z], B = "&" + s;
2972
+ return L && characterEntitiesLegacy.includes(s) && !dangerous.includes(s) && (!R || I && I !== 61 && notAlphanumericRegex.test(String.fromCharCode(I))) ? B : B + ";";
2973
+ }
2974
+ return "";
2975
+ }
2976
+ function formatSmart(s, I, L) {
2977
+ let R = toHexadecimal(s, I, L.omitOptionalSemicolons), z;
2978
+ if ((L.useNamedReferences || L.useShortestReferences) && (z = toNamed(s, I, L.omitOptionalSemicolons, L.attribute)), (L.useShortestReferences || !z) && L.useShortestReferences) {
2979
+ let z = toDecimal(s, I, L.omitOptionalSemicolons);
2980
+ z.length < R.length && (R = z);
2981
+ }
2982
+ return z && (!L.useShortestReferences || z.length < R.length) ? z : R;
2983
+ }
2984
+ function stringifyEntities(s, I) {
2985
+ return core(s, Object.assign({ format: formatSmart }, I));
2986
+ }
2987
+ var htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g, bogusCommentEntitySubset = [">"], commentEntitySubset = ["<", ">"];
2988
+ function comment(s, I, L, R) {
2989
+ return R.settings.bogusComments ? "<?" + stringifyEntities(s.value, Object.assign({}, R.settings.characterReferences, { subset: bogusCommentEntitySubset })) + ">" : "<!--" + s.value.replace(htmlCommentRegex, z) + "-->";
2990
+ function z(s) {
2991
+ return stringifyEntities(s, Object.assign({}, R.settings.characterReferences, { subset: commentEntitySubset }));
2992
+ }
2993
+ }
2994
+ function doctype(s, I, L, R) {
2995
+ return "<!" + (R.settings.upperDoctype ? "DOCTYPE" : "doctype") + (R.settings.tightDoctype ? "" : " ") + "html>";
2996
+ }
2997
+ function ccount(s, I) {
2998
+ let L = String(s);
2999
+ if (typeof I != "string") throw TypeError("Expected character");
3000
+ let R = 0, z = L.indexOf(I);
3001
+ for (; z !== -1;) R++, z = L.indexOf(I, z + I.length);
3002
+ return R;
3003
+ }
3004
+ function stringify$2(s, I) {
3005
+ let L = I || {};
3006
+ return (s[s.length - 1] === "" ? [...s, ""] : s).join((L.padRight ? " " : "") + "," + (L.padLeft === !1 ? "" : " ")).trim();
3007
+ }
3008
+ function stringify$1(s) {
3009
+ return s.join(" ").trim();
3010
+ }
3011
+ var re = /[ \t\n\f\r]/g;
3012
+ function whitespace(s) {
3013
+ return typeof s == "object" ? s.type === "text" ? empty(s.value) : !1 : empty(s);
3014
+ }
3015
+ function empty(s) {
3016
+ return s.replace(re, "") === "";
3017
+ }
3018
+ const siblingAfter = siblings(1), siblingBefore = siblings(-1);
3019
+ var emptyChildren$1 = [];
3020
+ function siblings(s) {
3021
+ return I;
3022
+ function I(I, L, R) {
3023
+ let z = I ? I.children : emptyChildren$1, B = (L || 0) + s, V = z[B];
3024
+ if (!R) for (; V && whitespace(V);) B += s, V = z[B];
3025
+ return V;
3026
+ }
3027
+ }
3028
+ var own = {}.hasOwnProperty;
3029
+ function omission(s) {
3030
+ return I;
3031
+ function I(I, L, R) {
3032
+ return own.call(s, I.tagName) && s[I.tagName](I, L, R);
3033
+ }
3034
+ }
3035
+ const closing = omission({
3036
+ body: body$1,
3037
+ caption: headOrColgroupOrCaption,
3038
+ colgroup: headOrColgroupOrCaption,
3039
+ dd,
3040
+ dt,
3041
+ head: headOrColgroupOrCaption,
3042
+ html: html$1,
3043
+ li,
3044
+ optgroup,
3045
+ option,
3046
+ p,
3047
+ rp: rubyElement,
3048
+ rt: rubyElement,
3049
+ tbody: tbody$1,
3050
+ td: cells,
3051
+ tfoot,
3052
+ th: cells,
3053
+ thead,
3054
+ tr
3055
+ });
3056
+ function headOrColgroupOrCaption(s, I, L) {
3057
+ let R = siblingAfter(L, I, !0);
3058
+ return !R || R.type !== "comment" && !(R.type === "text" && whitespace(R.value.charAt(0)));
3059
+ }
3060
+ function html$1(s, I, L) {
3061
+ let R = siblingAfter(L, I);
3062
+ return !R || R.type !== "comment";
3063
+ }
3064
+ function body$1(s, I, L) {
3065
+ let R = siblingAfter(L, I);
3066
+ return !R || R.type !== "comment";
3067
+ }
3068
+ function p(s, I, L) {
3069
+ let R = siblingAfter(L, I);
3070
+ return R ? R.type === "element" && (R.tagName === "address" || R.tagName === "article" || R.tagName === "aside" || R.tagName === "blockquote" || R.tagName === "details" || R.tagName === "div" || R.tagName === "dl" || R.tagName === "fieldset" || R.tagName === "figcaption" || R.tagName === "figure" || R.tagName === "footer" || R.tagName === "form" || R.tagName === "h1" || R.tagName === "h2" || R.tagName === "h3" || R.tagName === "h4" || R.tagName === "h5" || R.tagName === "h6" || R.tagName === "header" || R.tagName === "hgroup" || R.tagName === "hr" || R.tagName === "main" || R.tagName === "menu" || R.tagName === "nav" || R.tagName === "ol" || R.tagName === "p" || R.tagName === "pre" || R.tagName === "section" || R.tagName === "table" || R.tagName === "ul") : !L || !(L.type === "element" && (L.tagName === "a" || L.tagName === "audio" || L.tagName === "del" || L.tagName === "ins" || L.tagName === "map" || L.tagName === "noscript" || L.tagName === "video"));
3071
+ }
3072
+ function li(s, I, L) {
3073
+ let R = siblingAfter(L, I);
3074
+ return !R || R.type === "element" && R.tagName === "li";
3075
+ }
3076
+ function dt(s, I, L) {
3077
+ let R = siblingAfter(L, I);
3078
+ return !!(R && R.type === "element" && (R.tagName === "dt" || R.tagName === "dd"));
3079
+ }
3080
+ function dd(s, I, L) {
3081
+ let R = siblingAfter(L, I);
3082
+ return !R || R.type === "element" && (R.tagName === "dt" || R.tagName === "dd");
3083
+ }
3084
+ function rubyElement(s, I, L) {
3085
+ let R = siblingAfter(L, I);
3086
+ return !R || R.type === "element" && (R.tagName === "rp" || R.tagName === "rt");
3087
+ }
3088
+ function optgroup(s, I, L) {
3089
+ let R = siblingAfter(L, I);
3090
+ return !R || R.type === "element" && R.tagName === "optgroup";
3091
+ }
3092
+ function option(s, I, L) {
3093
+ let R = siblingAfter(L, I);
3094
+ return !R || R.type === "element" && (R.tagName === "option" || R.tagName === "optgroup");
3095
+ }
3096
+ function thead(s, I, L) {
3097
+ let R = siblingAfter(L, I);
3098
+ return !!(R && R.type === "element" && (R.tagName === "tbody" || R.tagName === "tfoot"));
3099
+ }
3100
+ function tbody$1(s, I, L) {
3101
+ let R = siblingAfter(L, I);
3102
+ return !R || R.type === "element" && (R.tagName === "tbody" || R.tagName === "tfoot");
3103
+ }
3104
+ function tfoot(s, I, L) {
3105
+ return !siblingAfter(L, I);
3106
+ }
3107
+ function tr(s, I, L) {
3108
+ let R = siblingAfter(L, I);
3109
+ return !R || R.type === "element" && R.tagName === "tr";
3110
+ }
3111
+ function cells(s, I, L) {
3112
+ let R = siblingAfter(L, I);
3113
+ return !R || R.type === "element" && (R.tagName === "td" || R.tagName === "th");
3114
+ }
3115
+ const opening = omission({
3116
+ body,
3117
+ colgroup,
3118
+ head,
3119
+ html,
3120
+ tbody
3121
+ });
3122
+ function html(s) {
3123
+ let I = siblingAfter(s, -1);
3124
+ return !I || I.type !== "comment";
3125
+ }
3126
+ function head(s) {
3127
+ let I = /* @__PURE__ */ new Set();
3128
+ for (let L of s.children) if (L.type === "element" && (L.tagName === "base" || L.tagName === "title")) {
3129
+ if (I.has(L.tagName)) return !1;
3130
+ I.add(L.tagName);
3131
+ }
3132
+ let L = s.children[0];
3133
+ return !L || L.type === "element";
3134
+ }
3135
+ function body(s) {
3136
+ let I = siblingAfter(s, -1, !0);
3137
+ return !I || I.type !== "comment" && !(I.type === "text" && whitespace(I.value.charAt(0))) && !(I.type === "element" && (I.tagName === "meta" || I.tagName === "link" || I.tagName === "script" || I.tagName === "style" || I.tagName === "template"));
3138
+ }
3139
+ function colgroup(s, I, L) {
3140
+ let R = siblingBefore(L, I), z = siblingAfter(s, -1, !0);
3141
+ return L && R && R.type === "element" && R.tagName === "colgroup" && closing(R, L.children.indexOf(R), L) ? !1 : !!(z && z.type === "element" && z.tagName === "col");
3142
+ }
3143
+ function tbody(s, I, L) {
3144
+ let R = siblingBefore(L, I), z = siblingAfter(s, -1);
3145
+ return L && R && R.type === "element" && (R.tagName === "thead" || R.tagName === "tbody") && closing(R, L.children.indexOf(R), L) ? !1 : !!(z && z.type === "element" && z.tagName === "tr");
3146
+ }
3147
+ var constants = {
3148
+ name: [[" \n\f\r &/=>".split(""), " \n\f\r \"&'/=>`".split("")], ["\0 \n\f\r \"&'/<=>".split(""), "\0 \n\f\r \"&'/<=>`".split("")]],
3149
+ unquoted: [[" \n\f\r &>".split(""), "\0 \n\f\r \"&'<=>`".split("")], ["\0 \n\f\r \"&'<=>`".split(""), "\0 \n\f\r \"&'<=>`".split("")]],
3150
+ single: [["&'".split(""), "\"&'`".split("")], ["\0&'".split(""), "\0\"&'`".split("")]],
3151
+ double: [["\"&".split(""), "\"&'`".split("")], ["\0\"&".split(""), "\0\"&'`".split("")]]
3152
+ };
3153
+ function element(s, I, L, R) {
3154
+ let z = R.schema, B = z.space === "svg" ? !1 : R.settings.omitOptionalTags, V = z.space === "svg" ? R.settings.closeEmptyElements : R.settings.voids.includes(s.tagName.toLowerCase()), H = [], U;
3155
+ z.space === "html" && s.tagName === "svg" && (R.schema = svg);
3156
+ let W = serializeAttributes(R, s.properties), G = R.all(z.space === "html" && s.tagName === "template" ? s.content : s);
3157
+ return R.schema = z, G && (V = !1), (W || !B || !opening(s, I, L)) && (H.push("<", s.tagName, W ? " " + W : ""), V && (z.space === "svg" || R.settings.closeSelfClosing) && (U = W.charAt(W.length - 1), (!R.settings.tightSelfClosing || U === "/" || U && U !== "\"" && U !== "'") && H.push(" "), H.push("/")), H.push(">")), H.push(G), !V && (!B || !closing(s, I, L)) && H.push("</" + s.tagName + ">"), H.join("");
3158
+ }
3159
+ function serializeAttributes(s, I) {
3160
+ let L = [], R = -1, z;
3161
+ if (I) {
3162
+ for (z in I) if (I[z] !== null && I[z] !== void 0) {
3163
+ let R = serializeAttribute(s, z, I[z]);
3164
+ R && L.push(R);
3165
+ }
3166
+ }
3167
+ for (; ++R < L.length;) {
3168
+ let I = s.settings.tightAttributes ? L[R].charAt(L[R].length - 1) : void 0;
3169
+ R !== L.length - 1 && I !== "\"" && I !== "'" && (L[R] += " ");
3170
+ }
3171
+ return L.join("");
3172
+ }
3173
+ function serializeAttribute(s, I, L) {
3174
+ let R = find(s.schema, I), z = s.settings.allowParseErrors && s.schema.space === "html" ? 0 : 1, B = s.settings.allowDangerousCharacters ? 0 : 1, V = s.quote, H;
3175
+ if (R.overloadedBoolean && (L === R.attribute || L === "") ? L = !0 : (R.boolean || R.overloadedBoolean) && (typeof L != "string" || L === R.attribute || L === "") && (L = !!L), L == null || L === !1 || typeof L == "number" && Number.isNaN(L)) return "";
3176
+ let U = stringifyEntities(R.attribute, Object.assign({}, s.settings.characterReferences, { subset: constants.name[z][B] }));
3177
+ return L === !0 || (L = Array.isArray(L) ? (R.commaSeparated ? stringify$2 : stringify$1)(L, { padLeft: !s.settings.tightCommaSeparatedLists }) : String(L), s.settings.collapseEmptyAttributes && !L) ? U : (s.settings.preferUnquoted && (H = stringifyEntities(L, Object.assign({}, s.settings.characterReferences, {
3178
+ attribute: !0,
3179
+ subset: constants.unquoted[z][B]
3180
+ }))), H !== L && (s.settings.quoteSmart && ccount(L, V) > ccount(L, s.alternative) && (V = s.alternative), H = V + stringifyEntities(L, Object.assign({}, s.settings.characterReferences, {
3181
+ subset: (V === "'" ? constants.single : constants.double)[z][B],
3182
+ attribute: !0
3183
+ })) + V), U + (H && "=" + H));
3184
+ }
3185
+ var textEntitySubset = ["<", "&"];
3186
+ function text(s, I, L, R) {
3187
+ return L && L.type === "element" && (L.tagName === "script" || L.tagName === "style") ? s.value : stringifyEntities(s.value, Object.assign({}, R.settings.characterReferences, { subset: textEntitySubset }));
3188
+ }
3189
+ function raw(s, I, L, R) {
3190
+ return R.settings.allowDangerousHtml ? s.value : text(s, I, L, R);
3191
+ }
3192
+ function root(s, I, L, R) {
3193
+ return R.all(s);
3194
+ }
3195
+ const handle = zwitch("type", {
3196
+ invalid,
3197
+ unknown,
3198
+ handlers: {
3199
+ comment,
3200
+ doctype,
3201
+ element,
3202
+ raw,
3203
+ root,
3204
+ text
3205
+ }
3206
+ });
3207
+ function invalid(s) {
3208
+ throw Error("Expected node, not `" + s + "`");
3209
+ }
3210
+ function unknown(s) {
3211
+ let I = s;
3212
+ throw Error("Cannot compile unknown node `" + I.type + "`");
3213
+ }
3214
+ var emptyOptions = {}, emptyCharacterReferences = {}, emptyChildren = [];
3215
+ function toHtml(s, I) {
3216
+ let L = I || emptyOptions, R = L.quote || "\"", z = R === "\"" ? "'" : "\"";
3217
+ if (R !== "\"" && R !== "'") throw Error("Invalid quote `" + R + "`, expected `'` or `\"`");
3218
+ return {
3219
+ one,
3220
+ all,
3221
+ settings: {
3222
+ omitOptionalTags: L.omitOptionalTags || !1,
3223
+ allowParseErrors: L.allowParseErrors || !1,
3224
+ allowDangerousCharacters: L.allowDangerousCharacters || !1,
3225
+ quoteSmart: L.quoteSmart || !1,
3226
+ preferUnquoted: L.preferUnquoted || !1,
3227
+ tightAttributes: L.tightAttributes || !1,
3228
+ upperDoctype: L.upperDoctype || !1,
3229
+ tightDoctype: L.tightDoctype || !1,
3230
+ bogusComments: L.bogusComments || !1,
3231
+ tightCommaSeparatedLists: L.tightCommaSeparatedLists || !1,
3232
+ tightSelfClosing: L.tightSelfClosing || !1,
3233
+ collapseEmptyAttributes: L.collapseEmptyAttributes || !1,
3234
+ allowDangerousHtml: L.allowDangerousHtml || !1,
3235
+ voids: L.voids || htmlVoidElements,
3236
+ characterReferences: L.characterReferences || emptyCharacterReferences,
3237
+ closeSelfClosing: L.closeSelfClosing || !1,
3238
+ closeEmptyElements: L.closeEmptyElements || !1
3239
+ },
3240
+ schema: L.space === "svg" ? svg : html$2,
3241
+ quote: R,
3242
+ alternative: z
3243
+ }.one(Array.isArray(s) ? {
3244
+ type: "root",
3245
+ children: s
3246
+ } : s, void 0, void 0);
3247
+ }
3248
+ function one(s, I, L) {
3249
+ return handle(s, I, L, this);
3250
+ }
3251
+ function all(s) {
3252
+ let I = [], L = s && s.children || emptyChildren, R = -1;
3253
+ for (; ++R < L.length;) I[R] = this.one(L[R], R, s);
3254
+ return I.join("");
3255
+ }
3256
+ function resolveColorReplacements(s, I) {
3257
+ let L = typeof s == "string" ? {} : { ...s.colorReplacements }, R = typeof s == "string" ? s : s.name;
3258
+ for (let [s, z] of Object.entries(I?.colorReplacements || {})) typeof z == "string" ? L[s] = z : s === R && Object.assign(L, z);
3259
+ return L;
3260
+ }
3261
+ function applyColorReplacements(s, I) {
3262
+ return s && (I?.[s?.toLowerCase()] || s);
3263
+ }
3264
+ function toArray(s) {
3265
+ return Array.isArray(s) ? s : [s];
3266
+ }
3267
+ async function normalizeGetter(s) {
3268
+ return Promise.resolve(typeof s == "function" ? s() : s).then((s) => s.default || s);
3269
+ }
3270
+ function isPlainLang(s) {
3271
+ return !s || [
3272
+ "plaintext",
3273
+ "txt",
3274
+ "text",
3275
+ "plain"
3276
+ ].includes(s);
3277
+ }
3278
+ function isSpecialLang(s) {
3279
+ return s === "ansi" || isPlainLang(s);
3280
+ }
3281
+ function isNoneTheme(s) {
3282
+ return s === "none";
3283
+ }
3284
+ function isSpecialTheme(s) {
3285
+ return isNoneTheme(s);
3286
+ }
3287
+ function addClassToHast(s, I) {
3288
+ if (!I) return s;
3289
+ s.properties ||= {}, s.properties.class ||= [], typeof s.properties.class == "string" && (s.properties.class = s.properties.class.split(/\s+/g)), Array.isArray(s.properties.class) || (s.properties.class = []);
3290
+ let L = Array.isArray(I) ? I : I.split(/\s+/g);
3291
+ for (let I of L) I && !s.properties.class.includes(I) && s.properties.class.push(I);
3292
+ return s;
3293
+ }
3294
+ function splitLines(s, I = !1) {
3295
+ if (s.length === 0) return [["", 0]];
3296
+ let L = s.split(/(\r?\n)/g), R = 0, z = [];
3297
+ for (let s = 0; s < L.length; s += 2) {
3298
+ let B = I ? L[s] + (L[s + 1] || "") : L[s];
3299
+ z.push([B, R]), R += L[s].length, R += L[s + 1]?.length || 0;
3300
+ }
3301
+ return z;
3302
+ }
3303
+ function createPositionConverter(s) {
3304
+ let I = splitLines(s, !0).map(([s]) => s);
3305
+ function L(L) {
3306
+ if (L === s.length) return {
3307
+ line: I.length - 1,
3308
+ character: I[I.length - 1].length
3309
+ };
3310
+ let R = L, z = 0;
3311
+ for (let s of I) {
3312
+ if (R < s.length) break;
3313
+ R -= s.length, z++;
3314
+ }
3315
+ return {
3316
+ line: z,
3317
+ character: R
3318
+ };
3319
+ }
3320
+ function R(s, L) {
3321
+ let R = 0;
3322
+ for (let L = 0; L < s; L++) R += I[L].length;
3323
+ return R += L, R;
3324
+ }
3325
+ return {
3326
+ lines: I,
3327
+ indexToPos: L,
3328
+ posToIndex: R
3329
+ };
3330
+ }
3331
+ function guessEmbeddedLanguages(s, I, L) {
3332
+ let R = /* @__PURE__ */ new Set();
3333
+ for (let I of s.matchAll(/:?lang=["']([^"']+)["']/g)) {
3334
+ let s = I[1].toLowerCase().trim();
3335
+ s && R.add(s);
3336
+ }
3337
+ for (let I of s.matchAll(/(?:```|~~~)([\w-]+)/g)) {
3338
+ let s = I[1].toLowerCase().trim();
3339
+ s && R.add(s);
3340
+ }
3341
+ for (let I of s.matchAll(/\\begin\{([\w-]+)\}/g)) {
3342
+ let s = I[1].toLowerCase().trim();
3343
+ s && R.add(s);
3344
+ }
3345
+ for (let I of s.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)) {
3346
+ let s = I[1].toLowerCase().trim(), L = s.includes("/") ? s.split("/").pop() : s;
3347
+ L && R.add(L);
3348
+ }
3349
+ if (!L) return Array.from(R);
3350
+ let z = L.getBundledLanguages();
3351
+ return Array.from(R).filter((s) => s && z[s]);
3352
+ }
3353
+ var DEFAULT_COLOR_LIGHT_DARK = "light-dark()", COLOR_KEYS = ["color", "background-color"];
3354
+ function splitToken(s, I) {
3355
+ let L = 0, R = [];
3356
+ for (let z of I) z > L && R.push({
3357
+ ...s,
3358
+ content: s.content.slice(L, z),
3359
+ offset: s.offset + L
3360
+ }), L = z;
3361
+ return L < s.content.length && R.push({
3362
+ ...s,
3363
+ content: s.content.slice(L),
3364
+ offset: s.offset + L
3365
+ }), R;
3366
+ }
3367
+ function splitTokens(s, I) {
3368
+ let L = Array.from(I instanceof Set ? I : new Set(I)).sort((s, I) => s - I);
3369
+ return L.length ? s.map((s) => s.flatMap((s) => {
3370
+ let I = L.filter((I) => s.offset < I && I < s.offset + s.content.length).map((I) => I - s.offset).sort((s, I) => s - I);
3371
+ return I.length ? splitToken(s, I) : s;
3372
+ })) : s;
3373
+ }
3374
+ function flatTokenVariants(s, L, R, z, B = "css-vars") {
3375
+ let V = {
3376
+ content: s.content,
3377
+ explanation: s.explanation,
3378
+ offset: s.offset
3379
+ }, H = L.map((I) => getTokenStyleObject(s.variants[I])), U = new Set(H.flatMap((s) => Object.keys(s))), W = {}, G = (s, I) => {
3380
+ let z = I === "color" ? "" : I === "background-color" ? "-bg" : `-${I}`;
3381
+ return R + L[s] + (I === "color" ? "" : z);
3382
+ };
3383
+ return H.forEach((s, R) => {
3384
+ for (let V of U) {
3385
+ let U = s[V] || "inherit";
3386
+ if (R === 0 && z && COLOR_KEYS.includes(V)) if (z === DEFAULT_COLOR_LIGHT_DARK && H.length > 1) {
3387
+ let s = L.findIndex((s) => s === "light"), z = L.findIndex((s) => s === "dark");
3388
+ if (s === -1 || z === -1) throw new ShikiError("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
3389
+ W[V] = `light-dark(${H[s][V] || "inherit"}, ${H[z][V] || "inherit"})`, B === "css-vars" && (W[G(R, V)] = U);
3390
+ } else W[V] = U;
3391
+ else B === "css-vars" && (W[G(R, V)] = U);
3392
+ }
3393
+ }), V.htmlStyle = W, V;
3394
+ }
3395
+ function getTokenStyleObject(s) {
3396
+ let I = {};
3397
+ if (s.color && (I.color = s.color), s.bgColor && (I["background-color"] = s.bgColor), s.fontStyle) {
3398
+ s.fontStyle & FontStyle.Italic && (I["font-style"] = "italic"), s.fontStyle & FontStyle.Bold && (I["font-weight"] = "bold");
3399
+ let L = [];
3400
+ s.fontStyle & FontStyle.Underline && L.push("underline"), s.fontStyle & FontStyle.Strikethrough && L.push("line-through"), L.length && (I["text-decoration"] = L.join(" "));
3401
+ }
3402
+ return I;
3403
+ }
3404
+ function stringifyTokenStyle(s) {
3405
+ return typeof s == "string" ? s : Object.entries(s).map(([s, I]) => `${s}:${I}`).join(";");
3406
+ }
3407
+ var _grammarStateMap = /* @__PURE__ */ new WeakMap();
3408
+ function setLastGrammarStateToMap(s, I) {
3409
+ _grammarStateMap.set(s, I);
3410
+ }
3411
+ function getLastGrammarStateFromMap(s) {
3412
+ return _grammarStateMap.get(s);
3413
+ }
3414
+ var GrammarState = class s {
3415
+ _stacks = {};
3416
+ lang;
3417
+ get themes() {
3418
+ return Object.keys(this._stacks);
3419
+ }
3420
+ get theme() {
3421
+ return this.themes[0];
3422
+ }
3423
+ get _stack() {
3424
+ return this._stacks[this.theme];
3425
+ }
3426
+ static initial(I, L) {
3427
+ return new s(Object.fromEntries(toArray(L).map((s) => [s, INITIAL])), I);
3428
+ }
3429
+ constructor(...s) {
3430
+ if (s.length === 2) {
3431
+ let [I, L] = s;
3432
+ this.lang = L, this._stacks = I;
3433
+ } else {
3434
+ let [I, L, R] = s;
3435
+ this.lang = L, this._stacks = { [R]: I };
3436
+ }
3437
+ }
3438
+ getInternalStack(s = this.theme) {
3439
+ return this._stacks[s];
3440
+ }
3441
+ getScopes(s = this.theme) {
3442
+ return getScopes(this._stacks[s]);
3443
+ }
3444
+ toJSON() {
3445
+ return {
3446
+ lang: this.lang,
3447
+ theme: this.theme,
3448
+ themes: this.themes,
3449
+ scopes: this.getScopes()
3450
+ };
3451
+ }
3452
+ };
3453
+ function getScopes(s) {
3454
+ let I = [], L = /* @__PURE__ */ new Set();
3455
+ function R(s) {
3456
+ if (L.has(s)) return;
3457
+ L.add(s);
3458
+ let z = s?.nameScopesList?.scopeName;
3459
+ z && I.push(z), s.parent && R(s.parent);
3460
+ }
3461
+ return R(s), I;
3462
+ }
3463
+ function getGrammarStack(s, L) {
3464
+ if (!(s instanceof GrammarState)) throw new ShikiError("Invalid grammar state");
3465
+ return s.getInternalStack(L);
3466
+ }
3467
+ function transformerDecorations() {
3468
+ let s = /* @__PURE__ */ new WeakMap();
3469
+ function L(L) {
3470
+ if (!s.has(L.meta)) {
3471
+ let R = function(s) {
3472
+ if (typeof s == "number") {
3473
+ if (s < 0 || s > L.source.length) throw new ShikiError(`Invalid decoration offset: ${s}. Code length: ${L.source.length}`);
3474
+ return {
3475
+ ...z.indexToPos(s),
3476
+ offset: s
3477
+ };
3478
+ } else {
3479
+ let L = z.lines[s.line];
3480
+ if (L === void 0) throw new ShikiError(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${z.lines.length}`);
3481
+ let R = s.character;
3482
+ if (R < 0 && (R = L.length + R), R < 0 || R > L.length) throw new ShikiError(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${L.length}`);
3483
+ return {
3484
+ ...s,
3485
+ character: R,
3486
+ offset: z.posToIndex(s.line, R)
3487
+ };
3488
+ }
3489
+ }, z = createPositionConverter(L.source), B = (L.options.decorations || []).map((s) => ({
3490
+ ...s,
3491
+ start: R(s.start),
3492
+ end: R(s.end)
3493
+ }));
3494
+ verifyIntersections(B), s.set(L.meta, {
3495
+ decorations: B,
3496
+ converter: z,
3497
+ source: L.source
3498
+ });
3499
+ }
3500
+ return s.get(L.meta);
3501
+ }
3502
+ return {
3503
+ name: "shiki:decorations",
3504
+ tokens(s) {
3505
+ if (this.options.decorations?.length) return splitTokens(s, L(this).decorations.flatMap((s) => [s.start.offset, s.end.offset]));
3506
+ },
3507
+ code(s) {
3508
+ if (!this.options.decorations?.length) return;
3509
+ let R = L(this), z = Array.from(s.children).filter((s) => s.type === "element" && s.tagName === "span");
3510
+ if (z.length !== R.converter.lines.length) throw new ShikiError(`Number of lines in code element (${z.length}) does not match the number of lines in the source (${R.converter.lines.length}). Failed to apply decorations.`);
3511
+ function B(s, L, R, B) {
3512
+ let V = z[s], U = "", W = -1, G = -1;
3513
+ if (L === 0 && (W = 0), R === 0 && (G = 0), R === Infinity && (G = V.children.length), W === -1 || G === -1) for (let s = 0; s < V.children.length; s++) U += stringify(V.children[s]), W === -1 && U.length === L && (W = s + 1), G === -1 && U.length === R && (G = s + 1);
3514
+ if (W === -1) throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(B.start)}`);
3515
+ if (G === -1) throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(B.end)}`);
3516
+ let K = V.children.slice(W, G);
3517
+ if (!B.alwaysWrap && K.length === V.children.length) H(V, B, "line");
3518
+ else if (!B.alwaysWrap && K.length === 1 && K[0].type === "element") H(K[0], B, "token");
3519
+ else {
3520
+ let s = {
3521
+ type: "element",
3522
+ tagName: "span",
3523
+ properties: {},
3524
+ children: K
3525
+ };
3526
+ H(s, B, "wrapper"), V.children.splice(W, K.length, s);
3527
+ }
3528
+ }
3529
+ function V(s, I) {
3530
+ z[s] = H(z[s], I, "line");
3531
+ }
3532
+ function H(s, I, L) {
3533
+ let R = I.properties || {}, z = I.transform || ((s) => s);
3534
+ return s.tagName = I.tagName || "span", s.properties = {
3535
+ ...s.properties,
3536
+ ...R,
3537
+ class: s.properties.class
3538
+ }, I.properties?.class && addClassToHast(s, I.properties.class), s = z(s, L) || s, s;
3539
+ }
3540
+ let U = [], W = R.decorations.sort((s, I) => I.start.offset - s.start.offset || s.end.offset - I.end.offset);
3541
+ for (let s of W) {
3542
+ let { start: I, end: L } = s;
3543
+ if (I.line === L.line) B(I.line, I.character, L.character, s);
3544
+ else if (I.line < L.line) {
3545
+ B(I.line, I.character, Infinity, s);
3546
+ for (let R = I.line + 1; R < L.line; R++) U.unshift(() => V(R, s));
3547
+ B(L.line, 0, L.character, s);
3548
+ }
3549
+ }
3550
+ U.forEach((s) => s());
3551
+ }
3552
+ };
3553
+ }
3554
+ function verifyIntersections(s) {
3555
+ for (let L = 0; L < s.length; L++) {
3556
+ let R = s[L];
3557
+ if (R.start.offset > R.end.offset) throw new ShikiError(`Invalid decoration range: ${JSON.stringify(R.start)} - ${JSON.stringify(R.end)}`);
3558
+ for (let z = L + 1; z < s.length; z++) {
3559
+ let L = s[z], B = R.start.offset <= L.start.offset && L.start.offset < R.end.offset, V = R.start.offset < L.end.offset && L.end.offset <= R.end.offset, H = L.start.offset <= R.start.offset && R.start.offset < L.end.offset, U = L.start.offset < R.end.offset && R.end.offset <= L.end.offset;
3560
+ if (B || V || H || U) {
3561
+ if (B && V || H && U || H && R.start.offset === R.end.offset || V && L.start.offset === L.end.offset) continue;
3562
+ throw new ShikiError(`Decorations ${JSON.stringify(R.start)} and ${JSON.stringify(L.start)} intersect.`);
3563
+ }
3564
+ }
3565
+ }
3566
+ }
3567
+ function stringify(s) {
3568
+ return s.type === "text" ? s.value : s.type === "element" ? s.children.map(stringify).join("") : "";
3569
+ }
3570
+ var builtInTransformers = [/* @__PURE__ */ transformerDecorations()];
3571
+ function getTransformers(s) {
3572
+ let I = sortTransformersByEnforcement(s.transformers || []);
3573
+ return [
3574
+ ...I.pre,
3575
+ ...I.normal,
3576
+ ...I.post,
3577
+ ...builtInTransformers
3578
+ ];
3579
+ }
3580
+ function sortTransformersByEnforcement(s) {
3581
+ let I = [], L = [], R = [];
3582
+ for (let z of s) switch (z.enforce) {
3583
+ case "pre":
3584
+ I.push(z);
3585
+ break;
3586
+ case "post":
3587
+ L.push(z);
3588
+ break;
3589
+ default: R.push(z);
3590
+ }
3591
+ return {
3592
+ pre: I,
3593
+ post: L,
3594
+ normal: R
3595
+ };
3596
+ }
3597
+ var namedColors = [
3598
+ "black",
3599
+ "red",
3600
+ "green",
3601
+ "yellow",
3602
+ "blue",
3603
+ "magenta",
3604
+ "cyan",
3605
+ "white",
3606
+ "brightBlack",
3607
+ "brightRed",
3608
+ "brightGreen",
3609
+ "brightYellow",
3610
+ "brightBlue",
3611
+ "brightMagenta",
3612
+ "brightCyan",
3613
+ "brightWhite"
3614
+ ], decorations = {
3615
+ 1: "bold",
3616
+ 2: "dim",
3617
+ 3: "italic",
3618
+ 4: "underline",
3619
+ 7: "reverse",
3620
+ 8: "hidden",
3621
+ 9: "strikethrough"
3622
+ };
3623
+ function findSequence(s, I) {
3624
+ let L = s.indexOf("\x1B", I);
3625
+ if (L !== -1 && s[L + 1] === "[") {
3626
+ let I = s.indexOf("m", L);
3627
+ if (I !== -1) return {
3628
+ sequence: s.substring(L + 2, I).split(";"),
3629
+ startPosition: L,
3630
+ position: I + 1
3631
+ };
3632
+ }
3633
+ return { position: s.length };
3634
+ }
3635
+ function parseColor(s) {
3636
+ let I = s.shift();
3637
+ if (I === "2") {
3638
+ let I = s.splice(0, 3).map((s) => Number.parseInt(s));
3639
+ return I.length !== 3 || I.some((s) => Number.isNaN(s)) ? void 0 : {
3640
+ type: "rgb",
3641
+ rgb: I
3642
+ };
3643
+ } else if (I === "5") {
3644
+ let I = s.shift();
3645
+ if (I) return {
3646
+ type: "table",
3647
+ index: Number(I)
3648
+ };
3649
+ }
3650
+ }
3651
+ function parseSequence(s) {
3652
+ let I = [];
3653
+ for (; s.length > 0;) {
3654
+ let L = s.shift();
3655
+ if (!L) continue;
3656
+ let R = Number.parseInt(L);
3657
+ if (!Number.isNaN(R)) if (R === 0) I.push({ type: "resetAll" });
3658
+ else if (R <= 9) decorations[R] && I.push({
3659
+ type: "setDecoration",
3660
+ value: decorations[R]
3661
+ });
3662
+ else if (R <= 29) {
3663
+ let s = decorations[R - 20];
3664
+ s && (I.push({
3665
+ type: "resetDecoration",
3666
+ value: s
3667
+ }), s === "dim" && I.push({
3668
+ type: "resetDecoration",
3669
+ value: "bold"
3670
+ }));
3671
+ } else if (R <= 37) I.push({
3672
+ type: "setForegroundColor",
3673
+ value: {
3674
+ type: "named",
3675
+ name: namedColors[R - 30]
3676
+ }
3677
+ });
3678
+ else if (R === 38) {
3679
+ let L = parseColor(s);
3680
+ L && I.push({
3681
+ type: "setForegroundColor",
3682
+ value: L
3683
+ });
3684
+ } else if (R === 39) I.push({ type: "resetForegroundColor" });
3685
+ else if (R <= 47) I.push({
3686
+ type: "setBackgroundColor",
3687
+ value: {
3688
+ type: "named",
3689
+ name: namedColors[R - 40]
3690
+ }
3691
+ });
3692
+ else if (R === 48) {
3693
+ let L = parseColor(s);
3694
+ L && I.push({
3695
+ type: "setBackgroundColor",
3696
+ value: L
3697
+ });
3698
+ } else R === 49 ? I.push({ type: "resetBackgroundColor" }) : R === 53 ? I.push({
3699
+ type: "setDecoration",
3700
+ value: "overline"
3701
+ }) : R === 55 ? I.push({
3702
+ type: "resetDecoration",
3703
+ value: "overline"
3704
+ }) : R >= 90 && R <= 97 ? I.push({
3705
+ type: "setForegroundColor",
3706
+ value: {
3707
+ type: "named",
3708
+ name: namedColors[R - 90 + 8]
3709
+ }
3710
+ }) : R >= 100 && R <= 107 && I.push({
3711
+ type: "setBackgroundColor",
3712
+ value: {
3713
+ type: "named",
3714
+ name: namedColors[R - 100 + 8]
3715
+ }
3716
+ });
3717
+ }
3718
+ return I;
3719
+ }
3720
+ function createAnsiSequenceParser() {
3721
+ let s = null, I = null, L = /* @__PURE__ */ new Set();
3722
+ return { parse(R) {
3723
+ let z = [], B = 0;
3724
+ do {
3725
+ let V = findSequence(R, B), H = V.sequence ? R.substring(B, V.startPosition) : R.substring(B);
3726
+ if (H.length > 0 && z.push({
3727
+ value: H,
3728
+ foreground: s,
3729
+ background: I,
3730
+ decorations: new Set(L)
3731
+ }), V.sequence) {
3732
+ let R = parseSequence(V.sequence);
3733
+ for (let z of R) z.type === "resetAll" ? (s = null, I = null, L.clear()) : z.type === "resetForegroundColor" ? s = null : z.type === "resetBackgroundColor" ? I = null : z.type === "resetDecoration" && L.delete(z.value);
3734
+ for (let z of R) z.type === "setForegroundColor" ? s = z.value : z.type === "setBackgroundColor" ? I = z.value : z.type === "setDecoration" && L.add(z.value);
3735
+ }
3736
+ B = V.position;
3737
+ } while (B < R.length);
3738
+ return z;
3739
+ } };
3740
+ }
3741
+ var defaultNamedColorsMap = {
3742
+ black: "#000000",
3743
+ red: "#bb0000",
3744
+ green: "#00bb00",
3745
+ yellow: "#bbbb00",
3746
+ blue: "#0000bb",
3747
+ magenta: "#ff00ff",
3748
+ cyan: "#00bbbb",
3749
+ white: "#eeeeee",
3750
+ brightBlack: "#555555",
3751
+ brightRed: "#ff5555",
3752
+ brightGreen: "#00ff00",
3753
+ brightYellow: "#ffff55",
3754
+ brightBlue: "#5555ff",
3755
+ brightMagenta: "#ff55ff",
3756
+ brightCyan: "#55ffff",
3757
+ brightWhite: "#ffffff"
3758
+ };
3759
+ function createColorPalette(s = defaultNamedColorsMap) {
3760
+ function I(I) {
3761
+ return s[I];
3762
+ }
3763
+ function L(s) {
3764
+ return `#${s.map((s) => Math.max(0, Math.min(s, 255)).toString(16).padStart(2, "0")).join("")}`;
3765
+ }
3766
+ let R;
3767
+ function z() {
3768
+ if (R) return R;
3769
+ R = [];
3770
+ for (let s = 0; s < namedColors.length; s++) R.push(I(namedColors[s]));
3771
+ let s = [
3772
+ 0,
3773
+ 95,
3774
+ 135,
3775
+ 175,
3776
+ 215,
3777
+ 255
3778
+ ];
3779
+ for (let I = 0; I < 6; I++) for (let z = 0; z < 6; z++) for (let B = 0; B < 6; B++) R.push(L([
3780
+ s[I],
3781
+ s[z],
3782
+ s[B]
3783
+ ]));
3784
+ let z = 8;
3785
+ for (let s = 0; s < 24; s++, z += 10) R.push(L([
3786
+ z,
3787
+ z,
3788
+ z
3789
+ ]));
3790
+ return R;
3791
+ }
3792
+ function B(s) {
3793
+ return z()[s];
3794
+ }
3795
+ function V(s) {
3796
+ switch (s.type) {
3797
+ case "named": return I(s.name);
3798
+ case "rgb": return L(s.rgb);
3799
+ case "table": return B(s.index);
3800
+ }
3801
+ }
3802
+ return { value: V };
3803
+ }
3804
+ var defaultAnsiColors = {
3805
+ black: "#000000",
3806
+ red: "#cd3131",
3807
+ green: "#0DBC79",
3808
+ yellow: "#E5E510",
3809
+ blue: "#2472C8",
3810
+ magenta: "#BC3FBC",
3811
+ cyan: "#11A8CD",
3812
+ white: "#E5E5E5",
3813
+ brightBlack: "#666666",
3814
+ brightRed: "#F14C4C",
3815
+ brightGreen: "#23D18B",
3816
+ brightYellow: "#F5F543",
3817
+ brightBlue: "#3B8EEA",
3818
+ brightMagenta: "#D670D6",
3819
+ brightCyan: "#29B8DB",
3820
+ brightWhite: "#FFFFFF"
3821
+ };
3822
+ function tokenizeAnsiWithTheme(s, I, L) {
3823
+ let R = resolveColorReplacements(s, L), z = splitLines(I), B = createColorPalette(Object.fromEntries(namedColors.map((I) => {
3824
+ let L = `terminal.ansi${I[0].toUpperCase()}${I.substring(1)}`;
3825
+ return [I, s.colors?.[L] || defaultAnsiColors[I]];
3826
+ }))), V = createAnsiSequenceParser();
3827
+ return z.map((I) => V.parse(I[0]).map((L) => {
3828
+ let z, V;
3829
+ L.decorations.has("reverse") ? (z = L.background ? B.value(L.background) : s.bg, V = L.foreground ? B.value(L.foreground) : s.fg) : (z = L.foreground ? B.value(L.foreground) : s.fg, V = L.background ? B.value(L.background) : void 0), z = applyColorReplacements(z, R), V = applyColorReplacements(V, R), L.decorations.has("dim") && (z = dimColor(z));
3830
+ let H = FontStyle.None;
3831
+ return L.decorations.has("bold") && (H |= FontStyle.Bold), L.decorations.has("italic") && (H |= FontStyle.Italic), L.decorations.has("underline") && (H |= FontStyle.Underline), L.decorations.has("strikethrough") && (H |= FontStyle.Strikethrough), {
3832
+ content: L.value,
3833
+ offset: I[1],
3834
+ color: z,
3835
+ bgColor: V,
3836
+ fontStyle: H
3837
+ };
3838
+ }));
3839
+ }
3840
+ function dimColor(s) {
3841
+ let I = s.match(/#([0-9a-f]{3,8})/i);
3842
+ if (I) {
3843
+ let s = I[1];
3844
+ if (s.length === 8) {
3845
+ let I = Math.round(Number.parseInt(s.slice(6, 8), 16) / 2).toString(16).padStart(2, "0");
3846
+ return `#${s.slice(0, 6)}${I}`;
3847
+ } else if (s.length === 6) return `#${s}80`;
3848
+ else if (s.length === 4) {
3849
+ let I = s[0], L = s[1], R = s[2], z = s[3];
3850
+ return `#${I}${I}${L}${L}${R}${R}${Math.round(Number.parseInt(`${z}${z}`, 16) / 2).toString(16).padStart(2, "0")}`;
3851
+ } else if (s.length === 3) {
3852
+ let I = s[0], L = s[1], R = s[2];
3853
+ return `#${I}${I}${L}${L}${R}${R}80`;
3854
+ }
3855
+ }
3856
+ let L = s.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);
3857
+ return L ? `var(${L[1]}-dim)` : s;
3858
+ }
3859
+ function codeToTokensBase(s, L, R = {}) {
3860
+ let { theme: z = s.getLoadedThemes()[0] } = R, B = s.resolveLangAlias(R.lang || "text");
3861
+ if (isPlainLang(B) || isNoneTheme(z)) return splitLines(L).map((s) => [{
3862
+ content: s[0],
3863
+ offset: s[1]
3864
+ }]);
3865
+ let { theme: V, colorMap: H } = s.setTheme(z);
3866
+ if (B === "ansi") return tokenizeAnsiWithTheme(V, L, R);
3867
+ let U = s.getLanguage(R.lang || "text");
3868
+ if (R.grammarState) {
3869
+ if (R.grammarState.lang !== U.name) throw new ShikiError(`Grammar state language "${R.grammarState.lang}" does not match highlight language "${U.name}"`);
3870
+ if (!R.grammarState.themes.includes(V.name)) throw new ShikiError(`Grammar state themes "${R.grammarState.themes}" do not contain highlight theme "${V.name}"`);
3871
+ }
3872
+ return tokenizeWithTheme(L, U, V, H, R);
3873
+ }
3874
+ function getLastGrammarState(...s) {
3875
+ if (s.length === 2) return getLastGrammarStateFromMap(s[1]);
3876
+ let [L, R, z = {}] = s, { lang: B = "text", theme: V = L.getLoadedThemes()[0] } = z;
3877
+ if (isPlainLang(B) || isNoneTheme(V)) throw new ShikiError("Plain language does not have grammar state");
3878
+ if (B === "ansi") throw new ShikiError("ANSI language does not have grammar state");
3879
+ let { theme: H, colorMap: U } = L.setTheme(V), W = L.getLanguage(B);
3880
+ return new GrammarState(_tokenizeWithTheme(R, W, H, U, z).stateStack, W.name, H.name);
3881
+ }
3882
+ function tokenizeWithTheme(s, I, L, R, z) {
3883
+ let B = _tokenizeWithTheme(s, I, L, R, z), V = new GrammarState(B.stateStack, I.name, L.name);
3884
+ return setLastGrammarStateToMap(B.tokens, V), B.tokens;
3885
+ }
3886
+ function _tokenizeWithTheme(s, I, L, R, z) {
3887
+ let B = resolveColorReplacements(L, z), { tokenizeMaxLineLength: V = 0, tokenizeTimeLimit: H = 500 } = z, U = splitLines(s), W = z.grammarState ? getGrammarStack(z.grammarState, L.name) ?? INITIAL : z.grammarContextCode == null ? INITIAL : _tokenizeWithTheme(z.grammarContextCode, I, L, R, {
3888
+ ...z,
3889
+ grammarState: void 0,
3890
+ grammarContextCode: void 0
3891
+ }).stateStack, G = [], K = [];
3892
+ for (let s = 0, q = U.length; s < q; s++) {
3893
+ let [q, J] = U[s];
3894
+ if (q === "") {
3895
+ G = [], K.push([]);
3896
+ continue;
3897
+ }
3898
+ if (V > 0 && q.length >= V) {
3899
+ G = [], K.push([{
3900
+ content: q,
3901
+ offset: J,
3902
+ color: "",
3903
+ fontStyle: 0
3904
+ }]);
3905
+ continue;
3906
+ }
3907
+ let Y, X, Z;
3908
+ z.includeExplanation && (Y = I.tokenizeLine(q, W, H), X = Y.tokens, Z = 0);
3909
+ let Q = I.tokenizeLine2(q, W, H), $ = Q.tokens.length / 2;
3910
+ for (let s = 0; s < $; s++) {
3911
+ let I = Q.tokens[2 * s], V = s + 1 < $ ? Q.tokens[2 * s + 2] : q.length;
3912
+ if (I === V) continue;
3913
+ let H = Q.tokens[2 * s + 1], U = applyColorReplacements(R[EncodedTokenMetadata.getForeground(H)], B), W = EncodedTokenMetadata.getFontStyle(H), K = {
3914
+ content: q.substring(I, V),
3915
+ offset: J + I,
3916
+ color: U,
3917
+ fontStyle: W
3918
+ };
3919
+ if (z.includeExplanation) {
3920
+ let s = [];
3921
+ if (z.includeExplanation !== "scopeName") for (let I of L.settings) {
3922
+ let L;
3923
+ switch (typeof I.scope) {
3924
+ case "string":
3925
+ L = I.scope.split(/,/).map((s) => s.trim());
3926
+ break;
3927
+ case "object":
3928
+ L = I.scope;
3929
+ break;
3930
+ default: continue;
3931
+ }
3932
+ s.push({
3933
+ settings: I,
3934
+ selectors: L.map((s) => s.split(/ /))
3935
+ });
3936
+ }
3937
+ K.explanation = [];
3938
+ let R = 0;
3939
+ for (; I + R < V;) {
3940
+ let I = X[Z], L = q.substring(I.startIndex, I.endIndex);
3941
+ R += L.length, K.explanation.push({
3942
+ content: L,
3943
+ scopes: z.includeExplanation === "scopeName" ? explainThemeScopesNameOnly(I.scopes) : explainThemeScopesFull(s, I.scopes)
3944
+ }), Z += 1;
3945
+ }
3946
+ }
3947
+ G.push(K);
3948
+ }
3949
+ K.push(G), G = [], W = Q.ruleStack;
3950
+ }
3951
+ return {
3952
+ tokens: K,
3953
+ stateStack: W
3954
+ };
3955
+ }
3956
+ function explainThemeScopesNameOnly(s) {
3957
+ return s.map((s) => ({ scopeName: s }));
3958
+ }
3959
+ function explainThemeScopesFull(s, I) {
3960
+ let L = [];
3961
+ for (let R = 0, z = I.length; R < z; R++) {
3962
+ let z = I[R];
3963
+ L[R] = {
3964
+ scopeName: z,
3965
+ themeMatches: explainThemeScope(s, z, I.slice(0, R))
3966
+ };
3967
+ }
3968
+ return L;
3969
+ }
3970
+ function matchesOne(s, I) {
3971
+ return s === I || I.substring(0, s.length) === s && I[s.length] === ".";
3972
+ }
3973
+ function matches(s, I, L) {
3974
+ if (!matchesOne(s[s.length - 1], I)) return !1;
3975
+ let R = s.length - 2, z = L.length - 1;
3976
+ for (; R >= 0 && z >= 0;) matchesOne(s[R], L[z]) && --R, --z;
3977
+ return R === -1;
3978
+ }
3979
+ function explainThemeScope(s, I, L) {
3980
+ let R = [];
3981
+ for (let { selectors: z, settings: B } of s) for (let s of z) if (matches(s, I, L)) {
3982
+ R.push(B);
3983
+ break;
3984
+ }
3985
+ return R;
3986
+ }
3987
+ function codeToTokensWithThemes(s, I, L) {
3988
+ let R = Object.entries(L.themes).filter((s) => s[1]).map((s) => ({
3989
+ color: s[0],
3990
+ theme: s[1]
3991
+ })), z = R.map((R) => {
3992
+ let z = codeToTokensBase(s, I, {
3993
+ ...L,
3994
+ theme: R.theme
3995
+ });
3996
+ return {
3997
+ tokens: z,
3998
+ state: getLastGrammarStateFromMap(z),
3999
+ theme: typeof R.theme == "string" ? R.theme : R.theme.name
4000
+ };
4001
+ }), B = syncThemesTokenization(...z.map((s) => s.tokens)), V = B[0].map((s, I) => s.map((s, z) => {
4002
+ let V = {
4003
+ content: s.content,
4004
+ variants: {},
4005
+ offset: s.offset
4006
+ };
4007
+ return "includeExplanation" in L && L.includeExplanation && (V.explanation = s.explanation), B.forEach((s, L) => {
4008
+ let { content: B, explanation: H, offset: U, ...W } = s[I][z];
4009
+ V.variants[R[L].color] = W;
4010
+ }), V;
4011
+ })), H = z[0].state ? new GrammarState(Object.fromEntries(z.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])), z[0].state.lang) : void 0;
4012
+ return H && setLastGrammarStateToMap(V, H), V;
4013
+ }
4014
+ function syncThemesTokenization(...s) {
4015
+ let I = s.map(() => []), L = s.length;
4016
+ for (let R = 0; R < s[0].length; R++) {
4017
+ let z = s.map((s) => s[R]), B = I.map(() => []);
4018
+ I.forEach((s, I) => s.push(B[I]));
4019
+ let V = z.map(() => 0), H = z.map((s) => s[0]);
4020
+ for (; H.every((s) => s);) {
4021
+ let s = Math.min(...H.map((s) => s.content.length));
4022
+ for (let I = 0; I < L; I++) {
4023
+ let L = H[I];
4024
+ L.content.length === s ? (B[I].push(L), V[I] += 1, H[I] = z[I][V[I]]) : (B[I].push({
4025
+ ...L,
4026
+ content: L.content.slice(0, s)
4027
+ }), H[I] = {
4028
+ ...L,
4029
+ content: L.content.slice(s),
4030
+ offset: L.offset + s
4031
+ });
4032
+ }
4033
+ }
4034
+ }
4035
+ return I;
4036
+ }
4037
+ function codeToTokens(s, L, R) {
4038
+ let z, B, V, H, U, W;
4039
+ if ("themes" in R) {
4040
+ let { defaultColor: G = "light", cssVariablePrefix: K = "--shiki-", colorsRendering: q = "css-vars" } = R, J = Object.entries(R.themes).filter((s) => s[1]).map((s) => ({
4041
+ color: s[0],
4042
+ theme: s[1]
4043
+ })).sort((s, I) => s.color === G ? -1 : I.color === G ? 1 : 0);
4044
+ if (J.length === 0) throw new ShikiError("`themes` option must not be empty");
4045
+ let Y = codeToTokensWithThemes(s, L, R);
4046
+ if (W = getLastGrammarStateFromMap(Y), G && DEFAULT_COLOR_LIGHT_DARK !== G && !J.find((s) => s.color === G)) throw new ShikiError(`\`themes\` option must contain the defaultColor key \`${G}\``);
4047
+ let X = J.map((I) => s.getTheme(I.theme)), Z = J.map((s) => s.color);
4048
+ V = Y.map((s) => s.map((s) => flatTokenVariants(s, Z, K, G, q))), W && setLastGrammarStateToMap(V, W);
4049
+ let Q = J.map((s) => resolveColorReplacements(s.theme, R));
4050
+ B = mapThemeColors(J, X, Q, K, G, "fg", q), z = mapThemeColors(J, X, Q, K, G, "bg", q), H = `shiki-themes ${X.map((s) => s.name).join(" ")}`, U = G ? void 0 : [B, z].join(";");
4051
+ } else if ("theme" in R) {
4052
+ let I = resolveColorReplacements(R.theme, R);
4053
+ V = codeToTokensBase(s, L, R);
4054
+ let U = s.getTheme(R.theme);
4055
+ z = applyColorReplacements(U.bg, I), B = applyColorReplacements(U.fg, I), H = U.name, W = getLastGrammarStateFromMap(V);
4056
+ } else throw new ShikiError("Invalid options, either `theme` or `themes` must be provided");
4057
+ return {
4058
+ tokens: V,
4059
+ fg: B,
4060
+ bg: z,
4061
+ themeName: H,
4062
+ rootStyle: U,
4063
+ grammarState: W
4064
+ };
4065
+ }
4066
+ function mapThemeColors(s, L, R, z, B, V, H) {
4067
+ return s.map((U, W) => {
4068
+ let G = applyColorReplacements(L[W][V], R[W]) || "inherit", K = `${z + U.color}${V === "bg" ? "-bg" : ""}:${G}`;
4069
+ if (W === 0 && B) {
4070
+ if (B === DEFAULT_COLOR_LIGHT_DARK && s.length > 1) {
4071
+ let z = s.findIndex((s) => s.color === "light"), B = s.findIndex((s) => s.color === "dark");
4072
+ if (z === -1 || B === -1) throw new ShikiError("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
4073
+ return `light-dark(${applyColorReplacements(L[z][V], R[z]) || "inherit"}, ${applyColorReplacements(L[B][V], R[B]) || "inherit"});${K}`;
4074
+ }
4075
+ return G;
4076
+ }
4077
+ return H === "css-vars" ? K : null;
4078
+ }).filter((s) => !!s).join(";");
4079
+ }
4080
+ function codeToHast(s, I, L, R = {
4081
+ meta: {},
4082
+ options: L,
4083
+ codeToHast: (I, L) => codeToHast(s, I, L),
4084
+ codeToTokens: (I, L) => codeToTokens(s, I, L)
4085
+ }) {
4086
+ let z = I;
4087
+ for (let s of getTransformers(L)) z = s.preprocess?.call(R, z, L) || z;
4088
+ let { tokens: B, fg: V, bg: H, themeName: U, rootStyle: W, grammarState: G } = codeToTokens(s, z, L), { mergeWhitespaces: K = !0, mergeSameStyleTokens: q = !1 } = L;
4089
+ K === !0 ? B = mergeWhitespaceTokens(B) : K === "never" && (B = splitWhitespaceTokens(B)), q && (B = mergeAdjacentStyledTokens(B));
4090
+ let J = {
4091
+ ...R,
4092
+ get source() {
4093
+ return z;
4094
+ }
4095
+ };
4096
+ for (let s of getTransformers(L)) B = s.tokens?.call(J, B) || B;
4097
+ return tokensToHast(B, {
4098
+ ...L,
4099
+ fg: V,
4100
+ bg: H,
4101
+ themeName: U,
4102
+ rootStyle: L.rootStyle === !1 ? !1 : L.rootStyle ?? W
4103
+ }, J, G);
4104
+ }
4105
+ function tokensToHast(s, I, L, R = getLastGrammarStateFromMap(s)) {
4106
+ let z = getTransformers(I), B = [], V = {
4107
+ type: "root",
4108
+ children: []
4109
+ }, { structure: H = "classic", tabindex: U = "0" } = I, W = { class: `shiki ${I.themeName || ""}` };
4110
+ I.rootStyle !== !1 && (I.rootStyle == null ? W.style = `background-color:${I.bg};color:${I.fg}` : W.style = I.rootStyle), U !== !1 && U != null && (W.tabindex = U.toString());
4111
+ for (let [s, L] of Object.entries(I.meta || {})) s.startsWith("_") || (W[s] = L);
4112
+ let G = {
4113
+ type: "element",
4114
+ tagName: "pre",
4115
+ properties: W,
4116
+ children: []
4117
+ }, K = {
4118
+ type: "element",
4119
+ tagName: "code",
4120
+ properties: {},
4121
+ children: B
4122
+ }, q = [], J = {
4123
+ ...L,
4124
+ structure: H,
4125
+ addClassToHast,
4126
+ get source() {
4127
+ return L.source;
4128
+ },
4129
+ get tokens() {
4130
+ return s;
4131
+ },
4132
+ get options() {
4133
+ return I;
4134
+ },
4135
+ get root() {
4136
+ return V;
4137
+ },
4138
+ get pre() {
4139
+ return G;
4140
+ },
4141
+ get code() {
4142
+ return K;
4143
+ },
4144
+ get lines() {
4145
+ return q;
4146
+ }
4147
+ };
4148
+ if (s.forEach((s, I) => {
4149
+ I && (H === "inline" ? V.children.push({
4150
+ type: "element",
4151
+ tagName: "br",
4152
+ properties: {},
4153
+ children: []
4154
+ }) : H === "classic" && B.push({
4155
+ type: "text",
4156
+ value: "\n"
4157
+ }));
4158
+ let L = {
4159
+ type: "element",
4160
+ tagName: "span",
4161
+ properties: { class: "line" },
4162
+ children: []
4163
+ }, R = 0;
4164
+ for (let B of s) {
4165
+ let s = {
4166
+ type: "element",
4167
+ tagName: "span",
4168
+ properties: { ...B.htmlAttrs },
4169
+ children: [{
4170
+ type: "text",
4171
+ value: B.content
4172
+ }]
4173
+ }, U = stringifyTokenStyle(B.htmlStyle || getTokenStyleObject(B));
4174
+ U && (s.properties.style = U);
4175
+ for (let V of z) s = V?.span?.call(J, s, I + 1, R, L, B) || s;
4176
+ H === "inline" ? V.children.push(s) : H === "classic" && L.children.push(s), R += B.content.length;
4177
+ }
4178
+ if (H === "classic") {
4179
+ for (let s of z) L = s?.line?.call(J, L, I + 1) || L;
4180
+ q.push(L), B.push(L);
4181
+ } else H === "inline" && q.push(L);
4182
+ }), H === "classic") {
4183
+ for (let s of z) K = s?.code?.call(J, K) || K;
4184
+ G.children.push(K);
4185
+ for (let s of z) G = s?.pre?.call(J, G) || G;
4186
+ V.children.push(G);
4187
+ } else if (H === "inline") {
4188
+ let s = [], I = {
4189
+ type: "element",
4190
+ tagName: "span",
4191
+ properties: { class: "line" },
4192
+ children: []
4193
+ };
4194
+ for (let L of V.children) L.type === "element" && L.tagName === "br" ? (s.push(I), I = {
4195
+ type: "element",
4196
+ tagName: "span",
4197
+ properties: { class: "line" },
4198
+ children: []
4199
+ }) : (L.type === "element" || L.type === "text") && I.children.push(L);
4200
+ s.push(I);
4201
+ let L = {
4202
+ type: "element",
4203
+ tagName: "code",
4204
+ properties: {},
4205
+ children: s
4206
+ };
4207
+ for (let s of z) L = s?.code?.call(J, L) || L;
4208
+ V.children = [];
4209
+ for (let s = 0; s < L.children.length; s++) {
4210
+ s > 0 && V.children.push({
4211
+ type: "element",
4212
+ tagName: "br",
4213
+ properties: {},
4214
+ children: []
4215
+ });
4216
+ let I = L.children[s];
4217
+ I.type === "element" && V.children.push(...I.children);
4218
+ }
4219
+ }
4220
+ let Y = V;
4221
+ for (let s of z) Y = s?.root?.call(J, Y) || Y;
4222
+ return R && setLastGrammarStateToMap(Y, R), Y;
4223
+ }
4224
+ function mergeWhitespaceTokens(s) {
4225
+ return s.map((s) => {
4226
+ let I = [], L = "", R;
4227
+ return s.forEach((z, B) => {
4228
+ let V = !(z.fontStyle && (z.fontStyle & FontStyle.Underline || z.fontStyle & FontStyle.Strikethrough));
4229
+ V && z.content.match(/^\s+$/) && s[B + 1] ? (R === void 0 && (R = z.offset), L += z.content) : L ? (V ? I.push({
4230
+ ...z,
4231
+ offset: R,
4232
+ content: L + z.content
4233
+ }) : I.push({
4234
+ content: L,
4235
+ offset: R
4236
+ }, z), R = void 0, L = "") : I.push(z);
4237
+ }), I;
4238
+ });
4239
+ }
4240
+ function splitWhitespaceTokens(s) {
4241
+ return s.map((s) => s.flatMap((s) => {
4242
+ if (s.content.match(/^\s+$/)) return s;
4243
+ let I = s.content.match(/^(\s*)(.*?)(\s*)$/);
4244
+ if (!I) return s;
4245
+ let [, L, R, z] = I;
4246
+ if (!L && !z) return s;
4247
+ let B = [{
4248
+ ...s,
4249
+ offset: s.offset + L.length,
4250
+ content: R
4251
+ }];
4252
+ return L && B.unshift({
4253
+ content: L,
4254
+ offset: s.offset
4255
+ }), z && B.push({
4256
+ content: z,
4257
+ offset: s.offset + L.length + R.length
4258
+ }), B;
4259
+ }));
4260
+ }
4261
+ function mergeAdjacentStyledTokens(s) {
4262
+ return s.map((s) => {
4263
+ let I = [];
4264
+ for (let L of s) {
4265
+ if (I.length === 0) {
4266
+ I.push({ ...L });
4267
+ continue;
4268
+ }
4269
+ let s = I[I.length - 1], R = stringifyTokenStyle(s.htmlStyle || getTokenStyleObject(s)), z = stringifyTokenStyle(L.htmlStyle || getTokenStyleObject(L)), B = s.fontStyle && (s.fontStyle & FontStyle.Underline || s.fontStyle & FontStyle.Strikethrough), V = L.fontStyle && (L.fontStyle & FontStyle.Underline || L.fontStyle & FontStyle.Strikethrough);
4270
+ !B && !V && R === z ? s.content += L.content : I.push({ ...L });
4271
+ }
4272
+ return I;
4273
+ });
4274
+ }
4275
+ var hastToHtml = toHtml;
4276
+ function codeToHtml(s, I, L) {
4277
+ let R = {
4278
+ meta: {},
4279
+ options: L,
4280
+ codeToHast: (I, L) => codeToHast(s, I, L),
4281
+ codeToTokens: (I, L) => codeToTokens(s, I, L)
4282
+ }, z = hastToHtml(codeToHast(s, I, L, R));
4283
+ for (let s of getTransformers(L)) z = s.postprocess?.call(R, z, L) || z;
4284
+ return z;
4285
+ }
4286
+ var VSCODE_FALLBACK_EDITOR_FG = {
4287
+ light: "#333333",
4288
+ dark: "#bbbbbb"
4289
+ }, VSCODE_FALLBACK_EDITOR_BG = {
4290
+ light: "#fffffe",
4291
+ dark: "#1e1e1e"
4292
+ }, RESOLVED_KEY = "__shiki_resolved";
4293
+ function normalizeTheme(s) {
4294
+ if (s?.[RESOLVED_KEY]) return s;
4295
+ let I = { ...s };
4296
+ I.tokenColors && !I.settings && (I.settings = I.tokenColors, delete I.tokenColors), I.type ||= "dark", I.colorReplacements = { ...I.colorReplacements }, I.settings ||= [];
4297
+ let { bg: L, fg: R } = I;
4298
+ if (!L || !R) {
4299
+ let s = I.settings ? I.settings.find((s) => !s.name && !s.scope) : void 0;
4300
+ s?.settings?.foreground && (R = s.settings.foreground), s?.settings?.background && (L = s.settings.background), !R && I?.colors?.["editor.foreground"] && (R = I.colors["editor.foreground"]), !L && I?.colors?.["editor.background"] && (L = I.colors["editor.background"]), R ||= I.type === "light" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark, L ||= I.type === "light" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark, I.fg = R, I.bg = L;
4301
+ }
4302
+ I.settings[0] && I.settings[0].settings && !I.settings[0].scope || I.settings.unshift({ settings: {
4303
+ foreground: I.fg,
4304
+ background: I.bg
4305
+ } });
4306
+ let z = 0, B = /* @__PURE__ */ new Map();
4307
+ function V(s) {
4308
+ if (B.has(s)) return B.get(s);
4309
+ z += 1;
4310
+ let L = `#${z.toString(16).padStart(8, "0").toLowerCase()}`;
4311
+ return I.colorReplacements?.[`#${L}`] ? V(s) : (B.set(s, L), L);
4312
+ }
4313
+ I.settings = I.settings.map((s) => {
4314
+ let L = s.settings?.foreground && !s.settings.foreground.startsWith("#"), R = s.settings?.background && !s.settings.background.startsWith("#");
4315
+ if (!L && !R) return s;
4316
+ let z = {
4317
+ ...s,
4318
+ settings: { ...s.settings }
4319
+ };
4320
+ if (L) {
4321
+ let L = V(s.settings.foreground);
4322
+ I.colorReplacements[L] = s.settings.foreground, z.settings.foreground = L;
4323
+ }
4324
+ if (R) {
4325
+ let L = V(s.settings.background);
4326
+ I.colorReplacements[L] = s.settings.background, z.settings.background = L;
4327
+ }
4328
+ return z;
4329
+ });
4330
+ for (let s of Object.keys(I.colors || {})) if ((s === "editor.foreground" || s === "editor.background" || s.startsWith("terminal.ansi")) && !I.colors[s]?.startsWith("#")) {
4331
+ let L = V(I.colors[s]);
4332
+ I.colorReplacements[L] = I.colors[s], I.colors[s] = L;
4333
+ }
4334
+ return Object.defineProperty(I, RESOLVED_KEY, {
4335
+ enumerable: !1,
4336
+ writable: !1,
4337
+ value: !0
4338
+ }), I;
4339
+ }
4340
+ async function resolveLangs(s) {
4341
+ return Array.from(new Set((await Promise.all(s.filter((s) => !isSpecialLang(s)).map(async (s) => await normalizeGetter(s).then((s) => Array.isArray(s) ? s : [s])))).flat()));
4342
+ }
4343
+ async function resolveThemes(s) {
4344
+ return (await Promise.all(s.map(async (s) => isSpecialTheme(s) ? null : normalizeTheme(await normalizeGetter(s))))).filter((s) => !!s);
4345
+ }
4346
+ var _emitDeprecation = 3, _emitError = !1;
4347
+ function enableDeprecationWarnings(s = !0, I = !1) {
4348
+ _emitDeprecation = s, _emitError = I;
4349
+ }
4350
+ function warnDeprecated(s, I = 3) {
4351
+ if (_emitDeprecation && !(typeof _emitDeprecation == "number" && I > _emitDeprecation)) {
4352
+ if (_emitError) throw Error(`[SHIKI DEPRECATE]: ${s}`);
4353
+ console.trace(`[SHIKI DEPRECATE]: ${s}`);
4354
+ }
4355
+ }
4356
+ var ShikiError$1 = class extends Error {
4357
+ constructor(s) {
4358
+ super(s), this.name = "ShikiError";
4359
+ }
4360
+ };
4361
+ function resolveLangAlias(s, I) {
4362
+ if (!I) return s;
4363
+ if (I[s]) {
4364
+ let L = /* @__PURE__ */ new Set([s]);
4365
+ for (; I[s];) {
4366
+ if (s = I[s], L.has(s)) throw new ShikiError$1(`Circular alias \`${Array.from(L).join(" -> ")} -> ${s}\``);
4367
+ L.add(s);
4368
+ }
4369
+ }
4370
+ return s;
4371
+ }
4372
+ var Registry = class extends Registry$1 {
4373
+ constructor(s, I, L, R = {}) {
4374
+ super(s), this._resolver = s, this._themes = I, this._langs = L, this._alias = R, this._themes.map((s) => this.loadTheme(s)), this.loadLanguages(this._langs);
4375
+ }
4376
+ _resolvedThemes = /* @__PURE__ */ new Map();
4377
+ _resolvedGrammars = /* @__PURE__ */ new Map();
4378
+ _langMap = /* @__PURE__ */ new Map();
4379
+ _langGraph = /* @__PURE__ */ new Map();
4380
+ _textmateThemeCache = /* @__PURE__ */ new WeakMap();
4381
+ _loadedThemesCache = null;
4382
+ _loadedLanguagesCache = null;
4383
+ getTheme(s) {
4384
+ return typeof s == "string" ? this._resolvedThemes.get(s) : this.loadTheme(s);
4385
+ }
4386
+ loadTheme(s) {
4387
+ let I = normalizeTheme(s);
4388
+ return I.name && (this._resolvedThemes.set(I.name, I), this._loadedThemesCache = null), I;
4389
+ }
4390
+ getLoadedThemes() {
4391
+ return this._loadedThemesCache ||= [...this._resolvedThemes.keys()], this._loadedThemesCache;
4392
+ }
4393
+ setTheme(s) {
4394
+ let I = this._textmateThemeCache.get(s);
4395
+ I || (I = Theme.createFromRawTheme(s), this._textmateThemeCache.set(s, I)), this._syncRegistry.setTheme(I);
4396
+ }
4397
+ getGrammar(s) {
4398
+ return s = resolveLangAlias(s, this._alias), this._resolvedGrammars.get(s);
4399
+ }
4400
+ loadLanguage(s) {
4401
+ if (this.getGrammar(s.name)) return;
4402
+ let I = new Set([...this._langMap.values()].filter((I) => I.embeddedLangsLazy?.includes(s.name)));
4403
+ this._resolver.addLanguage(s);
4404
+ let L = {
4405
+ balancedBracketSelectors: s.balancedBracketSelectors || ["*"],
4406
+ unbalancedBracketSelectors: s.unbalancedBracketSelectors || []
4407
+ };
4408
+ this._syncRegistry._rawGrammars.set(s.scopeName, s);
4409
+ let R = this.loadGrammarWithConfiguration(s.scopeName, 1, L);
4410
+ if (R.name = s.name, this._resolvedGrammars.set(s.name, R), s.aliases && s.aliases.forEach((I) => {
4411
+ this._alias[I] = s.name;
4412
+ }), this._loadedLanguagesCache = null, I.size) for (let s of I) this._resolvedGrammars.delete(s.name), this._loadedLanguagesCache = null, this._syncRegistry?._injectionGrammars?.delete(s.scopeName), this._syncRegistry?._grammars?.delete(s.scopeName), this.loadLanguage(this._langMap.get(s.name));
4413
+ }
4414
+ dispose() {
4415
+ super.dispose(), this._resolvedThemes.clear(), this._resolvedGrammars.clear(), this._langMap.clear(), this._langGraph.clear(), this._loadedThemesCache = null;
4416
+ }
4417
+ loadLanguages(s) {
4418
+ for (let I of s) this.resolveEmbeddedLanguages(I);
4419
+ let I = Array.from(this._langGraph.entries()), L = I.filter(([s, I]) => !I);
4420
+ if (L.length) {
4421
+ let s = I.filter(([s, I]) => I ? (I.embeddedLanguages || I.embeddedLangs)?.some((s) => L.map(([s]) => s).includes(s)) : !1).filter((s) => !L.includes(s));
4422
+ throw new ShikiError$1(`Missing languages ${L.map(([s]) => `\`${s}\``).join(", ")}, required by ${s.map(([s]) => `\`${s}\``).join(", ")}`);
4423
+ }
4424
+ for (let [s, L] of I) this._resolver.addLanguage(L);
4425
+ for (let [s, L] of I) this.loadLanguage(L);
4426
+ }
4427
+ getLoadedLanguages() {
4428
+ return this._loadedLanguagesCache ||= [.../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])], this._loadedLanguagesCache;
4429
+ }
4430
+ resolveEmbeddedLanguages(s) {
4431
+ this._langMap.set(s.name, s), this._langGraph.set(s.name, s);
4432
+ let I = s.embeddedLanguages ?? s.embeddedLangs;
4433
+ if (I) for (let s of I) this._langGraph.set(s, this._langMap.get(s));
4434
+ }
4435
+ }, Resolver = class {
4436
+ _langs = /* @__PURE__ */ new Map();
4437
+ _scopeToLang = /* @__PURE__ */ new Map();
4438
+ _injections = /* @__PURE__ */ new Map();
4439
+ _onigLib;
4440
+ constructor(s, I) {
4441
+ this._onigLib = {
4442
+ createOnigScanner: (I) => s.createScanner(I),
4443
+ createOnigString: (I) => s.createString(I)
4444
+ }, I.forEach((s) => this.addLanguage(s));
4445
+ }
4446
+ get onigLib() {
4447
+ return this._onigLib;
4448
+ }
4449
+ getLangRegistration(s) {
4450
+ return this._langs.get(s);
4451
+ }
4452
+ loadGrammar(s) {
4453
+ return this._scopeToLang.get(s);
4454
+ }
4455
+ addLanguage(s) {
4456
+ this._langs.set(s.name, s), s.aliases && s.aliases.forEach((I) => {
4457
+ this._langs.set(I, s);
4458
+ }), this._scopeToLang.set(s.scopeName, s), s.injectTo && s.injectTo.forEach((I) => {
4459
+ this._injections.get(I) || this._injections.set(I, []), this._injections.get(I).push(s.scopeName);
4460
+ });
4461
+ }
4462
+ getInjections(s) {
4463
+ let I = s.split("."), L = [];
4464
+ for (let s = 1; s <= I.length; s++) {
4465
+ let R = I.slice(0, s).join(".");
4466
+ L = [...L, ...this._injections.get(R) || []];
4467
+ }
4468
+ return L;
4469
+ }
4470
+ }, instancesCount = 0;
4471
+ function createShikiInternalSync(s) {
4472
+ instancesCount += 1, s.warnings !== !1 && instancesCount >= 10 && instancesCount % 10 == 0 && console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);
4473
+ let I = !1;
4474
+ if (!s.engine) throw new ShikiError$1("`engine` option is required for synchronous mode");
4475
+ let L = (s.langs || []).flat(1), R = (s.themes || []).flat(1).map(normalizeTheme), z = new Registry(new Resolver(s.engine, L), R, L, s.langAlias), B;
4476
+ function V(I) {
4477
+ return resolveLangAlias(I, s.langAlias);
4478
+ }
4479
+ function H(s) {
4480
+ Z();
4481
+ let I = z.getGrammar(typeof s == "string" ? s : s.name);
4482
+ if (!I) throw new ShikiError$1(`Language \`${s}\` not found, you may need to load it first`);
4483
+ return I;
4484
+ }
4485
+ function U(s) {
4486
+ if (s === "none") return {
4487
+ bg: "",
4488
+ fg: "",
4489
+ name: "none",
4490
+ settings: [],
4491
+ type: "dark"
4492
+ };
4493
+ Z();
4494
+ let I = z.getTheme(s);
4495
+ if (!I) throw new ShikiError$1(`Theme \`${s}\` not found, you may need to load it first`);
4496
+ return I;
4497
+ }
4498
+ function W(s) {
4499
+ Z();
4500
+ let I = U(s);
4501
+ return B !== s && (z.setTheme(I), B = s), {
4502
+ theme: I,
4503
+ colorMap: z.getColorMap()
4504
+ };
4505
+ }
4506
+ function G() {
4507
+ return Z(), z.getLoadedThemes();
4508
+ }
4509
+ function K() {
4510
+ return Z(), z.getLoadedLanguages();
4511
+ }
4512
+ function q(...s) {
4513
+ Z(), z.loadLanguages(s.flat(1));
4514
+ }
4515
+ async function J(...s) {
4516
+ return q(await resolveLangs(s));
4517
+ }
4518
+ function Y(...s) {
4519
+ Z();
4520
+ for (let I of s.flat(1)) z.loadTheme(I);
4521
+ }
4522
+ async function X(...s) {
4523
+ return Z(), Y(await resolveThemes(s));
4524
+ }
4525
+ function Z() {
4526
+ if (I) throw new ShikiError$1("Shiki instance has been disposed");
4527
+ }
4528
+ function Q() {
4529
+ I || (I = !0, z.dispose(), --instancesCount);
4530
+ }
4531
+ return {
4532
+ setTheme: W,
4533
+ getTheme: U,
4534
+ getLanguage: H,
4535
+ getLoadedThemes: G,
4536
+ getLoadedLanguages: K,
4537
+ resolveLangAlias: V,
4538
+ loadLanguage: J,
4539
+ loadLanguageSync: q,
4540
+ loadTheme: X,
4541
+ loadThemeSync: Y,
4542
+ dispose: Q,
4543
+ [Symbol.dispose]: Q
4544
+ };
4545
+ }
4546
+ async function createShikiInternal(s) {
4547
+ s.engine || warnDeprecated("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");
4548
+ let [I, L, R] = await Promise.all([
4549
+ resolveThemes(s.themes || []),
4550
+ resolveLangs(s.langs || []),
4551
+ s.engine
4552
+ ]);
4553
+ return createShikiInternalSync({
4554
+ ...s,
4555
+ themes: I,
4556
+ langs: L,
4557
+ engine: R
4558
+ });
4559
+ }
4560
+ async function createHighlighterCore(s) {
4561
+ let I = await createShikiInternal(s);
4562
+ return {
4563
+ getLastGrammarState: (...s) => getLastGrammarState(I, ...s),
4564
+ codeToTokensBase: (s, L) => codeToTokensBase(I, s, L),
4565
+ codeToTokensWithThemes: (s, L) => codeToTokensWithThemes(I, s, L),
4566
+ codeToTokens: (s, L) => codeToTokens(I, s, L),
4567
+ codeToHast: (s, L) => codeToHast(I, s, L),
4568
+ codeToHtml: (s, L) => codeToHtml(I, s, L),
4569
+ getBundledLanguages: () => ({}),
4570
+ getBundledThemes: () => ({}),
4571
+ ...I,
4572
+ getInternalContext: () => I
4573
+ };
4574
+ }
4575
+ function createHighlighterCoreSync(s) {
4576
+ let I = createShikiInternalSync(s);
4577
+ return {
4578
+ getLastGrammarState: (...s) => getLastGrammarState(I, ...s),
4579
+ codeToTokensBase: (s, L) => codeToTokensBase(I, s, L),
4580
+ codeToTokensWithThemes: (s, L) => codeToTokensWithThemes(I, s, L),
4581
+ codeToTokens: (s, L) => codeToTokens(I, s, L),
4582
+ codeToHast: (s, L) => codeToHast(I, s, L),
4583
+ codeToHtml: (s, L) => codeToHtml(I, s, L),
4584
+ getBundledLanguages: () => ({}),
4585
+ getBundledThemes: () => ({}),
4586
+ ...I,
4587
+ getInternalContext: () => I
4588
+ };
4589
+ }
4590
+ function makeSingletonHighlighterCore(s) {
4591
+ let I;
4592
+ async function L(L) {
4593
+ if (I) {
4594
+ let s = await I;
4595
+ return await Promise.all([s.loadTheme(...L.themes || []), s.loadLanguage(...L.langs || [])]), s;
4596
+ } else return I = s({
4597
+ ...L,
4598
+ themes: L.themes || [],
4599
+ langs: L.langs || []
4600
+ }), I;
4601
+ }
4602
+ return L;
4603
+ }
4604
+ var getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);
4605
+ function createBundledHighlighter(s) {
4606
+ let L = s.langs, R = s.themes, z = s.engine;
4607
+ async function B(s) {
4608
+ function B(R) {
4609
+ if (typeof R == "string") {
4610
+ if (R = s.langAlias?.[R] || R, isSpecialLang(R)) return [];
4611
+ let z = L[R];
4612
+ if (!z) throw new ShikiError(`Language \`${R}\` is not included in this bundle. You may want to load it from external source.`);
4613
+ return z;
4614
+ }
4615
+ return R;
4616
+ }
4617
+ function V(s) {
4618
+ if (isSpecialTheme(s)) return "none";
4619
+ if (typeof s == "string") {
4620
+ let L = R[s];
4621
+ if (!L) throw new ShikiError(`Theme \`${s}\` is not included in this bundle. You may want to load it from external source.`);
4622
+ return L;
4623
+ }
4624
+ return s;
4625
+ }
4626
+ let H = (s.themes ?? []).map((s) => V(s)), U = (s.langs ?? []).map((s) => B(s)), W = await createHighlighterCore({
4627
+ engine: s.engine ?? z(),
4628
+ ...s,
4629
+ themes: H,
4630
+ langs: U
4631
+ });
4632
+ return {
4633
+ ...W,
4634
+ loadLanguage(...s) {
4635
+ return W.loadLanguage(...s.map(B));
4636
+ },
4637
+ loadTheme(...s) {
4638
+ return W.loadTheme(...s.map(V));
4639
+ },
4640
+ getBundledLanguages() {
4641
+ return L;
4642
+ },
4643
+ getBundledThemes() {
4644
+ return R;
4645
+ }
4646
+ };
4647
+ }
4648
+ return B;
4649
+ }
4650
+ function makeSingletonHighlighter(s) {
4651
+ let I;
4652
+ async function L(L = {}) {
4653
+ if (I) {
4654
+ let s = await I;
4655
+ return await Promise.all([s.loadTheme(...L.themes || []), s.loadLanguage(...L.langs || [])]), s;
4656
+ } else {
4657
+ I = s({
4658
+ ...L,
4659
+ themes: [],
4660
+ langs: []
4661
+ });
4662
+ let R = await I;
4663
+ return await Promise.all([R.loadTheme(...L.themes || []), R.loadLanguage(...L.langs || [])]), R;
4664
+ }
4665
+ }
4666
+ return L;
4667
+ }
4668
+ function createSingletonShorthands(s, I) {
4669
+ let L = makeSingletonHighlighter(s);
4670
+ async function R(s, R) {
4671
+ let z = await L({
4672
+ langs: [R.lang],
4673
+ themes: "theme" in R ? [R.theme] : Object.values(R.themes)
4674
+ }), B = await I?.guessEmbeddedLanguages?.(s, R.lang, z);
4675
+ return B && await z.loadLanguage(...B), z;
4676
+ }
4677
+ return {
4678
+ getSingletonHighlighter(s) {
4679
+ return L(s);
4680
+ },
4681
+ async codeToHtml(s, I) {
4682
+ return (await R(s, I)).codeToHtml(s, I);
4683
+ },
4684
+ async codeToHast(s, I) {
4685
+ return (await R(s, I)).codeToHast(s, I);
4686
+ },
4687
+ async codeToTokens(s, I) {
4688
+ return (await R(s, I)).codeToTokens(s, I);
4689
+ },
4690
+ async codeToTokensBase(s, I) {
4691
+ return (await R(s, I)).codeToTokensBase(s, I);
4692
+ },
4693
+ async codeToTokensWithThemes(s, I) {
4694
+ return (await R(s, I)).codeToTokensWithThemes(s, I);
4695
+ },
4696
+ async getLastGrammarState(s, I) {
4697
+ return (await L({
4698
+ langs: [I.lang],
4699
+ themes: [I.theme]
4700
+ })).getLastGrammarState(s, I);
4701
+ }
4702
+ };
4703
+ }
4704
+ var createdBundledHighlighter = createBundledHighlighter;
4705
+ function createCssVariablesTheme(s = {}) {
4706
+ let { name: I = "css-variables", variablePrefix: L = "--shiki-", fontStyle: R = !0 } = s, z = (I) => s.variableDefaults?.[I] ? `var(${L}${I}, ${s.variableDefaults[I]})` : `var(${L}${I})`, B = {
4707
+ name: I,
4708
+ type: "dark",
4709
+ colors: {
4710
+ "editor.foreground": z("foreground"),
4711
+ "editor.background": z("background"),
4712
+ "terminal.ansiBlack": z("ansi-black"),
4713
+ "terminal.ansiRed": z("ansi-red"),
4714
+ "terminal.ansiGreen": z("ansi-green"),
4715
+ "terminal.ansiYellow": z("ansi-yellow"),
4716
+ "terminal.ansiBlue": z("ansi-blue"),
4717
+ "terminal.ansiMagenta": z("ansi-magenta"),
4718
+ "terminal.ansiCyan": z("ansi-cyan"),
4719
+ "terminal.ansiWhite": z("ansi-white"),
4720
+ "terminal.ansiBrightBlack": z("ansi-bright-black"),
4721
+ "terminal.ansiBrightRed": z("ansi-bright-red"),
4722
+ "terminal.ansiBrightGreen": z("ansi-bright-green"),
4723
+ "terminal.ansiBrightYellow": z("ansi-bright-yellow"),
4724
+ "terminal.ansiBrightBlue": z("ansi-bright-blue"),
4725
+ "terminal.ansiBrightMagenta": z("ansi-bright-magenta"),
4726
+ "terminal.ansiBrightCyan": z("ansi-bright-cyan"),
4727
+ "terminal.ansiBrightWhite": z("ansi-bright-white")
4728
+ },
4729
+ tokenColors: [
4730
+ {
4731
+ scope: [
4732
+ "keyword.operator.accessor",
4733
+ "meta.group.braces.round.function.arguments",
4734
+ "meta.template.expression",
4735
+ "markup.fenced_code meta.embedded.block"
4736
+ ],
4737
+ settings: { foreground: z("foreground") }
4738
+ },
4739
+ {
4740
+ scope: "emphasis",
4741
+ settings: { fontStyle: "italic" }
4742
+ },
4743
+ {
4744
+ scope: [
4745
+ "strong",
4746
+ "markup.heading.markdown",
4747
+ "markup.bold.markdown"
4748
+ ],
4749
+ settings: { fontStyle: "bold" }
4750
+ },
4751
+ {
4752
+ scope: ["markup.italic.markdown"],
4753
+ settings: { fontStyle: "italic" }
4754
+ },
4755
+ {
4756
+ scope: "meta.link.inline.markdown",
4757
+ settings: {
4758
+ fontStyle: "underline",
4759
+ foreground: z("token-link")
4760
+ }
4761
+ },
4762
+ {
4763
+ scope: [
4764
+ "string",
4765
+ "markup.fenced_code",
4766
+ "markup.inline"
4767
+ ],
4768
+ settings: { foreground: z("token-string") }
4769
+ },
4770
+ {
4771
+ scope: ["comment", "string.quoted.docstring.multi"],
4772
+ settings: { foreground: z("token-comment") }
4773
+ },
4774
+ {
4775
+ scope: [
4776
+ "constant.numeric",
4777
+ "constant.language",
4778
+ "constant.other.placeholder",
4779
+ "constant.character.format.placeholder",
4780
+ "variable.language.this",
4781
+ "variable.other.object",
4782
+ "variable.other.class",
4783
+ "variable.other.constant",
4784
+ "meta.property-name",
4785
+ "meta.property-value",
4786
+ "support"
4787
+ ],
4788
+ settings: { foreground: z("token-constant") }
4789
+ },
4790
+ {
4791
+ scope: [
4792
+ "keyword",
4793
+ "storage.modifier",
4794
+ "storage.type",
4795
+ "storage.control.clojure",
4796
+ "entity.name.function.clojure",
4797
+ "entity.name.tag.yaml",
4798
+ "support.function.node",
4799
+ "support.type.property-name.json",
4800
+ "punctuation.separator.key-value",
4801
+ "punctuation.definition.template-expression"
4802
+ ],
4803
+ settings: { foreground: z("token-keyword") }
4804
+ },
4805
+ {
4806
+ scope: "variable.parameter.function",
4807
+ settings: { foreground: z("token-parameter") }
4808
+ },
4809
+ {
4810
+ scope: [
4811
+ "support.function",
4812
+ "entity.name.type",
4813
+ "entity.other.inherited-class",
4814
+ "meta.function-call",
4815
+ "meta.instance.constructor",
4816
+ "entity.other.attribute-name",
4817
+ "entity.name.function",
4818
+ "constant.keyword.clojure"
4819
+ ],
4820
+ settings: { foreground: z("token-function") }
4821
+ },
4822
+ {
4823
+ scope: [
4824
+ "entity.name.tag",
4825
+ "string.quoted",
4826
+ "string.regexp",
4827
+ "string.interpolated",
4828
+ "string.template",
4829
+ "string.unquoted.plain.out.yaml",
4830
+ "keyword.other.template"
4831
+ ],
4832
+ settings: { foreground: z("token-string-expression") }
4833
+ },
4834
+ {
4835
+ scope: [
4836
+ "punctuation.definition.arguments",
4837
+ "punctuation.definition.dict",
4838
+ "punctuation.separator",
4839
+ "meta.function-call.arguments"
4840
+ ],
4841
+ settings: { foreground: z("token-punctuation") }
4842
+ },
4843
+ {
4844
+ scope: ["markup.underline.link", "punctuation.definition.metadata.markdown"],
4845
+ settings: { foreground: z("token-link") }
4846
+ },
4847
+ {
4848
+ scope: ["beginning.punctuation.definition.list.markdown"],
4849
+ settings: { foreground: z("token-string") }
4850
+ },
4851
+ {
4852
+ scope: [
4853
+ "punctuation.definition.string.begin.markdown",
4854
+ "punctuation.definition.string.end.markdown",
4855
+ "string.other.link.title.markdown",
4856
+ "string.other.link.description.markdown"
4857
+ ],
4858
+ settings: { foreground: z("token-keyword") }
4859
+ },
4860
+ {
4861
+ scope: [
4862
+ "markup.inserted",
4863
+ "meta.diff.header.to-file",
4864
+ "punctuation.definition.inserted"
4865
+ ],
4866
+ settings: { foreground: z("token-inserted") }
4867
+ },
4868
+ {
4869
+ scope: [
4870
+ "markup.deleted",
4871
+ "meta.diff.header.from-file",
4872
+ "punctuation.definition.deleted"
4873
+ ],
4874
+ settings: { foreground: z("token-deleted") }
4875
+ },
4876
+ {
4877
+ scope: ["markup.changed", "punctuation.definition.changed"],
4878
+ settings: { foreground: z("token-changed") }
4879
+ }
4880
+ ]
4881
+ };
4882
+ return R || (B.tokenColors = B.tokenColors?.map((s) => (s.settings?.fontStyle && delete s.settings.fontStyle, s))), B;
4883
+ }
4884
+ export { ShikiError, addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, enableDeprecationWarnings, flatTokenVariants, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };