@mdn/fred 0.0.1

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 (3272) hide show
  1. package/.editorconfig +12 -0
  2. package/.env +21 -0
  3. package/.env-dist +28 -0
  4. package/.github/ISSUE_TEMPLATE/bug.yml +36 -0
  5. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  6. package/.github/PULL_REQUEST_TEMPLATE +20 -0
  7. package/.github/dependabot.yml +31 -0
  8. package/.github/workflows/_deploy.yml +264 -0
  9. package/.github/workflows/auto-merge.yml +28 -0
  10. package/.github/workflows/main-review-companion.yml +18 -0
  11. package/.github/workflows/npm-publish.yml +32 -0
  12. package/.github/workflows/pr-rebase-needed.yml +22 -0
  13. package/.github/workflows/pr-review-companion.yml +15 -0
  14. package/.github/workflows/test.yml +58 -0
  15. package/.lefthook.yml +54 -0
  16. package/.nvmrc +1 -0
  17. package/.stylelintignore +1 -0
  18. package/CODE_OF_CONDUCT.md +8 -0
  19. package/CONTRIBUTING.md +125 -0
  20. package/LICENSE +373 -0
  21. package/README.md +89 -0
  22. package/SECURITY.md +13 -0
  23. package/build/eslint-fred.js +129 -0
  24. package/build/hmr.js +13 -0
  25. package/build/loaders/escape.js +9 -0
  26. package/build/loaders/fluent.js +9 -0
  27. package/build/loaders/lit-css.js +8 -0
  28. package/build/loaders/lit-svg.js +9 -0
  29. package/build/localhost-cert.pem +19 -0
  30. package/build/localhost-privkey.pem +28 -0
  31. package/build/plugins/csp-hash.js +31 -0
  32. package/build/plugins/generate-element-map.js +56 -0
  33. package/build/render.js +33 -0
  34. package/build/server-worker.js +37 -0
  35. package/build/ssr.js +91 -0
  36. package/build/types.d.ts +8 -0
  37. package/build/utils.js +22 -0
  38. package/build.sh +15 -0
  39. package/components/a11y-menu/server.css +36 -0
  40. package/components/a11y-menu/server.js +15 -0
  41. package/components/about-tabs/element.css +48 -0
  42. package/components/about-tabs/element.js +126 -0
  43. package/components/about-team-member/element.js +58 -0
  44. package/components/advertising/assets/m-logo.svg +9 -0
  45. package/components/advertising/server.css +186 -0
  46. package/components/advertising/server.js +156 -0
  47. package/components/article-footer/article-footer.svg +1 -0
  48. package/components/article-footer/server.css +67 -0
  49. package/components/article-footer/server.js +208 -0
  50. package/components/badge/global.css +28 -0
  51. package/components/banner/server.css +11 -0
  52. package/components/banner/server.js +9 -0
  53. package/components/baseline-indicator/icons/browser/chrome.svg +1 -0
  54. package/components/baseline-indicator/icons/browser/edge.svg +1 -0
  55. package/components/baseline-indicator/icons/browser/firefox.svg +1 -0
  56. package/components/baseline-indicator/icons/browser/safari.svg +1 -0
  57. package/components/baseline-indicator/icons/browser-check.svg +1 -0
  58. package/components/baseline-indicator/icons/browser-cross.svg +1 -0
  59. package/components/baseline-indicator/icons/chevron.svg +3 -0
  60. package/components/baseline-indicator/icons/status/high-dark.svg +1 -0
  61. package/components/baseline-indicator/icons/status/high.svg +1 -0
  62. package/components/baseline-indicator/icons/status/limited-dark.svg +1 -0
  63. package/components/baseline-indicator/icons/status/limited.svg +1 -0
  64. package/components/baseline-indicator/icons/status/low-dark.svg +1 -0
  65. package/components/baseline-indicator/icons/status/low.svg +1 -0
  66. package/components/baseline-indicator/server.css +263 -0
  67. package/components/baseline-indicator/server.js +245 -0
  68. package/components/blog/index.js +114 -0
  69. package/components/blog-index/server.css +26 -0
  70. package/components/blog-index/server.js +91 -0
  71. package/components/blog-post/server.css +33 -0
  72. package/components/blog-post/server.js +125 -0
  73. package/components/breadcrumbs/server.css +60 -0
  74. package/components/breadcrumbs/server.js +79 -0
  75. package/components/breadcrumbs-bar/server.css +50 -0
  76. package/components/breadcrumbs-bar/server.js +48 -0
  77. package/components/button/element.css +12 -0
  78. package/components/button/element.js +49 -0
  79. package/components/button/global.css +4 -0
  80. package/components/button/pure.js +49 -0
  81. package/components/button/sandbox.js +130 -0
  82. package/components/button/server.css +153 -0
  83. package/components/button/server.js +13 -0
  84. package/components/button/types.d.ts +2 -0
  85. package/components/code-example/common.css +59 -0
  86. package/components/code-example/element.css +13 -0
  87. package/components/code-example/element.js +119 -0
  88. package/components/code-example/global.css +3 -0
  89. package/components/code-example/syntax-highlight.js +140 -0
  90. package/components/code-example/types.d.ts +6 -0
  91. package/components/collection-save-button/element.css +28 -0
  92. package/components/collection-save-button/element.js +295 -0
  93. package/components/collection-save-button/rust-types.d.ts +55 -0
  94. package/components/collection-save-button/types.d.ts +6 -0
  95. package/components/color/background.css +41 -0
  96. package/components/color/border.css +13 -0
  97. package/components/color/global.css +74 -0
  98. package/components/color/link.css +9 -0
  99. package/components/color/scrollbar.css +9 -0
  100. package/components/color/text.css +31 -0
  101. package/components/color-theme/controller.js +52 -0
  102. package/components/color-theme/element.css +132 -0
  103. package/components/color-theme/element.js +149 -0
  104. package/components/color-theme/types.d.ts +1 -0
  105. package/components/compat-table/constants.js +19 -0
  106. package/components/compat-table/element.css +16 -0
  107. package/components/compat-table/element.js +1050 -0
  108. package/components/compat-table/feature-row.js +96 -0
  109. package/components/compat-table/icons.css +129 -0
  110. package/components/compat-table/index-common.css +493 -0
  111. package/components/compat-table/index-desktop-md.css +29 -0
  112. package/components/compat-table/index-desktop-xl.css +21 -0
  113. package/components/compat-table/index-desktop.css +126 -0
  114. package/components/compat-table/index-global.css +49 -0
  115. package/components/compat-table/index-mobile.css +51 -0
  116. package/components/compat-table/index-trailer.css +60 -0
  117. package/components/compat-table/utils.js +279 -0
  118. package/components/compat-table-lazy/element.js +116 -0
  119. package/components/content-feedback/element.css +41 -0
  120. package/components/content-feedback/element.js +169 -0
  121. package/components/content-feedback/sandbox.js +9 -0
  122. package/components/content-section/server.css +179 -0
  123. package/components/content-section/server.js +77 -0
  124. package/components/contributor-list/element.css +170 -0
  125. package/components/contributor-list/element.js +125 -0
  126. package/components/contributor-list/types.d.ts +5 -0
  127. package/components/contributor-spotlight/server.css +193 -0
  128. package/components/contributor-spotlight/server.js +98 -0
  129. package/components/cookie/utils.js +40 -0
  130. package/components/copy-button/element.js +58 -0
  131. package/components/css-formal-syntax/index.css +10 -0
  132. package/components/curriculum/assets/curriculum-about-covered.svg +25 -0
  133. package/components/curriculum/assets/curriculum-about-detail.svg +25 -0
  134. package/components/curriculum/assets/curriculum-about-educators.svg +25 -0
  135. package/components/curriculum/assets/curriculum-about-not.svg +25 -0
  136. package/components/curriculum/assets/curriculum-about-students.svg +25 -0
  137. package/components/curriculum/assets/curriculum-bullet.svg +27 -0
  138. package/components/curriculum/assets/curriculum-ext-resource.svg +12 -0
  139. package/components/curriculum/assets/curriculum-landing-about-beginner.svg +25 -0
  140. package/components/curriculum/assets/curriculum-landing-about-bullet.svg +27 -0
  141. package/components/curriculum/assets/curriculum-landing-about-free.svg +25 -0
  142. package/components/curriculum/assets/curriculum-landing-about-pace.svg +25 -0
  143. package/components/curriculum/assets/curriculum-landing-arrow.svg +26 -0
  144. package/components/curriculum/assets/curriculum-landing-stairway-1.svg +42 -0
  145. package/components/curriculum/assets/curriculum-landing-stairway-2-small.svg +56 -0
  146. package/components/curriculum/assets/curriculum-landing-stairway-2.svg +56 -0
  147. package/components/curriculum/assets/curriculum-landing-started-advanced.svg +37 -0
  148. package/components/curriculum/assets/curriculum-landing-started-beginner.svg +37 -0
  149. package/components/curriculum/assets/curriculum-landing-started-educator.svg +37 -0
  150. package/components/curriculum/assets/curriculum-landing-started-employment.svg +37 -0
  151. package/components/curriculum/assets/curriculum-landing-top.svg +95 -0
  152. package/components/curriculum/assets/curriculum-mdn-resource.svg +27 -0
  153. package/components/curriculum/assets/curriculum-modules-underline.svg +29 -0
  154. package/components/curriculum/assets/curriculum-next.svg +3 -0
  155. package/components/curriculum/assets/curriculum-partner-banner-illustration-large-dark.svg +1 -0
  156. package/components/curriculum/assets/curriculum-partner-banner-illustration-large-light.svg +1 -0
  157. package/components/curriculum/assets/curriculum-partner-bg.svg +20 -0
  158. package/components/curriculum/assets/curriculum-partner-underline-large.svg +8 -0
  159. package/components/curriculum/assets/curriculum-partner-underline-small.svg +4 -0
  160. package/components/curriculum/assets/curriculum-prev.svg +3 -0
  161. package/components/curriculum/assets/curriculum-resources.svg +12 -0
  162. package/components/curriculum/assets/curriculum-scrim-bg.svg +24 -0
  163. package/components/curriculum/assets/curriculum-started-underline.svg +5 -0
  164. package/components/curriculum/assets/curriculum-topic-practices.svg +5 -0
  165. package/components/curriculum/assets/curriculum-topic-scripting.svg +5 -0
  166. package/components/curriculum/assets/curriculum-topic-standards.svg +5 -0
  167. package/components/curriculum/assets/curriculum-topic-styling.svg +5 -0
  168. package/components/curriculum/assets/curriculum-topic-tooling.svg +5 -0
  169. package/components/curriculum/assets/fullscreen-enter.svg +24 -0
  170. package/components/curriculum/assets/landing-scrim.png +0 -0
  171. package/components/curriculum/assets/scrim-bg.png +0 -0
  172. package/components/curriculum/assets/scrim-hexagons.svg +1 -0
  173. package/components/curriculum/assets/scrim-play.svg +1 -0
  174. package/components/curriculum/assets/scrimba-logo.svg +1 -0
  175. package/components/curriculum/layout.css +35 -0
  176. package/components/curriculum/module-list.css +277 -0
  177. package/components/curriculum/module.css +102 -0
  178. package/components/curriculum/partner-banner.css +112 -0
  179. package/components/curriculum/shared.css +265 -0
  180. package/components/curriculum/sidebar.css +342 -0
  181. package/components/curriculum/toc.css +116 -0
  182. package/components/curriculum/utils.js +341 -0
  183. package/components/curriculum/vars.css +311 -0
  184. package/components/curriculum-about/server.css +105 -0
  185. package/components/curriculum-about/server.js +52 -0
  186. package/components/curriculum-default/server.css +3 -0
  187. package/components/curriculum-default/server.js +52 -0
  188. package/components/curriculum-landing/server.css +745 -0
  189. package/components/curriculum-landing/server.js +298 -0
  190. package/components/curriculum-module/server.css +117 -0
  191. package/components/curriculum-module/server.js +94 -0
  192. package/components/curriculum-overview/server.css +4 -0
  193. package/components/curriculum-overview/server.js +98 -0
  194. package/components/curriculum-tabs/element.js +48 -0
  195. package/components/doc/server.js +12 -0
  196. package/components/dropdown/element.css +9 -0
  197. package/components/dropdown/element.js +102 -0
  198. package/components/dropdown/global.css +9 -0
  199. package/components/env/index.js +40 -0
  200. package/components/external-link/global.css +17 -0
  201. package/components/external-link/sandbox.js +11 -0
  202. package/components/favicon/pure.js +16 -0
  203. package/components/featured-articles/server.css +104 -0
  204. package/components/featured-articles/server.js +29 -0
  205. package/components/font/fonts/inter-italic.woff2 +0 -0
  206. package/components/font/fonts/inter.woff2 +0 -0
  207. package/components/font/global.css +40 -0
  208. package/components/footer/mdn.svg +6 -0
  209. package/components/footer/mozilla.svg +4 -0
  210. package/components/footer/server.css +190 -0
  211. package/components/footer/server.js +253 -0
  212. package/components/generic/server.js +21 -0
  213. package/components/generic-about/assets/accurate-sm.svg +1 -0
  214. package/components/generic-about/assets/accurate.svg +1 -0
  215. package/components/generic-about/assets/building-dark.svg +1 -0
  216. package/components/generic-about/assets/building.svg +1 -0
  217. package/components/generic-about/assets/collaborative-sm.svg +1 -0
  218. package/components/generic-about/assets/collaborative.svg +1 -0
  219. package/components/generic-about/assets/dot-dark.svg +1 -0
  220. package/components/generic-about/assets/dot.svg +1 -0
  221. package/components/generic-about/assets/education.svg +1 -0
  222. package/components/generic-about/assets/github-mark-small.svg +1 -0
  223. package/components/generic-about/assets/global-impact-dark.svg +1 -0
  224. package/components/generic-about/assets/global-impact.svg +1 -0
  225. package/components/generic-about/assets/handshake.svg +1 -0
  226. package/components/generic-about/assets/inclusive-sm.svg +1 -0
  227. package/components/generic-about/assets/inclusive.svg +1 -0
  228. package/components/generic-about/assets/line-dot.svg +1 -0
  229. package/components/generic-about/assets/lines.svg +1 -0
  230. package/components/generic-about/assets/sparkle.svg +1 -0
  231. package/components/generic-about/assets/text-box-check-outline.svg +1 -0
  232. package/components/generic-about/assets/web-check.svg +1 -0
  233. package/components/generic-about/server.css +1125 -0
  234. package/components/generic-about/server.js +126 -0
  235. package/components/generic-community/assets/community-calls-dark.svg +1 -0
  236. package/components/generic-community/assets/community-calls.svg +1 -0
  237. package/components/generic-community/assets/discord-dark.svg +1 -0
  238. package/components/generic-community/assets/discord.svg +1 -0
  239. package/components/generic-community/assets/people-dark.svg +1 -0
  240. package/components/generic-community/assets/people.svg +1 -0
  241. package/components/generic-community/assets/quote-end-dark.svg +1 -0
  242. package/components/generic-community/assets/quote-end.svg +1 -0
  243. package/components/generic-community/assets/quote-start-dark.svg +1 -0
  244. package/components/generic-community/assets/quote-start.svg +1 -0
  245. package/components/generic-community/assets/video-bg-dark.svg +1 -0
  246. package/components/generic-community/assets/video-bg.svg +1 -0
  247. package/components/generic-community/assets/video-thumbnail.png +0 -0
  248. package/components/generic-community/assets/youtube-play.svg +1 -0
  249. package/components/generic-community/server.css +935 -0
  250. package/components/generic-community/server.js +126 -0
  251. package/components/generic-content/server.css +73 -0
  252. package/components/generic-content/server.js +234 -0
  253. package/components/generic-doc/server.js +12 -0
  254. package/components/generic-layout/server.css +69 -0
  255. package/components/generic-layout/server.js +25 -0
  256. package/components/generic-sidebar/server.css +81 -0
  257. package/components/generic-sidebar/server.js +78 -0
  258. package/components/generic-toc/server.css +74 -0
  259. package/components/generic-toc/server.js +33 -0
  260. package/components/global/global.css +51 -0
  261. package/components/heading-anchor/server.css +31 -0
  262. package/components/heading-anchor/server.js +20 -0
  263. package/components/homepage/server.css +18 -0
  264. package/components/homepage/server.js +30 -0
  265. package/components/homepage-body/server.css +6 -0
  266. package/components/homepage-body/server.js +32 -0
  267. package/components/homepage-contributor-spotlight/mdn_contributor.png +0 -0
  268. package/components/homepage-contributor-spotlight/quote.svg +3 -0
  269. package/components/homepage-contributor-spotlight/server.css +98 -0
  270. package/components/homepage-contributor-spotlight/server.js +46 -0
  271. package/components/homepage-footer/server.css +6 -0
  272. package/components/homepage-footer/server.js +15 -0
  273. package/components/homepage-header/server.css +31 -0
  274. package/components/homepage-header/server.js +22 -0
  275. package/components/homepage-hero/server.css +18 -0
  276. package/components/homepage-hero/server.js +41 -0
  277. package/components/homepage-search/element.css +36 -0
  278. package/components/homepage-search/element.js +30 -0
  279. package/components/icon/README.md +20 -0
  280. package/components/icon/arrow-left.svg +2 -0
  281. package/components/icon/arrow-right.svg +1 -0
  282. package/components/icon/asterisk.svg +1 -0
  283. package/components/icon/bookmark-check.svg +1 -0
  284. package/components/icon/bookmark.svg +1 -0
  285. package/components/icon/browser/chrome.svg +1 -0
  286. package/components/icon/browser/deno.svg +1 -0
  287. package/components/icon/browser/edge.svg +1 -0
  288. package/components/icon/browser/firefox.svg +1 -0
  289. package/components/icon/browser/nodejs.svg +1 -0
  290. package/components/icon/browser/opera.svg +1 -0
  291. package/components/icon/browser/safari.svg +1 -0
  292. package/components/icon/browser/samsung-internet.svg +1 -0
  293. package/components/icon/browser/webview.svg +1 -0
  294. package/components/icon/cancel.svg +1 -0
  295. package/components/icon/check.svg +1 -0
  296. package/components/icon/chevron-down.svg +1 -0
  297. package/components/icon/chevron-right.svg +1 -0
  298. package/components/icon/circle-alert.svg +1 -0
  299. package/components/icon/circle-check.svg +1 -0
  300. package/components/icon/circle-help.svg +1 -0
  301. package/components/icon/circle-slash.svg +1 -0
  302. package/components/icon/circle-x.svg +1 -0
  303. package/components/icon/circle.svg +1 -0
  304. package/components/icon/cog.svg +1 -0
  305. package/components/icon/contrast.svg +1 -0
  306. package/components/icon/ellipsis.svg +1 -0
  307. package/components/icon/external-link.svg +1 -0
  308. package/components/icon/filter.svg +1 -0
  309. package/components/icon/flag.svg +1 -0
  310. package/components/icon/flask-conical.svg +1 -0
  311. package/components/icon/fullscreen-enter.svg +1 -0
  312. package/components/icon/git-fork.svg +1 -0
  313. package/components/icon/global.css +40 -0
  314. package/components/icon/graduation-cap.svg +1 -0
  315. package/components/icon/info.svg +1 -0
  316. package/components/icon/languages.svg +1 -0
  317. package/components/icon/lightbulb.svg +1 -0
  318. package/components/icon/lock.svg +1 -0
  319. package/components/icon/mdn-prefix.svg +1 -0
  320. package/components/icon/monitor.svg +1 -0
  321. package/components/icon/moon.svg +1 -0
  322. package/components/icon/panel-left-close.svg +1 -0
  323. package/components/icon/panel-left.svg +1 -0
  324. package/components/icon/quote.svg +1 -0
  325. package/components/icon/rss.svg +1 -0
  326. package/components/icon/search.svg +1 -0
  327. package/components/icon/server.svg +1 -0
  328. package/components/icon/smartphone.svg +1 -0
  329. package/components/icon/social/bluesky.svg +1 -0
  330. package/components/icon/social/github.svg +1 -0
  331. package/components/icon/social/mastodon.svg +1 -0
  332. package/components/icon/social/x.svg +1 -0
  333. package/components/icon/sun.svg +1 -0
  334. package/components/icon/thumbs-down.svg +1 -0
  335. package/components/icon/thumbs-up.svg +1 -0
  336. package/components/icon/trash-2.svg +1 -0
  337. package/components/icon/triangle-alert.svg +1 -0
  338. package/components/icon/wrench.svg +1 -0
  339. package/components/image-history/element.js +29 -0
  340. package/components/interactive-example/element.css +313 -0
  341. package/components/interactive-example/element.js +139 -0
  342. package/components/interactive-example/utils.js +83 -0
  343. package/components/interactive-example/with-choices.js +179 -0
  344. package/components/interactive-example/with-console.js +71 -0
  345. package/components/interactive-example/with-tabs.js +63 -0
  346. package/components/issues-table/element.css +74 -0
  347. package/components/issues-table/element.js +122 -0
  348. package/components/ix-tab/element.css +34 -0
  349. package/components/ix-tab/element.js +48 -0
  350. package/components/ix-tab-panel/element.css +4 -0
  351. package/components/ix-tab-panel/element.js +27 -0
  352. package/components/ix-tab-wrapper/element.css +18 -0
  353. package/components/ix-tab-wrapper/element.js +99 -0
  354. package/components/language-always-redirect-button/element.js +36 -0
  355. package/components/language-switcher/element.css +114 -0
  356. package/components/language-switcher/element.js +117 -0
  357. package/components/latest-news/server.css +117 -0
  358. package/components/latest-news/server.js +68 -0
  359. package/components/layout/README.md +148 -0
  360. package/components/layout/global.css +81 -0
  361. package/components/left-sidebar/server.css +103 -0
  362. package/components/left-sidebar/server.js +24 -0
  363. package/components/live-sample-result/element.css +8 -0
  364. package/components/live-sample-result/element.js +120 -0
  365. package/components/live-sample-result/global.css +3 -0
  366. package/components/login-button/element.js +25 -0
  367. package/components/logo/server.css +12 -0
  368. package/components/logo/server.js +33 -0
  369. package/components/lorem-ipsum/pure.js +3 -0
  370. package/components/mandala/server.css +31 -0
  371. package/components/mandala/server.js +270 -0
  372. package/components/media/README.md +24 -0
  373. package/components/media/index.css +21 -0
  374. package/components/menu/base.css +177 -0
  375. package/components/menu/desktop.css +77 -0
  376. package/components/menu/mobile.css +43 -0
  377. package/components/menu/server.css +5 -0
  378. package/components/menu/server.js +757 -0
  379. package/components/modal/element.css +24 -0
  380. package/components/modal/element.js +47 -0
  381. package/components/navigation/base.css +24 -0
  382. package/components/navigation/desktop.css +42 -0
  383. package/components/navigation/hook.js +9 -0
  384. package/components/navigation/mobile.css +78 -0
  385. package/components/navigation/server.css +5 -0
  386. package/components/navigation/server.js +65 -0
  387. package/components/not-found/element.css +11 -0
  388. package/components/not-found/element.js +100 -0
  389. package/components/not-found/server.css +17 -0
  390. package/components/not-found/server.js +22 -0
  391. package/components/not-found/utils.js +18 -0
  392. package/components/notecard/index.css +97 -0
  393. package/components/observatory/assets/alert-circle.svg +3 -0
  394. package/components/observatory/assets/assessment.svg +4 -0
  395. package/components/observatory/assets/fail-icon.svg +13 -0
  396. package/components/observatory/assets/landing-illustration.svg +93 -0
  397. package/components/observatory/assets/mdn.svg +8 -0
  398. package/components/observatory/assets/pass-icon.svg +7 -0
  399. package/components/observatory/assets/results-icon.svg +4 -0
  400. package/components/observatory/assets/scanning.svg +4 -0
  401. package/components/observatory/assets/security.svg +3 -0
  402. package/components/observatory/assets/stars.svg +3 -0
  403. package/components/observatory/assets/summary-icon.svg +4 -0
  404. package/components/observatory/assets/tooltip-arrow.svg +5 -0
  405. package/components/observatory/constants.js +41 -0
  406. package/components/observatory/index.css +406 -0
  407. package/components/observatory/utils.js +173 -0
  408. package/components/observatory-comparison-table/element.css +108 -0
  409. package/components/observatory-comparison-table/element.js +319 -0
  410. package/components/observatory-form/element.css +88 -0
  411. package/components/observatory-form/element.js +115 -0
  412. package/components/observatory-header-link/element.css +9 -0
  413. package/components/observatory-header-link/element.js +92 -0
  414. package/components/observatory-human-duration/element.js +58 -0
  415. package/components/observatory-landing/faq.js +16 -0
  416. package/components/observatory-landing/feedback.js +16 -0
  417. package/components/observatory-landing/server.css +1 -0
  418. package/components/observatory-landing/server.js +114 -0
  419. package/components/observatory-rescan-button/element.js +68 -0
  420. package/components/observatory-results/comparison.js +20 -0
  421. package/components/observatory-results/cookies.js +117 -0
  422. package/components/observatory-results/csp.js +119 -0
  423. package/components/observatory-results/element.css +684 -0
  424. package/components/observatory-results/element.js +168 -0
  425. package/components/observatory-results/history.js +40 -0
  426. package/components/observatory-results/rating.js +70 -0
  427. package/components/observatory-results/raw-headers.js +51 -0
  428. package/components/observatory-results/scoring.js +103 -0
  429. package/components/observatory-results/server.css +1 -0
  430. package/components/observatory-results/server.js +68 -0
  431. package/components/observatory-results/tabs.js +91 -0
  432. package/components/observatory-results/tooltip.js +49 -0
  433. package/components/observatory-results/trend.js +54 -0
  434. package/components/observatory-tests-and-scores/element.css +62 -0
  435. package/components/observatory-tests-and-scores/element.js +90 -0
  436. package/components/only-in-en-us/global.css +51 -0
  437. package/components/outer-layout/server.js +103 -0
  438. package/components/outer-layout/utils.js +70 -0
  439. package/components/page-layout/server.css +33 -0
  440. package/components/page-layout/server.js +29 -0
  441. package/components/pagination/server.css +53 -0
  442. package/components/pagination/server.js +165 -0
  443. package/components/placement/context.js +102 -0
  444. package/components/placement/mixin.js +117 -0
  445. package/components/placement/types.d.ts +50 -0
  446. package/components/placement-bottom/element.css +66 -0
  447. package/components/placement-bottom/element.js +72 -0
  448. package/components/placement-hp-main/element.css +66 -0
  449. package/components/placement-hp-main/element.js +72 -0
  450. package/components/placement-no/element.css +21 -0
  451. package/components/placement-no/element.js +62 -0
  452. package/components/placement-note/element.css +28 -0
  453. package/components/placement-note/element.js +22 -0
  454. package/components/placement-sidebar/element.css +175 -0
  455. package/components/placement-sidebar/element.js +102 -0
  456. package/components/placement-top/element.css +135 -0
  457. package/components/placement-top/element.js +109 -0
  458. package/components/play-console/element.css +35 -0
  459. package/components/play-console/element.js +134 -0
  460. package/components/play-console/types.d.ts +4 -0
  461. package/components/play-console/utils.js +152 -0
  462. package/components/play-controller/element.js +128 -0
  463. package/components/play-editor/element.css +38 -0
  464. package/components/play-editor/element.js +210 -0
  465. package/components/play-runner/element.css +5 -0
  466. package/components/play-runner/element.js +198 -0
  467. package/components/play-runner/types.d.ts +1 -0
  468. package/components/playground/element.css +142 -0
  469. package/components/playground/element.js +376 -0
  470. package/components/playground/server.css +13 -0
  471. package/components/playground/server.js +18 -0
  472. package/components/playground/types.d.ts +12 -0
  473. package/components/playground/utils.js +134 -0
  474. package/components/plus/assets/ai-help/code-examples-playground.png +0 -0
  475. package/components/plus/assets/ai-help/code-examples-queue.png +0 -0
  476. package/components/plus/assets/ai-help/example-question-answering.png +0 -0
  477. package/components/plus/assets/ai-help/example-question-editing.png +0 -0
  478. package/components/plus/assets/ai-help/history-banner.png +0 -0
  479. package/components/plus/assets/ai-help/history-settings.png +0 -0
  480. package/components/plus/assets/ai-help/issue-template.png +0 -0
  481. package/components/plus/assets/ai-help/login-signup.png +0 -0
  482. package/components/plus/assets/ai-help/rate-answers.png +0 -0
  483. package/components/plus/assets/ai-help/report-feedback.png +0 -0
  484. package/components/plus/assets/collections/collections-dashboard.png +0 -0
  485. package/components/plus/assets/collections/desktop-collections-dashboard-delete.png +0 -0
  486. package/components/plus/assets/collections/desktop-collections-delete-fva.png +0 -0
  487. package/components/plus/assets/collections/desktop-collections-edit-dialog-add-note.png +0 -0
  488. package/components/plus/assets/collections/desktop-collections-edit-dialog.png +0 -0
  489. package/components/plus/assets/collections/desktop-collections-edit-menu.png +0 -0
  490. package/components/plus/assets/collections/desktop-collections-filter.png +0 -0
  491. package/components/plus/assets/collections/desktop-collections-fva.png +0 -0
  492. package/components/plus/assets/collections/desktop-collections-sort.png +0 -0
  493. package/components/plus/assets/collections/desktop-collections-three-dot-menu.png +0 -0
  494. package/components/plus/assets/collections/desktop-collections-undo.png +0 -0
  495. package/components/plus/assets/collections/desktop-collections-user-menu.png +0 -0
  496. package/components/plus/assets/collections/desktop-page-add-note.png +0 -0
  497. package/components/plus/assets/collections/desktop-page-dialog-save.png +0 -0
  498. package/components/plus/assets/collections/desktop-page-open-dialog.png +0 -0
  499. package/components/plus/assets/collections/desktop-remove-saved-delete.png +0 -0
  500. package/components/plus/assets/collections/desktop-remove-saved.png +0 -0
  501. package/components/plus/assets/collections/desktop-saving-page.png +0 -0
  502. package/components/plus/assets/collections/mobile-add-note.png +0 -0
  503. package/components/plus/assets/collections/mobile-burger-menu.png +0 -0
  504. package/components/plus/assets/collections/mobile-collections-dashboard-delete-entry.png +0 -0
  505. package/components/plus/assets/collections/mobile-collections-dashboard-edit-entry.png +0 -0
  506. package/components/plus/assets/collections/mobile-collections-dashboard-edit.png +0 -0
  507. package/components/plus/assets/collections/mobile-collections-dashboard-three-dots.png +0 -0
  508. package/components/plus/assets/collections/mobile-collections-dashboard.png +0 -0
  509. package/components/plus/assets/collections/mobile-collections-delete-entry.png +0 -0
  510. package/components/plus/assets/collections/mobile-collections-fva-undo.png +0 -0
  511. package/components/plus/assets/collections/mobile-collections-menu-item.png +0 -0
  512. package/components/plus/assets/collections/mobile-collections-undo.png +0 -0
  513. package/components/plus/assets/collections/mobile-menu.png +0 -0
  514. package/components/plus/assets/collections/mobile-open-article-actions.png +0 -0
  515. package/components/plus/assets/collections/mobile-plus-menu.png +0 -0
  516. package/components/plus/assets/collections/mobile-save-page-step-one.png +0 -0
  517. package/components/plus/assets/collections/mobile-save-page.png +0 -0
  518. package/components/plus/assets/collections/mobile-saved-page.png +0 -0
  519. package/components/plus/assets/notifications/access-notifications-from-main-menu.png +0 -0
  520. package/components/plus/assets/notifications/bulk-unwatch-dashboard.png +0 -0
  521. package/components/plus/assets/notifications/mobile-notifications-user-menu.png +0 -0
  522. package/components/plus/assets/notifications/notifications-user-menu.png +0 -0
  523. package/components/plus/assets/notifications/star-notification.png +0 -0
  524. package/components/plus/assets/notifications/unwatch-dashboard.png +0 -0
  525. package/components/plus/assets/notifications/unwatch-page.png +0 -0
  526. package/components/plus/assets/notifications/watch-list.png +0 -0
  527. package/components/plus/assets/notifications/watch-page.png +0 -0
  528. package/components/plus/assets/offline/desktop-offline-clear-data.png +0 -0
  529. package/components/plus/assets/offline/desktop-offline-enable-auto-update.png +0 -0
  530. package/components/plus/assets/offline/desktop-offline-enable-offline.png +0 -0
  531. package/components/plus/assets/offline/desktop-offline-manual-update.png +0 -0
  532. package/components/plus/assets/offline/desktop-offline-user-menu.png +0 -0
  533. package/components/plus/assets/playground/playground-example.png +0 -0
  534. package/components/plus/assets/playground/playground-menu.png +0 -0
  535. package/components/plus/assets/playground/playground-sample.png +0 -0
  536. package/components/plus/assets/updates/collections.png +0 -0
  537. package/components/plus/assets/updates/updates.png +0 -0
  538. package/components/plus/assets/updates/updates_bcd.png +0 -0
  539. package/components/plus/assets/updates/updates_collection.png +0 -0
  540. package/components/plus/assets/updates/updates_filter.png +0 -0
  541. package/components/plus/assets/updates/updates_search.png +0 -0
  542. package/components/plus/server.js +15 -0
  543. package/components/preferred-locale/utils.js +24 -0
  544. package/components/prev-next/index.css +79 -0
  545. package/components/progress-bar/element.js +19 -0
  546. package/components/progress-bar/index.css +45 -0
  547. package/components/recent-contributions/server.css +57 -0
  548. package/components/recent-contributions/server.js +72 -0
  549. package/components/reference-layout/server.css +106 -0
  550. package/components/reference-layout/server.js +44 -0
  551. package/components/reference-toc/server.css +46 -0
  552. package/components/reference-toc/server.js +22 -0
  553. package/components/sandbox/class.js +18 -0
  554. package/components/sandbox/server.css +35 -0
  555. package/components/sandbox/server.js +49 -0
  556. package/components/scrim-inline/assets/BarlowCondensed-SemiBold.woff2 +0 -0
  557. package/components/scrim-inline/assets/landing-scrim.png +0 -0
  558. package/components/scrim-inline/assets/scrim-bg.png +0 -0
  559. package/components/scrim-inline/assets/scrim-hexagons.svg +1 -0
  560. package/components/scrim-inline/assets/scrim-play.svg +1 -0
  561. package/components/scrim-inline/assets/scrimba-logo.svg +1 -0
  562. package/components/scrim-inline/element.css +190 -0
  563. package/components/scrim-inline/element.js +173 -0
  564. package/components/scrim-inline/global.css +9 -0
  565. package/components/search/server.js +16 -0
  566. package/components/search-button/element.css +28 -0
  567. package/components/search-button/element.js +32 -0
  568. package/components/search-modal/element.css +15 -0
  569. package/components/search-modal/element.js +281 -0
  570. package/components/search-modal/types.d.ts +20 -0
  571. package/components/server/async-local-storage.js +4 -0
  572. package/components/server/index.js +53 -0
  573. package/components/server/types.d.ts +5 -0
  574. package/components/sidebar-filter/element.css +104 -0
  575. package/components/sidebar-filter/element.js +200 -0
  576. package/components/sidebar-filter/sidebar-filterer.js +395 -0
  577. package/components/sidebar-filter/utils.js +14 -0
  578. package/components/site-search/element.css +24 -0
  579. package/components/site-search/element.js +170 -0
  580. package/components/site-search/types.d.ts +34 -0
  581. package/components/specifications-list/index.js +25 -0
  582. package/components/survey/assets/survey.svg +1 -0
  583. package/components/survey/element.css +103 -0
  584. package/components/survey/element.js +234 -0
  585. package/components/survey/surveys.js +65 -0
  586. package/components/survey/types.d.ts +39 -0
  587. package/components/survey/utils.js +43 -0
  588. package/components/switch/element.css +59 -0
  589. package/components/switch/element.js +39 -0
  590. package/components/table-container/README.md +11 -0
  591. package/components/table-container/global.css +4 -0
  592. package/components/themed-image/element.css +18 -0
  593. package/components/themed-image/element.js +93 -0
  594. package/components/toggle-sidebar/element.css +9 -0
  595. package/components/toggle-sidebar/element.js +84 -0
  596. package/components/translation-banner/server.css +3 -0
  597. package/components/translation-banner/server.js +109 -0
  598. package/components/user/context.js +104 -0
  599. package/components/user/types.d.ts +53 -0
  600. package/components/user-menu/element.css +110 -0
  601. package/components/user-menu/element.js +150 -0
  602. package/components/vars/global.css +9 -0
  603. package/components/viewed-controller/viewed-controller.js +88 -0
  604. package/components/visually-hidden/global.css +18 -0
  605. package/dist/client/1004.5fa86167fe489b2c.js +4 -0
  606. package/dist/client/1004.5fa86167fe489b2c.js.map +1 -0
  607. package/dist/client/1048.7f6f1de50a1fda0d.js +10 -0
  608. package/dist/client/1048.7f6f1de50a1fda0d.js.map +1 -0
  609. package/dist/client/1060.0d71daee41343e43.js +23 -0
  610. package/dist/client/1060.0d71daee41343e43.js.map +1 -0
  611. package/dist/client/1197.25090f81ab4208bc.css +32 -0
  612. package/dist/client/1197.25090f81ab4208bc.css.map +1 -0
  613. package/dist/client/1342.c6b8c6cd88df1d8c.js +60 -0
  614. package/dist/client/1342.c6b8c6cd88df1d8c.js.LICENSE.txt +5 -0
  615. package/dist/client/1342.c6b8c6cd88df1d8c.js.map +1 -0
  616. package/dist/client/1485.079879ef5af3319b.js +2 -0
  617. package/dist/client/1485.079879ef5af3319b.js.map +1 -0
  618. package/dist/client/1632.f3bab39a9572ce56.js +2 -0
  619. package/dist/client/1632.f3bab39a9572ce56.js.map +1 -0
  620. package/dist/client/1739.16064f8d04091fb6.js +8 -0
  621. package/dist/client/1739.16064f8d04091fb6.js.map +1 -0
  622. package/dist/client/176.aded97d94309df23.js +3 -0
  623. package/dist/client/176.aded97d94309df23.js.LICENSE.txt +5 -0
  624. package/dist/client/176.aded97d94309df23.js.map +1 -0
  625. package/dist/client/1916.bc7551ab839d52f8.js +17 -0
  626. package/dist/client/1916.bc7551ab839d52f8.js.map +1 -0
  627. package/dist/client/1971.2fa7bc4c755c2995.js +2 -0
  628. package/dist/client/1971.2fa7bc4c755c2995.js.map +1 -0
  629. package/dist/client/2254.5fbfe2d0124ff3ba.css +2 -0
  630. package/dist/client/2254.5fbfe2d0124ff3ba.css.map +1 -0
  631. package/dist/client/2255.2e6bae6cbc2fc401.js +2 -0
  632. package/dist/client/2255.2e6bae6cbc2fc401.js.map +1 -0
  633. package/dist/client/2271.1aa120136eb9a8a7.js +3 -0
  634. package/dist/client/2271.1aa120136eb9a8a7.js.LICENSE.txt +11 -0
  635. package/dist/client/2271.1aa120136eb9a8a7.js.map +1 -0
  636. package/dist/client/2297.0a9c74ff65a39b9e.js +36 -0
  637. package/dist/client/2297.0a9c74ff65a39b9e.js.map +1 -0
  638. package/dist/client/2448.831aebeb9f07a23c.js +35 -0
  639. package/dist/client/2448.831aebeb9f07a23c.js.LICENSE.txt +5 -0
  640. package/dist/client/2448.831aebeb9f07a23c.js.map +1 -0
  641. package/dist/client/2633.16d5148ada5e2597.js +2 -0
  642. package/dist/client/2633.16d5148ada5e2597.js.map +1 -0
  643. package/dist/client/2656.aff378afb664f75e.js +104 -0
  644. package/dist/client/2656.aff378afb664f75e.js.map +1 -0
  645. package/dist/client/2683.28adf6c710696773.js +45 -0
  646. package/dist/client/2683.28adf6c710696773.js.map +1 -0
  647. package/dist/client/2713.4386cec15f9187b7.js +9 -0
  648. package/dist/client/2713.4386cec15f9187b7.js.map +1 -0
  649. package/dist/client/2776.f1ca2b5f474ba69f.js +32 -0
  650. package/dist/client/2776.f1ca2b5f474ba69f.js.map +1 -0
  651. package/dist/client/2801.86bf6ce298d939e6.js +3 -0
  652. package/dist/client/2801.86bf6ce298d939e6.js.LICENSE.txt +5 -0
  653. package/dist/client/2801.86bf6ce298d939e6.js.map +1 -0
  654. package/dist/client/2826.8957e7aad92e4bd0.js +30 -0
  655. package/dist/client/2826.8957e7aad92e4bd0.js.map +1 -0
  656. package/dist/client/319.fc7ac90e914dce90.js +3 -0
  657. package/dist/client/319.fc7ac90e914dce90.js.LICENSE.txt +1 -0
  658. package/dist/client/319.fc7ac90e914dce90.js.map +1 -0
  659. package/dist/client/3536.782f5d525dda928d.js +19 -0
  660. package/dist/client/3536.782f5d525dda928d.js.map +1 -0
  661. package/dist/client/3580.bf3f2a7896833bd8.js +29 -0
  662. package/dist/client/3580.bf3f2a7896833bd8.js.map +1 -0
  663. package/dist/client/3649.a0041aab36b2ee5d.js +11 -0
  664. package/dist/client/3649.a0041aab36b2ee5d.js.map +1 -0
  665. package/dist/client/37.ce51869ec4792176.js +98 -0
  666. package/dist/client/37.ce51869ec4792176.js.map +1 -0
  667. package/dist/client/3769.aa29e140ef41bf56.js +42 -0
  668. package/dist/client/3769.aa29e140ef41bf56.js.map +1 -0
  669. package/dist/client/3804.52c4bfe4f9ac0087.js +2 -0
  670. package/dist/client/3804.52c4bfe4f9ac0087.js.map +1 -0
  671. package/dist/client/3892.36bfe7cc7f7173d3.js +5 -0
  672. package/dist/client/3892.36bfe7cc7f7173d3.js.map +1 -0
  673. package/dist/client/3895.226a48b6bcda42d9.js +9 -0
  674. package/dist/client/3895.226a48b6bcda42d9.js.map +1 -0
  675. package/dist/client/3959.f55cc61458102b77.js +5 -0
  676. package/dist/client/3959.f55cc61458102b77.js.LICENSE.txt +17 -0
  677. package/dist/client/3959.f55cc61458102b77.js.map +1 -0
  678. package/dist/client/3981.cb99ae60e2891e74.js +5 -0
  679. package/dist/client/3981.cb99ae60e2891e74.js.LICENSE.txt +5 -0
  680. package/dist/client/3981.cb99ae60e2891e74.js.map +1 -0
  681. package/dist/client/4036.5ca9997e4c034473.js +19 -0
  682. package/dist/client/4036.5ca9997e4c034473.js.LICENSE.txt +5 -0
  683. package/dist/client/4036.5ca9997e4c034473.js.map +1 -0
  684. package/dist/client/4045.c0fd898eab0b2a5c.js +8 -0
  685. package/dist/client/4045.c0fd898eab0b2a5c.js.LICENSE.txt +5 -0
  686. package/dist/client/4045.c0fd898eab0b2a5c.js.map +1 -0
  687. package/dist/client/4185.57f0759a392acbca.js +30 -0
  688. package/dist/client/4185.57f0759a392acbca.js.map +1 -0
  689. package/dist/client/4241.c4d03c093edd4b53.js +8 -0
  690. package/dist/client/4241.c4d03c093edd4b53.js.map +1 -0
  691. package/dist/client/4338.4af9e46a7aa60ea0.js +2 -0
  692. package/dist/client/4338.4af9e46a7aa60ea0.js.map +1 -0
  693. package/dist/client/4442.918bac7e16e9838f.js +3 -0
  694. package/dist/client/4442.918bac7e16e9838f.js.LICENSE.txt +5 -0
  695. package/dist/client/4442.918bac7e16e9838f.js.map +1 -0
  696. package/dist/client/4531.4ae011f8a64a2b27.js +34 -0
  697. package/dist/client/4531.4ae011f8a64a2b27.js.LICENSE.txt +5 -0
  698. package/dist/client/4531.4ae011f8a64a2b27.js.map +1 -0
  699. package/dist/client/4532.73b9876cb5a90b8a.js +3 -0
  700. package/dist/client/4532.73b9876cb5a90b8a.js.LICENSE.txt +5 -0
  701. package/dist/client/4532.73b9876cb5a90b8a.js.map +1 -0
  702. package/dist/client/476.0de6391161b814ad.js +11 -0
  703. package/dist/client/476.0de6391161b814ad.js.map +1 -0
  704. package/dist/client/4849.4da5f274175b7cc7.js +25 -0
  705. package/dist/client/4849.4da5f274175b7cc7.js.map +1 -0
  706. package/dist/client/4876.0ee47bb4700ff264.js +3 -0
  707. package/dist/client/4876.0ee47bb4700ff264.js.LICENSE.txt +8 -0
  708. package/dist/client/4876.0ee47bb4700ff264.js.map +1 -0
  709. package/dist/client/5066.31235bae47282d5a.js +102 -0
  710. package/dist/client/5066.31235bae47282d5a.js.map +1 -0
  711. package/dist/client/5166.fdfeeb11249c7266.js +52 -0
  712. package/dist/client/5166.fdfeeb11249c7266.js.map +1 -0
  713. package/dist/client/5293.26a213d7faf99924.js +4 -0
  714. package/dist/client/5293.26a213d7faf99924.js.map +1 -0
  715. package/dist/client/533.518751bfb02cbcee.js +47 -0
  716. package/dist/client/533.518751bfb02cbcee.js.map +1 -0
  717. package/dist/client/5401.6b191cac148d7b1e.js +2 -0
  718. package/dist/client/5401.6b191cac148d7b1e.js.map +1 -0
  719. package/dist/client/5531.3f07c9b4290520c7.js +387 -0
  720. package/dist/client/5531.3f07c9b4290520c7.js.map +1 -0
  721. package/dist/client/5564.8962dc781ac6917d.js +63 -0
  722. package/dist/client/5564.8962dc781ac6917d.js.map +1 -0
  723. package/dist/client/5759.22a61c1d4a7e3084.js +4 -0
  724. package/dist/client/5759.22a61c1d4a7e3084.js.map +1 -0
  725. package/dist/client/5837.f6d4c078ffaaacdd.js +2 -0
  726. package/dist/client/5837.f6d4c078ffaaacdd.js.map +1 -0
  727. package/dist/client/6078.665b67c129e048c8.js +3 -0
  728. package/dist/client/6078.665b67c129e048c8.js.LICENSE.txt +5 -0
  729. package/dist/client/6078.665b67c129e048c8.js.map +1 -0
  730. package/dist/client/6125.e38c186f47b38db7.js +8 -0
  731. package/dist/client/6125.e38c186f47b38db7.js.map +1 -0
  732. package/dist/client/614.01075c8e848f77c4.css +2 -0
  733. package/dist/client/614.01075c8e848f77c4.css.map +1 -0
  734. package/dist/client/6213.93a2421cf1c0706b.js +18 -0
  735. package/dist/client/6213.93a2421cf1c0706b.js.map +1 -0
  736. package/dist/client/6339.c03f64d4ce5c87c3.js +2 -0
  737. package/dist/client/6339.c03f64d4ce5c87c3.js.map +1 -0
  738. package/dist/client/665.d8fcfeee7d9363d1.js +35 -0
  739. package/dist/client/665.d8fcfeee7d9363d1.js.LICENSE.txt +5 -0
  740. package/dist/client/665.d8fcfeee7d9363d1.js.map +1 -0
  741. package/dist/client/6656.ddd2e30e5c8fb282.js +2 -0
  742. package/dist/client/6656.ddd2e30e5c8fb282.js.map +1 -0
  743. package/dist/client/6681.4bc549fb34f3fd5c.js +6 -0
  744. package/dist/client/6681.4bc549fb34f3fd5c.js.map +1 -0
  745. package/dist/client/7013.bc6ddba74ac61291.js +2 -0
  746. package/dist/client/7013.bc6ddba74ac61291.js.map +1 -0
  747. package/dist/client/7194.0c6f91109747ad86.js +2 -0
  748. package/dist/client/7194.0c6f91109747ad86.js.map +1 -0
  749. package/dist/client/7293.b60a1f58515f31a2.js +35 -0
  750. package/dist/client/7293.b60a1f58515f31a2.js.map +1 -0
  751. package/dist/client/7345.6d89013575f169db.js +16 -0
  752. package/dist/client/7345.6d89013575f169db.js.map +1 -0
  753. package/dist/client/736.c130ba990b1ed252.js +25 -0
  754. package/dist/client/736.c130ba990b1ed252.js.map +1 -0
  755. package/dist/client/7378.fa257f348c5bf73a.js +37 -0
  756. package/dist/client/7378.fa257f348c5bf73a.js.map +1 -0
  757. package/dist/client/7509.780e429ccb3e9290.js +9 -0
  758. package/dist/client/7509.780e429ccb3e9290.js.map +1 -0
  759. package/dist/client/7592.ab3584c66feafa74.css +2 -0
  760. package/dist/client/7592.ab3584c66feafa74.css.map +1 -0
  761. package/dist/client/7667.ac60289df8d3cc21.js +2 -0
  762. package/dist/client/7667.ac60289df8d3cc21.js.map +1 -0
  763. package/dist/client/770.6b88be2c18fa89a7.js +48 -0
  764. package/dist/client/770.6b88be2c18fa89a7.js.LICENSE.txt +5 -0
  765. package/dist/client/770.6b88be2c18fa89a7.js.map +1 -0
  766. package/dist/client/7731.401da89d94c0e064.js +2 -0
  767. package/dist/client/7731.401da89d94c0e064.js.map +1 -0
  768. package/dist/client/7773.38e1735927785740.js +3 -0
  769. package/dist/client/7773.38e1735927785740.js.LICENSE.txt +5 -0
  770. package/dist/client/7773.38e1735927785740.js.map +1 -0
  771. package/dist/client/781.389e02e257b52721.css +2 -0
  772. package/dist/client/781.389e02e257b52721.css.map +1 -0
  773. package/dist/client/7816.98d0e7137bdc87d2.js +34 -0
  774. package/dist/client/7816.98d0e7137bdc87d2.js.map +1 -0
  775. package/dist/client/7945.173113a79774d36d.js +2 -0
  776. package/dist/client/7945.173113a79774d36d.js.map +1 -0
  777. package/dist/client/8016.f30995a637486f82.js +2 -0
  778. package/dist/client/8016.f30995a637486f82.js.map +1 -0
  779. package/dist/client/8349.edfaab03980a5961.js +2 -0
  780. package/dist/client/8349.edfaab03980a5961.js.map +1 -0
  781. package/dist/client/8483.0c0da6fab68fab50.js +32 -0
  782. package/dist/client/8483.0c0da6fab68fab50.js.map +1 -0
  783. package/dist/client/8551.e33e50ee71f44812.js +2 -0
  784. package/dist/client/8551.e33e50ee71f44812.js.map +1 -0
  785. package/dist/client/8684.538d49e436a77c37.js +10 -0
  786. package/dist/client/8684.538d49e436a77c37.js.map +1 -0
  787. package/dist/client/8722.60924229fd12bd59.js +2 -0
  788. package/dist/client/8722.60924229fd12bd59.js.map +1 -0
  789. package/dist/client/8769.4e744e7339806d26.js +3 -0
  790. package/dist/client/8769.4e744e7339806d26.js.LICENSE.txt +5 -0
  791. package/dist/client/8769.4e744e7339806d26.js.map +1 -0
  792. package/dist/client/8807.202002bf6395a3cc.js +3 -0
  793. package/dist/client/8807.202002bf6395a3cc.js.LICENSE.txt +11 -0
  794. package/dist/client/8807.202002bf6395a3cc.js.map +1 -0
  795. package/dist/client/8877.4ad4d5400cffecd1.js +2 -0
  796. package/dist/client/8877.4ad4d5400cffecd1.js.map +1 -0
  797. package/dist/client/8896.85df788778cc02ca.js +9 -0
  798. package/dist/client/8896.85df788778cc02ca.js.map +1 -0
  799. package/dist/client/8911.35723f1bc61e2cde.js +167 -0
  800. package/dist/client/8911.35723f1bc61e2cde.js.LICENSE.txt +5 -0
  801. package/dist/client/8911.35723f1bc61e2cde.js.map +1 -0
  802. package/dist/client/9130.72e541c16599704b.js +2 -0
  803. package/dist/client/9130.72e541c16599704b.js.map +1 -0
  804. package/dist/client/9133.a9bb9d293838e8ac.js +2 -0
  805. package/dist/client/9133.a9bb9d293838e8ac.js.map +1 -0
  806. package/dist/client/917.f2371f7a8ef08c84.js +17 -0
  807. package/dist/client/917.f2371f7a8ef08c84.js.LICENSE.txt +5 -0
  808. package/dist/client/917.f2371f7a8ef08c84.js.map +1 -0
  809. package/dist/client/9291.648c397935e0243f.js +55 -0
  810. package/dist/client/9291.648c397935e0243f.js.map +1 -0
  811. package/dist/client/9398.f564d86762053131.js +11 -0
  812. package/dist/client/9398.f564d86762053131.js.LICENSE.txt +5 -0
  813. package/dist/client/9398.f564d86762053131.js.map +1 -0
  814. package/dist/client/9446.07f64cbea6f0246e.js +2 -0
  815. package/dist/client/9446.07f64cbea6f0246e.js.map +1 -0
  816. package/dist/client/9551.495c74e2c7129b38.js +16 -0
  817. package/dist/client/9551.495c74e2c7129b38.js.map +1 -0
  818. package/dist/client/9565.5e45ab3e0d622510.js +157 -0
  819. package/dist/client/9565.5e45ab3e0d622510.js.map +1 -0
  820. package/dist/client/9577.3a141d18f5d40e14.js +9 -0
  821. package/dist/client/9577.3a141d18f5d40e14.js.map +1 -0
  822. package/dist/client/9632.b317ca4ae5930b4a.js +2 -0
  823. package/dist/client/9632.b317ca4ae5930b4a.js.map +1 -0
  824. package/dist/client/BarlowCondensed-SemiBold.199288b668a15dc1.woff2 +0 -0
  825. package/dist/client/accurate-sm.6b644425a52001ef.svg +1 -0
  826. package/dist/client/accurate.9c2342f09d6600e6.svg +1 -0
  827. package/dist/client/alert-circle.558fb4ebf9c68c79.svg +1 -0
  828. package/dist/client/arrow-left.e6169107fdba2c0e.svg +1 -0
  829. package/dist/client/arrow-right.28133d6e7ac30654.svg +1 -0
  830. package/dist/client/asterisk.70f89e1fc672d4c5.svg +1 -0
  831. package/dist/client/browser-check.20ed6fe43e745587.svg +1 -0
  832. package/dist/client/browser-cross.196cc93721b774d9.svg +1 -0
  833. package/dist/client/building-dark.3261a2aaee8e1f76.svg +1 -0
  834. package/dist/client/building.28c35e4a388efad3.svg +1 -0
  835. package/dist/client/cancel.7362f2cdf3515e0d.svg +1 -0
  836. package/dist/client/check.0440cf8a72ac2317.svg +1 -0
  837. package/dist/client/chevron-down.7c923b7054da305b.svg +1 -0
  838. package/dist/client/chevron-right.a81fc439dd5e4839.svg +1 -0
  839. package/dist/client/chevron.ea9f23d050030463.svg +1 -0
  840. package/dist/client/chrome.5978d1a2dbdc06cc.svg +1 -0
  841. package/dist/client/chrome.63fe87abc1b86c49.svg +1 -0
  842. package/dist/client/circle-alert.4199b283585ef0bb.svg +1 -0
  843. package/dist/client/circle-check.205f48f66c3c9d17.svg +1 -0
  844. package/dist/client/circle-help.574fc498f309634e.svg +1 -0
  845. package/dist/client/circle-slash.c109868d4bdda8e2.svg +1 -0
  846. package/dist/client/circle-x.4b1c3fa0511867e7.svg +1 -0
  847. package/dist/client/circle.5525ef23679c14ac.svg +1 -0
  848. package/dist/client/cog.f23af856fab34421.svg +1 -0
  849. package/dist/client/collaborative-sm.f7add18382918478.svg +1 -0
  850. package/dist/client/collaborative.367b21ae62819fcb.svg +1 -0
  851. package/dist/client/community-calls-dark.13788dc61d057c98.svg +1 -0
  852. package/dist/client/community-calls.a6bf87abf19c466e.svg +1 -0
  853. package/dist/client/contrast.d86e85c43de8dee8.svg +1 -0
  854. package/dist/client/curriculum-about-covered.74e453cf7e1a86c2.svg +1 -0
  855. package/dist/client/curriculum-about-detail.515f645950e2300b.svg +1 -0
  856. package/dist/client/curriculum-about-educators.91685cbbd58c65fb.svg +1 -0
  857. package/dist/client/curriculum-about-not.42caac16e07477b5.svg +1 -0
  858. package/dist/client/curriculum-about-students.36ca88cba5f00272.svg +1 -0
  859. package/dist/client/curriculum-bullet.934e76f0055c7737.svg +1 -0
  860. package/dist/client/curriculum-ext-resource.7ccbd6b7cf9747db.svg +1 -0
  861. package/dist/client/curriculum-landing-about-beginner.c283306531a0a760.svg +1 -0
  862. package/dist/client/curriculum-landing-about-bullet.329a46667f2b7b1c.svg +1 -0
  863. package/dist/client/curriculum-landing-about-free.860c02f993720011.svg +1 -0
  864. package/dist/client/curriculum-landing-about-pace.caf53bc7642d2d9e.svg +1 -0
  865. package/dist/client/curriculum-landing-arrow.37d9469e2da628fb.svg +1 -0
  866. package/dist/client/curriculum-landing-started-advanced.6aa084114d4a009d.svg +1 -0
  867. package/dist/client/curriculum-landing-started-beginner.684ee16fbad28594.svg +1 -0
  868. package/dist/client/curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg +1 -0
  869. package/dist/client/curriculum-landing-started-employment.ad9634ce6c19f3ba.svg +1 -0
  870. package/dist/client/curriculum-mdn-resource.f452724542f874b8.svg +1 -0
  871. package/dist/client/curriculum-modules-underline.a71f4b586aa1b1da.svg +1 -0
  872. package/dist/client/curriculum-partner-bg.247900de90ec7d1e.svg +1 -0
  873. package/dist/client/curriculum-partner-underline-large.f24a7f395cfe9118.svg +1 -0
  874. package/dist/client/curriculum-partner-underline-small.ad7d5a96e5f8ce9b.svg +1 -0
  875. package/dist/client/curriculum-resources.42e1db709b0eb7f8.svg +1 -0
  876. package/dist/client/curriculum-scrim-bg.66afaab49246fbd9.svg +1 -0
  877. package/dist/client/curriculum-started-underline.aea7485015c96abe.svg +1 -0
  878. package/dist/client/deno.aed70d20abbf1067.svg +1 -0
  879. package/dist/client/discord-dark.61a58fc0e649edd9.svg +1 -0
  880. package/dist/client/discord.3f1254e467a7f250.svg +1 -0
  881. package/dist/client/dot-dark.02ee053d767a59a1.svg +1 -0
  882. package/dist/client/dot.8ab417e01a1f6ecb.svg +1 -0
  883. package/dist/client/edge.29d1f7df37cf6b7b.svg +1 -0
  884. package/dist/client/edge.ccffcb3049ad9e34.svg +1 -0
  885. package/dist/client/education.d85a12a206ae942e.svg +1 -0
  886. package/dist/client/ellipsis.a923666a0f31b0e6.svg +1 -0
  887. package/dist/client/external-link.4f3a2dc8e402cae5.svg +1 -0
  888. package/dist/client/firefox.321382ff8fab2cfd.svg +1 -0
  889. package/dist/client/firefox.be3910badc184355.svg +1 -0
  890. package/dist/client/flag.a3ec9d1b88184452.svg +1 -0
  891. package/dist/client/flask-conical.c16b3d71f14f31d1.svg +1 -0
  892. package/dist/client/fullscreen-enter.452bcbaed6904ec7.svg +1 -0
  893. package/dist/client/git-fork.97e5d1d4d29677cf.svg +1 -0
  894. package/dist/client/github-mark-small.1912d5137f4e081d.svg +1 -0
  895. package/dist/client/global-impact-dark.899d2c74cfc72f0a.svg +1 -0
  896. package/dist/client/global-impact.da9e458fb92452e0.svg +1 -0
  897. package/dist/client/graduation-cap.c7aa0f3430c53718.svg +1 -0
  898. package/dist/client/handshake.b5de4bbf8aeef4d9.svg +1 -0
  899. package/dist/client/high-dark.4c5740fbe0c02409.svg +1 -0
  900. package/dist/client/high.8401af3c81ea0eca.svg +1 -0
  901. package/dist/client/inclusive-sm.67dfcf6e9cf77bb8.svg +1 -0
  902. package/dist/client/inclusive.f1401efadd5a6d6f.svg +1 -0
  903. package/dist/client/index.c8828168dddd5a8e.js +2 -0
  904. package/dist/client/index.c8828168dddd5a8e.js.map +1 -0
  905. package/dist/client/info.d40b80f84482feba.svg +1 -0
  906. package/dist/client/inter-italic.c91adde9f78caceb.woff2 +0 -0
  907. package/dist/client/inter.0336a89fb4e7fc1d.woff2 +0 -0
  908. package/dist/client/languages.dcba936080e5be86.svg +1 -0
  909. package/dist/client/lightbulb.f54f9e803373ffd2.svg +1 -0
  910. package/dist/client/limited-dark.6de4f83e8f41145f.svg +1 -0
  911. package/dist/client/limited.a9efc9350e09355e.svg +1 -0
  912. package/dist/client/line-dot.2eb7216a6e56d7c7.svg +1 -0
  913. package/dist/client/lines.c12de232c28cba49.svg +1 -0
  914. package/dist/client/lock.4befe79c52ccec2a.svg +1 -0
  915. package/dist/client/low-dark.512578ef0a351cb6.svg +1 -0
  916. package/dist/client/low.2c31373fd9acde94.svg +1 -0
  917. package/dist/client/m-logo.53bc3f53d5946169.svg +1 -0
  918. package/dist/client/mdn-prefix.42c58fad0d3fc035.svg +1 -0
  919. package/dist/client/monitor.11d946399ebf690d.svg +1 -0
  920. package/dist/client/moon.74026b9da82b0694.svg +1 -0
  921. package/dist/client/nodejs.efc13657f2bf62f7.svg +1 -0
  922. package/dist/client/opera.ebd6fbbb8600e404.svg +1 -0
  923. package/dist/client/people-dark.a149b2af062b2e10.svg +1 -0
  924. package/dist/client/people.a3a24be88dacdb7a.svg +1 -0
  925. package/dist/client/prism-abap-js.065c2ef845645dcc.js +2 -0
  926. package/dist/client/prism-abap-js.065c2ef845645dcc.js.map +1 -0
  927. package/dist/client/prism-abnf-js.9f54518cb96a5f84.js +2 -0
  928. package/dist/client/prism-abnf-js.9f54518cb96a5f84.js.map +1 -0
  929. package/dist/client/prism-actionscript-js.bd37ca935477738b.js +2 -0
  930. package/dist/client/prism-actionscript-js.bd37ca935477738b.js.map +1 -0
  931. package/dist/client/prism-ada-js.37afda8c3e854d0c.js +2 -0
  932. package/dist/client/prism-ada-js.37afda8c3e854d0c.js.map +1 -0
  933. package/dist/client/prism-agda-js.59b2d1f7c1270529.js +2 -0
  934. package/dist/client/prism-agda-js.59b2d1f7c1270529.js.map +1 -0
  935. package/dist/client/prism-al-js.87450c93fc25e3b0.js +2 -0
  936. package/dist/client/prism-al-js.87450c93fc25e3b0.js.map +1 -0
  937. package/dist/client/prism-antlr4-js.970086b80a3f5174.js +2 -0
  938. package/dist/client/prism-antlr4-js.970086b80a3f5174.js.map +1 -0
  939. package/dist/client/prism-apacheconf-js.fe4e4ddaef660339.js +2 -0
  940. package/dist/client/prism-apacheconf-js.fe4e4ddaef660339.js.map +1 -0
  941. package/dist/client/prism-apex-js.8a3af9ff6d392dbb.js +2 -0
  942. package/dist/client/prism-apex-js.8a3af9ff6d392dbb.js.map +1 -0
  943. package/dist/client/prism-apl-js.af0b2027efb67aee.js +2 -0
  944. package/dist/client/prism-apl-js.af0b2027efb67aee.js.map +1 -0
  945. package/dist/client/prism-applescript-js.774f7843a71944c2.js +2 -0
  946. package/dist/client/prism-applescript-js.774f7843a71944c2.js.map +1 -0
  947. package/dist/client/prism-aql-js.dfc16bd7b3627870.js +2 -0
  948. package/dist/client/prism-aql-js.dfc16bd7b3627870.js.map +1 -0
  949. package/dist/client/prism-arduino-js.fffd7cb41b6f86f2.js +2 -0
  950. package/dist/client/prism-arduino-js.fffd7cb41b6f86f2.js.map +1 -0
  951. package/dist/client/prism-arff-js.7b1b50526660298d.js +2 -0
  952. package/dist/client/prism-arff-js.7b1b50526660298d.js.map +1 -0
  953. package/dist/client/prism-armasm-js.ca02943bebec1278.js +2 -0
  954. package/dist/client/prism-armasm-js.ca02943bebec1278.js.map +1 -0
  955. package/dist/client/prism-arturo-js.3d3aeba91965c2d3.js +2 -0
  956. package/dist/client/prism-arturo-js.3d3aeba91965c2d3.js.map +1 -0
  957. package/dist/client/prism-asciidoc-js.4c63cf8587b079bd.js +2 -0
  958. package/dist/client/prism-asciidoc-js.4c63cf8587b079bd.js.map +1 -0
  959. package/dist/client/prism-asm6502-js.f67d5fc0a76e1352.js +2 -0
  960. package/dist/client/prism-asm6502-js.f67d5fc0a76e1352.js.map +1 -0
  961. package/dist/client/prism-asmatmel-js.ac4a012894f4f21a.js +2 -0
  962. package/dist/client/prism-asmatmel-js.ac4a012894f4f21a.js.map +1 -0
  963. package/dist/client/prism-aspnet-js.af5f934c9de385ac.js +2 -0
  964. package/dist/client/prism-aspnet-js.af5f934c9de385ac.js.map +1 -0
  965. package/dist/client/prism-autohotkey-js.1b83a818f13fe36b.js +2 -0
  966. package/dist/client/prism-autohotkey-js.1b83a818f13fe36b.js.map +1 -0
  967. package/dist/client/prism-autoit-js.45462f011be40def.js +2 -0
  968. package/dist/client/prism-autoit-js.45462f011be40def.js.map +1 -0
  969. package/dist/client/prism-avisynth-js.72fb1eb90651e172.js +2 -0
  970. package/dist/client/prism-avisynth-js.72fb1eb90651e172.js.map +1 -0
  971. package/dist/client/prism-avro-idl-js.eb9489bffdc2514d.js +2 -0
  972. package/dist/client/prism-avro-idl-js.eb9489bffdc2514d.js.map +1 -0
  973. package/dist/client/prism-awk-js.7489c018ad99a00b.js +2 -0
  974. package/dist/client/prism-awk-js.7489c018ad99a00b.js.map +1 -0
  975. package/dist/client/prism-bash-js.c4736ca125bdb11b.js +2 -0
  976. package/dist/client/prism-bash-js.c4736ca125bdb11b.js.map +1 -0
  977. package/dist/client/prism-basic-js.32ccfcfd83800dfe.js +2 -0
  978. package/dist/client/prism-basic-js.32ccfcfd83800dfe.js.map +1 -0
  979. package/dist/client/prism-batch-js.c73ec6d9d03bc6c2.js +2 -0
  980. package/dist/client/prism-batch-js.c73ec6d9d03bc6c2.js.map +1 -0
  981. package/dist/client/prism-bbcode-js.d2f98c847308cc9e.js +2 -0
  982. package/dist/client/prism-bbcode-js.d2f98c847308cc9e.js.map +1 -0
  983. package/dist/client/prism-bbj-js.ca04c9ac043e0cf1.js +2 -0
  984. package/dist/client/prism-bbj-js.ca04c9ac043e0cf1.js.map +1 -0
  985. package/dist/client/prism-bicep-js.ffc77db23d986cb7.js +2 -0
  986. package/dist/client/prism-bicep-js.ffc77db23d986cb7.js.map +1 -0
  987. package/dist/client/prism-birb-js.823301111a64edc5.js +2 -0
  988. package/dist/client/prism-birb-js.823301111a64edc5.js.map +1 -0
  989. package/dist/client/prism-bison-js.209dce152adc379a.js +2 -0
  990. package/dist/client/prism-bison-js.209dce152adc379a.js.map +1 -0
  991. package/dist/client/prism-bnf-js.4cce2b549a999dde.js +2 -0
  992. package/dist/client/prism-bnf-js.4cce2b549a999dde.js.map +1 -0
  993. package/dist/client/prism-bqn-js.ef80b027153d8e25.js +2 -0
  994. package/dist/client/prism-bqn-js.ef80b027153d8e25.js.map +1 -0
  995. package/dist/client/prism-brainfuck-js.3da54af2fa1c640c.js +2 -0
  996. package/dist/client/prism-brainfuck-js.3da54af2fa1c640c.js.map +1 -0
  997. package/dist/client/prism-brightscript-js.0fe2fcc86ce81701.js +2 -0
  998. package/dist/client/prism-brightscript-js.0fe2fcc86ce81701.js.map +1 -0
  999. package/dist/client/prism-bro-js.5c2139f05170545e.js +2 -0
  1000. package/dist/client/prism-bro-js.5c2139f05170545e.js.map +1 -0
  1001. package/dist/client/prism-bsl-js.4f855065fb67ae4c.js +2 -0
  1002. package/dist/client/prism-bsl-js.4f855065fb67ae4c.js.map +1 -0
  1003. package/dist/client/prism-c-js.3963deebbb60bd72.js +2 -0
  1004. package/dist/client/prism-c-js.3963deebbb60bd72.js.map +1 -0
  1005. package/dist/client/prism-cfscript-js.e468437a4dff965d.js +2 -0
  1006. package/dist/client/prism-cfscript-js.e468437a4dff965d.js.map +1 -0
  1007. package/dist/client/prism-chaiscript-js.18f76e99ca78b229.js +2 -0
  1008. package/dist/client/prism-chaiscript-js.18f76e99ca78b229.js.map +1 -0
  1009. package/dist/client/prism-cil-js.40bc7326d966260e.js +2 -0
  1010. package/dist/client/prism-cil-js.40bc7326d966260e.js.map +1 -0
  1011. package/dist/client/prism-cilkc-js.30d0f36167d6ecc6.js +2 -0
  1012. package/dist/client/prism-cilkc-js.30d0f36167d6ecc6.js.map +1 -0
  1013. package/dist/client/prism-cilkcpp-js.f412735d8428093a.js +2 -0
  1014. package/dist/client/prism-cilkcpp-js.f412735d8428093a.js.map +1 -0
  1015. package/dist/client/prism-clike-js.68b8ebbf1bab8ba6.js +2 -0
  1016. package/dist/client/prism-clike-js.68b8ebbf1bab8ba6.js.map +1 -0
  1017. package/dist/client/prism-clojure-js.784ec9e089cec2be.js +2 -0
  1018. package/dist/client/prism-clojure-js.784ec9e089cec2be.js.map +1 -0
  1019. package/dist/client/prism-cmake-js.3d0082f798e40c43.js +2 -0
  1020. package/dist/client/prism-cmake-js.3d0082f798e40c43.js.map +1 -0
  1021. package/dist/client/prism-cobol-js.1f2837d1de7ba9e0.js +2 -0
  1022. package/dist/client/prism-cobol-js.1f2837d1de7ba9e0.js.map +1 -0
  1023. package/dist/client/prism-coffeescript-js.43fe3d4a895c9dd0.js +2 -0
  1024. package/dist/client/prism-coffeescript-js.43fe3d4a895c9dd0.js.map +1 -0
  1025. package/dist/client/prism-concurnas-js.848e0d8983d43881.js +2 -0
  1026. package/dist/client/prism-concurnas-js.848e0d8983d43881.js.map +1 -0
  1027. package/dist/client/prism-cooklang-js.78b2ac93cbb28f01.js +2 -0
  1028. package/dist/client/prism-cooklang-js.78b2ac93cbb28f01.js.map +1 -0
  1029. package/dist/client/prism-coq-js.eb9d70dccdccd8ee.js +2 -0
  1030. package/dist/client/prism-coq-js.eb9d70dccdccd8ee.js.map +1 -0
  1031. package/dist/client/prism-core-js.e021c4ed977b7b46.js +3 -0
  1032. package/dist/client/prism-core-js.e021c4ed977b7b46.js.LICENSE.txt +8 -0
  1033. package/dist/client/prism-core-js.e021c4ed977b7b46.js.map +1 -0
  1034. package/dist/client/prism-cpp-js.d0da177439198e3e.js +2 -0
  1035. package/dist/client/prism-cpp-js.d0da177439198e3e.js.map +1 -0
  1036. package/dist/client/prism-crystal-js.0d662808471e4233.js +2 -0
  1037. package/dist/client/prism-crystal-js.0d662808471e4233.js.map +1 -0
  1038. package/dist/client/prism-csharp-js.4ace3f83ab9e51ca.js +2 -0
  1039. package/dist/client/prism-csharp-js.4ace3f83ab9e51ca.js.map +1 -0
  1040. package/dist/client/prism-cshtml-js.ec14560be43d0ef9.js +2 -0
  1041. package/dist/client/prism-cshtml-js.ec14560be43d0ef9.js.map +1 -0
  1042. package/dist/client/prism-csp-js.c79e9507a3e6c6e5.js +2 -0
  1043. package/dist/client/prism-csp-js.c79e9507a3e6c6e5.js.map +1 -0
  1044. package/dist/client/prism-css-extras-js.e19c1eef3c813cb1.js +2 -0
  1045. package/dist/client/prism-css-extras-js.e19c1eef3c813cb1.js.map +1 -0
  1046. package/dist/client/prism-css-js.f8df4b07dbbb8110.js +2 -0
  1047. package/dist/client/prism-css-js.f8df4b07dbbb8110.js.map +1 -0
  1048. package/dist/client/prism-csv-js.ca0343683cdffdce.js +2 -0
  1049. package/dist/client/prism-csv-js.ca0343683cdffdce.js.map +1 -0
  1050. package/dist/client/prism-cue-js.06de9eb3bfcb6717.js +2 -0
  1051. package/dist/client/prism-cue-js.06de9eb3bfcb6717.js.map +1 -0
  1052. package/dist/client/prism-cypher-js.28ebf0b4a882f767.js +2 -0
  1053. package/dist/client/prism-cypher-js.28ebf0b4a882f767.js.map +1 -0
  1054. package/dist/client/prism-d-js.d6a79cbd4ddcd192.js +2 -0
  1055. package/dist/client/prism-d-js.d6a79cbd4ddcd192.js.map +1 -0
  1056. package/dist/client/prism-dart-js.5dd239fc22ea1035.js +2 -0
  1057. package/dist/client/prism-dart-js.5dd239fc22ea1035.js.map +1 -0
  1058. package/dist/client/prism-dataweave-js.a301ff77002f050b.js +2 -0
  1059. package/dist/client/prism-dataweave-js.a301ff77002f050b.js.map +1 -0
  1060. package/dist/client/prism-dax-js.0a248857c2b69dd1.js +2 -0
  1061. package/dist/client/prism-dax-js.0a248857c2b69dd1.js.map +1 -0
  1062. package/dist/client/prism-dhall-js.36ad25138084fa7d.js +2 -0
  1063. package/dist/client/prism-dhall-js.36ad25138084fa7d.js.map +1 -0
  1064. package/dist/client/prism-diff-js.6eb48101fbddc314.js +2 -0
  1065. package/dist/client/prism-diff-js.6eb48101fbddc314.js.map +1 -0
  1066. package/dist/client/prism-django-js.cd752a03848964c9.js +2 -0
  1067. package/dist/client/prism-django-js.cd752a03848964c9.js.map +1 -0
  1068. package/dist/client/prism-dns-zone-file-js.97244dbba9406c4c.js +2 -0
  1069. package/dist/client/prism-dns-zone-file-js.97244dbba9406c4c.js.map +1 -0
  1070. package/dist/client/prism-docker-js.47f9f17ef57217d4.js +2 -0
  1071. package/dist/client/prism-docker-js.47f9f17ef57217d4.js.map +1 -0
  1072. package/dist/client/prism-dot-js.043adf1a9532d336.js +2 -0
  1073. package/dist/client/prism-dot-js.043adf1a9532d336.js.map +1 -0
  1074. package/dist/client/prism-ebnf-js.b0c92c040db7540a.js +2 -0
  1075. package/dist/client/prism-ebnf-js.b0c92c040db7540a.js.map +1 -0
  1076. package/dist/client/prism-editorconfig-js.27fb2b797dd8e4da.js +2 -0
  1077. package/dist/client/prism-editorconfig-js.27fb2b797dd8e4da.js.map +1 -0
  1078. package/dist/client/prism-eiffel-js.0617c0ccc783c347.js +2 -0
  1079. package/dist/client/prism-eiffel-js.0617c0ccc783c347.js.map +1 -0
  1080. package/dist/client/prism-ejs-js.28ea865cd9e9af79.js +2 -0
  1081. package/dist/client/prism-ejs-js.28ea865cd9e9af79.js.map +1 -0
  1082. package/dist/client/prism-elixir-js.cb5b61e19e959fc9.js +2 -0
  1083. package/dist/client/prism-elixir-js.cb5b61e19e959fc9.js.map +1 -0
  1084. package/dist/client/prism-elm-js.2592214667974e6f.js +2 -0
  1085. package/dist/client/prism-elm-js.2592214667974e6f.js.map +1 -0
  1086. package/dist/client/prism-erb-js.d70dc73aeedbd388.js +2 -0
  1087. package/dist/client/prism-erb-js.d70dc73aeedbd388.js.map +1 -0
  1088. package/dist/client/prism-erlang-js.32f32a44c5b2f47b.js +2 -0
  1089. package/dist/client/prism-erlang-js.32f32a44c5b2f47b.js.map +1 -0
  1090. package/dist/client/prism-etlua-js.ef20bc08dc8fe2eb.js +2 -0
  1091. package/dist/client/prism-etlua-js.ef20bc08dc8fe2eb.js.map +1 -0
  1092. package/dist/client/prism-excel-formula-js.14f8224a62f3c247.js +2 -0
  1093. package/dist/client/prism-excel-formula-js.14f8224a62f3c247.js.map +1 -0
  1094. package/dist/client/prism-factor-js.7fdf5cfb5036f6d1.js +2 -0
  1095. package/dist/client/prism-factor-js.7fdf5cfb5036f6d1.js.map +1 -0
  1096. package/dist/client/prism-false-js.fecbf39f8793f86e.js +2 -0
  1097. package/dist/client/prism-false-js.fecbf39f8793f86e.js.map +1 -0
  1098. package/dist/client/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js +2 -0
  1099. package/dist/client/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js.map +1 -0
  1100. package/dist/client/prism-flow-js.6573302ec7e569d8.js +2 -0
  1101. package/dist/client/prism-flow-js.6573302ec7e569d8.js.map +1 -0
  1102. package/dist/client/prism-fortran-js.15ff306aa3ea08b8.js +2 -0
  1103. package/dist/client/prism-fortran-js.15ff306aa3ea08b8.js.map +1 -0
  1104. package/dist/client/prism-fsharp-js.64b92ed69706c108.js +2 -0
  1105. package/dist/client/prism-fsharp-js.64b92ed69706c108.js.map +1 -0
  1106. package/dist/client/prism-ftl-js.f4a23b20ea43487e.js +2 -0
  1107. package/dist/client/prism-ftl-js.f4a23b20ea43487e.js.map +1 -0
  1108. package/dist/client/prism-gap-js.4c99a398f1e5fc72.js +2 -0
  1109. package/dist/client/prism-gap-js.4c99a398f1e5fc72.js.map +1 -0
  1110. package/dist/client/prism-gcode-js.1b5798050811b233.js +2 -0
  1111. package/dist/client/prism-gcode-js.1b5798050811b233.js.map +1 -0
  1112. package/dist/client/prism-gdscript-js.57ebb74c439e9082.js +2 -0
  1113. package/dist/client/prism-gdscript-js.57ebb74c439e9082.js.map +1 -0
  1114. package/dist/client/prism-gedcom-js.a5ce074e62c22e92.js +2 -0
  1115. package/dist/client/prism-gedcom-js.a5ce074e62c22e92.js.map +1 -0
  1116. package/dist/client/prism-gettext-js.ce0da100a2e3e5a8.js +2 -0
  1117. package/dist/client/prism-gettext-js.ce0da100a2e3e5a8.js.map +1 -0
  1118. package/dist/client/prism-gherkin-js.4e47ded25437182c.js +2 -0
  1119. package/dist/client/prism-gherkin-js.4e47ded25437182c.js.map +1 -0
  1120. package/dist/client/prism-git-js.952b94296e787802.js +2 -0
  1121. package/dist/client/prism-git-js.952b94296e787802.js.map +1 -0
  1122. package/dist/client/prism-glsl-js.28385e6afacc2c39.js +2 -0
  1123. package/dist/client/prism-glsl-js.28385e6afacc2c39.js.map +1 -0
  1124. package/dist/client/prism-gml-js.0994258c6d8e2287.js +2 -0
  1125. package/dist/client/prism-gml-js.0994258c6d8e2287.js.map +1 -0
  1126. package/dist/client/prism-gn-js.3e89d9138f84c1b0.js +2 -0
  1127. package/dist/client/prism-gn-js.3e89d9138f84c1b0.js.map +1 -0
  1128. package/dist/client/prism-go-js.6ff00572fcf0248d.js +2 -0
  1129. package/dist/client/prism-go-js.6ff00572fcf0248d.js.map +1 -0
  1130. package/dist/client/prism-go-module-js.0b3ceaec32ceba28.js +2 -0
  1131. package/dist/client/prism-go-module-js.0b3ceaec32ceba28.js.map +1 -0
  1132. package/dist/client/prism-gradle-js.05e27f1b9f5aced9.js +2 -0
  1133. package/dist/client/prism-gradle-js.05e27f1b9f5aced9.js.map +1 -0
  1134. package/dist/client/prism-graphql-js.f5013759dfa50a6b.js +2 -0
  1135. package/dist/client/prism-graphql-js.f5013759dfa50a6b.js.map +1 -0
  1136. package/dist/client/prism-groovy-js.a76fbe16dce5080a.js +2 -0
  1137. package/dist/client/prism-groovy-js.a76fbe16dce5080a.js.map +1 -0
  1138. package/dist/client/prism-haml-js.37538cf91297d8fc.js +2 -0
  1139. package/dist/client/prism-haml-js.37538cf91297d8fc.js.map +1 -0
  1140. package/dist/client/prism-handlebars-js.e1a9771eed504377.js +2 -0
  1141. package/dist/client/prism-handlebars-js.e1a9771eed504377.js.map +1 -0
  1142. package/dist/client/prism-haskell-js.3627e0915562ca44.js +2 -0
  1143. package/dist/client/prism-haskell-js.3627e0915562ca44.js.map +1 -0
  1144. package/dist/client/prism-haxe-js.bec5ae3678655676.js +2 -0
  1145. package/dist/client/prism-haxe-js.bec5ae3678655676.js.map +1 -0
  1146. package/dist/client/prism-hcl-js.30dbcbae990bc966.js +2 -0
  1147. package/dist/client/prism-hcl-js.30dbcbae990bc966.js.map +1 -0
  1148. package/dist/client/prism-hlsl-js.8cebde13f4530830.js +2 -0
  1149. package/dist/client/prism-hlsl-js.8cebde13f4530830.js.map +1 -0
  1150. package/dist/client/prism-hoon-js.64cfefa2d9e8a2cd.js +2 -0
  1151. package/dist/client/prism-hoon-js.64cfefa2d9e8a2cd.js.map +1 -0
  1152. package/dist/client/prism-hpkp-js.fe3c755cead4261f.js +2 -0
  1153. package/dist/client/prism-hpkp-js.fe3c755cead4261f.js.map +1 -0
  1154. package/dist/client/prism-hsts-js.fd4774b39a052d56.js +2 -0
  1155. package/dist/client/prism-hsts-js.fd4774b39a052d56.js.map +1 -0
  1156. package/dist/client/prism-http-js.6a1674b96913e1d2.js +2 -0
  1157. package/dist/client/prism-http-js.6a1674b96913e1d2.js.map +1 -0
  1158. package/dist/client/prism-ichigojam-js.2aa0fb0434dc0ba0.js +2 -0
  1159. package/dist/client/prism-ichigojam-js.2aa0fb0434dc0ba0.js.map +1 -0
  1160. package/dist/client/prism-icon-js.dae48fdeb769c90c.js +2 -0
  1161. package/dist/client/prism-icon-js.dae48fdeb769c90c.js.map +1 -0
  1162. package/dist/client/prism-icu-message-format-js.b01a3652df333f15.js +2 -0
  1163. package/dist/client/prism-icu-message-format-js.b01a3652df333f15.js.map +1 -0
  1164. package/dist/client/prism-idris-js.4915cbf2aaf1e259.js +2 -0
  1165. package/dist/client/prism-idris-js.4915cbf2aaf1e259.js.map +1 -0
  1166. package/dist/client/prism-iecst-js.f79f065cbe6d9ff9.js +2 -0
  1167. package/dist/client/prism-iecst-js.f79f065cbe6d9ff9.js.map +1 -0
  1168. package/dist/client/prism-ignore-js.5fe2f6385139746c.js +2 -0
  1169. package/dist/client/prism-ignore-js.5fe2f6385139746c.js.map +1 -0
  1170. package/dist/client/prism-inform7-js.4aba19ba0de6fd81.js +2 -0
  1171. package/dist/client/prism-inform7-js.4aba19ba0de6fd81.js.map +1 -0
  1172. package/dist/client/prism-ini-js.da6b4bd40630e6f0.js +2 -0
  1173. package/dist/client/prism-ini-js.da6b4bd40630e6f0.js.map +1 -0
  1174. package/dist/client/prism-io-js.e2e5ed7961fe03a2.js +2 -0
  1175. package/dist/client/prism-io-js.e2e5ed7961fe03a2.js.map +1 -0
  1176. package/dist/client/prism-j-js.f1fa07dada3cfced.js +2 -0
  1177. package/dist/client/prism-j-js.f1fa07dada3cfced.js.map +1 -0
  1178. package/dist/client/prism-java-js.08e5feb02674c6c7.js +2 -0
  1179. package/dist/client/prism-java-js.08e5feb02674c6c7.js.map +1 -0
  1180. package/dist/client/prism-javadoc-js.72c60ee45b7040a2.js +2 -0
  1181. package/dist/client/prism-javadoc-js.72c60ee45b7040a2.js.map +1 -0
  1182. package/dist/client/prism-javadoclike-js.dc334a342b6020dd.js +2 -0
  1183. package/dist/client/prism-javadoclike-js.dc334a342b6020dd.js.map +1 -0
  1184. package/dist/client/prism-javascript-js.e251785abe437649.js +2 -0
  1185. package/dist/client/prism-javascript-js.e251785abe437649.js.map +1 -0
  1186. package/dist/client/prism-javastacktrace-js.16d656522cf7e42d.js +2 -0
  1187. package/dist/client/prism-javastacktrace-js.16d656522cf7e42d.js.map +1 -0
  1188. package/dist/client/prism-jexl-js.bc969a596de4e5af.js +2 -0
  1189. package/dist/client/prism-jexl-js.bc969a596de4e5af.js.map +1 -0
  1190. package/dist/client/prism-jolie-js.33b7f101d659d811.js +2 -0
  1191. package/dist/client/prism-jolie-js.33b7f101d659d811.js.map +1 -0
  1192. package/dist/client/prism-jq-js.0ea442fd843ad9f8.js +2 -0
  1193. package/dist/client/prism-jq-js.0ea442fd843ad9f8.js.map +1 -0
  1194. package/dist/client/prism-js-extras-js.6e073fde2bdf4b3d.js +2 -0
  1195. package/dist/client/prism-js-extras-js.6e073fde2bdf4b3d.js.map +1 -0
  1196. package/dist/client/prism-js-templates-js.9ef27e25ceedd205.js +2 -0
  1197. package/dist/client/prism-js-templates-js.9ef27e25ceedd205.js.map +1 -0
  1198. package/dist/client/prism-jsdoc-js.065483e1ad0355e4.js +2 -0
  1199. package/dist/client/prism-jsdoc-js.065483e1ad0355e4.js.map +1 -0
  1200. package/dist/client/prism-json-js.d0f7c8e494205056.js +2 -0
  1201. package/dist/client/prism-json-js.d0f7c8e494205056.js.map +1 -0
  1202. package/dist/client/prism-json5-js.7fc8011683fbb461.js +2 -0
  1203. package/dist/client/prism-json5-js.7fc8011683fbb461.js.map +1 -0
  1204. package/dist/client/prism-jsonp-js.fa6e2ee38cb730e8.js +2 -0
  1205. package/dist/client/prism-jsonp-js.fa6e2ee38cb730e8.js.map +1 -0
  1206. package/dist/client/prism-jsstacktrace-js.f57174f8d31822dd.js +2 -0
  1207. package/dist/client/prism-jsstacktrace-js.f57174f8d31822dd.js.map +1 -0
  1208. package/dist/client/prism-jsx-js.94701e2a3b086ae4.js +2 -0
  1209. package/dist/client/prism-jsx-js.94701e2a3b086ae4.js.map +1 -0
  1210. package/dist/client/prism-julia-js.108bb422cf317785.js +2 -0
  1211. package/dist/client/prism-julia-js.108bb422cf317785.js.map +1 -0
  1212. package/dist/client/prism-keepalived-js.e3dd9ca0053167fc.js +2 -0
  1213. package/dist/client/prism-keepalived-js.e3dd9ca0053167fc.js.map +1 -0
  1214. package/dist/client/prism-keyman-js.9cc1e659dba2b684.js +2 -0
  1215. package/dist/client/prism-keyman-js.9cc1e659dba2b684.js.map +1 -0
  1216. package/dist/client/prism-kotlin-js.6be2ab600d7645f7.js +2 -0
  1217. package/dist/client/prism-kotlin-js.6be2ab600d7645f7.js.map +1 -0
  1218. package/dist/client/prism-kumir-js.3a9a46af0f9bbf3b.js +2 -0
  1219. package/dist/client/prism-kumir-js.3a9a46af0f9bbf3b.js.map +1 -0
  1220. package/dist/client/prism-kusto-js.bce9fde2205047d9.js +2 -0
  1221. package/dist/client/prism-kusto-js.bce9fde2205047d9.js.map +1 -0
  1222. package/dist/client/prism-latex-js.d3fa74bc54ac219d.js +2 -0
  1223. package/dist/client/prism-latex-js.d3fa74bc54ac219d.js.map +1 -0
  1224. package/dist/client/prism-latte-js.bf6c471a6748937b.js +2 -0
  1225. package/dist/client/prism-latte-js.bf6c471a6748937b.js.map +1 -0
  1226. package/dist/client/prism-less-js.59746649c545800f.js +2 -0
  1227. package/dist/client/prism-less-js.59746649c545800f.js.map +1 -0
  1228. package/dist/client/prism-lilypond-js.3d69618fe9236e25.js +2 -0
  1229. package/dist/client/prism-lilypond-js.3d69618fe9236e25.js.map +1 -0
  1230. package/dist/client/prism-linker-script-js.d90196ac2f9aab45.js +2 -0
  1231. package/dist/client/prism-linker-script-js.d90196ac2f9aab45.js.map +1 -0
  1232. package/dist/client/prism-liquid-js.40e5a33158a20784.js +2 -0
  1233. package/dist/client/prism-liquid-js.40e5a33158a20784.js.map +1 -0
  1234. package/dist/client/prism-lisp-js.5d696adcdb25a133.js +2 -0
  1235. package/dist/client/prism-lisp-js.5d696adcdb25a133.js.map +1 -0
  1236. package/dist/client/prism-livescript-js.c5706c6b0607bd28.js +2 -0
  1237. package/dist/client/prism-livescript-js.c5706c6b0607bd28.js.map +1 -0
  1238. package/dist/client/prism-llvm-js.0903041f8dacb466.js +2 -0
  1239. package/dist/client/prism-llvm-js.0903041f8dacb466.js.map +1 -0
  1240. package/dist/client/prism-log-js.86b7ed6d3a0b2391.js +2 -0
  1241. package/dist/client/prism-log-js.86b7ed6d3a0b2391.js.map +1 -0
  1242. package/dist/client/prism-lolcode-js.447f1ee4d1b435f9.js +2 -0
  1243. package/dist/client/prism-lolcode-js.447f1ee4d1b435f9.js.map +1 -0
  1244. package/dist/client/prism-lua-js.031d6195024ea2fc.js +2 -0
  1245. package/dist/client/prism-lua-js.031d6195024ea2fc.js.map +1 -0
  1246. package/dist/client/prism-magma-js.ee053c202ca13c2f.js +2 -0
  1247. package/dist/client/prism-magma-js.ee053c202ca13c2f.js.map +1 -0
  1248. package/dist/client/prism-makefile-js.292c33b60f02ed0f.js +2 -0
  1249. package/dist/client/prism-makefile-js.292c33b60f02ed0f.js.map +1 -0
  1250. package/dist/client/prism-markdown-js.fe293c4ea58aa269.js +2 -0
  1251. package/dist/client/prism-markdown-js.fe293c4ea58aa269.js.map +1 -0
  1252. package/dist/client/prism-markup-js.4d87bbbbd6964c38.js +2 -0
  1253. package/dist/client/prism-markup-js.4d87bbbbd6964c38.js.map +1 -0
  1254. package/dist/client/prism-markup-templating-js.00588db99852e988.js +2 -0
  1255. package/dist/client/prism-markup-templating-js.00588db99852e988.js.map +1 -0
  1256. package/dist/client/prism-mata-js.ad16bd5d47e92730.js +2 -0
  1257. package/dist/client/prism-mata-js.ad16bd5d47e92730.js.map +1 -0
  1258. package/dist/client/prism-matlab-js.6386bc7bad3554e5.js +2 -0
  1259. package/dist/client/prism-matlab-js.6386bc7bad3554e5.js.map +1 -0
  1260. package/dist/client/prism-maxscript-js.1b388abdfef0caeb.js +2 -0
  1261. package/dist/client/prism-maxscript-js.1b388abdfef0caeb.js.map +1 -0
  1262. package/dist/client/prism-mel-js.91bee55a86c1aa4f.js +2 -0
  1263. package/dist/client/prism-mel-js.91bee55a86c1aa4f.js.map +1 -0
  1264. package/dist/client/prism-mermaid-js.d06ecf7cfa667b31.js +2 -0
  1265. package/dist/client/prism-mermaid-js.d06ecf7cfa667b31.js.map +1 -0
  1266. package/dist/client/prism-metafont-js.a8f425d4080ffc79.js +2 -0
  1267. package/dist/client/prism-metafont-js.a8f425d4080ffc79.js.map +1 -0
  1268. package/dist/client/prism-mizar-js.2aeac7e8424f0509.js +2 -0
  1269. package/dist/client/prism-mizar-js.2aeac7e8424f0509.js.map +1 -0
  1270. package/dist/client/prism-mongodb-js.63eadb7c58929e0e.js +2 -0
  1271. package/dist/client/prism-mongodb-js.63eadb7c58929e0e.js.map +1 -0
  1272. package/dist/client/prism-monkey-js.3921ae4f5c0d0ed6.js +2 -0
  1273. package/dist/client/prism-monkey-js.3921ae4f5c0d0ed6.js.map +1 -0
  1274. package/dist/client/prism-moonscript-js.be4625776a3ca854.js +2 -0
  1275. package/dist/client/prism-moonscript-js.be4625776a3ca854.js.map +1 -0
  1276. package/dist/client/prism-n1ql-js.fa039f03ad55a259.js +2 -0
  1277. package/dist/client/prism-n1ql-js.fa039f03ad55a259.js.map +1 -0
  1278. package/dist/client/prism-n4js-js.239f7d8cb54eea69.js +2 -0
  1279. package/dist/client/prism-n4js-js.239f7d8cb54eea69.js.map +1 -0
  1280. package/dist/client/prism-nand2tetris-hdl-js.c00937e376f9b93d.js +2 -0
  1281. package/dist/client/prism-nand2tetris-hdl-js.c00937e376f9b93d.js.map +1 -0
  1282. package/dist/client/prism-naniscript-js.9556979b26b23f5c.js +2 -0
  1283. package/dist/client/prism-naniscript-js.9556979b26b23f5c.js.map +1 -0
  1284. package/dist/client/prism-nasm-js.5da6706a1ab651cd.js +2 -0
  1285. package/dist/client/prism-nasm-js.5da6706a1ab651cd.js.map +1 -0
  1286. package/dist/client/prism-neon-js.1b90e020131bf772.js +2 -0
  1287. package/dist/client/prism-neon-js.1b90e020131bf772.js.map +1 -0
  1288. package/dist/client/prism-nevod-js.6a70026ac9b42da8.js +2 -0
  1289. package/dist/client/prism-nevod-js.6a70026ac9b42da8.js.map +1 -0
  1290. package/dist/client/prism-nginx-js.0484ee4caa040484.js +2 -0
  1291. package/dist/client/prism-nginx-js.0484ee4caa040484.js.map +1 -0
  1292. package/dist/client/prism-nim-js.611fccfe4aba6d6e.js +2 -0
  1293. package/dist/client/prism-nim-js.611fccfe4aba6d6e.js.map +1 -0
  1294. package/dist/client/prism-nix-js.febdcdd61c71f619.js +2 -0
  1295. package/dist/client/prism-nix-js.febdcdd61c71f619.js.map +1 -0
  1296. package/dist/client/prism-nsis-js.3e5496e056e9db9a.js +2 -0
  1297. package/dist/client/prism-nsis-js.3e5496e056e9db9a.js.map +1 -0
  1298. package/dist/client/prism-objectivec-js.180434ce6054548c.js +2 -0
  1299. package/dist/client/prism-objectivec-js.180434ce6054548c.js.map +1 -0
  1300. package/dist/client/prism-ocaml-js.bf9dcf57f9a29a39.js +2 -0
  1301. package/dist/client/prism-ocaml-js.bf9dcf57f9a29a39.js.map +1 -0
  1302. package/dist/client/prism-odin-js.7b721e3d1b684659.js +2 -0
  1303. package/dist/client/prism-odin-js.7b721e3d1b684659.js.map +1 -0
  1304. package/dist/client/prism-opencl-js.13b4b9d4f4f39118.js +2 -0
  1305. package/dist/client/prism-opencl-js.13b4b9d4f4f39118.js.map +1 -0
  1306. package/dist/client/prism-openqasm-js.a4832007c207bb7c.js +2 -0
  1307. package/dist/client/prism-openqasm-js.a4832007c207bb7c.js.map +1 -0
  1308. package/dist/client/prism-oz-js.a68b61457999f162.js +2 -0
  1309. package/dist/client/prism-oz-js.a68b61457999f162.js.map +1 -0
  1310. package/dist/client/prism-parigp-js.813837fb2cb3848e.js +2 -0
  1311. package/dist/client/prism-parigp-js.813837fb2cb3848e.js.map +1 -0
  1312. package/dist/client/prism-parser-js.d861ed26358be268.js +2 -0
  1313. package/dist/client/prism-parser-js.d861ed26358be268.js.map +1 -0
  1314. package/dist/client/prism-pascal-js.b8a48e4dc166fbbd.js +2 -0
  1315. package/dist/client/prism-pascal-js.b8a48e4dc166fbbd.js.map +1 -0
  1316. package/dist/client/prism-pascaligo-js.5e8c26d142440a80.js +2 -0
  1317. package/dist/client/prism-pascaligo-js.5e8c26d142440a80.js.map +1 -0
  1318. package/dist/client/prism-pcaxis-js.7a9e5ead89f56c03.js +2 -0
  1319. package/dist/client/prism-pcaxis-js.7a9e5ead89f56c03.js.map +1 -0
  1320. package/dist/client/prism-peoplecode-js.5613e8087b187bf6.js +2 -0
  1321. package/dist/client/prism-peoplecode-js.5613e8087b187bf6.js.map +1 -0
  1322. package/dist/client/prism-perl-js.1e17cfcc71265946.js +2 -0
  1323. package/dist/client/prism-perl-js.1e17cfcc71265946.js.map +1 -0
  1324. package/dist/client/prism-php-extras-js.06a2919dbe250e23.js +2 -0
  1325. package/dist/client/prism-php-extras-js.06a2919dbe250e23.js.map +1 -0
  1326. package/dist/client/prism-php-js.435cbf9498304998.js +2 -0
  1327. package/dist/client/prism-php-js.435cbf9498304998.js.map +1 -0
  1328. package/dist/client/prism-phpdoc-js.0794353f2fa78e23.js +2 -0
  1329. package/dist/client/prism-phpdoc-js.0794353f2fa78e23.js.map +1 -0
  1330. package/dist/client/prism-plant-uml-js.999f416e6ceae53d.js +2 -0
  1331. package/dist/client/prism-plant-uml-js.999f416e6ceae53d.js.map +1 -0
  1332. package/dist/client/prism-plsql-js.aca761297c65e09a.js +2 -0
  1333. package/dist/client/prism-plsql-js.aca761297c65e09a.js.map +1 -0
  1334. package/dist/client/prism-powerquery-js.5b2d5110420b095b.js +2 -0
  1335. package/dist/client/prism-powerquery-js.5b2d5110420b095b.js.map +1 -0
  1336. package/dist/client/prism-powershell-js.af32ca6d68ccf4c1.js +2 -0
  1337. package/dist/client/prism-powershell-js.af32ca6d68ccf4c1.js.map +1 -0
  1338. package/dist/client/prism-processing-js.7bc908bca60ac6e1.js +2 -0
  1339. package/dist/client/prism-processing-js.7bc908bca60ac6e1.js.map +1 -0
  1340. package/dist/client/prism-prolog-js.5ad7f0b82b6ec36a.js +2 -0
  1341. package/dist/client/prism-prolog-js.5ad7f0b82b6ec36a.js.map +1 -0
  1342. package/dist/client/prism-promql-js.e16a0c7364962916.js +2 -0
  1343. package/dist/client/prism-promql-js.e16a0c7364962916.js.map +1 -0
  1344. package/dist/client/prism-properties-js.bf2cc84f3aeb4e8f.js +2 -0
  1345. package/dist/client/prism-properties-js.bf2cc84f3aeb4e8f.js.map +1 -0
  1346. package/dist/client/prism-protobuf-js.d177d74142093b0e.js +2 -0
  1347. package/dist/client/prism-protobuf-js.d177d74142093b0e.js.map +1 -0
  1348. package/dist/client/prism-psl-js.e75925a939552751.js +2 -0
  1349. package/dist/client/prism-psl-js.e75925a939552751.js.map +1 -0
  1350. package/dist/client/prism-pug-js.49daa74b017e9fb1.js +2 -0
  1351. package/dist/client/prism-pug-js.49daa74b017e9fb1.js.map +1 -0
  1352. package/dist/client/prism-puppet-js.3fe0723b1b9458f2.js +2 -0
  1353. package/dist/client/prism-puppet-js.3fe0723b1b9458f2.js.map +1 -0
  1354. package/dist/client/prism-pure-js.2b4a82c560030738.js +2 -0
  1355. package/dist/client/prism-pure-js.2b4a82c560030738.js.map +1 -0
  1356. package/dist/client/prism-purebasic-js.191dd1fdc0b7cf0d.js +2 -0
  1357. package/dist/client/prism-purebasic-js.191dd1fdc0b7cf0d.js.map +1 -0
  1358. package/dist/client/prism-purescript-js.4624ef7517ad0ff1.js +2 -0
  1359. package/dist/client/prism-purescript-js.4624ef7517ad0ff1.js.map +1 -0
  1360. package/dist/client/prism-python-js.cb4d1a9e182afe18.js +2 -0
  1361. package/dist/client/prism-python-js.cb4d1a9e182afe18.js.map +1 -0
  1362. package/dist/client/prism-q-js.6359c5df0b96916f.js +2 -0
  1363. package/dist/client/prism-q-js.6359c5df0b96916f.js.map +1 -0
  1364. package/dist/client/prism-qml-js.8e38cd7d47f9eab5.js +2 -0
  1365. package/dist/client/prism-qml-js.8e38cd7d47f9eab5.js.map +1 -0
  1366. package/dist/client/prism-qore-js.5043bbcf57664121.js +2 -0
  1367. package/dist/client/prism-qore-js.5043bbcf57664121.js.map +1 -0
  1368. package/dist/client/prism-qsharp-js.a5ded5acb97a3974.js +2 -0
  1369. package/dist/client/prism-qsharp-js.a5ded5acb97a3974.js.map +1 -0
  1370. package/dist/client/prism-r-js.fe1da844a241a794.js +2 -0
  1371. package/dist/client/prism-r-js.fe1da844a241a794.js.map +1 -0
  1372. package/dist/client/prism-racket-js.243127a0136a1fd9.js +2 -0
  1373. package/dist/client/prism-racket-js.243127a0136a1fd9.js.map +1 -0
  1374. package/dist/client/prism-reason-js.ba13a72b96d8a9ac.js +2 -0
  1375. package/dist/client/prism-reason-js.ba13a72b96d8a9ac.js.map +1 -0
  1376. package/dist/client/prism-regex-js.c2195d9813a4be7e.js +2 -0
  1377. package/dist/client/prism-regex-js.c2195d9813a4be7e.js.map +1 -0
  1378. package/dist/client/prism-rego-js.ab4439321e07a8b6.js +2 -0
  1379. package/dist/client/prism-rego-js.ab4439321e07a8b6.js.map +1 -0
  1380. package/dist/client/prism-renpy-js.de68844599cc121a.js +2 -0
  1381. package/dist/client/prism-renpy-js.de68844599cc121a.js.map +1 -0
  1382. package/dist/client/prism-rescript-js.ca7c3bbe14e44230.js +2 -0
  1383. package/dist/client/prism-rescript-js.ca7c3bbe14e44230.js.map +1 -0
  1384. package/dist/client/prism-rest-js.e022765b3961a314.js +2 -0
  1385. package/dist/client/prism-rest-js.e022765b3961a314.js.map +1 -0
  1386. package/dist/client/prism-rip-js.0011c4887214795c.js +2 -0
  1387. package/dist/client/prism-rip-js.0011c4887214795c.js.map +1 -0
  1388. package/dist/client/prism-roboconf-js.9e0752108cad4d38.js +2 -0
  1389. package/dist/client/prism-roboconf-js.9e0752108cad4d38.js.map +1 -0
  1390. package/dist/client/prism-robotframework-js.5c1aba48dfdd6dd4.js +2 -0
  1391. package/dist/client/prism-robotframework-js.5c1aba48dfdd6dd4.js.map +1 -0
  1392. package/dist/client/prism-ruby-js.a2c474dae8a08d60.js +2 -0
  1393. package/dist/client/prism-ruby-js.a2c474dae8a08d60.js.map +1 -0
  1394. package/dist/client/prism-rust-js.ed4811231e33b6cf.js +2 -0
  1395. package/dist/client/prism-rust-js.ed4811231e33b6cf.js.map +1 -0
  1396. package/dist/client/prism-sas-js.1aec60cb4e1938db.js +2 -0
  1397. package/dist/client/prism-sas-js.1aec60cb4e1938db.js.map +1 -0
  1398. package/dist/client/prism-sass-js.8339b4a50eaab48c.js +2 -0
  1399. package/dist/client/prism-sass-js.8339b4a50eaab48c.js.map +1 -0
  1400. package/dist/client/prism-scala-js.2525c75befe236d7.js +2 -0
  1401. package/dist/client/prism-scala-js.2525c75befe236d7.js.map +1 -0
  1402. package/dist/client/prism-scheme-js.050b4b78e73e1679.js +2 -0
  1403. package/dist/client/prism-scheme-js.050b4b78e73e1679.js.map +1 -0
  1404. package/dist/client/prism-scss-js.1b71fbe5fd69036f.js +2 -0
  1405. package/dist/client/prism-scss-js.1b71fbe5fd69036f.js.map +1 -0
  1406. package/dist/client/prism-shell-session-js.cd8729fa376bfe4e.js +2 -0
  1407. package/dist/client/prism-shell-session-js.cd8729fa376bfe4e.js.map +1 -0
  1408. package/dist/client/prism-smali-js.1b6a3ec1244c8798.js +2 -0
  1409. package/dist/client/prism-smali-js.1b6a3ec1244c8798.js.map +1 -0
  1410. package/dist/client/prism-smalltalk-js.2d66de6e678a8c58.js +2 -0
  1411. package/dist/client/prism-smalltalk-js.2d66de6e678a8c58.js.map +1 -0
  1412. package/dist/client/prism-smarty-js.22878628b09727a7.js +2 -0
  1413. package/dist/client/prism-smarty-js.22878628b09727a7.js.map +1 -0
  1414. package/dist/client/prism-sml-js.c45681f2a0119b23.js +2 -0
  1415. package/dist/client/prism-sml-js.c45681f2a0119b23.js.map +1 -0
  1416. package/dist/client/prism-solidity-js.3eeccdf62d5596f1.js +2 -0
  1417. package/dist/client/prism-solidity-js.3eeccdf62d5596f1.js.map +1 -0
  1418. package/dist/client/prism-solution-file-js.428513372476e1ae.js +2 -0
  1419. package/dist/client/prism-solution-file-js.428513372476e1ae.js.map +1 -0
  1420. package/dist/client/prism-soy-js.f55903a765bf57a6.js +2 -0
  1421. package/dist/client/prism-soy-js.f55903a765bf57a6.js.map +1 -0
  1422. package/dist/client/prism-sparql-js.292f19bc602daf23.js +2 -0
  1423. package/dist/client/prism-sparql-js.292f19bc602daf23.js.map +1 -0
  1424. package/dist/client/prism-splunk-spl-js.1c70acbce581a142.js +2 -0
  1425. package/dist/client/prism-splunk-spl-js.1c70acbce581a142.js.map +1 -0
  1426. package/dist/client/prism-sqf-js.0365a3c1eb183c31.js +2 -0
  1427. package/dist/client/prism-sqf-js.0365a3c1eb183c31.js.map +1 -0
  1428. package/dist/client/prism-sql-js.aa988143d04c1024.js +2 -0
  1429. package/dist/client/prism-sql-js.aa988143d04c1024.js.map +1 -0
  1430. package/dist/client/prism-squirrel-js.6c0c312007ff7d21.js +2 -0
  1431. package/dist/client/prism-squirrel-js.6c0c312007ff7d21.js.map +1 -0
  1432. package/dist/client/prism-stan-js.42724899cfc2140e.js +2 -0
  1433. package/dist/client/prism-stan-js.42724899cfc2140e.js.map +1 -0
  1434. package/dist/client/prism-stata-js.23c79f03dc46757d.js +2 -0
  1435. package/dist/client/prism-stata-js.23c79f03dc46757d.js.map +1 -0
  1436. package/dist/client/prism-stylus-js.7c5fa156d5625740.js +2 -0
  1437. package/dist/client/prism-stylus-js.7c5fa156d5625740.js.map +1 -0
  1438. package/dist/client/prism-supercollider-js.c7ec7a57826b2d98.js +2 -0
  1439. package/dist/client/prism-supercollider-js.c7ec7a57826b2d98.js.map +1 -0
  1440. package/dist/client/prism-svelte.8808b28328514feb.js +2 -0
  1441. package/dist/client/prism-svelte.8808b28328514feb.js.map +1 -0
  1442. package/dist/client/prism-swift-js.9438b2e277552dae.js +2 -0
  1443. package/dist/client/prism-swift-js.9438b2e277552dae.js.map +1 -0
  1444. package/dist/client/prism-systemd-js.258be7845a3c6b87.js +2 -0
  1445. package/dist/client/prism-systemd-js.258be7845a3c6b87.js.map +1 -0
  1446. package/dist/client/prism-t4-cs-js.4b0d6520fc183e47.js +2 -0
  1447. package/dist/client/prism-t4-cs-js.4b0d6520fc183e47.js.map +1 -0
  1448. package/dist/client/prism-t4-templating-js.3a0120f84562367e.js +2 -0
  1449. package/dist/client/prism-t4-templating-js.3a0120f84562367e.js.map +1 -0
  1450. package/dist/client/prism-t4-vb-js.115a843f0c461599.js +2 -0
  1451. package/dist/client/prism-t4-vb-js.115a843f0c461599.js.map +1 -0
  1452. package/dist/client/prism-tap-js.4c1975d902bab61d.js +2 -0
  1453. package/dist/client/prism-tap-js.4c1975d902bab61d.js.map +1 -0
  1454. package/dist/client/prism-tcl-js.8855327658953e16.js +2 -0
  1455. package/dist/client/prism-tcl-js.8855327658953e16.js.map +1 -0
  1456. package/dist/client/prism-textile-js.700df6ff64f48377.js +2 -0
  1457. package/dist/client/prism-textile-js.700df6ff64f48377.js.map +1 -0
  1458. package/dist/client/prism-toml-js.98228f10959d0f23.js +2 -0
  1459. package/dist/client/prism-toml-js.98228f10959d0f23.js.map +1 -0
  1460. package/dist/client/prism-tremor-js.8242dc6874b6fe4e.js +2 -0
  1461. package/dist/client/prism-tremor-js.8242dc6874b6fe4e.js.map +1 -0
  1462. package/dist/client/prism-tsx-js.f3c5b6688d9b9dc8.js +2 -0
  1463. package/dist/client/prism-tsx-js.f3c5b6688d9b9dc8.js.map +1 -0
  1464. package/dist/client/prism-tt2-js.0982ae48a7fd1e94.js +2 -0
  1465. package/dist/client/prism-tt2-js.0982ae48a7fd1e94.js.map +1 -0
  1466. package/dist/client/prism-turtle-js.b7bd655eedca7dcb.js +2 -0
  1467. package/dist/client/prism-turtle-js.b7bd655eedca7dcb.js.map +1 -0
  1468. package/dist/client/prism-twig-js.abf10c80fd25a0c7.js +2 -0
  1469. package/dist/client/prism-twig-js.abf10c80fd25a0c7.js.map +1 -0
  1470. package/dist/client/prism-typescript-js.8fb7a00ddf043946.js +2 -0
  1471. package/dist/client/prism-typescript-js.8fb7a00ddf043946.js.map +1 -0
  1472. package/dist/client/prism-typoscript-js.2d48ecd06922462e.js +2 -0
  1473. package/dist/client/prism-typoscript-js.2d48ecd06922462e.js.map +1 -0
  1474. package/dist/client/prism-unrealscript-js.39d4931dd098c82d.js +2 -0
  1475. package/dist/client/prism-unrealscript-js.39d4931dd098c82d.js.map +1 -0
  1476. package/dist/client/prism-uorazor-js.fd424c571a35c871.js +2 -0
  1477. package/dist/client/prism-uorazor-js.fd424c571a35c871.js.map +1 -0
  1478. package/dist/client/prism-uri-js.4e41435c4882e91c.js +2 -0
  1479. package/dist/client/prism-uri-js.4e41435c4882e91c.js.map +1 -0
  1480. package/dist/client/prism-v-js.653f893549574093.js +2 -0
  1481. package/dist/client/prism-v-js.653f893549574093.js.map +1 -0
  1482. package/dist/client/prism-vala-js.ba6d34d3c03151c6.js +2 -0
  1483. package/dist/client/prism-vala-js.ba6d34d3c03151c6.js.map +1 -0
  1484. package/dist/client/prism-vbnet-js.9f7cc80e2039017b.js +2 -0
  1485. package/dist/client/prism-vbnet-js.9f7cc80e2039017b.js.map +1 -0
  1486. package/dist/client/prism-velocity-js.78a5d47cfa1b2067.js +2 -0
  1487. package/dist/client/prism-velocity-js.78a5d47cfa1b2067.js.map +1 -0
  1488. package/dist/client/prism-verilog-js.d3f4c602d10aa668.js +2 -0
  1489. package/dist/client/prism-verilog-js.d3f4c602d10aa668.js.map +1 -0
  1490. package/dist/client/prism-vhdl-js.7bae14df05100493.js +2 -0
  1491. package/dist/client/prism-vhdl-js.7bae14df05100493.js.map +1 -0
  1492. package/dist/client/prism-vim-js.afbf3d103ca3f5c0.js +2 -0
  1493. package/dist/client/prism-vim-js.afbf3d103ca3f5c0.js.map +1 -0
  1494. package/dist/client/prism-visual-basic-js.48c86a976af34438.js +2 -0
  1495. package/dist/client/prism-visual-basic-js.48c86a976af34438.js.map +1 -0
  1496. package/dist/client/prism-warpscript-js.83f5e3804e80ef7d.js +2 -0
  1497. package/dist/client/prism-warpscript-js.83f5e3804e80ef7d.js.map +1 -0
  1498. package/dist/client/prism-wasm-js.40271b6ae29ccd13.js +2 -0
  1499. package/dist/client/prism-wasm-js.40271b6ae29ccd13.js.map +1 -0
  1500. package/dist/client/prism-web-idl-js.b70282f60143864d.js +2 -0
  1501. package/dist/client/prism-web-idl-js.b70282f60143864d.js.map +1 -0
  1502. package/dist/client/prism-wgsl-js.0f5f116222c70afc.js +2 -0
  1503. package/dist/client/prism-wgsl-js.0f5f116222c70afc.js.map +1 -0
  1504. package/dist/client/prism-wiki-js.23f96b369fed4c95.js +2 -0
  1505. package/dist/client/prism-wiki-js.23f96b369fed4c95.js.map +1 -0
  1506. package/dist/client/prism-wolfram-js.a1095f8e8711bab2.js +2 -0
  1507. package/dist/client/prism-wolfram-js.a1095f8e8711bab2.js.map +1 -0
  1508. package/dist/client/prism-wren-js.e6cfd49e178839f2.js +2 -0
  1509. package/dist/client/prism-wren-js.e6cfd49e178839f2.js.map +1 -0
  1510. package/dist/client/prism-xeora-js.391d93969f67a5ef.js +2 -0
  1511. package/dist/client/prism-xeora-js.391d93969f67a5ef.js.map +1 -0
  1512. package/dist/client/prism-xml-doc-js.7dd1eae5e2959c66.js +2 -0
  1513. package/dist/client/prism-xml-doc-js.7dd1eae5e2959c66.js.map +1 -0
  1514. package/dist/client/prism-xojo-js.7788e3f350026b0e.js +2 -0
  1515. package/dist/client/prism-xojo-js.7788e3f350026b0e.js.map +1 -0
  1516. package/dist/client/prism-xquery-js.0f78f65669a0036c.js +2 -0
  1517. package/dist/client/prism-xquery-js.0f78f65669a0036c.js.map +1 -0
  1518. package/dist/client/prism-yaml-js.aa9c12071c87375e.js +2 -0
  1519. package/dist/client/prism-yaml-js.aa9c12071c87375e.js.map +1 -0
  1520. package/dist/client/prism-yang-js.47db12e4f855f35b.js +2 -0
  1521. package/dist/client/prism-yang-js.47db12e4f855f35b.js.map +1 -0
  1522. package/dist/client/prism-zig-js.e8f80dce8ef78edb.js +2 -0
  1523. package/dist/client/prism-zig-js.e8f80dce8ef78edb.js.map +1 -0
  1524. package/dist/client/quote-end-dark.8f93fff7280ff674.svg +1 -0
  1525. package/dist/client/quote-end.4338ed019ef321a5.svg +1 -0
  1526. package/dist/client/quote-start-dark.c0a98ef1da249042.svg +1 -0
  1527. package/dist/client/quote-start.68c39c6f8e577f1f.svg +1 -0
  1528. package/dist/client/quote.a314e8d24a902d8a.svg +1 -0
  1529. package/dist/client/quote.f80c6daa6cc4b1b5.svg +1 -0
  1530. package/dist/client/results-icon.b469eb939df034e7.svg +1 -0
  1531. package/dist/client/runtime.09d5289851b16a16.js +2 -0
  1532. package/dist/client/runtime.09d5289851b16a16.js.map +1 -0
  1533. package/dist/client/safari.046172f4b2c9407b.svg +1 -0
  1534. package/dist/client/safari.f175cdae2ee0be76.svg +1 -0
  1535. package/dist/client/samsung-internet.f241f6953ef66c29.svg +1 -0
  1536. package/dist/client/scrim-bg.27f047d7e991dbe9.png +0 -0
  1537. package/dist/client/scrim-hexagons.e59318adb5550050.svg +1 -0
  1538. package/dist/client/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
  1539. package/dist/client/search.5dd31cbeea7d1af9.svg +1 -0
  1540. package/dist/client/server.ee27a0ad5e97acf2.svg +1 -0
  1541. package/dist/client/smartphone.1a49e06c0e294c6b.svg +1 -0
  1542. package/dist/client/stats.json +2690 -0
  1543. package/dist/client/styles-a11y-menu.2e98b7cd718c5c19.js +1 -0
  1544. package/dist/client/styles-a11y-menu.53797029a4c05806.css +2 -0
  1545. package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +1 -0
  1546. package/dist/client/styles-advertising.518209a1af34dc4a.css +2 -0
  1547. package/dist/client/styles-advertising.518209a1af34dc4a.css.map +1 -0
  1548. package/dist/client/styles-advertising.ea40e455e971a08c.js +1 -0
  1549. package/dist/client/styles-article-footer.2a7aa2576e5bf09c.js +1 -0
  1550. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +2 -0
  1551. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +1 -0
  1552. package/dist/client/styles-banner.27a95586089161b4.css +2 -0
  1553. package/dist/client/styles-banner.27a95586089161b4.css.map +1 -0
  1554. package/dist/client/styles-banner.6c855e9feea9c071.js +1 -0
  1555. package/dist/client/styles-baseline-indicator.0ee33f4434f78f8f.js +1 -0
  1556. package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css +2 -0
  1557. package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +1 -0
  1558. package/dist/client/styles-blog-index.63718eed7985555b.js +1 -0
  1559. package/dist/client/styles-blog-index.adc896a6f9c59a37.css +2 -0
  1560. package/dist/client/styles-blog-index.adc896a6f9c59a37.css.map +1 -0
  1561. package/dist/client/styles-blog-post.5caeffbe1079348a.css +2 -0
  1562. package/dist/client/styles-blog-post.5caeffbe1079348a.css.map +1 -0
  1563. package/dist/client/styles-blog-post.e369a7b6bd7ee253.js +1 -0
  1564. package/dist/client/styles-breadcrumbs-bar.20dc2aa03bcf9988.js +1 -0
  1565. package/dist/client/styles-breadcrumbs-bar.62711b4bada74835.css +2 -0
  1566. package/dist/client/styles-breadcrumbs-bar.62711b4bada74835.css.map +1 -0
  1567. package/dist/client/styles-breadcrumbs.d07ccd5520eeea01.css +2 -0
  1568. package/dist/client/styles-breadcrumbs.d07ccd5520eeea01.css.map +1 -0
  1569. package/dist/client/styles-breadcrumbs.ffcf3e7f6aca4842.js +1 -0
  1570. package/dist/client/styles-button.9ef7569f2eb2448b.js +1 -0
  1571. package/dist/client/styles-content-section.1c33c36431d5093f.css +2 -0
  1572. package/dist/client/styles-content-section.1c33c36431d5093f.css.map +1 -0
  1573. package/dist/client/styles-content-section.26f255f6e62280ba.js +1 -0
  1574. package/dist/client/styles-contributor-spotlight.08b1f6ed86daacc7.js +1 -0
  1575. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +2 -0
  1576. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +1 -0
  1577. package/dist/client/styles-curriculum-about.0fa3c95d3b8086d6.js +1 -0
  1578. package/dist/client/styles-curriculum-about.b8d113b14323c909.css +2 -0
  1579. package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +1 -0
  1580. package/dist/client/styles-curriculum-default.1d95308cf28d0cbe.js +1 -0
  1581. package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
  1582. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +2 -0
  1583. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +1 -0
  1584. package/dist/client/styles-curriculum-landing.75954cd6cee0580a.js +1 -0
  1585. package/dist/client/styles-curriculum-module.1e885d2e7fbd00c6.js +1 -0
  1586. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +2 -0
  1587. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +1 -0
  1588. package/dist/client/styles-curriculum-overview.7efe6d339fda7e6e.js +1 -0
  1589. package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
  1590. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +2 -0
  1591. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +1 -0
  1592. package/dist/client/styles-featured-articles.f972eedcbf2136bd.js +1 -0
  1593. package/dist/client/styles-footer.3c3e234ab015a735.css +2 -0
  1594. package/dist/client/styles-footer.3c3e234ab015a735.css.map +1 -0
  1595. package/dist/client/styles-footer.c6cf58283ef90c67.js +1 -0
  1596. package/dist/client/styles-generic-about.481f176f22ba0def.css +2 -0
  1597. package/dist/client/styles-generic-about.481f176f22ba0def.css.map +1 -0
  1598. package/dist/client/styles-generic-about.e06415e7d0b644f8.js +1 -0
  1599. package/dist/client/styles-generic-community.dc7a6a279c4156dd.js +1 -0
  1600. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +2 -0
  1601. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +1 -0
  1602. package/dist/client/styles-generic-content.7960b980b98f1d3d.css +2 -0
  1603. package/dist/client/styles-generic-content.7960b980b98f1d3d.css.map +1 -0
  1604. package/dist/client/styles-generic-content.c29785e714ffd1f5.js +1 -0
  1605. package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +2 -0
  1606. package/dist/client/styles-generic-layout.55441b1a560f5c9f.css.map +1 -0
  1607. package/dist/client/styles-generic-layout.a0b477c1597318fb.js +1 -0
  1608. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +2 -0
  1609. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +1 -0
  1610. package/dist/client/styles-generic-sidebar.7d35fed4f9bc1d3f.js +1 -0
  1611. package/dist/client/styles-generic-toc.75b9d25451f88334.js +1 -0
  1612. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +2 -0
  1613. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +1 -0
  1614. package/dist/client/styles-global.8b55f72d0e86db92.css +2 -0
  1615. package/dist/client/styles-global.8b55f72d0e86db92.css.map +1 -0
  1616. package/dist/client/styles-global.b9628f4d3aaae98f.js +1 -0
  1617. package/dist/client/styles-heading-anchor.723d7995b359e9c5.js +1 -0
  1618. package/dist/client/styles-heading-anchor.b82a8a1bdd9d4a09.css +2 -0
  1619. package/dist/client/styles-heading-anchor.b82a8a1bdd9d4a09.css.map +1 -0
  1620. package/dist/client/styles-homepage-body.22274e9a4a78b7ae.css +2 -0
  1621. package/dist/client/styles-homepage-body.22274e9a4a78b7ae.css.map +1 -0
  1622. package/dist/client/styles-homepage-body.7804e89b5b1f5fb0.js +1 -0
  1623. package/dist/client/styles-homepage-contributor-spotlight.4d44b4638d86e2e7.js +1 -0
  1624. package/dist/client/styles-homepage-contributor-spotlight.f02bdd82c7536b72.css +2 -0
  1625. package/dist/client/styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map +1 -0
  1626. package/dist/client/styles-homepage-footer.5d6588cf8c9b4dc6.css +2 -0
  1627. package/dist/client/styles-homepage-footer.5d6588cf8c9b4dc6.css.map +1 -0
  1628. package/dist/client/styles-homepage-footer.6110ddf33f932da9.js +1 -0
  1629. package/dist/client/styles-homepage-header.64f2588e6f52cab3.js +1 -0
  1630. package/dist/client/styles-homepage-header.da8a69fafe1cfb00.css +2 -0
  1631. package/dist/client/styles-homepage-header.da8a69fafe1cfb00.css.map +1 -0
  1632. package/dist/client/styles-homepage-hero.ca54e4bc0c0b420e.css +2 -0
  1633. package/dist/client/styles-homepage-hero.ca54e4bc0c0b420e.css.map +1 -0
  1634. package/dist/client/styles-homepage-hero.f3b9f1a51df08e48.js +1 -0
  1635. package/dist/client/styles-homepage.0980eec27925cc11.css +2 -0
  1636. package/dist/client/styles-homepage.0980eec27925cc11.css.map +1 -0
  1637. package/dist/client/styles-homepage.3d3ddf3a45d9fb9f.js +1 -0
  1638. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +2 -0
  1639. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +1 -0
  1640. package/dist/client/styles-latest-news.3ee704eb566845af.js +1 -0
  1641. package/dist/client/styles-left-sidebar.3f5e96b31a5ba032.js +1 -0
  1642. package/dist/client/styles-left-sidebar.b45535ee8396b82c.css +2 -0
  1643. package/dist/client/styles-left-sidebar.b45535ee8396b82c.css.map +1 -0
  1644. package/dist/client/styles-logo.15cde079ff7cf413.js +1 -0
  1645. package/dist/client/styles-logo.a89a79f82f933ef6.css +2 -0
  1646. package/dist/client/styles-logo.a89a79f82f933ef6.css.map +1 -0
  1647. package/dist/client/styles-mandala.96281d90e09ea84c.css +2 -0
  1648. package/dist/client/styles-mandala.96281d90e09ea84c.css.map +1 -0
  1649. package/dist/client/styles-mandala.9d4782cc940eb79a.js +1 -0
  1650. package/dist/client/styles-menu.432117f56550a699.js +1 -0
  1651. package/dist/client/styles-menu.650ade27558d1b74.css +2 -0
  1652. package/dist/client/styles-menu.650ade27558d1b74.css.map +1 -0
  1653. package/dist/client/styles-navigation.160b8d68f3fbd7e9.css +2 -0
  1654. package/dist/client/styles-navigation.160b8d68f3fbd7e9.css.map +1 -0
  1655. package/dist/client/styles-navigation.ae5b4029d77512c1.js +1 -0
  1656. package/dist/client/styles-not-found.7b511b835e4030ea.css +2 -0
  1657. package/dist/client/styles-not-found.7b511b835e4030ea.css.map +1 -0
  1658. package/dist/client/styles-not-found.bb24f3d7153e6384.js +1 -0
  1659. package/dist/client/styles-observatory-landing.6ccab12860b70065.js +1 -0
  1660. package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
  1661. package/dist/client/styles-observatory-results.8debe68c8c1054ba.js +1 -0
  1662. package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
  1663. package/dist/client/styles-page-layout.3855b7fd5c6c1e0f.js +1 -0
  1664. package/dist/client/styles-page-layout.5db9be57df19de0c.css +2 -0
  1665. package/dist/client/styles-page-layout.5db9be57df19de0c.css.map +1 -0
  1666. package/dist/client/styles-pagination.5241370112fc2d33.js +1 -0
  1667. package/dist/client/styles-pagination.a6190729e7406d59.css +2 -0
  1668. package/dist/client/styles-pagination.a6190729e7406d59.css.map +1 -0
  1669. package/dist/client/styles-playground.5fd947e80ea7bbbc.js +1 -0
  1670. package/dist/client/styles-playground.f9812ae7cd68b2cf.css +2 -0
  1671. package/dist/client/styles-playground.f9812ae7cd68b2cf.css.map +1 -0
  1672. package/dist/client/styles-recent-contributions.96ef61f802ae3c05.js +1 -0
  1673. package/dist/client/styles-recent-contributions.ddcab7ad78446b98.css +2 -0
  1674. package/dist/client/styles-recent-contributions.ddcab7ad78446b98.css.map +1 -0
  1675. package/dist/client/styles-reference-layout.4b0aca3ae954f961.css +2 -0
  1676. package/dist/client/styles-reference-layout.4b0aca3ae954f961.css.map +1 -0
  1677. package/dist/client/styles-reference-layout.f70ad6dcede0cc3e.js +1 -0
  1678. package/dist/client/styles-reference-toc.5ce4f97dbe6e3ed0.css +2 -0
  1679. package/dist/client/styles-reference-toc.5ce4f97dbe6e3ed0.css.map +1 -0
  1680. package/dist/client/styles-reference-toc.6f6ac09833ba4a87.js +1 -0
  1681. package/dist/client/styles-sandbox.33cffca9447c527a.js +1 -0
  1682. package/dist/client/styles-sandbox.b819262115df2049.css +2 -0
  1683. package/dist/client/styles-sandbox.b819262115df2049.css.map +1 -0
  1684. package/dist/client/styles-translation-banner.733afddcfc7c2042.css +2 -0
  1685. package/dist/client/styles-translation-banner.733afddcfc7c2042.css.map +1 -0
  1686. package/dist/client/styles-translation-banner.cd2f5073403adc32.js +1 -0
  1687. package/dist/client/styles.911adb13c338ef51.js +2 -0
  1688. package/dist/client/styles.911adb13c338ef51.js.map +1 -0
  1689. package/dist/client/summary-icon.eff7a61e59b7e02f.svg +1 -0
  1690. package/dist/client/sun.1d7c3ad7bf6fc390.svg +1 -0
  1691. package/dist/client/survey.f654202dd710bc60.svg +1 -0
  1692. package/dist/client/text-box-check-outline.c3134e1621b4bb2f.svg +1 -0
  1693. package/dist/client/trash-2.73b28bc66fb8543c.svg +1 -0
  1694. package/dist/client/triangle-alert.cff4c57ccef57da3.svg +1 -0
  1695. package/dist/client/video-bg-dark.92ad28c89fc826e3.svg +1 -0
  1696. package/dist/client/video-bg.4fba76087554088a.svg +1 -0
  1697. package/dist/client/video-thumbnail.1d7009186b4b1fba.png +0 -0
  1698. package/dist/client/watify_bg.9877982a693ec402.wasm +0 -0
  1699. package/dist/client/web-check.7f00b2e30be0f9ae.svg +1 -0
  1700. package/dist/client/webview.69c6470100eb7da1.svg +1 -0
  1701. package/dist/client/wrench.a3caa7312a364b47.svg +1 -0
  1702. package/dist/client/youtube-play.48346821cb78779e.svg +1 -0
  1703. package/dist/inline/inline.f297fa097cea05c7.js.map +1 -0
  1704. package/dist/inline/inline.js +3 -0
  1705. package/dist/legacy/1284.8a84929ca476234f.css +2 -0
  1706. package/dist/legacy/1284.8a84929ca476234f.css.map +1 -0
  1707. package/dist/legacy/1284.a10cb8e8305b767b.js +3 -0
  1708. package/dist/legacy/1284.a10cb8e8305b767b.js.LICENSE.txt +9 -0
  1709. package/dist/legacy/1284.a10cb8e8305b767b.js.map +1 -0
  1710. package/dist/legacy/1517.fadaef8d7b596750.css +2 -0
  1711. package/dist/legacy/1517.fadaef8d7b596750.css.map +1 -0
  1712. package/dist/legacy/3340.c981163ed7c77693.js +2 -0
  1713. package/dist/legacy/3340.c981163ed7c77693.js.map +1 -0
  1714. package/dist/legacy/3957.f8e46976a249fa14.js +2 -0
  1715. package/dist/legacy/3957.f8e46976a249fa14.js.map +1 -0
  1716. package/dist/legacy/4556.0aa13ceaa4c2e447.js +2 -0
  1717. package/dist/legacy/4556.0aa13ceaa4c2e447.js.map +1 -0
  1718. package/dist/legacy/4557.a558cd3f5c086426.js +2 -0
  1719. package/dist/legacy/4557.a558cd3f5c086426.js.map +1 -0
  1720. package/dist/legacy/5194.3857c0f3afcafde0.js +2 -0
  1721. package/dist/legacy/5194.3857c0f3afcafde0.js.map +1 -0
  1722. package/dist/legacy/5379.ea44a3dd0291562a.js +2 -0
  1723. package/dist/legacy/5379.ea44a3dd0291562a.js.map +1 -0
  1724. package/dist/legacy/5575.a67696c41cc35a58.js +3 -0
  1725. package/dist/legacy/5575.a67696c41cc35a58.js.LICENSE.txt +8 -0
  1726. package/dist/legacy/5575.a67696c41cc35a58.js.map +1 -0
  1727. package/dist/legacy/68.98f82bad90460bf6.js +2 -0
  1728. package/dist/legacy/68.98f82bad90460bf6.js.map +1 -0
  1729. package/dist/legacy/6883.5757a779418effad.js +178 -0
  1730. package/dist/legacy/6883.5757a779418effad.js.LICENSE.txt +11 -0
  1731. package/dist/legacy/6883.5757a779418effad.js.map +1 -0
  1732. package/dist/legacy/7742.118e7ffb2d429b0f.js +60 -0
  1733. package/dist/legacy/7742.118e7ffb2d429b0f.js.LICENSE.txt +5 -0
  1734. package/dist/legacy/7742.118e7ffb2d429b0f.js.map +1 -0
  1735. package/dist/legacy/7742.9db50026de3e9e58.css +2 -0
  1736. package/dist/legacy/7742.9db50026de3e9e58.css.map +1 -0
  1737. package/dist/legacy/8302.7cd3ab5a2318d719.js +4 -0
  1738. package/dist/legacy/8302.7cd3ab5a2318d719.js.LICENSE.txt +17 -0
  1739. package/dist/legacy/8302.7cd3ab5a2318d719.js.map +1 -0
  1740. package/dist/legacy/8779.257d53536a0d5f02.css +2 -0
  1741. package/dist/legacy/8779.257d53536a0d5f02.css.map +1 -0
  1742. package/dist/legacy/9022.c6e57a39a2810cc3.js +2 -0
  1743. package/dist/legacy/9022.c6e57a39a2810cc3.js.map +1 -0
  1744. package/dist/legacy/BarlowCondensed-SemiBold.199288b668a15dc1.woff2 +0 -0
  1745. package/dist/legacy/Inter.var.730e8169368baf37.woff2 +0 -0
  1746. package/dist/legacy/add-filled.80d402757a60674d.svg +10 -0
  1747. package/dist/legacy/add.9310d8fcf4d12ca9.svg +12 -0
  1748. package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
  1749. package/dist/legacy/ai-help.ab31f935f670437e.svg +1 -0
  1750. package/dist/legacy/ai-help_dark.046ff33d604ca485.png +0 -0
  1751. package/dist/legacy/ai-help_light.e220f39b5cafabef.png +0 -0
  1752. package/dist/legacy/alert-circle.3335c0d7f5b2c5b6.svg +3 -0
  1753. package/dist/legacy/altname.42d2e41d11030519.svg +3 -0
  1754. package/dist/legacy/bell-filled.54210b230d4cd96a.svg +3 -0
  1755. package/dist/legacy/bell-ring.42eae9e00cdc5670.svg +3 -0
  1756. package/dist/legacy/bell.84639befc6b81f54.svg +10 -0
  1757. package/dist/legacy/bluesky.6217395adda884d6.svg +1 -0
  1758. package/dist/legacy/bookmark-filled.2871e99c943c520a.svg +3 -0
  1759. package/dist/legacy/bookmark.697100550aca63ed.svg +3 -0
  1760. package/dist/legacy/cancel.6ead14b4cb8b4694.svg +3 -0
  1761. package/dist/legacy/chatgpt.bbca9c9c3aceadc0.svg +1 -0
  1762. package/dist/legacy/checkmark.78b83561190aa5be.svg +3 -0
  1763. package/dist/legacy/chevron.5d373c9173be10ac.svg +3 -0
  1764. package/dist/legacy/chrome.34c80ba0e9389a43.svg +1 -0
  1765. package/dist/legacy/clippy.04b042246b8eb5d3.svg +12 -0
  1766. package/dist/legacy/collections.4d2b375ee696cf2e.png +0 -0
  1767. package/dist/legacy/critical.0569cc36ffba11c5.svg +2 -0
  1768. package/dist/legacy/curriculum-about-covered.fc1bc064f68bdc94.svg +25 -0
  1769. package/dist/legacy/curriculum-about-detail.cde5aac4bc0382ff.svg +25 -0
  1770. package/dist/legacy/curriculum-about-educators.cc26cdf6c8251004.svg +25 -0
  1771. package/dist/legacy/curriculum-about-not.c0afc382d860ab0c.svg +25 -0
  1772. package/dist/legacy/curriculum-about-students.6e789e80d10071b4.svg +25 -0
  1773. package/dist/legacy/curriculum-bullet.e4cc51ab8d7a7353.svg +27 -0
  1774. package/dist/legacy/curriculum-landing-about-beginner.5166f339392ce8a9.svg +25 -0
  1775. package/dist/legacy/curriculum-landing-about-bullet.046c6d7e69f09789.svg +27 -0
  1776. package/dist/legacy/curriculum-landing-about-free.a611c33d1ba7e33d.svg +25 -0
  1777. package/dist/legacy/curriculum-landing-about-pace.77a202dd136a4d3c.svg +25 -0
  1778. package/dist/legacy/curriculum-landing-arrow.458ced8a8dee9e19.svg +26 -0
  1779. package/dist/legacy/curriculum-landing-started-advanced.977e749fb909b586.svg +37 -0
  1780. package/dist/legacy/curriculum-landing-started-beginner.02e09619ed6e3f6b.svg +37 -0
  1781. package/dist/legacy/curriculum-landing-started-educator.47e9cc52f38138b9.svg +37 -0
  1782. package/dist/legacy/curriculum-landing-started-employment.9434f729055ae3ce.svg +37 -0
  1783. package/dist/legacy/curriculum-mdn-resource.ce11df2c516049b5.svg +27 -0
  1784. package/dist/legacy/curriculum-next.1e2c24ff7c72f8f3.svg +3 -0
  1785. package/dist/legacy/curriculum-partner-bg.b95320464e0fc574.svg +20 -0
  1786. package/dist/legacy/curriculum-prev.76a80bfc2bf346bf.svg +3 -0
  1787. package/dist/legacy/curriculum-scrim-bg.e316aaae40a106ee.svg +24 -0
  1788. package/dist/legacy/deno.6e66cc38cdfcb577.svg +1 -0
  1789. package/dist/legacy/deprecated.c40ec2e5fa028b18.svg +3 -0
  1790. package/dist/legacy/desktop.9916908187575ee8.svg +8 -0
  1791. package/dist/legacy/disabled.0a3139cf317f8e73.svg +3 -0
  1792. package/dist/legacy/edge.975e09d9c765224d.svg +1 -0
  1793. package/dist/legacy/edit-filled.4ff5b1542e5f26cd.svg +1 -0
  1794. package/dist/legacy/edit.b33bc30018dbe30a.svg +4 -0
  1795. package/dist/legacy/ellipses.9bbbfb1a5bab025d.svg +5 -0
  1796. package/dist/legacy/experimental.317e4709a9ee5689.svg +2 -0
  1797. package/dist/legacy/external.deb9bcd511070d4f.svg +6 -0
  1798. package/dist/legacy/eye-filled.513619bc9ac64fd9.svg +11 -0
  1799. package/dist/legacy/eye.1d6bc09fd049c172.svg +11 -0
  1800. package/dist/legacy/feed.d5d1bf625dc6b397.svg +1 -0
  1801. package/dist/legacy/feedback.d387aa9ea5798baf.svg +1 -0
  1802. package/dist/legacy/filter.9b5baf25968c04db.svg +3 -0
  1803. package/dist/legacy/footnote.e51e2440d994efe8.svg +1 -0
  1804. package/dist/legacy/fullscreen-enter.f9cca2e305a7a0dc.svg +24 -0
  1805. package/dist/legacy/github-mark-small.bd8d47c6d1b4b950.svg +1 -0
  1806. package/dist/legacy/high-dark.abe249f56b9c62f9.svg +1 -0
  1807. package/dist/legacy/high.ed4c328bec7a5dd4.svg +1 -0
  1808. package/dist/legacy/highlight.4843af48997a8fb8.svg +5 -0
  1809. package/dist/legacy/history.0214bce82868c39a.svg +3 -0
  1810. package/dist/legacy/ie.4c16845326d86ba9.svg +1 -0
  1811. package/dist/legacy/index.07937a11cd40a7ad.js +6 -0
  1812. package/dist/legacy/index.07937a11cd40a7ad.js.LICENSE.txt +85 -0
  1813. package/dist/legacy/index.07937a11cd40a7ad.js.map +1 -0
  1814. package/dist/legacy/index.95b67ebc43207ce9.css +2 -0
  1815. package/dist/legacy/index.95b67ebc43207ce9.css.map +1 -0
  1816. package/dist/legacy/information.8a003538c18a7e2d.svg +5 -0
  1817. package/dist/legacy/language.718cb4a62260b684.svg +6 -0
  1818. package/dist/legacy/lightbulb-question.7fbc672959b52326.svg +3 -0
  1819. package/dist/legacy/limited-dark.0d15ef53cc4ad5ef.svg +1 -0
  1820. package/dist/legacy/limited.2e37fd0b788967df.svg +1 -0
  1821. package/dist/legacy/low-dark.7a79f7b7368ef5c0.svg +1 -0
  1822. package/dist/legacy/low.0e3be746b80df89e.svg +1 -0
  1823. package/dist/legacy/m-logo.75ea8b51ac6d6271.svg +9 -0
  1824. package/dist/legacy/mastodon.fffa3e16e0b2db59.svg +3 -0
  1825. package/dist/legacy/menu-filled.420d33b5b8431346.svg +8 -0
  1826. package/dist/legacy/menu.360c324943803a41.svg +5 -0
  1827. package/dist/legacy/message.fbba45f4c3a1d6f2.svg +3 -0
  1828. package/dist/legacy/mobile.3a8d7a34c723487a.svg +3 -0
  1829. package/dist/legacy/more.e2fcd5fd16099c48.svg +5 -0
  1830. package/dist/legacy/new-topic.c44c2b02f1b782d6.svg +3 -0
  1831. package/dist/legacy/next.444bedba48443091.svg +3 -0
  1832. package/dist/legacy/no.c0dfcd03ea37bca6.svg +3 -0
  1833. package/dist/legacy/nodejs.2d9a0f9022cb52ad.svg +1 -0
  1834. package/dist/legacy/nonstandard.cd4aec5f2f0a3c65.svg +3 -0
  1835. package/dist/legacy/note-deprecated.373dd62cee35d969.svg +3 -0
  1836. package/dist/legacy/note-info.eacdd4a9f2821d63.svg +3 -0
  1837. package/dist/legacy/note-warning.cd4aec5f2f0a3c65.svg +3 -0
  1838. package/dist/legacy/opera.ad21150bc9f8e600.svg +1 -0
  1839. package/dist/legacy/padlock.e6e46d7305e05ed1.svg +4 -0
  1840. package/dist/legacy/partial.f19850f9f004b1b2.svg +3 -0
  1841. package/dist/legacy/play.ba68e261a8be081c.svg +4 -0
  1842. package/dist/legacy/playground.c87b7174563d837f.png +0 -0
  1843. package/dist/legacy/prefix.2977e3d4b9fb9a82.svg +5 -0
  1844. package/dist/legacy/preview.7f907b4753312e8b.svg +2 -0
  1845. package/dist/legacy/previous.5b9f782377e19f50.svg +3 -0
  1846. package/dist/legacy/prism-abap-js.065c2ef845645dcc.js +2 -0
  1847. package/dist/legacy/prism-abap-js.065c2ef845645dcc.js.map +1 -0
  1848. package/dist/legacy/prism-abnf-js.9f54518cb96a5f84.js +2 -0
  1849. package/dist/legacy/prism-abnf-js.9f54518cb96a5f84.js.map +1 -0
  1850. package/dist/legacy/prism-actionscript-js.bd37ca935477738b.js +2 -0
  1851. package/dist/legacy/prism-actionscript-js.bd37ca935477738b.js.map +1 -0
  1852. package/dist/legacy/prism-ada-js.37afda8c3e854d0c.js +2 -0
  1853. package/dist/legacy/prism-ada-js.37afda8c3e854d0c.js.map +1 -0
  1854. package/dist/legacy/prism-agda-js.59b2d1f7c1270529.js +2 -0
  1855. package/dist/legacy/prism-agda-js.59b2d1f7c1270529.js.map +1 -0
  1856. package/dist/legacy/prism-al-js.87450c93fc25e3b0.js +2 -0
  1857. package/dist/legacy/prism-al-js.87450c93fc25e3b0.js.map +1 -0
  1858. package/dist/legacy/prism-antlr4-js.970086b80a3f5174.js +2 -0
  1859. package/dist/legacy/prism-antlr4-js.970086b80a3f5174.js.map +1 -0
  1860. package/dist/legacy/prism-apacheconf-js.fe4e4ddaef660339.js +2 -0
  1861. package/dist/legacy/prism-apacheconf-js.fe4e4ddaef660339.js.map +1 -0
  1862. package/dist/legacy/prism-apex-js.8a3af9ff6d392dbb.js +2 -0
  1863. package/dist/legacy/prism-apex-js.8a3af9ff6d392dbb.js.map +1 -0
  1864. package/dist/legacy/prism-apl-js.af0b2027efb67aee.js +2 -0
  1865. package/dist/legacy/prism-apl-js.af0b2027efb67aee.js.map +1 -0
  1866. package/dist/legacy/prism-applescript-js.774f7843a71944c2.js +2 -0
  1867. package/dist/legacy/prism-applescript-js.774f7843a71944c2.js.map +1 -0
  1868. package/dist/legacy/prism-aql-js.dfc16bd7b3627870.js +2 -0
  1869. package/dist/legacy/prism-aql-js.dfc16bd7b3627870.js.map +1 -0
  1870. package/dist/legacy/prism-arduino-js.fffd7cb41b6f86f2.js +2 -0
  1871. package/dist/legacy/prism-arduino-js.fffd7cb41b6f86f2.js.map +1 -0
  1872. package/dist/legacy/prism-arff-js.7b1b50526660298d.js +2 -0
  1873. package/dist/legacy/prism-arff-js.7b1b50526660298d.js.map +1 -0
  1874. package/dist/legacy/prism-armasm-js.ca02943bebec1278.js +2 -0
  1875. package/dist/legacy/prism-armasm-js.ca02943bebec1278.js.map +1 -0
  1876. package/dist/legacy/prism-arturo-js.3d3aeba91965c2d3.js +2 -0
  1877. package/dist/legacy/prism-arturo-js.3d3aeba91965c2d3.js.map +1 -0
  1878. package/dist/legacy/prism-asciidoc-js.4c63cf8587b079bd.js +2 -0
  1879. package/dist/legacy/prism-asciidoc-js.4c63cf8587b079bd.js.map +1 -0
  1880. package/dist/legacy/prism-asm6502-js.f67d5fc0a76e1352.js +2 -0
  1881. package/dist/legacy/prism-asm6502-js.f67d5fc0a76e1352.js.map +1 -0
  1882. package/dist/legacy/prism-asmatmel-js.ac4a012894f4f21a.js +2 -0
  1883. package/dist/legacy/prism-asmatmel-js.ac4a012894f4f21a.js.map +1 -0
  1884. package/dist/legacy/prism-aspnet-js.af5f934c9de385ac.js +2 -0
  1885. package/dist/legacy/prism-aspnet-js.af5f934c9de385ac.js.map +1 -0
  1886. package/dist/legacy/prism-autohotkey-js.6c06b8e2194913a3.js +2 -0
  1887. package/dist/legacy/prism-autohotkey-js.6c06b8e2194913a3.js.map +1 -0
  1888. package/dist/legacy/prism-autoit-js.45462f011be40def.js +2 -0
  1889. package/dist/legacy/prism-autoit-js.45462f011be40def.js.map +1 -0
  1890. package/dist/legacy/prism-avisynth-js.72fb1eb90651e172.js +2 -0
  1891. package/dist/legacy/prism-avisynth-js.72fb1eb90651e172.js.map +1 -0
  1892. package/dist/legacy/prism-avro-idl-js.eb9489bffdc2514d.js +2 -0
  1893. package/dist/legacy/prism-avro-idl-js.eb9489bffdc2514d.js.map +1 -0
  1894. package/dist/legacy/prism-awk-js.7489c018ad99a00b.js +2 -0
  1895. package/dist/legacy/prism-awk-js.7489c018ad99a00b.js.map +1 -0
  1896. package/dist/legacy/prism-bash-js.c4736ca125bdb11b.js +2 -0
  1897. package/dist/legacy/prism-bash-js.c4736ca125bdb11b.js.map +1 -0
  1898. package/dist/legacy/prism-basic-js.32ccfcfd83800dfe.js +2 -0
  1899. package/dist/legacy/prism-basic-js.32ccfcfd83800dfe.js.map +1 -0
  1900. package/dist/legacy/prism-batch-js.c73ec6d9d03bc6c2.js +2 -0
  1901. package/dist/legacy/prism-batch-js.c73ec6d9d03bc6c2.js.map +1 -0
  1902. package/dist/legacy/prism-bbcode-js.d2f98c847308cc9e.js +2 -0
  1903. package/dist/legacy/prism-bbcode-js.d2f98c847308cc9e.js.map +1 -0
  1904. package/dist/legacy/prism-bbj-js.ca04c9ac043e0cf1.js +2 -0
  1905. package/dist/legacy/prism-bbj-js.ca04c9ac043e0cf1.js.map +1 -0
  1906. package/dist/legacy/prism-bicep-js.ffc77db23d986cb7.js +2 -0
  1907. package/dist/legacy/prism-bicep-js.ffc77db23d986cb7.js.map +1 -0
  1908. package/dist/legacy/prism-birb-js.823301111a64edc5.js +2 -0
  1909. package/dist/legacy/prism-birb-js.823301111a64edc5.js.map +1 -0
  1910. package/dist/legacy/prism-bison-js.209dce152adc379a.js +2 -0
  1911. package/dist/legacy/prism-bison-js.209dce152adc379a.js.map +1 -0
  1912. package/dist/legacy/prism-bnf-js.4cce2b549a999dde.js +2 -0
  1913. package/dist/legacy/prism-bnf-js.4cce2b549a999dde.js.map +1 -0
  1914. package/dist/legacy/prism-bqn-js.ef80b027153d8e25.js +2 -0
  1915. package/dist/legacy/prism-bqn-js.ef80b027153d8e25.js.map +1 -0
  1916. package/dist/legacy/prism-brainfuck-js.3da54af2fa1c640c.js +2 -0
  1917. package/dist/legacy/prism-brainfuck-js.3da54af2fa1c640c.js.map +1 -0
  1918. package/dist/legacy/prism-brightscript-js.0fe2fcc86ce81701.js +2 -0
  1919. package/dist/legacy/prism-brightscript-js.0fe2fcc86ce81701.js.map +1 -0
  1920. package/dist/legacy/prism-bro-js.5c2139f05170545e.js +2 -0
  1921. package/dist/legacy/prism-bro-js.5c2139f05170545e.js.map +1 -0
  1922. package/dist/legacy/prism-bsl-js.4f855065fb67ae4c.js +2 -0
  1923. package/dist/legacy/prism-bsl-js.4f855065fb67ae4c.js.map +1 -0
  1924. package/dist/legacy/prism-c-js.3963deebbb60bd72.js +2 -0
  1925. package/dist/legacy/prism-c-js.3963deebbb60bd72.js.map +1 -0
  1926. package/dist/legacy/prism-cfscript-js.e468437a4dff965d.js +2 -0
  1927. package/dist/legacy/prism-cfscript-js.e468437a4dff965d.js.map +1 -0
  1928. package/dist/legacy/prism-chaiscript-js.18f76e99ca78b229.js +2 -0
  1929. package/dist/legacy/prism-chaiscript-js.18f76e99ca78b229.js.map +1 -0
  1930. package/dist/legacy/prism-cil-js.40bc7326d966260e.js +2 -0
  1931. package/dist/legacy/prism-cil-js.40bc7326d966260e.js.map +1 -0
  1932. package/dist/legacy/prism-cilkc-js.30d0f36167d6ecc6.js +2 -0
  1933. package/dist/legacy/prism-cilkc-js.30d0f36167d6ecc6.js.map +1 -0
  1934. package/dist/legacy/prism-cilkcpp-js.f412735d8428093a.js +2 -0
  1935. package/dist/legacy/prism-cilkcpp-js.f412735d8428093a.js.map +1 -0
  1936. package/dist/legacy/prism-clike-js.68b8ebbf1bab8ba6.js +2 -0
  1937. package/dist/legacy/prism-clike-js.68b8ebbf1bab8ba6.js.map +1 -0
  1938. package/dist/legacy/prism-clojure-js.784ec9e089cec2be.js +2 -0
  1939. package/dist/legacy/prism-clojure-js.784ec9e089cec2be.js.map +1 -0
  1940. package/dist/legacy/prism-cmake-js.3d0082f798e40c43.js +2 -0
  1941. package/dist/legacy/prism-cmake-js.3d0082f798e40c43.js.map +1 -0
  1942. package/dist/legacy/prism-cobol-js.1f2837d1de7ba9e0.js +2 -0
  1943. package/dist/legacy/prism-cobol-js.1f2837d1de7ba9e0.js.map +1 -0
  1944. package/dist/legacy/prism-coffeescript-js.43fe3d4a895c9dd0.js +2 -0
  1945. package/dist/legacy/prism-coffeescript-js.43fe3d4a895c9dd0.js.map +1 -0
  1946. package/dist/legacy/prism-concurnas-js.848e0d8983d43881.js +2 -0
  1947. package/dist/legacy/prism-concurnas-js.848e0d8983d43881.js.map +1 -0
  1948. package/dist/legacy/prism-cooklang-js.78b2ac93cbb28f01.js +2 -0
  1949. package/dist/legacy/prism-cooklang-js.78b2ac93cbb28f01.js.map +1 -0
  1950. package/dist/legacy/prism-coq-js.eb9d70dccdccd8ee.js +2 -0
  1951. package/dist/legacy/prism-coq-js.eb9d70dccdccd8ee.js.map +1 -0
  1952. package/dist/legacy/prism-core-js.e021c4ed977b7b46.js +3 -0
  1953. package/dist/legacy/prism-core-js.e021c4ed977b7b46.js.LICENSE.txt +8 -0
  1954. package/dist/legacy/prism-core-js.e021c4ed977b7b46.js.map +1 -0
  1955. package/dist/legacy/prism-cpp-js.d0da177439198e3e.js +2 -0
  1956. package/dist/legacy/prism-cpp-js.d0da177439198e3e.js.map +1 -0
  1957. package/dist/legacy/prism-crystal-js.0d662808471e4233.js +2 -0
  1958. package/dist/legacy/prism-crystal-js.0d662808471e4233.js.map +1 -0
  1959. package/dist/legacy/prism-csharp-js.4ace3f83ab9e51ca.js +2 -0
  1960. package/dist/legacy/prism-csharp-js.4ace3f83ab9e51ca.js.map +1 -0
  1961. package/dist/legacy/prism-cshtml-js.ec14560be43d0ef9.js +2 -0
  1962. package/dist/legacy/prism-cshtml-js.ec14560be43d0ef9.js.map +1 -0
  1963. package/dist/legacy/prism-csp-js.c79e9507a3e6c6e5.js +2 -0
  1964. package/dist/legacy/prism-csp-js.c79e9507a3e6c6e5.js.map +1 -0
  1965. package/dist/legacy/prism-css-extras-js.e19c1eef3c813cb1.js +2 -0
  1966. package/dist/legacy/prism-css-extras-js.e19c1eef3c813cb1.js.map +1 -0
  1967. package/dist/legacy/prism-css-js.f8df4b07dbbb8110.js +2 -0
  1968. package/dist/legacy/prism-css-js.f8df4b07dbbb8110.js.map +1 -0
  1969. package/dist/legacy/prism-csv-js.ca0343683cdffdce.js +2 -0
  1970. package/dist/legacy/prism-csv-js.ca0343683cdffdce.js.map +1 -0
  1971. package/dist/legacy/prism-cue-js.06de9eb3bfcb6717.js +2 -0
  1972. package/dist/legacy/prism-cue-js.06de9eb3bfcb6717.js.map +1 -0
  1973. package/dist/legacy/prism-cypher-js.28ebf0b4a882f767.js +2 -0
  1974. package/dist/legacy/prism-cypher-js.28ebf0b4a882f767.js.map +1 -0
  1975. package/dist/legacy/prism-d-js.d6a79cbd4ddcd192.js +2 -0
  1976. package/dist/legacy/prism-d-js.d6a79cbd4ddcd192.js.map +1 -0
  1977. package/dist/legacy/prism-dart-js.5dd239fc22ea1035.js +2 -0
  1978. package/dist/legacy/prism-dart-js.5dd239fc22ea1035.js.map +1 -0
  1979. package/dist/legacy/prism-dataweave-js.a301ff77002f050b.js +2 -0
  1980. package/dist/legacy/prism-dataweave-js.a301ff77002f050b.js.map +1 -0
  1981. package/dist/legacy/prism-dax-js.0a248857c2b69dd1.js +2 -0
  1982. package/dist/legacy/prism-dax-js.0a248857c2b69dd1.js.map +1 -0
  1983. package/dist/legacy/prism-dhall-js.36ad25138084fa7d.js +2 -0
  1984. package/dist/legacy/prism-dhall-js.36ad25138084fa7d.js.map +1 -0
  1985. package/dist/legacy/prism-diff-js.6eb48101fbddc314.js +2 -0
  1986. package/dist/legacy/prism-diff-js.6eb48101fbddc314.js.map +1 -0
  1987. package/dist/legacy/prism-django-js.cd752a03848964c9.js +2 -0
  1988. package/dist/legacy/prism-django-js.cd752a03848964c9.js.map +1 -0
  1989. package/dist/legacy/prism-dns-zone-file-js.97244dbba9406c4c.js +2 -0
  1990. package/dist/legacy/prism-dns-zone-file-js.97244dbba9406c4c.js.map +1 -0
  1991. package/dist/legacy/prism-docker-js.47f9f17ef57217d4.js +2 -0
  1992. package/dist/legacy/prism-docker-js.47f9f17ef57217d4.js.map +1 -0
  1993. package/dist/legacy/prism-dot-js.043adf1a9532d336.js +2 -0
  1994. package/dist/legacy/prism-dot-js.043adf1a9532d336.js.map +1 -0
  1995. package/dist/legacy/prism-ebnf-js.b0c92c040db7540a.js +2 -0
  1996. package/dist/legacy/prism-ebnf-js.b0c92c040db7540a.js.map +1 -0
  1997. package/dist/legacy/prism-editorconfig-js.27fb2b797dd8e4da.js +2 -0
  1998. package/dist/legacy/prism-editorconfig-js.27fb2b797dd8e4da.js.map +1 -0
  1999. package/dist/legacy/prism-eiffel-js.0617c0ccc783c347.js +2 -0
  2000. package/dist/legacy/prism-eiffel-js.0617c0ccc783c347.js.map +1 -0
  2001. package/dist/legacy/prism-ejs-js.c9c68f5089511537.js +2 -0
  2002. package/dist/legacy/prism-ejs-js.c9c68f5089511537.js.map +1 -0
  2003. package/dist/legacy/prism-elixir-js.cb5b61e19e959fc9.js +2 -0
  2004. package/dist/legacy/prism-elixir-js.cb5b61e19e959fc9.js.map +1 -0
  2005. package/dist/legacy/prism-elm-js.2592214667974e6f.js +2 -0
  2006. package/dist/legacy/prism-elm-js.2592214667974e6f.js.map +1 -0
  2007. package/dist/legacy/prism-erb-js.d70dc73aeedbd388.js +2 -0
  2008. package/dist/legacy/prism-erb-js.d70dc73aeedbd388.js.map +1 -0
  2009. package/dist/legacy/prism-erlang-js.32f32a44c5b2f47b.js +2 -0
  2010. package/dist/legacy/prism-erlang-js.32f32a44c5b2f47b.js.map +1 -0
  2011. package/dist/legacy/prism-etlua-js.ef20bc08dc8fe2eb.js +2 -0
  2012. package/dist/legacy/prism-etlua-js.ef20bc08dc8fe2eb.js.map +1 -0
  2013. package/dist/legacy/prism-excel-formula-js.14f8224a62f3c247.js +2 -0
  2014. package/dist/legacy/prism-excel-formula-js.14f8224a62f3c247.js.map +1 -0
  2015. package/dist/legacy/prism-factor-js.7fdf5cfb5036f6d1.js +2 -0
  2016. package/dist/legacy/prism-factor-js.7fdf5cfb5036f6d1.js.map +1 -0
  2017. package/dist/legacy/prism-false-js.fecbf39f8793f86e.js +2 -0
  2018. package/dist/legacy/prism-false-js.fecbf39f8793f86e.js.map +1 -0
  2019. package/dist/legacy/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js +2 -0
  2020. package/dist/legacy/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js.map +1 -0
  2021. package/dist/legacy/prism-flow-js.6573302ec7e569d8.js +2 -0
  2022. package/dist/legacy/prism-flow-js.6573302ec7e569d8.js.map +1 -0
  2023. package/dist/legacy/prism-fortran-js.15ff306aa3ea08b8.js +2 -0
  2024. package/dist/legacy/prism-fortran-js.15ff306aa3ea08b8.js.map +1 -0
  2025. package/dist/legacy/prism-fsharp-js.64b92ed69706c108.js +2 -0
  2026. package/dist/legacy/prism-fsharp-js.64b92ed69706c108.js.map +1 -0
  2027. package/dist/legacy/prism-ftl-js.f4a23b20ea43487e.js +2 -0
  2028. package/dist/legacy/prism-ftl-js.f4a23b20ea43487e.js.map +1 -0
  2029. package/dist/legacy/prism-gap-js.4c99a398f1e5fc72.js +2 -0
  2030. package/dist/legacy/prism-gap-js.4c99a398f1e5fc72.js.map +1 -0
  2031. package/dist/legacy/prism-gcode-js.1b5798050811b233.js +2 -0
  2032. package/dist/legacy/prism-gcode-js.1b5798050811b233.js.map +1 -0
  2033. package/dist/legacy/prism-gdscript-js.57ebb74c439e9082.js +2 -0
  2034. package/dist/legacy/prism-gdscript-js.57ebb74c439e9082.js.map +1 -0
  2035. package/dist/legacy/prism-gedcom-js.a5ce074e62c22e92.js +2 -0
  2036. package/dist/legacy/prism-gedcom-js.a5ce074e62c22e92.js.map +1 -0
  2037. package/dist/legacy/prism-gettext-js.ce0da100a2e3e5a8.js +2 -0
  2038. package/dist/legacy/prism-gettext-js.ce0da100a2e3e5a8.js.map +1 -0
  2039. package/dist/legacy/prism-gherkin-js.4e47ded25437182c.js +2 -0
  2040. package/dist/legacy/prism-gherkin-js.4e47ded25437182c.js.map +1 -0
  2041. package/dist/legacy/prism-git-js.952b94296e787802.js +2 -0
  2042. package/dist/legacy/prism-git-js.952b94296e787802.js.map +1 -0
  2043. package/dist/legacy/prism-glsl-js.28385e6afacc2c39.js +2 -0
  2044. package/dist/legacy/prism-glsl-js.28385e6afacc2c39.js.map +1 -0
  2045. package/dist/legacy/prism-gml-js.0994258c6d8e2287.js +2 -0
  2046. package/dist/legacy/prism-gml-js.0994258c6d8e2287.js.map +1 -0
  2047. package/dist/legacy/prism-gn-js.3e89d9138f84c1b0.js +2 -0
  2048. package/dist/legacy/prism-gn-js.3e89d9138f84c1b0.js.map +1 -0
  2049. package/dist/legacy/prism-go-js.6ff00572fcf0248d.js +2 -0
  2050. package/dist/legacy/prism-go-js.6ff00572fcf0248d.js.map +1 -0
  2051. package/dist/legacy/prism-go-module-js.0b3ceaec32ceba28.js +2 -0
  2052. package/dist/legacy/prism-go-module-js.0b3ceaec32ceba28.js.map +1 -0
  2053. package/dist/legacy/prism-gradle-js.05e27f1b9f5aced9.js +2 -0
  2054. package/dist/legacy/prism-gradle-js.05e27f1b9f5aced9.js.map +1 -0
  2055. package/dist/legacy/prism-graphql-js.f5013759dfa50a6b.js +2 -0
  2056. package/dist/legacy/prism-graphql-js.f5013759dfa50a6b.js.map +1 -0
  2057. package/dist/legacy/prism-groovy-js.a76fbe16dce5080a.js +2 -0
  2058. package/dist/legacy/prism-groovy-js.a76fbe16dce5080a.js.map +1 -0
  2059. package/dist/legacy/prism-haml-js.37538cf91297d8fc.js +2 -0
  2060. package/dist/legacy/prism-haml-js.37538cf91297d8fc.js.map +1 -0
  2061. package/dist/legacy/prism-handlebars-js.e1a9771eed504377.js +2 -0
  2062. package/dist/legacy/prism-handlebars-js.e1a9771eed504377.js.map +1 -0
  2063. package/dist/legacy/prism-haskell-js.3627e0915562ca44.js +2 -0
  2064. package/dist/legacy/prism-haskell-js.3627e0915562ca44.js.map +1 -0
  2065. package/dist/legacy/prism-haxe-js.bec5ae3678655676.js +2 -0
  2066. package/dist/legacy/prism-haxe-js.bec5ae3678655676.js.map +1 -0
  2067. package/dist/legacy/prism-hcl-js.30dbcbae990bc966.js +2 -0
  2068. package/dist/legacy/prism-hcl-js.30dbcbae990bc966.js.map +1 -0
  2069. package/dist/legacy/prism-hlsl-js.8cebde13f4530830.js +2 -0
  2070. package/dist/legacy/prism-hlsl-js.8cebde13f4530830.js.map +1 -0
  2071. package/dist/legacy/prism-hoon-js.64cfefa2d9e8a2cd.js +2 -0
  2072. package/dist/legacy/prism-hoon-js.64cfefa2d9e8a2cd.js.map +1 -0
  2073. package/dist/legacy/prism-hpkp-js.fe3c755cead4261f.js +2 -0
  2074. package/dist/legacy/prism-hpkp-js.fe3c755cead4261f.js.map +1 -0
  2075. package/dist/legacy/prism-hsts-js.fd4774b39a052d56.js +2 -0
  2076. package/dist/legacy/prism-hsts-js.fd4774b39a052d56.js.map +1 -0
  2077. package/dist/legacy/prism-http-js.6a1674b96913e1d2.js +2 -0
  2078. package/dist/legacy/prism-http-js.6a1674b96913e1d2.js.map +1 -0
  2079. package/dist/legacy/prism-ichigojam-js.2aa0fb0434dc0ba0.js +2 -0
  2080. package/dist/legacy/prism-ichigojam-js.2aa0fb0434dc0ba0.js.map +1 -0
  2081. package/dist/legacy/prism-icon-js.dae48fdeb769c90c.js +2 -0
  2082. package/dist/legacy/prism-icon-js.dae48fdeb769c90c.js.map +1 -0
  2083. package/dist/legacy/prism-icu-message-format-js.b01a3652df333f15.js +2 -0
  2084. package/dist/legacy/prism-icu-message-format-js.b01a3652df333f15.js.map +1 -0
  2085. package/dist/legacy/prism-idris-js.4915cbf2aaf1e259.js +2 -0
  2086. package/dist/legacy/prism-idris-js.4915cbf2aaf1e259.js.map +1 -0
  2087. package/dist/legacy/prism-iecst-js.f79f065cbe6d9ff9.js +2 -0
  2088. package/dist/legacy/prism-iecst-js.f79f065cbe6d9ff9.js.map +1 -0
  2089. package/dist/legacy/prism-ignore-js.5fe2f6385139746c.js +2 -0
  2090. package/dist/legacy/prism-ignore-js.5fe2f6385139746c.js.map +1 -0
  2091. package/dist/legacy/prism-inform7-js.4aba19ba0de6fd81.js +2 -0
  2092. package/dist/legacy/prism-inform7-js.4aba19ba0de6fd81.js.map +1 -0
  2093. package/dist/legacy/prism-ini-js.da6b4bd40630e6f0.js +2 -0
  2094. package/dist/legacy/prism-ini-js.da6b4bd40630e6f0.js.map +1 -0
  2095. package/dist/legacy/prism-io-js.e2e5ed7961fe03a2.js +2 -0
  2096. package/dist/legacy/prism-io-js.e2e5ed7961fe03a2.js.map +1 -0
  2097. package/dist/legacy/prism-j-js.f1fa07dada3cfced.js +2 -0
  2098. package/dist/legacy/prism-j-js.f1fa07dada3cfced.js.map +1 -0
  2099. package/dist/legacy/prism-java-js.08e5feb02674c6c7.js +2 -0
  2100. package/dist/legacy/prism-java-js.08e5feb02674c6c7.js.map +1 -0
  2101. package/dist/legacy/prism-javadoc-js.72c60ee45b7040a2.js +2 -0
  2102. package/dist/legacy/prism-javadoc-js.72c60ee45b7040a2.js.map +1 -0
  2103. package/dist/legacy/prism-javadoclike-js.dc334a342b6020dd.js +2 -0
  2104. package/dist/legacy/prism-javadoclike-js.dc334a342b6020dd.js.map +1 -0
  2105. package/dist/legacy/prism-javascript-js.e251785abe437649.js +2 -0
  2106. package/dist/legacy/prism-javascript-js.e251785abe437649.js.map +1 -0
  2107. package/dist/legacy/prism-javastacktrace-js.16d656522cf7e42d.js +2 -0
  2108. package/dist/legacy/prism-javastacktrace-js.16d656522cf7e42d.js.map +1 -0
  2109. package/dist/legacy/prism-jexl-js.bc969a596de4e5af.js +2 -0
  2110. package/dist/legacy/prism-jexl-js.bc969a596de4e5af.js.map +1 -0
  2111. package/dist/legacy/prism-jolie-js.33b7f101d659d811.js +2 -0
  2112. package/dist/legacy/prism-jolie-js.33b7f101d659d811.js.map +1 -0
  2113. package/dist/legacy/prism-jq-js.0ea442fd843ad9f8.js +2 -0
  2114. package/dist/legacy/prism-jq-js.0ea442fd843ad9f8.js.map +1 -0
  2115. package/dist/legacy/prism-js-extras-js.6e073fde2bdf4b3d.js +2 -0
  2116. package/dist/legacy/prism-js-extras-js.6e073fde2bdf4b3d.js.map +1 -0
  2117. package/dist/legacy/prism-js-templates-js.9ef27e25ceedd205.js +2 -0
  2118. package/dist/legacy/prism-js-templates-js.9ef27e25ceedd205.js.map +1 -0
  2119. package/dist/legacy/prism-jsdoc-js.065483e1ad0355e4.js +2 -0
  2120. package/dist/legacy/prism-jsdoc-js.065483e1ad0355e4.js.map +1 -0
  2121. package/dist/legacy/prism-json-js.d0f7c8e494205056.js +2 -0
  2122. package/dist/legacy/prism-json-js.d0f7c8e494205056.js.map +1 -0
  2123. package/dist/legacy/prism-json5-js.7fc8011683fbb461.js +2 -0
  2124. package/dist/legacy/prism-json5-js.7fc8011683fbb461.js.map +1 -0
  2125. package/dist/legacy/prism-jsonp-js.fa6e2ee38cb730e8.js +2 -0
  2126. package/dist/legacy/prism-jsonp-js.fa6e2ee38cb730e8.js.map +1 -0
  2127. package/dist/legacy/prism-jsstacktrace-js.f57174f8d31822dd.js +2 -0
  2128. package/dist/legacy/prism-jsstacktrace-js.f57174f8d31822dd.js.map +1 -0
  2129. package/dist/legacy/prism-jsx-js.94701e2a3b086ae4.js +2 -0
  2130. package/dist/legacy/prism-jsx-js.94701e2a3b086ae4.js.map +1 -0
  2131. package/dist/legacy/prism-julia-js.108bb422cf317785.js +2 -0
  2132. package/dist/legacy/prism-julia-js.108bb422cf317785.js.map +1 -0
  2133. package/dist/legacy/prism-keepalived-js.e3dd9ca0053167fc.js +2 -0
  2134. package/dist/legacy/prism-keepalived-js.e3dd9ca0053167fc.js.map +1 -0
  2135. package/dist/legacy/prism-keyman-js.9cc1e659dba2b684.js +2 -0
  2136. package/dist/legacy/prism-keyman-js.9cc1e659dba2b684.js.map +1 -0
  2137. package/dist/legacy/prism-kotlin-js.6be2ab600d7645f7.js +2 -0
  2138. package/dist/legacy/prism-kotlin-js.6be2ab600d7645f7.js.map +1 -0
  2139. package/dist/legacy/prism-kumir-js.3a9a46af0f9bbf3b.js +2 -0
  2140. package/dist/legacy/prism-kumir-js.3a9a46af0f9bbf3b.js.map +1 -0
  2141. package/dist/legacy/prism-kusto-js.bce9fde2205047d9.js +2 -0
  2142. package/dist/legacy/prism-kusto-js.bce9fde2205047d9.js.map +1 -0
  2143. package/dist/legacy/prism-latex-js.d3fa74bc54ac219d.js +2 -0
  2144. package/dist/legacy/prism-latex-js.d3fa74bc54ac219d.js.map +1 -0
  2145. package/dist/legacy/prism-latte-js.bf6c471a6748937b.js +2 -0
  2146. package/dist/legacy/prism-latte-js.bf6c471a6748937b.js.map +1 -0
  2147. package/dist/legacy/prism-less-js.59746649c545800f.js +2 -0
  2148. package/dist/legacy/prism-less-js.59746649c545800f.js.map +1 -0
  2149. package/dist/legacy/prism-lilypond-js.3d69618fe9236e25.js +2 -0
  2150. package/dist/legacy/prism-lilypond-js.3d69618fe9236e25.js.map +1 -0
  2151. package/dist/legacy/prism-linker-script-js.d90196ac2f9aab45.js +2 -0
  2152. package/dist/legacy/prism-linker-script-js.d90196ac2f9aab45.js.map +1 -0
  2153. package/dist/legacy/prism-liquid-js.40e5a33158a20784.js +2 -0
  2154. package/dist/legacy/prism-liquid-js.40e5a33158a20784.js.map +1 -0
  2155. package/dist/legacy/prism-lisp-js.5d696adcdb25a133.js +2 -0
  2156. package/dist/legacy/prism-lisp-js.5d696adcdb25a133.js.map +1 -0
  2157. package/dist/legacy/prism-livescript-js.c5706c6b0607bd28.js +2 -0
  2158. package/dist/legacy/prism-livescript-js.c5706c6b0607bd28.js.map +1 -0
  2159. package/dist/legacy/prism-llvm-js.0903041f8dacb466.js +2 -0
  2160. package/dist/legacy/prism-llvm-js.0903041f8dacb466.js.map +1 -0
  2161. package/dist/legacy/prism-log-js.86b7ed6d3a0b2391.js +2 -0
  2162. package/dist/legacy/prism-log-js.86b7ed6d3a0b2391.js.map +1 -0
  2163. package/dist/legacy/prism-lolcode-js.447f1ee4d1b435f9.js +2 -0
  2164. package/dist/legacy/prism-lolcode-js.447f1ee4d1b435f9.js.map +1 -0
  2165. package/dist/legacy/prism-lua-js.031d6195024ea2fc.js +2 -0
  2166. package/dist/legacy/prism-lua-js.031d6195024ea2fc.js.map +1 -0
  2167. package/dist/legacy/prism-magma-js.ee053c202ca13c2f.js +2 -0
  2168. package/dist/legacy/prism-magma-js.ee053c202ca13c2f.js.map +1 -0
  2169. package/dist/legacy/prism-makefile-js.292c33b60f02ed0f.js +2 -0
  2170. package/dist/legacy/prism-makefile-js.292c33b60f02ed0f.js.map +1 -0
  2171. package/dist/legacy/prism-markdown-js.fe293c4ea58aa269.js +2 -0
  2172. package/dist/legacy/prism-markdown-js.fe293c4ea58aa269.js.map +1 -0
  2173. package/dist/legacy/prism-markup-js.4d87bbbbd6964c38.js +2 -0
  2174. package/dist/legacy/prism-markup-js.4d87bbbbd6964c38.js.map +1 -0
  2175. package/dist/legacy/prism-markup-templating-js.00588db99852e988.js +2 -0
  2176. package/dist/legacy/prism-markup-templating-js.00588db99852e988.js.map +1 -0
  2177. package/dist/legacy/prism-mata-js.ad16bd5d47e92730.js +2 -0
  2178. package/dist/legacy/prism-mata-js.ad16bd5d47e92730.js.map +1 -0
  2179. package/dist/legacy/prism-matlab-js.6386bc7bad3554e5.js +2 -0
  2180. package/dist/legacy/prism-matlab-js.6386bc7bad3554e5.js.map +1 -0
  2181. package/dist/legacy/prism-maxscript-js.1b388abdfef0caeb.js +2 -0
  2182. package/dist/legacy/prism-maxscript-js.1b388abdfef0caeb.js.map +1 -0
  2183. package/dist/legacy/prism-mel-js.91bee55a86c1aa4f.js +2 -0
  2184. package/dist/legacy/prism-mel-js.91bee55a86c1aa4f.js.map +1 -0
  2185. package/dist/legacy/prism-mermaid-js.d06ecf7cfa667b31.js +2 -0
  2186. package/dist/legacy/prism-mermaid-js.d06ecf7cfa667b31.js.map +1 -0
  2187. package/dist/legacy/prism-metafont-js.a8f425d4080ffc79.js +2 -0
  2188. package/dist/legacy/prism-metafont-js.a8f425d4080ffc79.js.map +1 -0
  2189. package/dist/legacy/prism-mizar-js.2aeac7e8424f0509.js +2 -0
  2190. package/dist/legacy/prism-mizar-js.2aeac7e8424f0509.js.map +1 -0
  2191. package/dist/legacy/prism-mongodb-js.63eadb7c58929e0e.js +2 -0
  2192. package/dist/legacy/prism-mongodb-js.63eadb7c58929e0e.js.map +1 -0
  2193. package/dist/legacy/prism-monkey-js.3921ae4f5c0d0ed6.js +2 -0
  2194. package/dist/legacy/prism-monkey-js.3921ae4f5c0d0ed6.js.map +1 -0
  2195. package/dist/legacy/prism-moonscript-js.be4625776a3ca854.js +2 -0
  2196. package/dist/legacy/prism-moonscript-js.be4625776a3ca854.js.map +1 -0
  2197. package/dist/legacy/prism-n1ql-js.fa039f03ad55a259.js +2 -0
  2198. package/dist/legacy/prism-n1ql-js.fa039f03ad55a259.js.map +1 -0
  2199. package/dist/legacy/prism-n4js-js.239f7d8cb54eea69.js +2 -0
  2200. package/dist/legacy/prism-n4js-js.239f7d8cb54eea69.js.map +1 -0
  2201. package/dist/legacy/prism-nand2tetris-hdl-js.c00937e376f9b93d.js +2 -0
  2202. package/dist/legacy/prism-nand2tetris-hdl-js.c00937e376f9b93d.js.map +1 -0
  2203. package/dist/legacy/prism-naniscript-js.9556979b26b23f5c.js +2 -0
  2204. package/dist/legacy/prism-naniscript-js.9556979b26b23f5c.js.map +1 -0
  2205. package/dist/legacy/prism-nasm-js.5da6706a1ab651cd.js +2 -0
  2206. package/dist/legacy/prism-nasm-js.5da6706a1ab651cd.js.map +1 -0
  2207. package/dist/legacy/prism-neon-js.1b90e020131bf772.js +2 -0
  2208. package/dist/legacy/prism-neon-js.1b90e020131bf772.js.map +1 -0
  2209. package/dist/legacy/prism-nevod-js.6a70026ac9b42da8.js +2 -0
  2210. package/dist/legacy/prism-nevod-js.6a70026ac9b42da8.js.map +1 -0
  2211. package/dist/legacy/prism-nginx-js.0484ee4caa040484.js +2 -0
  2212. package/dist/legacy/prism-nginx-js.0484ee4caa040484.js.map +1 -0
  2213. package/dist/legacy/prism-nim-js.611fccfe4aba6d6e.js +2 -0
  2214. package/dist/legacy/prism-nim-js.611fccfe4aba6d6e.js.map +1 -0
  2215. package/dist/legacy/prism-nix-js.febdcdd61c71f619.js +2 -0
  2216. package/dist/legacy/prism-nix-js.febdcdd61c71f619.js.map +1 -0
  2217. package/dist/legacy/prism-nsis-js.3e5496e056e9db9a.js +2 -0
  2218. package/dist/legacy/prism-nsis-js.3e5496e056e9db9a.js.map +1 -0
  2219. package/dist/legacy/prism-objectivec-js.180434ce6054548c.js +2 -0
  2220. package/dist/legacy/prism-objectivec-js.180434ce6054548c.js.map +1 -0
  2221. package/dist/legacy/prism-ocaml-js.bf9dcf57f9a29a39.js +2 -0
  2222. package/dist/legacy/prism-ocaml-js.bf9dcf57f9a29a39.js.map +1 -0
  2223. package/dist/legacy/prism-odin-js.7b721e3d1b684659.js +2 -0
  2224. package/dist/legacy/prism-odin-js.7b721e3d1b684659.js.map +1 -0
  2225. package/dist/legacy/prism-opencl-js.13b4b9d4f4f39118.js +2 -0
  2226. package/dist/legacy/prism-opencl-js.13b4b9d4f4f39118.js.map +1 -0
  2227. package/dist/legacy/prism-openqasm-js.a4832007c207bb7c.js +2 -0
  2228. package/dist/legacy/prism-openqasm-js.a4832007c207bb7c.js.map +1 -0
  2229. package/dist/legacy/prism-oz-js.a68b61457999f162.js +2 -0
  2230. package/dist/legacy/prism-oz-js.a68b61457999f162.js.map +1 -0
  2231. package/dist/legacy/prism-parigp-js.813837fb2cb3848e.js +2 -0
  2232. package/dist/legacy/prism-parigp-js.813837fb2cb3848e.js.map +1 -0
  2233. package/dist/legacy/prism-parser-js.d861ed26358be268.js +2 -0
  2234. package/dist/legacy/prism-parser-js.d861ed26358be268.js.map +1 -0
  2235. package/dist/legacy/prism-pascal-js.b8a48e4dc166fbbd.js +2 -0
  2236. package/dist/legacy/prism-pascal-js.b8a48e4dc166fbbd.js.map +1 -0
  2237. package/dist/legacy/prism-pascaligo-js.5e8c26d142440a80.js +2 -0
  2238. package/dist/legacy/prism-pascaligo-js.5e8c26d142440a80.js.map +1 -0
  2239. package/dist/legacy/prism-pcaxis-js.7a9e5ead89f56c03.js +2 -0
  2240. package/dist/legacy/prism-pcaxis-js.7a9e5ead89f56c03.js.map +1 -0
  2241. package/dist/legacy/prism-peoplecode-js.5613e8087b187bf6.js +2 -0
  2242. package/dist/legacy/prism-peoplecode-js.5613e8087b187bf6.js.map +1 -0
  2243. package/dist/legacy/prism-perl-js.1e17cfcc71265946.js +2 -0
  2244. package/dist/legacy/prism-perl-js.1e17cfcc71265946.js.map +1 -0
  2245. package/dist/legacy/prism-php-extras-js.06a2919dbe250e23.js +2 -0
  2246. package/dist/legacy/prism-php-extras-js.06a2919dbe250e23.js.map +1 -0
  2247. package/dist/legacy/prism-php-js.435cbf9498304998.js +2 -0
  2248. package/dist/legacy/prism-php-js.435cbf9498304998.js.map +1 -0
  2249. package/dist/legacy/prism-phpdoc-js.0794353f2fa78e23.js +2 -0
  2250. package/dist/legacy/prism-phpdoc-js.0794353f2fa78e23.js.map +1 -0
  2251. package/dist/legacy/prism-plant-uml-js.999f416e6ceae53d.js +2 -0
  2252. package/dist/legacy/prism-plant-uml-js.999f416e6ceae53d.js.map +1 -0
  2253. package/dist/legacy/prism-plsql-js.aca761297c65e09a.js +2 -0
  2254. package/dist/legacy/prism-plsql-js.aca761297c65e09a.js.map +1 -0
  2255. package/dist/legacy/prism-powerquery-js.5b2d5110420b095b.js +2 -0
  2256. package/dist/legacy/prism-powerquery-js.5b2d5110420b095b.js.map +1 -0
  2257. package/dist/legacy/prism-powershell-js.af32ca6d68ccf4c1.js +2 -0
  2258. package/dist/legacy/prism-powershell-js.af32ca6d68ccf4c1.js.map +1 -0
  2259. package/dist/legacy/prism-processing-js.7bc908bca60ac6e1.js +2 -0
  2260. package/dist/legacy/prism-processing-js.7bc908bca60ac6e1.js.map +1 -0
  2261. package/dist/legacy/prism-prolog-js.5ad7f0b82b6ec36a.js +2 -0
  2262. package/dist/legacy/prism-prolog-js.5ad7f0b82b6ec36a.js.map +1 -0
  2263. package/dist/legacy/prism-promql-js.e16a0c7364962916.js +2 -0
  2264. package/dist/legacy/prism-promql-js.e16a0c7364962916.js.map +1 -0
  2265. package/dist/legacy/prism-properties-js.bf2cc84f3aeb4e8f.js +2 -0
  2266. package/dist/legacy/prism-properties-js.bf2cc84f3aeb4e8f.js.map +1 -0
  2267. package/dist/legacy/prism-protobuf-js.d177d74142093b0e.js +2 -0
  2268. package/dist/legacy/prism-protobuf-js.d177d74142093b0e.js.map +1 -0
  2269. package/dist/legacy/prism-psl-js.e75925a939552751.js +2 -0
  2270. package/dist/legacy/prism-psl-js.e75925a939552751.js.map +1 -0
  2271. package/dist/legacy/prism-pug-js.49daa74b017e9fb1.js +2 -0
  2272. package/dist/legacy/prism-pug-js.49daa74b017e9fb1.js.map +1 -0
  2273. package/dist/legacy/prism-puppet-js.3fe0723b1b9458f2.js +2 -0
  2274. package/dist/legacy/prism-puppet-js.3fe0723b1b9458f2.js.map +1 -0
  2275. package/dist/legacy/prism-pure-js.2b4a82c560030738.js +2 -0
  2276. package/dist/legacy/prism-pure-js.2b4a82c560030738.js.map +1 -0
  2277. package/dist/legacy/prism-purebasic-js.191dd1fdc0b7cf0d.js +2 -0
  2278. package/dist/legacy/prism-purebasic-js.191dd1fdc0b7cf0d.js.map +1 -0
  2279. package/dist/legacy/prism-purescript-js.4624ef7517ad0ff1.js +2 -0
  2280. package/dist/legacy/prism-purescript-js.4624ef7517ad0ff1.js.map +1 -0
  2281. package/dist/legacy/prism-python-js.cb4d1a9e182afe18.js +2 -0
  2282. package/dist/legacy/prism-python-js.cb4d1a9e182afe18.js.map +1 -0
  2283. package/dist/legacy/prism-q-js.6359c5df0b96916f.js +2 -0
  2284. package/dist/legacy/prism-q-js.6359c5df0b96916f.js.map +1 -0
  2285. package/dist/legacy/prism-qml-js.8e38cd7d47f9eab5.js +2 -0
  2286. package/dist/legacy/prism-qml-js.8e38cd7d47f9eab5.js.map +1 -0
  2287. package/dist/legacy/prism-qore-js.5043bbcf57664121.js +2 -0
  2288. package/dist/legacy/prism-qore-js.5043bbcf57664121.js.map +1 -0
  2289. package/dist/legacy/prism-qsharp-js.a5ded5acb97a3974.js +2 -0
  2290. package/dist/legacy/prism-qsharp-js.a5ded5acb97a3974.js.map +1 -0
  2291. package/dist/legacy/prism-r-js.fe1da844a241a794.js +2 -0
  2292. package/dist/legacy/prism-r-js.fe1da844a241a794.js.map +1 -0
  2293. package/dist/legacy/prism-racket-js.243127a0136a1fd9.js +2 -0
  2294. package/dist/legacy/prism-racket-js.243127a0136a1fd9.js.map +1 -0
  2295. package/dist/legacy/prism-reason-js.ba13a72b96d8a9ac.js +2 -0
  2296. package/dist/legacy/prism-reason-js.ba13a72b96d8a9ac.js.map +1 -0
  2297. package/dist/legacy/prism-regex-js.c2195d9813a4be7e.js +2 -0
  2298. package/dist/legacy/prism-regex-js.c2195d9813a4be7e.js.map +1 -0
  2299. package/dist/legacy/prism-rego-js.ab4439321e07a8b6.js +2 -0
  2300. package/dist/legacy/prism-rego-js.ab4439321e07a8b6.js.map +1 -0
  2301. package/dist/legacy/prism-renpy-js.de68844599cc121a.js +2 -0
  2302. package/dist/legacy/prism-renpy-js.de68844599cc121a.js.map +1 -0
  2303. package/dist/legacy/prism-rescript-js.ca7c3bbe14e44230.js +2 -0
  2304. package/dist/legacy/prism-rescript-js.ca7c3bbe14e44230.js.map +1 -0
  2305. package/dist/legacy/prism-rest-js.e022765b3961a314.js +2 -0
  2306. package/dist/legacy/prism-rest-js.e022765b3961a314.js.map +1 -0
  2307. package/dist/legacy/prism-rip-js.0011c4887214795c.js +2 -0
  2308. package/dist/legacy/prism-rip-js.0011c4887214795c.js.map +1 -0
  2309. package/dist/legacy/prism-roboconf-js.9e0752108cad4d38.js +2 -0
  2310. package/dist/legacy/prism-roboconf-js.9e0752108cad4d38.js.map +1 -0
  2311. package/dist/legacy/prism-robotframework-js.5c1aba48dfdd6dd4.js +2 -0
  2312. package/dist/legacy/prism-robotframework-js.5c1aba48dfdd6dd4.js.map +1 -0
  2313. package/dist/legacy/prism-ruby-js.a2c474dae8a08d60.js +2 -0
  2314. package/dist/legacy/prism-ruby-js.a2c474dae8a08d60.js.map +1 -0
  2315. package/dist/legacy/prism-rust-js.ed4811231e33b6cf.js +2 -0
  2316. package/dist/legacy/prism-rust-js.ed4811231e33b6cf.js.map +1 -0
  2317. package/dist/legacy/prism-sas-js.1aec60cb4e1938db.js +2 -0
  2318. package/dist/legacy/prism-sas-js.1aec60cb4e1938db.js.map +1 -0
  2319. package/dist/legacy/prism-sass-js.8339b4a50eaab48c.js +2 -0
  2320. package/dist/legacy/prism-sass-js.8339b4a50eaab48c.js.map +1 -0
  2321. package/dist/legacy/prism-scala-js.2525c75befe236d7.js +2 -0
  2322. package/dist/legacy/prism-scala-js.2525c75befe236d7.js.map +1 -0
  2323. package/dist/legacy/prism-scheme-js.050b4b78e73e1679.js +2 -0
  2324. package/dist/legacy/prism-scheme-js.050b4b78e73e1679.js.map +1 -0
  2325. package/dist/legacy/prism-scss-js.1b71fbe5fd69036f.js +2 -0
  2326. package/dist/legacy/prism-scss-js.1b71fbe5fd69036f.js.map +1 -0
  2327. package/dist/legacy/prism-shell-session-js.cd8729fa376bfe4e.js +2 -0
  2328. package/dist/legacy/prism-shell-session-js.cd8729fa376bfe4e.js.map +1 -0
  2329. package/dist/legacy/prism-smali-js.1b6a3ec1244c8798.js +2 -0
  2330. package/dist/legacy/prism-smali-js.1b6a3ec1244c8798.js.map +1 -0
  2331. package/dist/legacy/prism-smalltalk-js.2d66de6e678a8c58.js +2 -0
  2332. package/dist/legacy/prism-smalltalk-js.2d66de6e678a8c58.js.map +1 -0
  2333. package/dist/legacy/prism-smarty-js.22878628b09727a7.js +2 -0
  2334. package/dist/legacy/prism-smarty-js.22878628b09727a7.js.map +1 -0
  2335. package/dist/legacy/prism-sml-js.c45681f2a0119b23.js +2 -0
  2336. package/dist/legacy/prism-sml-js.c45681f2a0119b23.js.map +1 -0
  2337. package/dist/legacy/prism-solidity-js.3eeccdf62d5596f1.js +2 -0
  2338. package/dist/legacy/prism-solidity-js.3eeccdf62d5596f1.js.map +1 -0
  2339. package/dist/legacy/prism-solution-file-js.428513372476e1ae.js +2 -0
  2340. package/dist/legacy/prism-solution-file-js.428513372476e1ae.js.map +1 -0
  2341. package/dist/legacy/prism-soy-js.f55903a765bf57a6.js +2 -0
  2342. package/dist/legacy/prism-soy-js.f55903a765bf57a6.js.map +1 -0
  2343. package/dist/legacy/prism-sparql-js.292f19bc602daf23.js +2 -0
  2344. package/dist/legacy/prism-sparql-js.292f19bc602daf23.js.map +1 -0
  2345. package/dist/legacy/prism-splunk-spl-js.1c70acbce581a142.js +2 -0
  2346. package/dist/legacy/prism-splunk-spl-js.1c70acbce581a142.js.map +1 -0
  2347. package/dist/legacy/prism-sqf-js.0365a3c1eb183c31.js +2 -0
  2348. package/dist/legacy/prism-sqf-js.0365a3c1eb183c31.js.map +1 -0
  2349. package/dist/legacy/prism-sql-js.aa988143d04c1024.js +2 -0
  2350. package/dist/legacy/prism-sql-js.aa988143d04c1024.js.map +1 -0
  2351. package/dist/legacy/prism-squirrel-js.6c0c312007ff7d21.js +2 -0
  2352. package/dist/legacy/prism-squirrel-js.6c0c312007ff7d21.js.map +1 -0
  2353. package/dist/legacy/prism-stan-js.42724899cfc2140e.js +2 -0
  2354. package/dist/legacy/prism-stan-js.42724899cfc2140e.js.map +1 -0
  2355. package/dist/legacy/prism-stata-js.23c79f03dc46757d.js +2 -0
  2356. package/dist/legacy/prism-stata-js.23c79f03dc46757d.js.map +1 -0
  2357. package/dist/legacy/prism-stylus-js.7c5fa156d5625740.js +2 -0
  2358. package/dist/legacy/prism-stylus-js.7c5fa156d5625740.js.map +1 -0
  2359. package/dist/legacy/prism-supercollider-js.c7ec7a57826b2d98.js +2 -0
  2360. package/dist/legacy/prism-supercollider-js.c7ec7a57826b2d98.js.map +1 -0
  2361. package/dist/legacy/prism-svelte.8808b28328514feb.js +2 -0
  2362. package/dist/legacy/prism-svelte.8808b28328514feb.js.map +1 -0
  2363. package/dist/legacy/prism-swift-js.9438b2e277552dae.js +2 -0
  2364. package/dist/legacy/prism-swift-js.9438b2e277552dae.js.map +1 -0
  2365. package/dist/legacy/prism-systemd-js.258be7845a3c6b87.js +2 -0
  2366. package/dist/legacy/prism-systemd-js.258be7845a3c6b87.js.map +1 -0
  2367. package/dist/legacy/prism-t4-cs-js.4b0d6520fc183e47.js +2 -0
  2368. package/dist/legacy/prism-t4-cs-js.4b0d6520fc183e47.js.map +1 -0
  2369. package/dist/legacy/prism-t4-templating-js.3a0120f84562367e.js +2 -0
  2370. package/dist/legacy/prism-t4-templating-js.3a0120f84562367e.js.map +1 -0
  2371. package/dist/legacy/prism-t4-vb-js.115a843f0c461599.js +2 -0
  2372. package/dist/legacy/prism-t4-vb-js.115a843f0c461599.js.map +1 -0
  2373. package/dist/legacy/prism-tap-js.4c1975d902bab61d.js +2 -0
  2374. package/dist/legacy/prism-tap-js.4c1975d902bab61d.js.map +1 -0
  2375. package/dist/legacy/prism-tcl-js.8855327658953e16.js +2 -0
  2376. package/dist/legacy/prism-tcl-js.8855327658953e16.js.map +1 -0
  2377. package/dist/legacy/prism-textile-js.700df6ff64f48377.js +2 -0
  2378. package/dist/legacy/prism-textile-js.700df6ff64f48377.js.map +1 -0
  2379. package/dist/legacy/prism-toml-js.98228f10959d0f23.js +2 -0
  2380. package/dist/legacy/prism-toml-js.98228f10959d0f23.js.map +1 -0
  2381. package/dist/legacy/prism-tremor-js.8242dc6874b6fe4e.js +2 -0
  2382. package/dist/legacy/prism-tremor-js.8242dc6874b6fe4e.js.map +1 -0
  2383. package/dist/legacy/prism-tsx-js.f3c5b6688d9b9dc8.js +2 -0
  2384. package/dist/legacy/prism-tsx-js.f3c5b6688d9b9dc8.js.map +1 -0
  2385. package/dist/legacy/prism-tt2-js.0982ae48a7fd1e94.js +2 -0
  2386. package/dist/legacy/prism-tt2-js.0982ae48a7fd1e94.js.map +1 -0
  2387. package/dist/legacy/prism-turtle-js.b7bd655eedca7dcb.js +2 -0
  2388. package/dist/legacy/prism-turtle-js.b7bd655eedca7dcb.js.map +1 -0
  2389. package/dist/legacy/prism-twig-js.abf10c80fd25a0c7.js +2 -0
  2390. package/dist/legacy/prism-twig-js.abf10c80fd25a0c7.js.map +1 -0
  2391. package/dist/legacy/prism-typescript-js.8fb7a00ddf043946.js +2 -0
  2392. package/dist/legacy/prism-typescript-js.8fb7a00ddf043946.js.map +1 -0
  2393. package/dist/legacy/prism-typoscript-js.2d48ecd06922462e.js +2 -0
  2394. package/dist/legacy/prism-typoscript-js.2d48ecd06922462e.js.map +1 -0
  2395. package/dist/legacy/prism-unrealscript-js.39d4931dd098c82d.js +2 -0
  2396. package/dist/legacy/prism-unrealscript-js.39d4931dd098c82d.js.map +1 -0
  2397. package/dist/legacy/prism-uorazor-js.fd424c571a35c871.js +2 -0
  2398. package/dist/legacy/prism-uorazor-js.fd424c571a35c871.js.map +1 -0
  2399. package/dist/legacy/prism-uri-js.4e41435c4882e91c.js +2 -0
  2400. package/dist/legacy/prism-uri-js.4e41435c4882e91c.js.map +1 -0
  2401. package/dist/legacy/prism-v-js.653f893549574093.js +2 -0
  2402. package/dist/legacy/prism-v-js.653f893549574093.js.map +1 -0
  2403. package/dist/legacy/prism-vala-js.ba6d34d3c03151c6.js +2 -0
  2404. package/dist/legacy/prism-vala-js.ba6d34d3c03151c6.js.map +1 -0
  2405. package/dist/legacy/prism-vbnet-js.9f7cc80e2039017b.js +2 -0
  2406. package/dist/legacy/prism-vbnet-js.9f7cc80e2039017b.js.map +1 -0
  2407. package/dist/legacy/prism-velocity-js.78a5d47cfa1b2067.js +2 -0
  2408. package/dist/legacy/prism-velocity-js.78a5d47cfa1b2067.js.map +1 -0
  2409. package/dist/legacy/prism-verilog-js.d3f4c602d10aa668.js +2 -0
  2410. package/dist/legacy/prism-verilog-js.d3f4c602d10aa668.js.map +1 -0
  2411. package/dist/legacy/prism-vhdl-js.7bae14df05100493.js +2 -0
  2412. package/dist/legacy/prism-vhdl-js.7bae14df05100493.js.map +1 -0
  2413. package/dist/legacy/prism-vim-js.afbf3d103ca3f5c0.js +2 -0
  2414. package/dist/legacy/prism-vim-js.afbf3d103ca3f5c0.js.map +1 -0
  2415. package/dist/legacy/prism-visual-basic-js.48c86a976af34438.js +2 -0
  2416. package/dist/legacy/prism-visual-basic-js.48c86a976af34438.js.map +1 -0
  2417. package/dist/legacy/prism-warpscript-js.83f5e3804e80ef7d.js +2 -0
  2418. package/dist/legacy/prism-warpscript-js.83f5e3804e80ef7d.js.map +1 -0
  2419. package/dist/legacy/prism-wasm-js.40271b6ae29ccd13.js +2 -0
  2420. package/dist/legacy/prism-wasm-js.40271b6ae29ccd13.js.map +1 -0
  2421. package/dist/legacy/prism-web-idl-js.b70282f60143864d.js +2 -0
  2422. package/dist/legacy/prism-web-idl-js.b70282f60143864d.js.map +1 -0
  2423. package/dist/legacy/prism-wgsl-js.0f5f116222c70afc.js +2 -0
  2424. package/dist/legacy/prism-wgsl-js.0f5f116222c70afc.js.map +1 -0
  2425. package/dist/legacy/prism-wiki-js.23f96b369fed4c95.js +2 -0
  2426. package/dist/legacy/prism-wiki-js.23f96b369fed4c95.js.map +1 -0
  2427. package/dist/legacy/prism-wolfram-js.a1095f8e8711bab2.js +2 -0
  2428. package/dist/legacy/prism-wolfram-js.a1095f8e8711bab2.js.map +1 -0
  2429. package/dist/legacy/prism-wren-js.e6cfd49e178839f2.js +2 -0
  2430. package/dist/legacy/prism-wren-js.e6cfd49e178839f2.js.map +1 -0
  2431. package/dist/legacy/prism-xeora-js.391d93969f67a5ef.js +2 -0
  2432. package/dist/legacy/prism-xeora-js.391d93969f67a5ef.js.map +1 -0
  2433. package/dist/legacy/prism-xml-doc-js.7dd1eae5e2959c66.js +2 -0
  2434. package/dist/legacy/prism-xml-doc-js.7dd1eae5e2959c66.js.map +1 -0
  2435. package/dist/legacy/prism-xojo-js.7788e3f350026b0e.js +2 -0
  2436. package/dist/legacy/prism-xojo-js.7788e3f350026b0e.js.map +1 -0
  2437. package/dist/legacy/prism-xquery-js.0f78f65669a0036c.js +2 -0
  2438. package/dist/legacy/prism-xquery-js.0f78f65669a0036c.js.map +1 -0
  2439. package/dist/legacy/prism-yaml-js.aa9c12071c87375e.js +2 -0
  2440. package/dist/legacy/prism-yaml-js.aa9c12071c87375e.js.map +1 -0
  2441. package/dist/legacy/prism-yang-js.47db12e4f855f35b.js +2 -0
  2442. package/dist/legacy/prism-yang-js.47db12e4f855f35b.js.map +1 -0
  2443. package/dist/legacy/prism-zig-js.e8f80dce8ef78edb.js +2 -0
  2444. package/dist/legacy/prism-zig-js.e8f80dce8ef78edb.js.map +1 -0
  2445. package/dist/legacy/progress-check.04aea576a79527bc.svg +1 -0
  2446. package/dist/legacy/progress-helper.6955282169495707.svg +1 -0
  2447. package/dist/legacy/question-mark.423ba48d7301b007.svg +1 -0
  2448. package/dist/legacy/queue.87b15609b41689ef.svg +3 -0
  2449. package/dist/legacy/queued.14bb12453dfaadb3.svg +3 -0
  2450. package/dist/legacy/quote.3ae06798cc589899.svg +3 -0
  2451. package/dist/legacy/return.3934eafaaf18c979.svg +10 -0
  2452. package/dist/legacy/safari.914bc957b75d733e.svg +1 -0
  2453. package/dist/legacy/samsunginternet.6d98cb78e846f96b.svg +1 -0
  2454. package/dist/legacy/scrim-bg.27f047d7e991dbe9.png +0 -0
  2455. package/dist/legacy/scrim-hexagons.e59318adb5550050.svg +1 -0
  2456. package/dist/legacy/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
  2457. package/dist/legacy/search.1a354d71e7a983d3.svg +4 -0
  2458. package/dist/legacy/send.97ab75f4a3d4d2ea.svg +1 -0
  2459. package/dist/legacy/server.482d6fe933e698c8.svg +1 -0
  2460. package/dist/legacy/sidebar-filled.473e64fc5706119d.svg +9 -0
  2461. package/dist/legacy/sidebar.f5c855c1f43aea2c.svg +6 -0
  2462. package/dist/legacy/simple-firefox.a8097d7ed48625a7.svg +3 -0
  2463. package/dist/legacy/small-arrow.7688fc1262388c91.svg +3 -0
  2464. package/dist/legacy/star-filled.c9db99aeb16b1913.svg +10 -0
  2465. package/dist/legacy/star.ad1e866563e32428.svg +10 -0
  2466. package/dist/legacy/stats.json +56 -0
  2467. package/dist/legacy/theme-dark.c4ed806b135c790e.svg +3 -0
  2468. package/dist/legacy/theme-light.cf31f079f9e6e27c.svg +3 -0
  2469. package/dist/legacy/theme-os-default.935f36dac65cabef.svg +10 -0
  2470. package/dist/legacy/thumbs-down.6a5c08eb98ba1cad.svg +2 -0
  2471. package/dist/legacy/thumbs-up.74cfbf8161e315db.svg +1 -0
  2472. package/dist/legacy/trash-filled.08d1d96014b1fc95.svg +1 -0
  2473. package/dist/legacy/trash.7f3db910c0f027df.svg +16 -0
  2474. package/dist/legacy/twitter-x.35b91a4e4b88a724.svg +1 -0
  2475. package/dist/legacy/unknown.48fb1303fdffa5de.svg +3 -0
  2476. package/dist/legacy/updates.d204012185fe24de.png +0 -0
  2477. package/dist/legacy/warning.9b94fc66d43115ba.svg +5 -0
  2478. package/dist/legacy/webview.3abdc5c7966181b2.svg +1 -0
  2479. package/dist/legacy/yes-circle.ba7d3389a6ed23f8.svg +1 -0
  2480. package/dist/legacy/yes.39b8ee80cd467e41.svg +3 -0
  2481. package/dist/ssr/1060.js +23 -0
  2482. package/dist/ssr/1060.js.map +1 -0
  2483. package/dist/ssr/1485.js +2 -0
  2484. package/dist/ssr/1485.js.map +1 -0
  2485. package/dist/ssr/4876.js +3 -0
  2486. package/dist/ssr/4876.js.LICENSE.txt +8 -0
  2487. package/dist/ssr/4876.js.map +1 -0
  2488. package/dist/ssr/7194.js +2 -0
  2489. package/dist/ssr/7194.js.map +1 -0
  2490. package/dist/ssr/7293.js +35 -0
  2491. package/dist/ssr/7293.js.map +1 -0
  2492. package/dist/ssr/7378.js +37 -0
  2493. package/dist/ssr/7378.js.map +1 -0
  2494. package/dist/ssr/9291.js +55 -0
  2495. package/dist/ssr/9291.js.map +1 -0
  2496. package/dist/ssr/9551.js +16 -0
  2497. package/dist/ssr/9551.js.map +1 -0
  2498. package/dist/ssr/access-notifications-from-main-menu.1b0f0cd14d3c711d.png +0 -0
  2499. package/dist/ssr/asterisk.70f89e1fc672d4c5.svg +1 -0
  2500. package/dist/ssr/bulk-unwatch-dashboard.53f579fc043a7d90.png +0 -0
  2501. package/dist/ssr/cancel.7362f2cdf3515e0d.svg +1 -0
  2502. package/dist/ssr/check.0440cf8a72ac2317.svg +1 -0
  2503. package/dist/ssr/chrome.63fe87abc1b86c49.svg +1 -0
  2504. package/dist/ssr/circle-check.205f48f66c3c9d17.svg +1 -0
  2505. package/dist/ssr/circle-help.574fc498f309634e.svg +1 -0
  2506. package/dist/ssr/circle-slash.c109868d4bdda8e2.svg +1 -0
  2507. package/dist/ssr/circle-x.4b1c3fa0511867e7.svg +1 -0
  2508. package/dist/ssr/circle.5525ef23679c14ac.svg +1 -0
  2509. package/dist/ssr/code-examples-playground.7c32a6b83f856b18.png +0 -0
  2510. package/dist/ssr/code-examples-queue.2760d2a13b8a2318.png +0 -0
  2511. package/dist/ssr/cog.f23af856fab34421.svg +1 -0
  2512. package/dist/ssr/collections-dashboard.961b220409b61214.png +0 -0
  2513. package/dist/ssr/collections.dce99f9cb47616b0.png +0 -0
  2514. package/dist/ssr/contrast.d86e85c43de8dee8.svg +1 -0
  2515. package/dist/ssr/curriculum-partner-banner-illustration-large-dark.8a93f1a81b8e7486.svg +1 -0
  2516. package/dist/ssr/curriculum-partner-banner-illustration-large-light.be191e3b1b4cbd8c.svg +1 -0
  2517. package/dist/ssr/deno.aed70d20abbf1067.svg +1 -0
  2518. package/dist/ssr/desktop-collections-dashboard-delete.89fa6e8e94365a8f.png +0 -0
  2519. package/dist/ssr/desktop-collections-delete-fva.8bb2b88655b7f100.png +0 -0
  2520. package/dist/ssr/desktop-collections-edit-dialog-add-note.af202756b9cc4dae.png +0 -0
  2521. package/dist/ssr/desktop-collections-edit-dialog.4e8c3dd0d44a3ad5.png +0 -0
  2522. package/dist/ssr/desktop-collections-edit-menu.9cd5d9f1cf605c1e.png +0 -0
  2523. package/dist/ssr/desktop-collections-filter.f8f158f95acba38c.png +0 -0
  2524. package/dist/ssr/desktop-collections-fva.defa5d202b2a4278.png +0 -0
  2525. package/dist/ssr/desktop-collections-sort.8bc4c7d9cf61b886.png +0 -0
  2526. package/dist/ssr/desktop-collections-three-dot-menu.d249007e01bd16d2.png +0 -0
  2527. package/dist/ssr/desktop-collections-undo.d9d58e64c11234a0.png +0 -0
  2528. package/dist/ssr/desktop-collections-user-menu.80a59ca711dd3389.png +0 -0
  2529. package/dist/ssr/desktop-offline-clear-data.c09fc9bdc06a57cc.png +0 -0
  2530. package/dist/ssr/desktop-offline-enable-auto-update.468a819e6c0aa8eb.png +0 -0
  2531. package/dist/ssr/desktop-offline-enable-offline.146a06199a10f9bd.png +0 -0
  2532. package/dist/ssr/desktop-offline-manual-update.7afa788a6b9d79e1.png +0 -0
  2533. package/dist/ssr/desktop-offline-user-menu.3dcb4eed9c4a236c.png +0 -0
  2534. package/dist/ssr/desktop-page-add-note.9de893065c92946b.png +0 -0
  2535. package/dist/ssr/desktop-page-dialog-save.7de24408268b1dbb.png +0 -0
  2536. package/dist/ssr/desktop-page-open-dialog.e7ee17c4f82474ee.png +0 -0
  2537. package/dist/ssr/desktop-remove-saved-delete.2f236a48585aed27.png +0 -0
  2538. package/dist/ssr/desktop-remove-saved.d734c0d42d66522b.png +0 -0
  2539. package/dist/ssr/desktop-saving-page.bbb8eedefb3e848f.png +0 -0
  2540. package/dist/ssr/edge.29d1f7df37cf6b7b.svg +1 -0
  2541. package/dist/ssr/ellipsis.a923666a0f31b0e6.svg +1 -0
  2542. package/dist/ssr/example-question-answering.3a6abf03d60c1900.png +0 -0
  2543. package/dist/ssr/example-question-editing.d0a77e1a7e21b7c0.png +0 -0
  2544. package/dist/ssr/external-link.4f3a2dc8e402cae5.svg +1 -0
  2545. package/dist/ssr/firefox.be3910badc184355.svg +1 -0
  2546. package/dist/ssr/flag.a3ec9d1b88184452.svg +1 -0
  2547. package/dist/ssr/flask-conical.c16b3d71f14f31d1.svg +1 -0
  2548. package/dist/ssr/fullscreen-enter.452bcbaed6904ec7.svg +1 -0
  2549. package/dist/ssr/git-fork.97e5d1d4d29677cf.svg +1 -0
  2550. package/dist/ssr/history-banner.19750769dba22bf2.png +0 -0
  2551. package/dist/ssr/history-settings.c4ba80ec2e2828e1.png +0 -0
  2552. package/dist/ssr/index.d.ts +1 -0
  2553. package/dist/ssr/index.js +4466 -0
  2554. package/dist/ssr/index.js.LICENSE.txt +45 -0
  2555. package/dist/ssr/index.js.map +1 -0
  2556. package/dist/ssr/info.d40b80f84482feba.svg +1 -0
  2557. package/dist/ssr/issue-template.599206f493bfe0c0.png +0 -0
  2558. package/dist/ssr/landing-scrim.bab0746da9622c1c.png +0 -0
  2559. package/dist/ssr/languages.dcba936080e5be86.svg +1 -0
  2560. package/dist/ssr/lightbulb.f54f9e803373ffd2.svg +1 -0
  2561. package/dist/ssr/lock.4befe79c52ccec2a.svg +1 -0
  2562. package/dist/ssr/login-signup.b9636d86edc7339c.png +0 -0
  2563. package/dist/ssr/mdn-prefix.42c58fad0d3fc035.svg +1 -0
  2564. package/dist/ssr/mdn_contributor.9e2a105f50828d5a.png +0 -0
  2565. package/dist/ssr/mobile-add-note.4079b8dbc761053b.png +0 -0
  2566. package/dist/ssr/mobile-burger-menu.47a3b543b1ae5791.png +0 -0
  2567. package/dist/ssr/mobile-collections-dashboard-delete-entry.96676397f489ca42.png +0 -0
  2568. package/dist/ssr/mobile-collections-dashboard-edit-entry.a33fc6d7fe02231a.png +0 -0
  2569. package/dist/ssr/mobile-collections-dashboard-edit.f9425801f0496a6a.png +0 -0
  2570. package/dist/ssr/mobile-collections-dashboard-three-dots.f49e9b83f634f4dd.png +0 -0
  2571. package/dist/ssr/mobile-collections-dashboard.05a7c83149eed921.png +0 -0
  2572. package/dist/ssr/mobile-collections-delete-entry.c31ac061bcee0a7b.png +0 -0
  2573. package/dist/ssr/mobile-collections-fva-undo.a6f66ca11dbdf948.png +0 -0
  2574. package/dist/ssr/mobile-collections-menu-item.321c93d6442af8d4.png +0 -0
  2575. package/dist/ssr/mobile-collections-undo.b4d6888d71002446.png +0 -0
  2576. package/dist/ssr/mobile-menu.105f2936489c8a1e.png +0 -0
  2577. package/dist/ssr/mobile-notifications-user-menu.76ea11187feac4db.png +0 -0
  2578. package/dist/ssr/mobile-open-article-actions.bb9cc7ddc6a32e29.png +0 -0
  2579. package/dist/ssr/mobile-plus-menu.c77a3c41f9c68b65.png +0 -0
  2580. package/dist/ssr/mobile-save-page-step-one.f058692ffb0ac877.png +0 -0
  2581. package/dist/ssr/mobile-save-page.fef8b293c1aac0c8.png +0 -0
  2582. package/dist/ssr/mobile-saved-page.f2f6f18f85ac08ca.png +0 -0
  2583. package/dist/ssr/monitor.11d946399ebf690d.svg +1 -0
  2584. package/dist/ssr/moon.74026b9da82b0694.svg +1 -0
  2585. package/dist/ssr/nodejs.efc13657f2bf62f7.svg +1 -0
  2586. package/dist/ssr/notifications-user-menu.f8ad31ae86ee58cb.png +0 -0
  2587. package/dist/ssr/opera.ebd6fbbb8600e404.svg +1 -0
  2588. package/dist/ssr/playground-example.e8bb2d0fba1ddf61.png +0 -0
  2589. package/dist/ssr/playground-menu.df91c3b7a9f41b35.png +0 -0
  2590. package/dist/ssr/playground-sample.4df135480b78db7b.png +0 -0
  2591. package/dist/ssr/prism-abap-js.js +2 -0
  2592. package/dist/ssr/prism-abap-js.js.map +1 -0
  2593. package/dist/ssr/prism-abnf-js.js +2 -0
  2594. package/dist/ssr/prism-abnf-js.js.map +1 -0
  2595. package/dist/ssr/prism-actionscript-js.js +2 -0
  2596. package/dist/ssr/prism-actionscript-js.js.map +1 -0
  2597. package/dist/ssr/prism-ada-js.js +2 -0
  2598. package/dist/ssr/prism-ada-js.js.map +1 -0
  2599. package/dist/ssr/prism-agda-js.js +2 -0
  2600. package/dist/ssr/prism-agda-js.js.map +1 -0
  2601. package/dist/ssr/prism-al-js.js +2 -0
  2602. package/dist/ssr/prism-al-js.js.map +1 -0
  2603. package/dist/ssr/prism-antlr4-js.js +2 -0
  2604. package/dist/ssr/prism-antlr4-js.js.map +1 -0
  2605. package/dist/ssr/prism-apacheconf-js.js +2 -0
  2606. package/dist/ssr/prism-apacheconf-js.js.map +1 -0
  2607. package/dist/ssr/prism-apex-js.js +2 -0
  2608. package/dist/ssr/prism-apex-js.js.map +1 -0
  2609. package/dist/ssr/prism-apl-js.js +2 -0
  2610. package/dist/ssr/prism-apl-js.js.map +1 -0
  2611. package/dist/ssr/prism-applescript-js.js +2 -0
  2612. package/dist/ssr/prism-applescript-js.js.map +1 -0
  2613. package/dist/ssr/prism-aql-js.js +2 -0
  2614. package/dist/ssr/prism-aql-js.js.map +1 -0
  2615. package/dist/ssr/prism-arduino-js.js +2 -0
  2616. package/dist/ssr/prism-arduino-js.js.map +1 -0
  2617. package/dist/ssr/prism-arff-js.js +2 -0
  2618. package/dist/ssr/prism-arff-js.js.map +1 -0
  2619. package/dist/ssr/prism-armasm-js.js +2 -0
  2620. package/dist/ssr/prism-armasm-js.js.map +1 -0
  2621. package/dist/ssr/prism-arturo-js.js +2 -0
  2622. package/dist/ssr/prism-arturo-js.js.map +1 -0
  2623. package/dist/ssr/prism-asciidoc-js.js +2 -0
  2624. package/dist/ssr/prism-asciidoc-js.js.map +1 -0
  2625. package/dist/ssr/prism-asm6502-js.js +2 -0
  2626. package/dist/ssr/prism-asm6502-js.js.map +1 -0
  2627. package/dist/ssr/prism-asmatmel-js.js +2 -0
  2628. package/dist/ssr/prism-asmatmel-js.js.map +1 -0
  2629. package/dist/ssr/prism-aspnet-js.js +2 -0
  2630. package/dist/ssr/prism-aspnet-js.js.map +1 -0
  2631. package/dist/ssr/prism-autohotkey-js.js +2 -0
  2632. package/dist/ssr/prism-autohotkey-js.js.map +1 -0
  2633. package/dist/ssr/prism-autoit-js.js +2 -0
  2634. package/dist/ssr/prism-autoit-js.js.map +1 -0
  2635. package/dist/ssr/prism-avisynth-js.js +2 -0
  2636. package/dist/ssr/prism-avisynth-js.js.map +1 -0
  2637. package/dist/ssr/prism-avro-idl-js.js +2 -0
  2638. package/dist/ssr/prism-avro-idl-js.js.map +1 -0
  2639. package/dist/ssr/prism-awk-js.js +2 -0
  2640. package/dist/ssr/prism-awk-js.js.map +1 -0
  2641. package/dist/ssr/prism-bash-js.js +2 -0
  2642. package/dist/ssr/prism-bash-js.js.map +1 -0
  2643. package/dist/ssr/prism-basic-js.js +2 -0
  2644. package/dist/ssr/prism-basic-js.js.map +1 -0
  2645. package/dist/ssr/prism-batch-js.js +2 -0
  2646. package/dist/ssr/prism-batch-js.js.map +1 -0
  2647. package/dist/ssr/prism-bbcode-js.js +2 -0
  2648. package/dist/ssr/prism-bbcode-js.js.map +1 -0
  2649. package/dist/ssr/prism-bbj-js.js +2 -0
  2650. package/dist/ssr/prism-bbj-js.js.map +1 -0
  2651. package/dist/ssr/prism-bicep-js.js +2 -0
  2652. package/dist/ssr/prism-bicep-js.js.map +1 -0
  2653. package/dist/ssr/prism-birb-js.js +2 -0
  2654. package/dist/ssr/prism-birb-js.js.map +1 -0
  2655. package/dist/ssr/prism-bison-js.js +2 -0
  2656. package/dist/ssr/prism-bison-js.js.map +1 -0
  2657. package/dist/ssr/prism-bnf-js.js +2 -0
  2658. package/dist/ssr/prism-bnf-js.js.map +1 -0
  2659. package/dist/ssr/prism-bqn-js.js +2 -0
  2660. package/dist/ssr/prism-bqn-js.js.map +1 -0
  2661. package/dist/ssr/prism-brainfuck-js.js +2 -0
  2662. package/dist/ssr/prism-brainfuck-js.js.map +1 -0
  2663. package/dist/ssr/prism-brightscript-js.js +2 -0
  2664. package/dist/ssr/prism-brightscript-js.js.map +1 -0
  2665. package/dist/ssr/prism-bro-js.js +2 -0
  2666. package/dist/ssr/prism-bro-js.js.map +1 -0
  2667. package/dist/ssr/prism-bsl-js.js +2 -0
  2668. package/dist/ssr/prism-bsl-js.js.map +1 -0
  2669. package/dist/ssr/prism-c-js.js +2 -0
  2670. package/dist/ssr/prism-c-js.js.map +1 -0
  2671. package/dist/ssr/prism-cfscript-js.js +2 -0
  2672. package/dist/ssr/prism-cfscript-js.js.map +1 -0
  2673. package/dist/ssr/prism-chaiscript-js.js +2 -0
  2674. package/dist/ssr/prism-chaiscript-js.js.map +1 -0
  2675. package/dist/ssr/prism-cil-js.js +2 -0
  2676. package/dist/ssr/prism-cil-js.js.map +1 -0
  2677. package/dist/ssr/prism-cilkc-js.js +2 -0
  2678. package/dist/ssr/prism-cilkc-js.js.map +1 -0
  2679. package/dist/ssr/prism-cilkcpp-js.js +2 -0
  2680. package/dist/ssr/prism-cilkcpp-js.js.map +1 -0
  2681. package/dist/ssr/prism-clike-js.js +2 -0
  2682. package/dist/ssr/prism-clike-js.js.map +1 -0
  2683. package/dist/ssr/prism-clojure-js.js +2 -0
  2684. package/dist/ssr/prism-clojure-js.js.map +1 -0
  2685. package/dist/ssr/prism-cmake-js.js +2 -0
  2686. package/dist/ssr/prism-cmake-js.js.map +1 -0
  2687. package/dist/ssr/prism-cobol-js.js +2 -0
  2688. package/dist/ssr/prism-cobol-js.js.map +1 -0
  2689. package/dist/ssr/prism-coffeescript-js.js +2 -0
  2690. package/dist/ssr/prism-coffeescript-js.js.map +1 -0
  2691. package/dist/ssr/prism-concurnas-js.js +2 -0
  2692. package/dist/ssr/prism-concurnas-js.js.map +1 -0
  2693. package/dist/ssr/prism-cooklang-js.js +2 -0
  2694. package/dist/ssr/prism-cooklang-js.js.map +1 -0
  2695. package/dist/ssr/prism-coq-js.js +2 -0
  2696. package/dist/ssr/prism-coq-js.js.map +1 -0
  2697. package/dist/ssr/prism-core-js.js +3 -0
  2698. package/dist/ssr/prism-core-js.js.LICENSE.txt +8 -0
  2699. package/dist/ssr/prism-core-js.js.map +1 -0
  2700. package/dist/ssr/prism-cpp-js.js +2 -0
  2701. package/dist/ssr/prism-cpp-js.js.map +1 -0
  2702. package/dist/ssr/prism-crystal-js.js +2 -0
  2703. package/dist/ssr/prism-crystal-js.js.map +1 -0
  2704. package/dist/ssr/prism-csharp-js.js +2 -0
  2705. package/dist/ssr/prism-csharp-js.js.map +1 -0
  2706. package/dist/ssr/prism-cshtml-js.js +2 -0
  2707. package/dist/ssr/prism-cshtml-js.js.map +1 -0
  2708. package/dist/ssr/prism-csp-js.js +2 -0
  2709. package/dist/ssr/prism-csp-js.js.map +1 -0
  2710. package/dist/ssr/prism-css-extras-js.js +2 -0
  2711. package/dist/ssr/prism-css-extras-js.js.map +1 -0
  2712. package/dist/ssr/prism-css-js.js +2 -0
  2713. package/dist/ssr/prism-css-js.js.map +1 -0
  2714. package/dist/ssr/prism-csv-js.js +2 -0
  2715. package/dist/ssr/prism-csv-js.js.map +1 -0
  2716. package/dist/ssr/prism-cue-js.js +2 -0
  2717. package/dist/ssr/prism-cue-js.js.map +1 -0
  2718. package/dist/ssr/prism-cypher-js.js +2 -0
  2719. package/dist/ssr/prism-cypher-js.js.map +1 -0
  2720. package/dist/ssr/prism-d-js.js +2 -0
  2721. package/dist/ssr/prism-d-js.js.map +1 -0
  2722. package/dist/ssr/prism-dart-js.js +2 -0
  2723. package/dist/ssr/prism-dart-js.js.map +1 -0
  2724. package/dist/ssr/prism-dataweave-js.js +2 -0
  2725. package/dist/ssr/prism-dataweave-js.js.map +1 -0
  2726. package/dist/ssr/prism-dax-js.js +2 -0
  2727. package/dist/ssr/prism-dax-js.js.map +1 -0
  2728. package/dist/ssr/prism-dhall-js.js +2 -0
  2729. package/dist/ssr/prism-dhall-js.js.map +1 -0
  2730. package/dist/ssr/prism-diff-js.js +2 -0
  2731. package/dist/ssr/prism-diff-js.js.map +1 -0
  2732. package/dist/ssr/prism-django-js.js +2 -0
  2733. package/dist/ssr/prism-django-js.js.map +1 -0
  2734. package/dist/ssr/prism-dns-zone-file-js.js +2 -0
  2735. package/dist/ssr/prism-dns-zone-file-js.js.map +1 -0
  2736. package/dist/ssr/prism-docker-js.js +2 -0
  2737. package/dist/ssr/prism-docker-js.js.map +1 -0
  2738. package/dist/ssr/prism-dot-js.js +2 -0
  2739. package/dist/ssr/prism-dot-js.js.map +1 -0
  2740. package/dist/ssr/prism-ebnf-js.js +2 -0
  2741. package/dist/ssr/prism-ebnf-js.js.map +1 -0
  2742. package/dist/ssr/prism-editorconfig-js.js +2 -0
  2743. package/dist/ssr/prism-editorconfig-js.js.map +1 -0
  2744. package/dist/ssr/prism-eiffel-js.js +2 -0
  2745. package/dist/ssr/prism-eiffel-js.js.map +1 -0
  2746. package/dist/ssr/prism-ejs-js.js +2 -0
  2747. package/dist/ssr/prism-ejs-js.js.map +1 -0
  2748. package/dist/ssr/prism-elixir-js.js +2 -0
  2749. package/dist/ssr/prism-elixir-js.js.map +1 -0
  2750. package/dist/ssr/prism-elm-js.js +2 -0
  2751. package/dist/ssr/prism-elm-js.js.map +1 -0
  2752. package/dist/ssr/prism-erb-js.js +2 -0
  2753. package/dist/ssr/prism-erb-js.js.map +1 -0
  2754. package/dist/ssr/prism-erlang-js.js +2 -0
  2755. package/dist/ssr/prism-erlang-js.js.map +1 -0
  2756. package/dist/ssr/prism-etlua-js.js +2 -0
  2757. package/dist/ssr/prism-etlua-js.js.map +1 -0
  2758. package/dist/ssr/prism-excel-formula-js.js +2 -0
  2759. package/dist/ssr/prism-excel-formula-js.js.map +1 -0
  2760. package/dist/ssr/prism-factor-js.js +2 -0
  2761. package/dist/ssr/prism-factor-js.js.map +1 -0
  2762. package/dist/ssr/prism-false-js.js +2 -0
  2763. package/dist/ssr/prism-false-js.js.map +1 -0
  2764. package/dist/ssr/prism-firestore-security-rules-js.js +2 -0
  2765. package/dist/ssr/prism-firestore-security-rules-js.js.map +1 -0
  2766. package/dist/ssr/prism-flow-js.js +2 -0
  2767. package/dist/ssr/prism-flow-js.js.map +1 -0
  2768. package/dist/ssr/prism-fortran-js.js +2 -0
  2769. package/dist/ssr/prism-fortran-js.js.map +1 -0
  2770. package/dist/ssr/prism-fsharp-js.js +2 -0
  2771. package/dist/ssr/prism-fsharp-js.js.map +1 -0
  2772. package/dist/ssr/prism-ftl-js.js +2 -0
  2773. package/dist/ssr/prism-ftl-js.js.map +1 -0
  2774. package/dist/ssr/prism-gap-js.js +2 -0
  2775. package/dist/ssr/prism-gap-js.js.map +1 -0
  2776. package/dist/ssr/prism-gcode-js.js +2 -0
  2777. package/dist/ssr/prism-gcode-js.js.map +1 -0
  2778. package/dist/ssr/prism-gdscript-js.js +2 -0
  2779. package/dist/ssr/prism-gdscript-js.js.map +1 -0
  2780. package/dist/ssr/prism-gedcom-js.js +2 -0
  2781. package/dist/ssr/prism-gedcom-js.js.map +1 -0
  2782. package/dist/ssr/prism-gettext-js.js +2 -0
  2783. package/dist/ssr/prism-gettext-js.js.map +1 -0
  2784. package/dist/ssr/prism-gherkin-js.js +2 -0
  2785. package/dist/ssr/prism-gherkin-js.js.map +1 -0
  2786. package/dist/ssr/prism-git-js.js +2 -0
  2787. package/dist/ssr/prism-git-js.js.map +1 -0
  2788. package/dist/ssr/prism-glsl-js.js +2 -0
  2789. package/dist/ssr/prism-glsl-js.js.map +1 -0
  2790. package/dist/ssr/prism-gml-js.js +2 -0
  2791. package/dist/ssr/prism-gml-js.js.map +1 -0
  2792. package/dist/ssr/prism-gn-js.js +2 -0
  2793. package/dist/ssr/prism-gn-js.js.map +1 -0
  2794. package/dist/ssr/prism-go-js.js +2 -0
  2795. package/dist/ssr/prism-go-js.js.map +1 -0
  2796. package/dist/ssr/prism-go-module-js.js +2 -0
  2797. package/dist/ssr/prism-go-module-js.js.map +1 -0
  2798. package/dist/ssr/prism-gradle-js.js +2 -0
  2799. package/dist/ssr/prism-gradle-js.js.map +1 -0
  2800. package/dist/ssr/prism-graphql-js.js +2 -0
  2801. package/dist/ssr/prism-graphql-js.js.map +1 -0
  2802. package/dist/ssr/prism-groovy-js.js +2 -0
  2803. package/dist/ssr/prism-groovy-js.js.map +1 -0
  2804. package/dist/ssr/prism-haml-js.js +2 -0
  2805. package/dist/ssr/prism-haml-js.js.map +1 -0
  2806. package/dist/ssr/prism-handlebars-js.js +2 -0
  2807. package/dist/ssr/prism-handlebars-js.js.map +1 -0
  2808. package/dist/ssr/prism-haskell-js.js +2 -0
  2809. package/dist/ssr/prism-haskell-js.js.map +1 -0
  2810. package/dist/ssr/prism-haxe-js.js +2 -0
  2811. package/dist/ssr/prism-haxe-js.js.map +1 -0
  2812. package/dist/ssr/prism-hcl-js.js +2 -0
  2813. package/dist/ssr/prism-hcl-js.js.map +1 -0
  2814. package/dist/ssr/prism-hlsl-js.js +2 -0
  2815. package/dist/ssr/prism-hlsl-js.js.map +1 -0
  2816. package/dist/ssr/prism-hoon-js.js +2 -0
  2817. package/dist/ssr/prism-hoon-js.js.map +1 -0
  2818. package/dist/ssr/prism-hpkp-js.js +2 -0
  2819. package/dist/ssr/prism-hpkp-js.js.map +1 -0
  2820. package/dist/ssr/prism-hsts-js.js +2 -0
  2821. package/dist/ssr/prism-hsts-js.js.map +1 -0
  2822. package/dist/ssr/prism-http-js.js +2 -0
  2823. package/dist/ssr/prism-http-js.js.map +1 -0
  2824. package/dist/ssr/prism-ichigojam-js.js +2 -0
  2825. package/dist/ssr/prism-ichigojam-js.js.map +1 -0
  2826. package/dist/ssr/prism-icon-js.js +2 -0
  2827. package/dist/ssr/prism-icon-js.js.map +1 -0
  2828. package/dist/ssr/prism-icu-message-format-js.js +2 -0
  2829. package/dist/ssr/prism-icu-message-format-js.js.map +1 -0
  2830. package/dist/ssr/prism-idris-js.js +2 -0
  2831. package/dist/ssr/prism-idris-js.js.map +1 -0
  2832. package/dist/ssr/prism-iecst-js.js +2 -0
  2833. package/dist/ssr/prism-iecst-js.js.map +1 -0
  2834. package/dist/ssr/prism-ignore-js.js +2 -0
  2835. package/dist/ssr/prism-ignore-js.js.map +1 -0
  2836. package/dist/ssr/prism-inform7-js.js +2 -0
  2837. package/dist/ssr/prism-inform7-js.js.map +1 -0
  2838. package/dist/ssr/prism-ini-js.js +2 -0
  2839. package/dist/ssr/prism-ini-js.js.map +1 -0
  2840. package/dist/ssr/prism-io-js.js +2 -0
  2841. package/dist/ssr/prism-io-js.js.map +1 -0
  2842. package/dist/ssr/prism-j-js.js +2 -0
  2843. package/dist/ssr/prism-j-js.js.map +1 -0
  2844. package/dist/ssr/prism-java-js.js +2 -0
  2845. package/dist/ssr/prism-java-js.js.map +1 -0
  2846. package/dist/ssr/prism-javadoc-js.js +2 -0
  2847. package/dist/ssr/prism-javadoc-js.js.map +1 -0
  2848. package/dist/ssr/prism-javadoclike-js.js +2 -0
  2849. package/dist/ssr/prism-javadoclike-js.js.map +1 -0
  2850. package/dist/ssr/prism-javascript-js.js +2 -0
  2851. package/dist/ssr/prism-javascript-js.js.map +1 -0
  2852. package/dist/ssr/prism-javastacktrace-js.js +2 -0
  2853. package/dist/ssr/prism-javastacktrace-js.js.map +1 -0
  2854. package/dist/ssr/prism-jexl-js.js +2 -0
  2855. package/dist/ssr/prism-jexl-js.js.map +1 -0
  2856. package/dist/ssr/prism-jolie-js.js +2 -0
  2857. package/dist/ssr/prism-jolie-js.js.map +1 -0
  2858. package/dist/ssr/prism-jq-js.js +2 -0
  2859. package/dist/ssr/prism-jq-js.js.map +1 -0
  2860. package/dist/ssr/prism-js-extras-js.js +2 -0
  2861. package/dist/ssr/prism-js-extras-js.js.map +1 -0
  2862. package/dist/ssr/prism-js-templates-js.js +2 -0
  2863. package/dist/ssr/prism-js-templates-js.js.map +1 -0
  2864. package/dist/ssr/prism-jsdoc-js.js +2 -0
  2865. package/dist/ssr/prism-jsdoc-js.js.map +1 -0
  2866. package/dist/ssr/prism-json-js.js +2 -0
  2867. package/dist/ssr/prism-json-js.js.map +1 -0
  2868. package/dist/ssr/prism-json5-js.js +2 -0
  2869. package/dist/ssr/prism-json5-js.js.map +1 -0
  2870. package/dist/ssr/prism-jsonp-js.js +2 -0
  2871. package/dist/ssr/prism-jsonp-js.js.map +1 -0
  2872. package/dist/ssr/prism-jsstacktrace-js.js +2 -0
  2873. package/dist/ssr/prism-jsstacktrace-js.js.map +1 -0
  2874. package/dist/ssr/prism-jsx-js.js +2 -0
  2875. package/dist/ssr/prism-jsx-js.js.map +1 -0
  2876. package/dist/ssr/prism-julia-js.js +2 -0
  2877. package/dist/ssr/prism-julia-js.js.map +1 -0
  2878. package/dist/ssr/prism-keepalived-js.js +2 -0
  2879. package/dist/ssr/prism-keepalived-js.js.map +1 -0
  2880. package/dist/ssr/prism-keyman-js.js +2 -0
  2881. package/dist/ssr/prism-keyman-js.js.map +1 -0
  2882. package/dist/ssr/prism-kotlin-js.js +2 -0
  2883. package/dist/ssr/prism-kotlin-js.js.map +1 -0
  2884. package/dist/ssr/prism-kumir-js.js +2 -0
  2885. package/dist/ssr/prism-kumir-js.js.map +1 -0
  2886. package/dist/ssr/prism-kusto-js.js +2 -0
  2887. package/dist/ssr/prism-kusto-js.js.map +1 -0
  2888. package/dist/ssr/prism-latex-js.js +2 -0
  2889. package/dist/ssr/prism-latex-js.js.map +1 -0
  2890. package/dist/ssr/prism-latte-js.js +2 -0
  2891. package/dist/ssr/prism-latte-js.js.map +1 -0
  2892. package/dist/ssr/prism-less-js.js +2 -0
  2893. package/dist/ssr/prism-less-js.js.map +1 -0
  2894. package/dist/ssr/prism-lilypond-js.js +2 -0
  2895. package/dist/ssr/prism-lilypond-js.js.map +1 -0
  2896. package/dist/ssr/prism-linker-script-js.js +2 -0
  2897. package/dist/ssr/prism-linker-script-js.js.map +1 -0
  2898. package/dist/ssr/prism-liquid-js.js +2 -0
  2899. package/dist/ssr/prism-liquid-js.js.map +1 -0
  2900. package/dist/ssr/prism-lisp-js.js +2 -0
  2901. package/dist/ssr/prism-lisp-js.js.map +1 -0
  2902. package/dist/ssr/prism-livescript-js.js +2 -0
  2903. package/dist/ssr/prism-livescript-js.js.map +1 -0
  2904. package/dist/ssr/prism-llvm-js.js +2 -0
  2905. package/dist/ssr/prism-llvm-js.js.map +1 -0
  2906. package/dist/ssr/prism-log-js.js +2 -0
  2907. package/dist/ssr/prism-log-js.js.map +1 -0
  2908. package/dist/ssr/prism-lolcode-js.js +2 -0
  2909. package/dist/ssr/prism-lolcode-js.js.map +1 -0
  2910. package/dist/ssr/prism-lua-js.js +2 -0
  2911. package/dist/ssr/prism-lua-js.js.map +1 -0
  2912. package/dist/ssr/prism-magma-js.js +2 -0
  2913. package/dist/ssr/prism-magma-js.js.map +1 -0
  2914. package/dist/ssr/prism-makefile-js.js +2 -0
  2915. package/dist/ssr/prism-makefile-js.js.map +1 -0
  2916. package/dist/ssr/prism-markdown-js.js +2 -0
  2917. package/dist/ssr/prism-markdown-js.js.map +1 -0
  2918. package/dist/ssr/prism-markup-js.js +2 -0
  2919. package/dist/ssr/prism-markup-js.js.map +1 -0
  2920. package/dist/ssr/prism-markup-templating-js.js +2 -0
  2921. package/dist/ssr/prism-markup-templating-js.js.map +1 -0
  2922. package/dist/ssr/prism-mata-js.js +2 -0
  2923. package/dist/ssr/prism-mata-js.js.map +1 -0
  2924. package/dist/ssr/prism-matlab-js.js +2 -0
  2925. package/dist/ssr/prism-matlab-js.js.map +1 -0
  2926. package/dist/ssr/prism-maxscript-js.js +2 -0
  2927. package/dist/ssr/prism-maxscript-js.js.map +1 -0
  2928. package/dist/ssr/prism-mel-js.js +2 -0
  2929. package/dist/ssr/prism-mel-js.js.map +1 -0
  2930. package/dist/ssr/prism-mermaid-js.js +2 -0
  2931. package/dist/ssr/prism-mermaid-js.js.map +1 -0
  2932. package/dist/ssr/prism-metafont-js.js +2 -0
  2933. package/dist/ssr/prism-metafont-js.js.map +1 -0
  2934. package/dist/ssr/prism-mizar-js.js +2 -0
  2935. package/dist/ssr/prism-mizar-js.js.map +1 -0
  2936. package/dist/ssr/prism-mongodb-js.js +2 -0
  2937. package/dist/ssr/prism-mongodb-js.js.map +1 -0
  2938. package/dist/ssr/prism-monkey-js.js +2 -0
  2939. package/dist/ssr/prism-monkey-js.js.map +1 -0
  2940. package/dist/ssr/prism-moonscript-js.js +2 -0
  2941. package/dist/ssr/prism-moonscript-js.js.map +1 -0
  2942. package/dist/ssr/prism-n1ql-js.js +2 -0
  2943. package/dist/ssr/prism-n1ql-js.js.map +1 -0
  2944. package/dist/ssr/prism-n4js-js.js +2 -0
  2945. package/dist/ssr/prism-n4js-js.js.map +1 -0
  2946. package/dist/ssr/prism-nand2tetris-hdl-js.js +2 -0
  2947. package/dist/ssr/prism-nand2tetris-hdl-js.js.map +1 -0
  2948. package/dist/ssr/prism-naniscript-js.js +2 -0
  2949. package/dist/ssr/prism-naniscript-js.js.map +1 -0
  2950. package/dist/ssr/prism-nasm-js.js +2 -0
  2951. package/dist/ssr/prism-nasm-js.js.map +1 -0
  2952. package/dist/ssr/prism-neon-js.js +2 -0
  2953. package/dist/ssr/prism-neon-js.js.map +1 -0
  2954. package/dist/ssr/prism-nevod-js.js +2 -0
  2955. package/dist/ssr/prism-nevod-js.js.map +1 -0
  2956. package/dist/ssr/prism-nginx-js.js +2 -0
  2957. package/dist/ssr/prism-nginx-js.js.map +1 -0
  2958. package/dist/ssr/prism-nim-js.js +2 -0
  2959. package/dist/ssr/prism-nim-js.js.map +1 -0
  2960. package/dist/ssr/prism-nix-js.js +2 -0
  2961. package/dist/ssr/prism-nix-js.js.map +1 -0
  2962. package/dist/ssr/prism-nsis-js.js +2 -0
  2963. package/dist/ssr/prism-nsis-js.js.map +1 -0
  2964. package/dist/ssr/prism-objectivec-js.js +2 -0
  2965. package/dist/ssr/prism-objectivec-js.js.map +1 -0
  2966. package/dist/ssr/prism-ocaml-js.js +2 -0
  2967. package/dist/ssr/prism-ocaml-js.js.map +1 -0
  2968. package/dist/ssr/prism-odin-js.js +2 -0
  2969. package/dist/ssr/prism-odin-js.js.map +1 -0
  2970. package/dist/ssr/prism-opencl-js.js +2 -0
  2971. package/dist/ssr/prism-opencl-js.js.map +1 -0
  2972. package/dist/ssr/prism-openqasm-js.js +2 -0
  2973. package/dist/ssr/prism-openqasm-js.js.map +1 -0
  2974. package/dist/ssr/prism-oz-js.js +2 -0
  2975. package/dist/ssr/prism-oz-js.js.map +1 -0
  2976. package/dist/ssr/prism-parigp-js.js +2 -0
  2977. package/dist/ssr/prism-parigp-js.js.map +1 -0
  2978. package/dist/ssr/prism-parser-js.js +2 -0
  2979. package/dist/ssr/prism-parser-js.js.map +1 -0
  2980. package/dist/ssr/prism-pascal-js.js +2 -0
  2981. package/dist/ssr/prism-pascal-js.js.map +1 -0
  2982. package/dist/ssr/prism-pascaligo-js.js +2 -0
  2983. package/dist/ssr/prism-pascaligo-js.js.map +1 -0
  2984. package/dist/ssr/prism-pcaxis-js.js +2 -0
  2985. package/dist/ssr/prism-pcaxis-js.js.map +1 -0
  2986. package/dist/ssr/prism-peoplecode-js.js +2 -0
  2987. package/dist/ssr/prism-peoplecode-js.js.map +1 -0
  2988. package/dist/ssr/prism-perl-js.js +2 -0
  2989. package/dist/ssr/prism-perl-js.js.map +1 -0
  2990. package/dist/ssr/prism-php-extras-js.js +2 -0
  2991. package/dist/ssr/prism-php-extras-js.js.map +1 -0
  2992. package/dist/ssr/prism-php-js.js +2 -0
  2993. package/dist/ssr/prism-php-js.js.map +1 -0
  2994. package/dist/ssr/prism-phpdoc-js.js +2 -0
  2995. package/dist/ssr/prism-phpdoc-js.js.map +1 -0
  2996. package/dist/ssr/prism-plant-uml-js.js +2 -0
  2997. package/dist/ssr/prism-plant-uml-js.js.map +1 -0
  2998. package/dist/ssr/prism-plsql-js.js +2 -0
  2999. package/dist/ssr/prism-plsql-js.js.map +1 -0
  3000. package/dist/ssr/prism-powerquery-js.js +2 -0
  3001. package/dist/ssr/prism-powerquery-js.js.map +1 -0
  3002. package/dist/ssr/prism-powershell-js.js +2 -0
  3003. package/dist/ssr/prism-powershell-js.js.map +1 -0
  3004. package/dist/ssr/prism-processing-js.js +2 -0
  3005. package/dist/ssr/prism-processing-js.js.map +1 -0
  3006. package/dist/ssr/prism-prolog-js.js +2 -0
  3007. package/dist/ssr/prism-prolog-js.js.map +1 -0
  3008. package/dist/ssr/prism-promql-js.js +2 -0
  3009. package/dist/ssr/prism-promql-js.js.map +1 -0
  3010. package/dist/ssr/prism-properties-js.js +2 -0
  3011. package/dist/ssr/prism-properties-js.js.map +1 -0
  3012. package/dist/ssr/prism-protobuf-js.js +2 -0
  3013. package/dist/ssr/prism-protobuf-js.js.map +1 -0
  3014. package/dist/ssr/prism-psl-js.js +2 -0
  3015. package/dist/ssr/prism-psl-js.js.map +1 -0
  3016. package/dist/ssr/prism-pug-js.js +2 -0
  3017. package/dist/ssr/prism-pug-js.js.map +1 -0
  3018. package/dist/ssr/prism-puppet-js.js +2 -0
  3019. package/dist/ssr/prism-puppet-js.js.map +1 -0
  3020. package/dist/ssr/prism-pure-js.js +2 -0
  3021. package/dist/ssr/prism-pure-js.js.map +1 -0
  3022. package/dist/ssr/prism-purebasic-js.js +2 -0
  3023. package/dist/ssr/prism-purebasic-js.js.map +1 -0
  3024. package/dist/ssr/prism-purescript-js.js +2 -0
  3025. package/dist/ssr/prism-purescript-js.js.map +1 -0
  3026. package/dist/ssr/prism-python-js.js +2 -0
  3027. package/dist/ssr/prism-python-js.js.map +1 -0
  3028. package/dist/ssr/prism-q-js.js +2 -0
  3029. package/dist/ssr/prism-q-js.js.map +1 -0
  3030. package/dist/ssr/prism-qml-js.js +2 -0
  3031. package/dist/ssr/prism-qml-js.js.map +1 -0
  3032. package/dist/ssr/prism-qore-js.js +2 -0
  3033. package/dist/ssr/prism-qore-js.js.map +1 -0
  3034. package/dist/ssr/prism-qsharp-js.js +2 -0
  3035. package/dist/ssr/prism-qsharp-js.js.map +1 -0
  3036. package/dist/ssr/prism-r-js.js +2 -0
  3037. package/dist/ssr/prism-r-js.js.map +1 -0
  3038. package/dist/ssr/prism-racket-js.js +2 -0
  3039. package/dist/ssr/prism-racket-js.js.map +1 -0
  3040. package/dist/ssr/prism-reason-js.js +2 -0
  3041. package/dist/ssr/prism-reason-js.js.map +1 -0
  3042. package/dist/ssr/prism-regex-js.js +2 -0
  3043. package/dist/ssr/prism-regex-js.js.map +1 -0
  3044. package/dist/ssr/prism-rego-js.js +2 -0
  3045. package/dist/ssr/prism-rego-js.js.map +1 -0
  3046. package/dist/ssr/prism-renpy-js.js +2 -0
  3047. package/dist/ssr/prism-renpy-js.js.map +1 -0
  3048. package/dist/ssr/prism-rescript-js.js +2 -0
  3049. package/dist/ssr/prism-rescript-js.js.map +1 -0
  3050. package/dist/ssr/prism-rest-js.js +2 -0
  3051. package/dist/ssr/prism-rest-js.js.map +1 -0
  3052. package/dist/ssr/prism-rip-js.js +2 -0
  3053. package/dist/ssr/prism-rip-js.js.map +1 -0
  3054. package/dist/ssr/prism-roboconf-js.js +2 -0
  3055. package/dist/ssr/prism-roboconf-js.js.map +1 -0
  3056. package/dist/ssr/prism-robotframework-js.js +2 -0
  3057. package/dist/ssr/prism-robotframework-js.js.map +1 -0
  3058. package/dist/ssr/prism-ruby-js.js +2 -0
  3059. package/dist/ssr/prism-ruby-js.js.map +1 -0
  3060. package/dist/ssr/prism-rust-js.js +2 -0
  3061. package/dist/ssr/prism-rust-js.js.map +1 -0
  3062. package/dist/ssr/prism-sas-js.js +2 -0
  3063. package/dist/ssr/prism-sas-js.js.map +1 -0
  3064. package/dist/ssr/prism-sass-js.js +2 -0
  3065. package/dist/ssr/prism-sass-js.js.map +1 -0
  3066. package/dist/ssr/prism-scala-js.js +2 -0
  3067. package/dist/ssr/prism-scala-js.js.map +1 -0
  3068. package/dist/ssr/prism-scheme-js.js +2 -0
  3069. package/dist/ssr/prism-scheme-js.js.map +1 -0
  3070. package/dist/ssr/prism-scss-js.js +2 -0
  3071. package/dist/ssr/prism-scss-js.js.map +1 -0
  3072. package/dist/ssr/prism-shell-session-js.js +2 -0
  3073. package/dist/ssr/prism-shell-session-js.js.map +1 -0
  3074. package/dist/ssr/prism-smali-js.js +2 -0
  3075. package/dist/ssr/prism-smali-js.js.map +1 -0
  3076. package/dist/ssr/prism-smalltalk-js.js +2 -0
  3077. package/dist/ssr/prism-smalltalk-js.js.map +1 -0
  3078. package/dist/ssr/prism-smarty-js.js +2 -0
  3079. package/dist/ssr/prism-smarty-js.js.map +1 -0
  3080. package/dist/ssr/prism-sml-js.js +2 -0
  3081. package/dist/ssr/prism-sml-js.js.map +1 -0
  3082. package/dist/ssr/prism-solidity-js.js +2 -0
  3083. package/dist/ssr/prism-solidity-js.js.map +1 -0
  3084. package/dist/ssr/prism-solution-file-js.js +2 -0
  3085. package/dist/ssr/prism-solution-file-js.js.map +1 -0
  3086. package/dist/ssr/prism-soy-js.js +2 -0
  3087. package/dist/ssr/prism-soy-js.js.map +1 -0
  3088. package/dist/ssr/prism-sparql-js.js +2 -0
  3089. package/dist/ssr/prism-sparql-js.js.map +1 -0
  3090. package/dist/ssr/prism-splunk-spl-js.js +2 -0
  3091. package/dist/ssr/prism-splunk-spl-js.js.map +1 -0
  3092. package/dist/ssr/prism-sqf-js.js +2 -0
  3093. package/dist/ssr/prism-sqf-js.js.map +1 -0
  3094. package/dist/ssr/prism-sql-js.js +2 -0
  3095. package/dist/ssr/prism-sql-js.js.map +1 -0
  3096. package/dist/ssr/prism-squirrel-js.js +2 -0
  3097. package/dist/ssr/prism-squirrel-js.js.map +1 -0
  3098. package/dist/ssr/prism-stan-js.js +2 -0
  3099. package/dist/ssr/prism-stan-js.js.map +1 -0
  3100. package/dist/ssr/prism-stata-js.js +2 -0
  3101. package/dist/ssr/prism-stata-js.js.map +1 -0
  3102. package/dist/ssr/prism-stylus-js.js +2 -0
  3103. package/dist/ssr/prism-stylus-js.js.map +1 -0
  3104. package/dist/ssr/prism-supercollider-js.js +2 -0
  3105. package/dist/ssr/prism-supercollider-js.js.map +1 -0
  3106. package/dist/ssr/prism-svelte.js +2 -0
  3107. package/dist/ssr/prism-svelte.js.map +1 -0
  3108. package/dist/ssr/prism-swift-js.js +2 -0
  3109. package/dist/ssr/prism-swift-js.js.map +1 -0
  3110. package/dist/ssr/prism-systemd-js.js +2 -0
  3111. package/dist/ssr/prism-systemd-js.js.map +1 -0
  3112. package/dist/ssr/prism-t4-cs-js.js +2 -0
  3113. package/dist/ssr/prism-t4-cs-js.js.map +1 -0
  3114. package/dist/ssr/prism-t4-templating-js.js +2 -0
  3115. package/dist/ssr/prism-t4-templating-js.js.map +1 -0
  3116. package/dist/ssr/prism-t4-vb-js.js +2 -0
  3117. package/dist/ssr/prism-t4-vb-js.js.map +1 -0
  3118. package/dist/ssr/prism-tap-js.js +2 -0
  3119. package/dist/ssr/prism-tap-js.js.map +1 -0
  3120. package/dist/ssr/prism-tcl-js.js +2 -0
  3121. package/dist/ssr/prism-tcl-js.js.map +1 -0
  3122. package/dist/ssr/prism-textile-js.js +2 -0
  3123. package/dist/ssr/prism-textile-js.js.map +1 -0
  3124. package/dist/ssr/prism-toml-js.js +2 -0
  3125. package/dist/ssr/prism-toml-js.js.map +1 -0
  3126. package/dist/ssr/prism-tremor-js.js +2 -0
  3127. package/dist/ssr/prism-tremor-js.js.map +1 -0
  3128. package/dist/ssr/prism-tsx-js.js +2 -0
  3129. package/dist/ssr/prism-tsx-js.js.map +1 -0
  3130. package/dist/ssr/prism-tt2-js.js +2 -0
  3131. package/dist/ssr/prism-tt2-js.js.map +1 -0
  3132. package/dist/ssr/prism-turtle-js.js +2 -0
  3133. package/dist/ssr/prism-turtle-js.js.map +1 -0
  3134. package/dist/ssr/prism-twig-js.js +2 -0
  3135. package/dist/ssr/prism-twig-js.js.map +1 -0
  3136. package/dist/ssr/prism-typescript-js.js +2 -0
  3137. package/dist/ssr/prism-typescript-js.js.map +1 -0
  3138. package/dist/ssr/prism-typoscript-js.js +2 -0
  3139. package/dist/ssr/prism-typoscript-js.js.map +1 -0
  3140. package/dist/ssr/prism-unrealscript-js.js +2 -0
  3141. package/dist/ssr/prism-unrealscript-js.js.map +1 -0
  3142. package/dist/ssr/prism-uorazor-js.js +2 -0
  3143. package/dist/ssr/prism-uorazor-js.js.map +1 -0
  3144. package/dist/ssr/prism-uri-js.js +2 -0
  3145. package/dist/ssr/prism-uri-js.js.map +1 -0
  3146. package/dist/ssr/prism-v-js.js +2 -0
  3147. package/dist/ssr/prism-v-js.js.map +1 -0
  3148. package/dist/ssr/prism-vala-js.js +2 -0
  3149. package/dist/ssr/prism-vala-js.js.map +1 -0
  3150. package/dist/ssr/prism-vbnet-js.js +2 -0
  3151. package/dist/ssr/prism-vbnet-js.js.map +1 -0
  3152. package/dist/ssr/prism-velocity-js.js +2 -0
  3153. package/dist/ssr/prism-velocity-js.js.map +1 -0
  3154. package/dist/ssr/prism-verilog-js.js +2 -0
  3155. package/dist/ssr/prism-verilog-js.js.map +1 -0
  3156. package/dist/ssr/prism-vhdl-js.js +2 -0
  3157. package/dist/ssr/prism-vhdl-js.js.map +1 -0
  3158. package/dist/ssr/prism-vim-js.js +2 -0
  3159. package/dist/ssr/prism-vim-js.js.map +1 -0
  3160. package/dist/ssr/prism-visual-basic-js.js +2 -0
  3161. package/dist/ssr/prism-visual-basic-js.js.map +1 -0
  3162. package/dist/ssr/prism-warpscript-js.js +2 -0
  3163. package/dist/ssr/prism-warpscript-js.js.map +1 -0
  3164. package/dist/ssr/prism-wasm-js.js +2 -0
  3165. package/dist/ssr/prism-wasm-js.js.map +1 -0
  3166. package/dist/ssr/prism-web-idl-js.js +2 -0
  3167. package/dist/ssr/prism-web-idl-js.js.map +1 -0
  3168. package/dist/ssr/prism-wgsl-js.js +2 -0
  3169. package/dist/ssr/prism-wgsl-js.js.map +1 -0
  3170. package/dist/ssr/prism-wiki-js.js +2 -0
  3171. package/dist/ssr/prism-wiki-js.js.map +1 -0
  3172. package/dist/ssr/prism-wolfram-js.js +2 -0
  3173. package/dist/ssr/prism-wolfram-js.js.map +1 -0
  3174. package/dist/ssr/prism-wren-js.js +2 -0
  3175. package/dist/ssr/prism-wren-js.js.map +1 -0
  3176. package/dist/ssr/prism-xeora-js.js +2 -0
  3177. package/dist/ssr/prism-xeora-js.js.map +1 -0
  3178. package/dist/ssr/prism-xml-doc-js.js +2 -0
  3179. package/dist/ssr/prism-xml-doc-js.js.map +1 -0
  3180. package/dist/ssr/prism-xojo-js.js +2 -0
  3181. package/dist/ssr/prism-xojo-js.js.map +1 -0
  3182. package/dist/ssr/prism-xquery-js.js +2 -0
  3183. package/dist/ssr/prism-xquery-js.js.map +1 -0
  3184. package/dist/ssr/prism-yaml-js.js +2 -0
  3185. package/dist/ssr/prism-yaml-js.js.map +1 -0
  3186. package/dist/ssr/prism-yang-js.js +2 -0
  3187. package/dist/ssr/prism-yang-js.js.map +1 -0
  3188. package/dist/ssr/prism-zig-js.js +2 -0
  3189. package/dist/ssr/prism-zig-js.js.map +1 -0
  3190. package/dist/ssr/rate-answers.50835df6a04a1c77.png +0 -0
  3191. package/dist/ssr/report-feedback.b19751ac764910b5.png +0 -0
  3192. package/dist/ssr/safari.f175cdae2ee0be76.svg +1 -0
  3193. package/dist/ssr/samsung-internet.f241f6953ef66c29.svg +1 -0
  3194. package/dist/ssr/scrim-bg.27f047d7e991dbe9.png +0 -0
  3195. package/dist/ssr/scrim-hexagons.e59318adb5550050.svg +1 -0
  3196. package/dist/ssr/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
  3197. package/dist/ssr/search.5dd31cbeea7d1af9.svg +1 -0
  3198. package/dist/ssr/server.ee27a0ad5e97acf2.svg +1 -0
  3199. package/dist/ssr/smartphone.1a49e06c0e294c6b.svg +1 -0
  3200. package/dist/ssr/star-notification.da1d20efb93ff663.png +0 -0
  3201. package/dist/ssr/stats.json +484 -0
  3202. package/dist/ssr/sun.1d7c3ad7bf6fc390.svg +1 -0
  3203. package/dist/ssr/survey.f654202dd710bc60.svg +1 -0
  3204. package/dist/ssr/trash-2.73b28bc66fb8543c.svg +1 -0
  3205. package/dist/ssr/triangle-alert.cff4c57ccef57da3.svg +1 -0
  3206. package/dist/ssr/unwatch-dashboard.79e0bc7c1a718164.png +0 -0
  3207. package/dist/ssr/unwatch-page.60a0cb971631515e.png +0 -0
  3208. package/dist/ssr/updates.420ea282a7c02ab9.png +0 -0
  3209. package/dist/ssr/updates_bcd.d685e51445456a30.png +0 -0
  3210. package/dist/ssr/updates_collection.74a95480bb8d52e0.png +0 -0
  3211. package/dist/ssr/updates_filter.1c6bfe2143f10758.png +0 -0
  3212. package/dist/ssr/updates_search.135043f07c29f425.png +0 -0
  3213. package/dist/ssr/watch-list.07b2e1c1d7afd40f.png +0 -0
  3214. package/dist/ssr/watch-page.1dc334f34f553b26.png +0 -0
  3215. package/dist/ssr/watify_bg.9877982a693ec402.wasm +0 -0
  3216. package/dist/ssr/webview.69c6470100eb7da1.svg +1 -0
  3217. package/entry.client.js +12 -0
  3218. package/entry.inline.js +14 -0
  3219. package/entry.ssr.js +133 -0
  3220. package/hooks/code-examples.js +8 -0
  3221. package/hooks/css-formal-syntax.js +21 -0
  3222. package/hooks/glean-init.js +19 -0
  3223. package/hooks/legacy-theme-controller.js +11 -0
  3224. package/hooks/live-samples.js +45 -0
  3225. package/hooks/load-elements.js +18 -0
  3226. package/hooks/sidebar-scroll-to-current.js +7 -0
  3227. package/hooks/toc-highlight.js +95 -0
  3228. package/l10n/context.js +12 -0
  3229. package/l10n/de.ftl +33 -0
  3230. package/l10n/en-US.ftl +111 -0
  3231. package/l10n/es.ftl +2 -0
  3232. package/l10n/fluent.js +288 -0
  3233. package/l10n/fr.ftl +1 -0
  3234. package/l10n/ja.ftl +2 -0
  3235. package/l10n/ko.ftl +1 -0
  3236. package/l10n/mixin.js +24 -0
  3237. package/l10n/pt-BR.ftl +2 -0
  3238. package/l10n/ru.ftl +1 -0
  3239. package/l10n/zh-CN.ftl +1 -0
  3240. package/l10n/zh-TW.ftl +1 -0
  3241. package/legacy/index.tsx +26 -0
  3242. package/legacy/tsconfig.json +13 -0
  3243. package/package.json +119 -0
  3244. package/rspack.config.js +484 -0
  3245. package/scripts/server.js +45 -0
  3246. package/server.js +298 -0
  3247. package/stylelint.config.js +29 -0
  3248. package/svgo.config.js +13 -0
  3249. package/symmetric-context/both.js +10 -0
  3250. package/symmetric-context/client.js +8 -0
  3251. package/symmetric-context/server.js +12 -0
  3252. package/symmetric-context/types.d.ts +3 -0
  3253. package/template.html +9 -0
  3254. package/tsconfig.json +26 -0
  3255. package/types/baseline.ts +13 -0
  3256. package/types/bcd.ts +1 -0
  3257. package/types/compat.ts +44 -0
  3258. package/types/element-map.d.ts +63 -0
  3259. package/types/fluent-2.ts +3 -0
  3260. package/types/fluent.ts +10 -0
  3261. package/types/fred.ts +19 -0
  3262. package/types/github.ts +200 -0
  3263. package/types/lit.ts +7 -0
  3264. package/types/modules.d.ts +34 -0
  3265. package/types/observatory.ts +109 -0
  3266. package/types/rari.ts +1 -0
  3267. package/utils/glean.js +21 -0
  3268. package/vendor/yari/libs/play/index.d.ts +62 -0
  3269. package/vendor/yari/libs/play/index.js +708 -0
  3270. package/vendor/yari/libs/play/package-lock.json +38 -0
  3271. package/vendor/yari/libs/play/package.json +19 -0
  3272. package/vendor/yari/libs/play/tsconfig.json +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"8551.e33e50ee71f44812.js","sources":["webpack://@mdn/fred/./node_modules/@codemirror/lang-css/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/lang-html/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/lang-javascript/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/lang-wast/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/language/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/lint/dist/index.js"],"sourcesContent":["import { parser } from '@lezer/css';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\nlet _properties = null;\nfunction properties() {\n if (!_properties && typeof document == \"object\" && document.body) {\n let { style } = document.body, names = [], seen = new Set;\n for (let prop in style)\n if (prop != \"cssText\" && prop != \"cssFloat\") {\n if (typeof style[prop] == \"string\") {\n if (/[A-Z]/.test(prop))\n prop = prop.replace(/[A-Z]/g, ch => \"-\" + ch.toLowerCase());\n if (!seen.has(prop)) {\n names.push(prop);\n seen.add(prop);\n }\n }\n }\n _properties = names.sort().map(name => ({ type: \"property\", label: name, apply: name + \": \" }));\n }\n return _properties || [];\n}\nconst pseudoClasses = /*@__PURE__*/[\n \"active\", \"after\", \"any-link\", \"autofill\", \"backdrop\", \"before\",\n \"checked\", \"cue\", \"default\", \"defined\", \"disabled\", \"empty\",\n \"enabled\", \"file-selector-button\", \"first\", \"first-child\",\n \"first-letter\", \"first-line\", \"first-of-type\", \"focus\",\n \"focus-visible\", \"focus-within\", \"fullscreen\", \"has\", \"host\",\n \"host-context\", \"hover\", \"in-range\", \"indeterminate\", \"invalid\",\n \"is\", \"lang\", \"last-child\", \"last-of-type\", \"left\", \"link\", \"marker\",\n \"modal\", \"not\", \"nth-child\", \"nth-last-child\", \"nth-last-of-type\",\n \"nth-of-type\", \"only-child\", \"only-of-type\", \"optional\", \"out-of-range\",\n \"part\", \"placeholder\", \"placeholder-shown\", \"read-only\", \"read-write\",\n \"required\", \"right\", \"root\", \"scope\", \"selection\", \"slotted\", \"target\",\n \"target-text\", \"valid\", \"visited\", \"where\"\n].map(name => ({ type: \"class\", label: name }));\nconst values = /*@__PURE__*/[\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"after-white-space\",\n \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\", \"always\",\n \"antialiased\", \"appworkspace\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\",\n \"avoid-page\", \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\",\n \"bidi-override\", \"blink\", \"block\", \"block-axis\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"bullets\", \"button\", \"button-bevel\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"capitalize\",\n \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\", \"cell\", \"center\", \"checkbox\", \"circle\",\n \"cjk-decimal\", \"clear\", \"clip\", \"close-quote\", \"col-resize\", \"collapse\", \"color\", \"color-burn\",\n \"color-dodge\", \"column\", \"column-reverse\", \"compact\", \"condensed\", \"contain\", \"content\",\n \"contents\", \"content-box\", \"context-menu\", \"continuous\", \"copy\", \"counter\", \"counters\", \"cover\",\n \"crop\", \"cross\", \"crosshair\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\", \"destination-in\",\n \"destination-out\", \"destination-over\", \"difference\", \"disc\", \"discard\", \"disclosure-closed\",\n \"disclosure-open\", \"document\", \"dot-dash\", \"dot-dot-dash\", \"dotted\", \"double\", \"down\", \"e-resize\",\n \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\", \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\",\n \"ethiopic-abegede-gez\", \"ethiopic-halehame-aa-er\", \"ethiopic-halehame-gez\", \"ew-resize\", \"exclusion\",\n \"expanded\", \"extends\", \"extra-condensed\", \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\",\n \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\", \"forwards\", \"from\",\n \"geometricPrecision\", \"graytext\", \"grid\", \"groove\", \"hand\", \"hard-light\", \"help\", \"hidden\", \"hide\",\n \"higher\", \"highlight\", \"highlighttext\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\", \"infobackground\", \"infotext\",\n \"inherit\", \"initial\", \"inline\", \"inline-axis\", \"inline-block\", \"inline-flex\", \"inline-grid\",\n \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\", \"italic\", \"justify\", \"keep-all\",\n \"landscape\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\", \"line-through\", \"linear\",\n \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\", \"local\", \"logical\", \"loud\", \"lower\",\n \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\", \"lowercase\", \"ltr\", \"luminosity\", \"manipulation\",\n \"match\", \"matrix\", \"matrix3d\", \"medium\", \"menu\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"n-resize\", \"narrower\",\n \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\", \"no-open-quote\", \"no-repeat\", \"none\",\n \"normal\", \"not-allowed\", \"nowrap\", \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\",\n \"oblique\", \"opacity\", \"open-quote\", \"optimizeLegibility\", \"optimizeSpeed\", \"outset\", \"outside\",\n \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\", \"painted\", \"page\", \"paused\",\n \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\", \"pointer\", \"polygon\", \"portrait\",\n \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\", \"progress\", \"push-button\", \"radial-gradient\", \"radio\",\n \"read-only\", \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\", \"relative\", \"repeat\",\n \"repeating-linear-gradient\", \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\", \"rotateZ\", \"round\",\n \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\", \"s-resize\", \"sans-serif\", \"saturation\",\n \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\", \"scroll\", \"scrollbar\", \"scroll-position\",\n \"se-resize\", \"self-start\", \"self-end\", \"semi-condensed\", \"semi-expanded\", \"separate\", \"serif\", \"show\",\n \"single\", \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\", \"small\", \"small-caps\",\n \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"source-atop\", \"source-in\", \"source-out\",\n \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\", \"start\",\n \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\", \"subpixel-antialiased\", \"svg_masks\",\n \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\", \"table-caption\", \"table-cell\",\n \"table-column\", \"table-column-group\", \"table-footer-group\", \"table-header-group\", \"table-row\",\n \"table-row-group\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thick\", \"thin\",\n \"threeddarkshadow\", \"threedface\", \"threedhighlight\", \"threedlightshadow\", \"threedshadow\", \"to\", \"top\",\n \"transform\", \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\", \"transparent\",\n \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\", \"upper-latin\",\n \"uppercase\", \"url\", \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\",\n \"visiblePainted\", \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\", \"window\", \"windowframe\",\n \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\", \"xx-large\", \"xx-small\"\n].map(name => ({ type: \"keyword\", label: name })).concat(/*@__PURE__*/[\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n].map(name => ({ type: \"constant\", label: name })));\nconst tags = /*@__PURE__*/[\n \"a\", \"abbr\", \"address\", \"article\", \"aside\", \"b\", \"bdi\", \"bdo\", \"blockquote\", \"body\",\n \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"dd\", \"del\",\n \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"figcaption\", \"figure\", \"footer\",\n \"form\", \"header\", \"hgroup\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"hr\", \"html\", \"i\", \"iframe\",\n \"img\", \"input\", \"ins\", \"kbd\", \"label\", \"legend\", \"li\", \"main\", \"meter\", \"nav\", \"ol\", \"output\",\n \"p\", \"pre\", \"ruby\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"sub\", \"summary\",\n \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"tr\", \"u\", \"ul\"\n].map(name => ({ type: \"type\", label: name }));\nconst atRules = /*@__PURE__*/[\n \"@charset\", \"@color-profile\", \"@container\", \"@counter-style\", \"@font-face\", \"@font-feature-values\",\n \"@font-palette-values\", \"@import\", \"@keyframes\", \"@layer\", \"@media\", \"@namespace\", \"@page\",\n \"@position-try\", \"@property\", \"@scope\", \"@starting-style\", \"@supports\", \"@view-transition\"\n].map(label => ({ type: \"keyword\", label }));\nconst identifier = /^(\\w[\\w-]*|-\\w[\\w-]*|)$/, variable = /^-(-[\\w-]*)?$/;\nfunction isVarArg(node, doc) {\n var _a;\n if (node.name == \"(\" || node.type.isError)\n node = node.parent || node;\n if (node.name != \"ArgList\")\n return false;\n let callee = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;\n if ((callee === null || callee === void 0 ? void 0 : callee.name) != \"Callee\")\n return false;\n return doc.sliceString(callee.from, callee.to) == \"var\";\n}\nconst VariablesByNode = /*@__PURE__*/new NodeWeakMap();\nconst declSelector = [\"Declaration\"];\nfunction astTop(node) {\n for (let cur = node;;) {\n if (cur.type.isTop)\n return cur;\n if (!(cur = cur.parent))\n return node;\n }\n}\nfunction variableNames(doc, node, isVariable) {\n if (node.to - node.from > 4096) {\n let known = VariablesByNode.get(node);\n if (known)\n return known;\n let result = [], seen = new Set, cursor = node.cursor(IterMode.IncludeAnonymous);\n if (cursor.firstChild())\n do {\n for (let option of variableNames(doc, cursor.node, isVariable))\n if (!seen.has(option.label)) {\n seen.add(option.label);\n result.push(option);\n }\n } while (cursor.nextSibling());\n VariablesByNode.set(node, result);\n return result;\n }\n else {\n let result = [], seen = new Set;\n node.cursor().iterate(node => {\n var _a;\n if (isVariable(node) && node.matchContext(declSelector) && ((_a = node.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == \":\") {\n let name = doc.sliceString(node.from, node.to);\n if (!seen.has(name)) {\n seen.add(name);\n result.push({ label: name, type: \"variable\" });\n }\n }\n });\n return result;\n }\n}\n/**\nCreate a completion source for a CSS dialect, providing a\npredicate for determining what kind of syntax node can act as a\ncompletable variable. This is used by language modes like Sass and\nLess to reuse this package's completion logic.\n*/\nconst defineCSSCompletionSource = (isVariable) => context => {\n let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);\n let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == \"-\";\n if (node.name == \"PropertyName\" ||\n (isDash || node.name == \"TagName\") && /^(Block|Styles)$/.test(node.resolve(node.to).name))\n return { from: node.from, options: properties(), validFor: identifier };\n if (node.name == \"ValueName\")\n return { from: node.from, options: values, validFor: identifier };\n if (node.name == \"PseudoClassName\")\n return { from: node.from, options: pseudoClasses, validFor: identifier };\n if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc))\n return { from: isVariable(node) || isDash ? node.from : pos,\n options: variableNames(state.doc, astTop(node), isVariable),\n validFor: variable };\n if (node.name == \"TagName\") {\n for (let { parent } = node; parent; parent = parent.parent)\n if (parent.name == \"Block\")\n return { from: node.from, options: properties(), validFor: identifier };\n return { from: node.from, options: tags, validFor: identifier };\n }\n if (node.name == \"AtKeyword\")\n return { from: node.from, options: atRules, validFor: identifier };\n if (!context.explicit)\n return null;\n let above = node.resolve(pos), before = above.childBefore(pos);\n if (before && before.name == \":\" && above.name == \"PseudoClassSelector\")\n return { from: pos, options: pseudoClasses, validFor: identifier };\n if (before && before.name == \":\" && above.name == \"Declaration\" || above.name == \"ArgList\")\n return { from: pos, options: values, validFor: identifier };\n if (above.name == \"Block\" || above.name == \"Styles\")\n return { from: pos, options: properties(), validFor: identifier };\n return null;\n};\n/**\nCSS property, variable, and value keyword completion source.\n*/\nconst cssCompletionSource = /*@__PURE__*/defineCSSCompletionSource(n => n.name == \"VariableName\");\n\n/**\nA language provider based on the [Lezer CSS\nparser](https://github.com/lezer-parser/css), extended with\nhighlighting and indentation information.\n*/\nconst cssLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"css\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Declaration: /*@__PURE__*/continuedIndent()\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Block KeyframeList\": foldInside\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*\\}$/,\n wordChars: \"-\"\n }\n});\n/**\nLanguage support for CSS.\n*/\nfunction css() {\n return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));\n}\n\nexport { css, cssCompletionSource, cssLanguage, defineCSSCompletionSource };\n","import { parser, configureNesting } from '@lezer/html';\nimport { cssLanguage, css } from '@codemirror/lang-css';\nimport { javascriptLanguage, typescriptLanguage, jsxLanguage, tsxLanguage, javascript } from '@codemirror/lang-javascript';\nimport { EditorView } from '@codemirror/view';\nimport { EditorSelection } from '@codemirror/state';\nimport { syntaxTree, LRLanguage, indentNodeProp, foldNodeProp, bracketMatchingHandle, LanguageSupport } from '@codemirror/language';\n\nconst Targets = [\"_blank\", \"_self\", \"_top\", \"_parent\"];\nconst Charsets = [\"ascii\", \"utf-8\", \"utf-16\", \"latin1\", \"latin1\"];\nconst Methods = [\"get\", \"post\", \"put\", \"delete\"];\nconst Encs = [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"];\nconst Bool = [\"true\", \"false\"];\nconst S = {}; // Empty tag spec\nconst Tags = {\n a: {\n attrs: {\n href: null, ping: null, type: null,\n media: null,\n target: Targets,\n hreflang: null\n }\n },\n abbr: S,\n address: S,\n area: {\n attrs: {\n alt: null, coords: null, href: null, target: null, ping: null,\n media: null, hreflang: null, type: null,\n shape: [\"default\", \"rect\", \"circle\", \"poly\"]\n }\n },\n article: S,\n aside: S,\n audio: {\n attrs: {\n src: null, mediagroup: null,\n crossorigin: [\"anonymous\", \"use-credentials\"],\n preload: [\"none\", \"metadata\", \"auto\"],\n autoplay: [\"autoplay\"],\n loop: [\"loop\"],\n controls: [\"controls\"]\n }\n },\n b: S,\n base: { attrs: { href: null, target: Targets } },\n bdi: S,\n bdo: S,\n blockquote: { attrs: { cite: null } },\n body: S,\n br: S,\n button: {\n attrs: {\n form: null, formaction: null, name: null, value: null,\n autofocus: [\"autofocus\"],\n disabled: [\"autofocus\"],\n formenctype: Encs,\n formmethod: Methods,\n formnovalidate: [\"novalidate\"],\n formtarget: Targets,\n type: [\"submit\", \"reset\", \"button\"]\n }\n },\n canvas: { attrs: { width: null, height: null } },\n caption: S,\n center: S,\n cite: S,\n code: S,\n col: { attrs: { span: null } },\n colgroup: { attrs: { span: null } },\n command: {\n attrs: {\n type: [\"command\", \"checkbox\", \"radio\"],\n label: null, icon: null, radiogroup: null, command: null, title: null,\n disabled: [\"disabled\"],\n checked: [\"checked\"]\n }\n },\n data: { attrs: { value: null } },\n datagrid: { attrs: { disabled: [\"disabled\"], multiple: [\"multiple\"] } },\n datalist: { attrs: { data: null } },\n dd: S,\n del: { attrs: { cite: null, datetime: null } },\n details: { attrs: { open: [\"open\"] } },\n dfn: S,\n div: S,\n dl: S,\n dt: S,\n em: S,\n embed: { attrs: { src: null, type: null, width: null, height: null } },\n eventsource: { attrs: { src: null } },\n fieldset: { attrs: { disabled: [\"disabled\"], form: null, name: null } },\n figcaption: S,\n figure: S,\n footer: S,\n form: {\n attrs: {\n action: null, name: null,\n \"accept-charset\": Charsets,\n autocomplete: [\"on\", \"off\"],\n enctype: Encs,\n method: Methods,\n novalidate: [\"novalidate\"],\n target: Targets\n }\n },\n h1: S, h2: S, h3: S, h4: S, h5: S, h6: S,\n head: {\n children: [\"title\", \"base\", \"link\", \"style\", \"meta\", \"script\", \"noscript\", \"command\"]\n },\n header: S,\n hgroup: S,\n hr: S,\n html: {\n attrs: { manifest: null }\n },\n i: S,\n iframe: {\n attrs: {\n src: null, srcdoc: null, name: null, width: null, height: null,\n sandbox: [\"allow-top-navigation\", \"allow-same-origin\", \"allow-forms\", \"allow-scripts\"],\n seamless: [\"seamless\"]\n }\n },\n img: {\n attrs: {\n alt: null, src: null, ismap: null, usemap: null, width: null, height: null,\n crossorigin: [\"anonymous\", \"use-credentials\"]\n }\n },\n input: {\n attrs: {\n alt: null, dirname: null, form: null, formaction: null,\n height: null, list: null, max: null, maxlength: null, min: null,\n name: null, pattern: null, placeholder: null, size: null, src: null,\n step: null, value: null, width: null,\n accept: [\"audio/*\", \"video/*\", \"image/*\"],\n autocomplete: [\"on\", \"off\"],\n autofocus: [\"autofocus\"],\n checked: [\"checked\"],\n disabled: [\"disabled\"],\n formenctype: Encs,\n formmethod: Methods,\n formnovalidate: [\"novalidate\"],\n formtarget: Targets,\n multiple: [\"multiple\"],\n readonly: [\"readonly\"],\n required: [\"required\"],\n type: [\"hidden\", \"text\", \"search\", \"tel\", \"url\", \"email\", \"password\", \"datetime\", \"date\", \"month\",\n \"week\", \"time\", \"datetime-local\", \"number\", \"range\", \"color\", \"checkbox\", \"radio\",\n \"file\", \"submit\", \"image\", \"reset\", \"button\"]\n }\n },\n ins: { attrs: { cite: null, datetime: null } },\n kbd: S,\n keygen: {\n attrs: {\n challenge: null, form: null, name: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n keytype: [\"RSA\"]\n }\n },\n label: { attrs: { for: null, form: null } },\n legend: S,\n li: { attrs: { value: null } },\n link: {\n attrs: {\n href: null, type: null,\n hreflang: null,\n media: null,\n sizes: [\"all\", \"16x16\", \"16x16 32x32\", \"16x16 32x32 64x64\"]\n }\n },\n map: { attrs: { name: null } },\n mark: S,\n menu: { attrs: { label: null, type: [\"list\", \"context\", \"toolbar\"] } },\n meta: {\n attrs: {\n content: null,\n charset: Charsets,\n name: [\"viewport\", \"application-name\", \"author\", \"description\", \"generator\", \"keywords\"],\n \"http-equiv\": [\"content-language\", \"content-type\", \"default-style\", \"refresh\"]\n }\n },\n meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },\n nav: S,\n noscript: S,\n object: {\n attrs: {\n data: null, type: null, name: null, usemap: null, form: null, width: null, height: null,\n typemustmatch: [\"typemustmatch\"]\n }\n },\n ol: { attrs: { reversed: [\"reversed\"], start: null, type: [\"1\", \"a\", \"A\", \"i\", \"I\"] },\n children: [\"li\", \"script\", \"template\", \"ul\", \"ol\"] },\n optgroup: { attrs: { disabled: [\"disabled\"], label: null } },\n option: { attrs: { disabled: [\"disabled\"], label: null, selected: [\"selected\"], value: null } },\n output: { attrs: { for: null, form: null, name: null } },\n p: S,\n param: { attrs: { name: null, value: null } },\n pre: S,\n progress: { attrs: { value: null, max: null } },\n q: { attrs: { cite: null } },\n rp: S,\n rt: S,\n ruby: S,\n samp: S,\n script: {\n attrs: {\n type: [\"text/javascript\"],\n src: null,\n async: [\"async\"],\n defer: [\"defer\"],\n charset: Charsets\n }\n },\n section: S,\n select: {\n attrs: {\n form: null, name: null, size: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n multiple: [\"multiple\"]\n }\n },\n slot: { attrs: { name: null } },\n small: S,\n source: { attrs: { src: null, type: null, media: null } },\n span: S,\n strong: S,\n style: {\n attrs: {\n type: [\"text/css\"],\n media: null,\n scoped: null\n }\n },\n sub: S,\n summary: S,\n sup: S,\n table: S,\n tbody: S,\n td: { attrs: { colspan: null, rowspan: null, headers: null } },\n template: S,\n textarea: {\n attrs: {\n dirname: null, form: null, maxlength: null, name: null, placeholder: null,\n rows: null, cols: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n readonly: [\"readonly\"],\n required: [\"required\"],\n wrap: [\"soft\", \"hard\"]\n }\n },\n tfoot: S,\n th: { attrs: { colspan: null, rowspan: null, headers: null, scope: [\"row\", \"col\", \"rowgroup\", \"colgroup\"] } },\n thead: S,\n time: { attrs: { datetime: null } },\n title: S,\n tr: S,\n track: {\n attrs: {\n src: null, label: null, default: null,\n kind: [\"subtitles\", \"captions\", \"descriptions\", \"chapters\", \"metadata\"],\n srclang: null\n }\n },\n ul: { children: [\"li\", \"script\", \"template\", \"ul\", \"ol\"] },\n var: S,\n video: {\n attrs: {\n src: null, poster: null, width: null, height: null,\n crossorigin: [\"anonymous\", \"use-credentials\"],\n preload: [\"auto\", \"metadata\", \"none\"],\n autoplay: [\"autoplay\"],\n mediagroup: [\"movie\"],\n muted: [\"muted\"],\n controls: [\"controls\"]\n }\n },\n wbr: S\n};\nconst GlobalAttrs = {\n accesskey: null,\n class: null,\n contenteditable: Bool,\n contextmenu: null,\n dir: [\"ltr\", \"rtl\", \"auto\"],\n draggable: [\"true\", \"false\", \"auto\"],\n dropzone: [\"copy\", \"move\", \"link\", \"string:\", \"file:\"],\n hidden: [\"hidden\"],\n id: null,\n inert: [\"inert\"],\n itemid: null,\n itemprop: null,\n itemref: null,\n itemscope: [\"itemscope\"],\n itemtype: null,\n lang: [\"ar\", \"bn\", \"de\", \"en-GB\", \"en-US\", \"es\", \"fr\", \"hi\", \"id\", \"ja\", \"pa\", \"pt\", \"ru\", \"tr\", \"zh\"],\n spellcheck: Bool,\n autocorrect: Bool,\n autocapitalize: Bool,\n style: null,\n tabindex: null,\n title: null,\n translate: [\"yes\", \"no\"],\n rel: [\"stylesheet\", \"alternate\", \"author\", \"bookmark\", \"help\", \"license\", \"next\", \"nofollow\", \"noreferrer\", \"prefetch\", \"prev\", \"search\", \"tag\"],\n role: /*@__PURE__*/\"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer\".split(\" \"),\n \"aria-activedescendant\": null,\n \"aria-atomic\": Bool,\n \"aria-autocomplete\": [\"inline\", \"list\", \"both\", \"none\"],\n \"aria-busy\": Bool,\n \"aria-checked\": [\"true\", \"false\", \"mixed\", \"undefined\"],\n \"aria-controls\": null,\n \"aria-describedby\": null,\n \"aria-disabled\": Bool,\n \"aria-dropeffect\": null,\n \"aria-expanded\": [\"true\", \"false\", \"undefined\"],\n \"aria-flowto\": null,\n \"aria-grabbed\": [\"true\", \"false\", \"undefined\"],\n \"aria-haspopup\": Bool,\n \"aria-hidden\": Bool,\n \"aria-invalid\": [\"true\", \"false\", \"grammar\", \"spelling\"],\n \"aria-label\": null,\n \"aria-labelledby\": null,\n \"aria-level\": null,\n \"aria-live\": [\"off\", \"polite\", \"assertive\"],\n \"aria-multiline\": Bool,\n \"aria-multiselectable\": Bool,\n \"aria-owns\": null,\n \"aria-posinset\": null,\n \"aria-pressed\": [\"true\", \"false\", \"mixed\", \"undefined\"],\n \"aria-readonly\": Bool,\n \"aria-relevant\": null,\n \"aria-required\": Bool,\n \"aria-selected\": [\"true\", \"false\", \"undefined\"],\n \"aria-setsize\": null,\n \"aria-sort\": [\"ascending\", \"descending\", \"none\", \"other\"],\n \"aria-valuemax\": null,\n \"aria-valuemin\": null,\n \"aria-valuenow\": null,\n \"aria-valuetext\": null\n};\nconst eventAttributes = /*@__PURE__*/(\"beforeunload copy cut dragstart dragover dragleave dragenter dragend \" +\n \"drag paste focus blur change click load mousedown mouseenter mouseleave \" +\n \"mouseup keydown keyup resize scroll unload\").split(\" \").map(n => \"on\" + n);\nfor (let a of eventAttributes)\n GlobalAttrs[a] = null;\nclass Schema {\n constructor(extraTags, extraAttrs) {\n this.tags = Object.assign(Object.assign({}, Tags), extraTags);\n this.globalAttrs = Object.assign(Object.assign({}, GlobalAttrs), extraAttrs);\n this.allTags = Object.keys(this.tags);\n this.globalAttrNames = Object.keys(this.globalAttrs);\n }\n}\nSchema.default = /*@__PURE__*/new Schema;\nfunction elementName(doc, tree, max = doc.length) {\n if (!tree)\n return \"\";\n let tag = tree.firstChild;\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, Math.min(name.to, max)) : \"\";\n}\nfunction findParentElement(tree, skip = false) {\n for (; tree; tree = tree.parent)\n if (tree.name == \"Element\") {\n if (skip)\n skip = false;\n else\n return tree;\n }\n return null;\n}\nfunction allowedChildren(doc, tree, schema) {\n let parentInfo = schema.tags[elementName(doc, findParentElement(tree))];\n return (parentInfo === null || parentInfo === void 0 ? void 0 : parentInfo.children) || schema.allTags;\n}\nfunction openTags(doc, tree) {\n let open = [];\n for (let parent = findParentElement(tree); parent && !parent.type.isTop; parent = findParentElement(parent.parent)) {\n let tagName = elementName(doc, parent);\n if (tagName && parent.lastChild.name == \"CloseTag\")\n break;\n if (tagName && open.indexOf(tagName) < 0 && (tree.name == \"EndTag\" || tree.from >= parent.firstChild.to))\n open.push(tagName);\n }\n return open;\n}\nconst identifier = /^[:\\-\\.\\w\\u00b7-\\uffff]*$/;\nfunction completeTag(state, schema, tree, from, to) {\n let end = /\\s*>/.test(state.sliceDoc(to, to + 5)) ? \"\" : \">\";\n let parent = findParentElement(tree, true);\n return { from, to,\n options: allowedChildren(state.doc, parent, schema).map(tagName => ({ label: tagName, type: \"type\" })).concat(openTags(state.doc, tree).map((tag, i) => ({ label: \"/\" + tag, apply: \"/\" + tag + end,\n type: \"type\", boost: 99 - i }))),\n validFor: /^\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/ };\n}\nfunction completeCloseTag(state, tree, from, to) {\n let end = /\\s*>/.test(state.sliceDoc(to, to + 5)) ? \"\" : \">\";\n return { from, to,\n options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: \"type\", boost: 99 - i })),\n validFor: identifier };\n}\nfunction completeStartTag(state, schema, tree, pos) {\n let options = [], level = 0;\n for (let tagName of allowedChildren(state.doc, tree, schema))\n options.push({ label: \"<\" + tagName, type: \"type\" });\n for (let open of openTags(state.doc, tree))\n options.push({ label: \"</\" + open + \">\", type: \"type\", boost: 99 - level++ });\n return { from: pos, to: pos, options, validFor: /^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/ };\n}\nfunction completeAttrName(state, schema, tree, from, to) {\n let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;\n let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];\n let names = info && info.globalAttrs === false ? localAttrs\n : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;\n return { from, to,\n options: names.map(attrName => ({ label: attrName, type: \"property\" })),\n validFor: identifier };\n}\nfunction completeAttrValue(state, schema, tree, from, to) {\n var _a;\n let nameNode = (_a = tree.parent) === null || _a === void 0 ? void 0 : _a.getChild(\"AttributeName\");\n let options = [], token = undefined;\n if (nameNode) {\n let attrName = state.sliceDoc(nameNode.from, nameNode.to);\n let attrs = schema.globalAttrs[attrName];\n if (!attrs) {\n let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;\n attrs = (info === null || info === void 0 ? void 0 : info.attrs) && info.attrs[attrName];\n }\n if (attrs) {\n let base = state.sliceDoc(from, to).toLowerCase(), quoteStart = '\"', quoteEnd = '\"';\n if (/^['\"]/.test(base)) {\n token = base[0] == '\"' ? /^[^\"]*$/ : /^[^']*$/;\n quoteStart = \"\";\n quoteEnd = state.sliceDoc(to, to + 1) == base[0] ? \"\" : base[0];\n base = base.slice(1);\n from++;\n }\n else {\n token = /^[^\\s<>='\"]*$/;\n }\n for (let value of attrs)\n options.push({ label: value, apply: quoteStart + value + quoteEnd, type: \"constant\" });\n }\n }\n return { from, to, options, validFor: token };\n}\nfunction htmlCompletionFor(schema, context) {\n let { state, pos } = context, tree = syntaxTree(state).resolveInner(pos, -1), around = tree.resolve(pos);\n for (let scan = pos, before; around == tree && (before = tree.childBefore(scan));) {\n let last = before.lastChild;\n if (!last || !last.type.isError || last.from < last.to)\n break;\n around = tree = before;\n scan = last.from;\n }\n if (tree.name == \"TagName\") {\n return tree.parent && /CloseTag$/.test(tree.parent.name) ? completeCloseTag(state, tree, tree.from, pos)\n : completeTag(state, schema, tree, tree.from, pos);\n }\n else if (tree.name == \"StartTag\") {\n return completeTag(state, schema, tree, pos, pos);\n }\n else if (tree.name == \"StartCloseTag\" || tree.name == \"IncompleteCloseTag\") {\n return completeCloseTag(state, tree, pos, pos);\n }\n else if (tree.name == \"OpenTag\" || tree.name == \"SelfClosingTag\" || tree.name == \"AttributeName\") {\n return completeAttrName(state, schema, tree, tree.name == \"AttributeName\" ? tree.from : pos, pos);\n }\n else if (tree.name == \"Is\" || tree.name == \"AttributeValue\" || tree.name == \"UnquotedAttributeValue\") {\n return completeAttrValue(state, schema, tree, tree.name == \"Is\" ? pos : tree.from, pos);\n }\n else if (context.explicit && (around.name == \"Element\" || around.name == \"Text\" || around.name == \"Document\")) {\n return completeStartTag(state, schema, tree, pos);\n }\n else {\n return null;\n }\n}\n/**\nHTML tag completion. Opens and closes tags and attributes in a\ncontext-aware way.\n*/\nfunction htmlCompletionSource(context) {\n return htmlCompletionFor(Schema.default, context);\n}\n/**\nCreate a completion source for HTML extended with additional tags\nor attributes.\n*/\nfunction htmlCompletionSourceWith(config) {\n let { extraTags, extraGlobalAttributes: extraAttrs } = config;\n let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;\n return (context) => htmlCompletionFor(schema, context);\n}\n\nconst jsonParser = /*@__PURE__*/javascriptLanguage.parser.configure({ top: \"SingleExpression\" });\nconst defaultNesting = [\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/typescript\" || attrs.lang == \"ts\",\n parser: typescriptLanguage.parser },\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/babel\" || attrs.type == \"text/jsx\",\n parser: jsxLanguage.parser },\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/typescript-jsx\",\n parser: tsxLanguage.parser },\n { tag: \"script\",\n attrs(attrs) {\n return /^(importmap|speculationrules|application\\/(.+\\+)?json)$/i.test(attrs.type);\n },\n parser: jsonParser },\n { tag: \"script\",\n attrs(attrs) {\n return !attrs.type || /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);\n },\n parser: javascriptLanguage.parser },\n { tag: \"style\",\n attrs(attrs) {\n return (!attrs.lang || attrs.lang == \"css\") && (!attrs.type || /^(text\\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));\n },\n parser: cssLanguage.parser }\n];\nconst defaultAttrs = /*@__PURE__*/[\n { name: \"style\",\n parser: /*@__PURE__*/cssLanguage.parser.configure({ top: \"Styles\" }) }\n].concat(/*@__PURE__*/eventAttributes.map(name => ({ name, parser: javascriptLanguage.parser })));\n/**\nA language provider based on the [Lezer HTML\nparser](https://github.com/lezer-parser/html), extended with the\nJavaScript and CSS parsers to parse the content of `<script>` and\n`<style>` tags.\n*/\nconst htmlPlain = /*@__PURE__*/LRLanguage.define({\n name: \"html\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Element(context) {\n let after = /^(\\s*)(<\\/)?/.exec(context.textAfter);\n if (context.node.to <= context.pos + after[0].length)\n return context.continue();\n return context.lineIndent(context.node.from) + (after[2] ? 0 : context.unit);\n },\n \"OpenTag CloseTag SelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n },\n Document(context) {\n if (context.pos + /\\s*/.exec(context.textAfter)[0].length < context.node.to)\n return context.continue();\n let endElt = null, close;\n for (let cur = context.node;;) {\n let last = cur.lastChild;\n if (!last || last.name != \"Element\" || last.to != cur.to)\n break;\n endElt = cur = last;\n }\n if (endElt && !((close = endElt.lastChild) && (close.name == \"CloseTag\" || close.name == \"SelfClosingTag\")))\n return context.lineIndent(endElt.from) + context.unit;\n return null;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n Element(node) {\n let first = node.firstChild, last = node.lastChild;\n if (!first || first.name != \"OpenTag\")\n return null;\n return { from: first.to, to: last.name == \"CloseTag\" ? last.from : node.to };\n }\n }),\n /*@__PURE__*/bracketMatchingHandle.add({\n \"OpenTag CloseTag\": node => node.getChild(\"TagName\")\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"<!--\", close: \"-->\" } },\n indentOnInput: /^\\s*<\\/\\w+\\W$/,\n wordChars: \"-._\"\n }\n});\n/**\nA language provider based on the [Lezer HTML\nparser](https://github.com/lezer-parser/html), extended with the\nJavaScript and CSS parsers to parse the content of `<script>` and\n`<style>` tags.\n*/\nconst htmlLanguage = /*@__PURE__*/htmlPlain.configure({\n wrap: /*@__PURE__*/configureNesting(defaultNesting, defaultAttrs)\n});\n/**\nLanguage support for HTML, including\n[`htmlCompletion`](https://codemirror.net/6/docs/ref/#lang-html.htmlCompletion) and JavaScript and\nCSS support extensions.\n*/\nfunction html(config = {}) {\n let dialect = \"\", wrap;\n if (config.matchClosingTags === false)\n dialect = \"noMatch\";\n if (config.selfClosingTags === true)\n dialect = (dialect ? dialect + \" \" : \"\") + \"selfClosing\";\n if (config.nestedLanguages && config.nestedLanguages.length ||\n config.nestedAttributes && config.nestedAttributes.length)\n wrap = configureNesting((config.nestedLanguages || []).concat(defaultNesting), (config.nestedAttributes || []).concat(defaultAttrs));\n let lang = wrap ? htmlPlain.configure({ wrap, dialect }) : dialect ? htmlLanguage.configure({ dialect }) : htmlLanguage;\n return new LanguageSupport(lang, [\n htmlLanguage.data.of({ autocomplete: htmlCompletionSourceWith(config) }),\n config.autoCloseTags !== false ? autoCloseTags : [],\n javascript().support,\n css().support\n ]);\n}\nconst selfClosers = /*@__PURE__*/new Set(/*@__PURE__*/\"area base br col command embed frame hr img input keygen link meta param source track wbr menuitem\".split(\" \"));\n/**\nExtension that will automatically insert close tags when a `>` or\n`/` is typed.\n*/\nconst autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text, insertTransaction) => {\n if (view.composing || view.state.readOnly || from != to || (text != \">\" && text != \"/\") ||\n !htmlLanguage.isActiveAt(view.state, from, -1))\n return false;\n let base = insertTransaction(), { state } = base;\n let closeTags = state.changeByRange(range => {\n var _a, _b, _c;\n let didType = state.doc.sliceString(range.from - 1, range.to) == text;\n let { head } = range, after = syntaxTree(state).resolveInner(head, -1), name;\n if (didType && text == \">\" && after.name == \"EndTag\") {\n let tag = after.parent;\n if (((_b = (_a = tag.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != \"CloseTag\" &&\n (name = elementName(state.doc, tag.parent, head)) &&\n !selfClosers.has(name)) {\n let to = head + (state.doc.sliceString(head, head + 1) === \">\" ? 1 : 0);\n let insert = `</${name}>`;\n return { range, changes: { from: head, to, insert } };\n }\n }\n else if (didType && text == \"/\" && after.name == \"IncompleteCloseTag\") {\n let tag = after.parent;\n if (after.from == head - 2 && ((_c = tag.lastChild) === null || _c === void 0 ? void 0 : _c.name) != \"CloseTag\" &&\n (name = elementName(state.doc, tag, head)) && !selfClosers.has(name)) {\n let to = head + (state.doc.sliceString(head, head + 1) === \">\" ? 1 : 0);\n let insert = `${name}>`;\n return {\n range: EditorSelection.cursor(head + insert.length, -1),\n changes: { from: head, to, insert }\n };\n }\n }\n return { range };\n });\n if (closeTags.changes.empty)\n return false;\n view.dispatch([\n base,\n state.update(closeTags, {\n userEvent: \"input.complete\",\n scrollIntoView: true\n })\n ]);\n return true;\n});\n\nexport { autoCloseTags, html, htmlCompletionSource, htmlCompletionSourceWith, htmlLanguage, htmlPlain };\n","import { parser } from '@lezer/javascript';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, flatIndent, delimitedIndent, foldNodeProp, foldInside, defineLanguageFacet, sublanguageProp, LanguageSupport } from '@codemirror/language';\nimport { EditorSelection } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { snippetCompletion, ifNotIn, completeFromList } from '@codemirror/autocomplete';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\n/**\nA collection of JavaScript-related\n[snippets](https://codemirror.net/6/docs/ref/#autocomplete.snippet).\n*/\nconst snippets = [\n /*@__PURE__*/snippetCompletion(\"function ${name}(${params}) {\\n\\t${}\\n}\", {\n label: \"function\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for (let ${name} of ${collection}) {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"of loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"do {\\n\\t${}\\n} while (${})\", {\n label: \"do\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"while (${}) {\\n\\t${}\\n}\", {\n label: \"while\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"try {\\n\\t${}\\n} catch (${error}) {\\n\\t${}\\n}\", {\n label: \"try\",\n detail: \"/ catch block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if (${}) {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if (${}) {\\n\\t${}\\n} else {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"/ else block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"class ${name} {\\n\\tconstructor(${params}) {\\n\\t\\t${}\\n\\t}\\n}\", {\n label: \"class\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"import {${names}} from \\\"${module}\\\"\\n${}\", {\n label: \"import\",\n detail: \"named\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"import ${name} from \\\"${module}\\\"\\n${}\", {\n label: \"import\",\n detail: \"default\",\n type: \"keyword\"\n })\n];\n/**\nA collection of snippet completions for TypeScript. Includes the\nJavaScript [snippets](https://codemirror.net/6/docs/ref/#lang-javascript.snippets).\n*/\nconst typescriptSnippets = /*@__PURE__*/snippets.concat([\n /*@__PURE__*/snippetCompletion(\"interface ${name} {\\n\\t${}\\n}\", {\n label: \"interface\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"type ${name} = ${type}\", {\n label: \"type\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"enum ${name} {\\n\\t${}\\n}\", {\n label: \"enum\",\n detail: \"definition\",\n type: \"keyword\"\n })\n]);\n\nconst cache = /*@__PURE__*/new NodeWeakMap();\nconst ScopeNodes = /*@__PURE__*/new Set([\n \"Script\", \"Block\",\n \"FunctionExpression\", \"FunctionDeclaration\", \"ArrowFunction\", \"MethodDeclaration\",\n \"ForStatement\"\n]);\nfunction defID(type) {\n return (node, def) => {\n let id = node.node.getChild(\"VariableDefinition\");\n if (id)\n def(id, type);\n return true;\n };\n}\nconst functionContext = [\"FunctionDeclaration\"];\nconst gatherCompletions = {\n FunctionDeclaration: /*@__PURE__*/defID(\"function\"),\n ClassDeclaration: /*@__PURE__*/defID(\"class\"),\n ClassExpression: () => true,\n EnumDeclaration: /*@__PURE__*/defID(\"constant\"),\n TypeAliasDeclaration: /*@__PURE__*/defID(\"type\"),\n NamespaceDeclaration: /*@__PURE__*/defID(\"namespace\"),\n VariableDefinition(node, def) { if (!node.matchContext(functionContext))\n def(node, \"variable\"); },\n TypeDefinition(node, def) { def(node, \"type\"); },\n __proto__: null\n};\nfunction getScope(doc, node) {\n let cached = cache.get(node);\n if (cached)\n return cached;\n let completions = [], top = true;\n function def(node, type) {\n let name = doc.sliceString(node.from, node.to);\n completions.push({ label: name, type });\n }\n node.cursor(IterMode.IncludeAnonymous).iterate(node => {\n if (top) {\n top = false;\n }\n else if (node.name) {\n let gather = gatherCompletions[node.name];\n if (gather && gather(node, def) || ScopeNodes.has(node.name))\n return false;\n }\n else if (node.to - node.from > 8192) {\n // Allow caching for bigger internal nodes\n for (let c of getScope(doc, node.node))\n completions.push(c);\n return false;\n }\n });\n cache.set(node, completions);\n return completions;\n}\nconst Identifier = /^[\\w$\\xa1-\\uffff][\\w$\\d\\xa1-\\uffff]*$/;\nconst dontComplete = [\n \"TemplateString\", \"String\", \"RegExp\",\n \"LineComment\", \"BlockComment\",\n \"VariableDefinition\", \"TypeDefinition\", \"Label\",\n \"PropertyDefinition\", \"PropertyName\",\n \"PrivatePropertyDefinition\", \"PrivatePropertyName\",\n \"JSXText\", \"JSXAttributeValue\", \"JSXOpenTag\", \"JSXCloseTag\", \"JSXSelfClosingTag\",\n \".\", \"?.\"\n];\n/**\nCompletion source that looks up locally defined names in\nJavaScript code.\n*/\nfunction localCompletionSource(context) {\n let inner = syntaxTree(context.state).resolveInner(context.pos, -1);\n if (dontComplete.indexOf(inner.name) > -1)\n return null;\n let isWord = inner.name == \"VariableName\" ||\n inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));\n if (!isWord && !context.explicit)\n return null;\n let options = [];\n for (let pos = inner; pos; pos = pos.parent) {\n if (ScopeNodes.has(pos.name))\n options = options.concat(getScope(context.state.doc, pos));\n }\n return {\n options,\n from: isWord ? inner.from : context.pos,\n validFor: Identifier\n };\n}\nfunction pathFor(read, member, name) {\n var _a;\n let path = [];\n for (;;) {\n let obj = member.firstChild, prop;\n if ((obj === null || obj === void 0 ? void 0 : obj.name) == \"VariableName\") {\n path.push(read(obj));\n return { path: path.reverse(), name };\n }\n else if ((obj === null || obj === void 0 ? void 0 : obj.name) == \"MemberExpression\" && ((_a = (prop = obj.lastChild)) === null || _a === void 0 ? void 0 : _a.name) == \"PropertyName\") {\n path.push(read(prop));\n member = obj;\n }\n else {\n return null;\n }\n }\n}\n/**\nHelper function for defining JavaScript completion sources. It\nreturns the completable name and object path for a completion\ncontext, or null if no name/property completion should happen at\nthat position. For example, when completing after `a.b.c` it will\nreturn `{path: [\"a\", \"b\"], name: \"c\"}`. When completing after `x`\nit will return `{path: [], name: \"x\"}`. When not in a property or\nname, it will return null if `context.explicit` is false, and\n`{path: [], name: \"\"}` otherwise.\n*/\nfunction completionPath(context) {\n let read = (node) => context.state.doc.sliceString(node.from, node.to);\n let inner = syntaxTree(context.state).resolveInner(context.pos, -1);\n if (inner.name == \"PropertyName\") {\n return pathFor(read, inner.parent, read(inner));\n }\n else if ((inner.name == \".\" || inner.name == \"?.\") && inner.parent.name == \"MemberExpression\") {\n return pathFor(read, inner.parent, \"\");\n }\n else if (dontComplete.indexOf(inner.name) > -1) {\n return null;\n }\n else if (inner.name == \"VariableName\" || inner.to - inner.from < 20 && Identifier.test(read(inner))) {\n return { path: [], name: read(inner) };\n }\n else if (inner.name == \"MemberExpression\") {\n return pathFor(read, inner, \"\");\n }\n else {\n return context.explicit ? { path: [], name: \"\" } : null;\n }\n}\nfunction enumeratePropertyCompletions(obj, top) {\n let options = [], seen = new Set;\n for (let depth = 0;; depth++) {\n for (let name of (Object.getOwnPropertyNames || Object.keys)(obj)) {\n if (!/^[a-zA-Z_$\\xaa-\\uffdc][\\w$\\xaa-\\uffdc]*$/.test(name) || seen.has(name))\n continue;\n seen.add(name);\n let value;\n try {\n value = obj[name];\n }\n catch (_) {\n continue;\n }\n options.push({\n label: name,\n type: typeof value == \"function\" ? (/^[A-Z]/.test(name) ? \"class\" : top ? \"function\" : \"method\")\n : top ? \"variable\" : \"property\",\n boost: -depth\n });\n }\n let next = Object.getPrototypeOf(obj);\n if (!next)\n return options;\n obj = next;\n }\n}\n/**\nDefines a [completion source](https://codemirror.net/6/docs/ref/#autocomplete.CompletionSource) that\ncompletes from the given scope object (for example `globalThis`).\nWill enter properties of the object when completing properties on\na directly-named path.\n*/\nfunction scopeCompletionSource(scope) {\n let cache = new Map;\n return (context) => {\n let path = completionPath(context);\n if (!path)\n return null;\n let target = scope;\n for (let step of path.path) {\n target = target[step];\n if (!target)\n return null;\n }\n let options = cache.get(target);\n if (!options)\n cache.set(target, options = enumeratePropertyCompletions(target, !path.path.length));\n return {\n from: context.pos - path.name.length,\n options,\n validFor: Identifier\n };\n };\n}\n\n/**\nA language provider based on the [Lezer JavaScript\nparser](https://github.com/lezer-parser/javascript), extended with\nhighlighting and indentation information.\n*/\nconst javascriptLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"javascript\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n IfStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|else\\b)/ }),\n TryStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|catch\\b|finally\\b)/ }),\n LabeledStatement: flatIndent,\n SwitchBody: context => {\n let after = context.textAfter, closed = /^\\s*\\}/.test(after), isCase = /^\\s*(case|default)\\b/.test(after);\n return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit;\n },\n Block: /*@__PURE__*/delimitedIndent({ closing: \"}\" }),\n ArrowFunction: cx => cx.baseIndent + cx.unit,\n \"TemplateString BlockComment\": () => null,\n \"Statement Property\": /*@__PURE__*/continuedIndent({ except: /^\\s*{/ }),\n JSXElement(context) {\n let closed = /^\\s*<\\//.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n JSXEscape(context) {\n let closed = /\\s*\\}/.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n \"JSXOpenTag JSXSelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType\": foldInside,\n BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }\n })\n ]\n }),\n languageData: {\n closeBrackets: { brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"] },\n commentTokens: { line: \"//\", block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*(?:case |default:|\\{|\\}|<\\/)$/,\n wordChars: \"$\"\n }\n});\nconst jsxSublanguage = {\n test: node => /^JSX/.test(node.name),\n facet: /*@__PURE__*/defineLanguageFacet({ commentTokens: { block: { open: \"{/*\", close: \"*/}\" } } })\n};\n/**\nA language provider for TypeScript.\n*/\nconst typescriptLanguage = /*@__PURE__*/javascriptLanguage.configure({ dialect: \"ts\" }, \"typescript\");\n/**\nLanguage provider for JSX.\n*/\nconst jsxLanguage = /*@__PURE__*/javascriptLanguage.configure({\n dialect: \"jsx\",\n props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]\n});\n/**\nLanguage provider for JSX + TypeScript.\n*/\nconst tsxLanguage = /*@__PURE__*/javascriptLanguage.configure({\n dialect: \"jsx ts\",\n props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]\n}, \"typescript\");\nlet kwCompletion = (name) => ({ label: name, type: \"keyword\" });\nconst keywords = /*@__PURE__*/\"break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield\".split(\" \").map(kwCompletion);\nconst typescriptKeywords = /*@__PURE__*/keywords.concat(/*@__PURE__*/[\"declare\", \"implements\", \"private\", \"protected\", \"public\"].map(kwCompletion));\n/**\nJavaScript support. Includes [snippet](https://codemirror.net/6/docs/ref/#lang-javascript.snippets)\nand local variable completion.\n*/\nfunction javascript(config = {}) {\n let lang = config.jsx ? (config.typescript ? tsxLanguage : jsxLanguage)\n : config.typescript ? typescriptLanguage : javascriptLanguage;\n let completions = config.typescript ? typescriptSnippets.concat(typescriptKeywords) : snippets.concat(keywords);\n return new LanguageSupport(lang, [\n javascriptLanguage.data.of({\n autocomplete: ifNotIn(dontComplete, completeFromList(completions))\n }),\n javascriptLanguage.data.of({\n autocomplete: localCompletionSource\n }),\n config.jsx ? autoCloseTags : [],\n ]);\n}\nfunction findOpenTag(node) {\n for (;;) {\n if (node.name == \"JSXOpenTag\" || node.name == \"JSXSelfClosingTag\" || node.name == \"JSXFragmentTag\")\n return node;\n if (node.name == \"JSXEscape\" || !node.parent)\n return null;\n node = node.parent;\n }\n}\nfunction elementName(doc, tree, max = doc.length) {\n for (let ch = tree === null || tree === void 0 ? void 0 : tree.firstChild; ch; ch = ch.nextSibling) {\n if (ch.name == \"JSXIdentifier\" || ch.name == \"JSXBuiltin\" || ch.name == \"JSXNamespacedName\" ||\n ch.name == \"JSXMemberExpression\")\n return doc.sliceString(ch.from, Math.min(ch.to, max));\n }\n return \"\";\n}\nconst android = typeof navigator == \"object\" && /*@__PURE__*//Android\\b/.test(navigator.userAgent);\n/**\nExtension that will automatically insert JSX close tags when a `>` or\n`/` is typed.\n*/\nconst autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text, defaultInsert) => {\n if ((android ? view.composing : view.compositionStarted) || view.state.readOnly ||\n from != to || (text != \">\" && text != \"/\") ||\n !javascriptLanguage.isActiveAt(view.state, from, -1))\n return false;\n let base = defaultInsert(), { state } = base;\n let closeTags = state.changeByRange(range => {\n var _a;\n let { head } = range, around = syntaxTree(state).resolveInner(head - 1, -1), name;\n if (around.name == \"JSXStartTag\")\n around = around.parent;\n if (state.doc.sliceString(head - 1, head) != text || around.name == \"JSXAttributeValue\" && around.to > head) ;\n else if (text == \">\" && around.name == \"JSXFragmentTag\") {\n return { range, changes: { from: head, insert: `</>` } };\n }\n else if (text == \"/\" && around.name == \"JSXStartCloseTag\") {\n let empty = around.parent, base = empty.parent;\n if (base && empty.from == head - 2 &&\n ((name = elementName(state.doc, base.firstChild, head)) || ((_a = base.firstChild) === null || _a === void 0 ? void 0 : _a.name) == \"JSXFragmentTag\")) {\n let insert = `${name}>`;\n return { range: EditorSelection.cursor(head + insert.length, -1), changes: { from: head, insert } };\n }\n }\n else if (text == \">\") {\n let openTag = findOpenTag(around);\n if (openTag && openTag.name == \"JSXOpenTag\" &&\n !/^\\/?>|^<\\//.test(state.doc.sliceString(head, head + 2)) &&\n (name = elementName(state.doc, openTag, head)))\n return { range, changes: { from: head, insert: `</${name}>` } };\n }\n return { range };\n });\n if (closeTags.changes.empty)\n return false;\n view.dispatch([\n base,\n state.update(closeTags, { userEvent: \"input.complete\", scrollIntoView: true })\n ]);\n return true;\n});\n\n/**\nConnects an [ESLint](https://eslint.org/) linter to CodeMirror's\n[lint](https://codemirror.net/6/docs/ref/#lint) integration. `eslint` should be an instance of the\n[`Linter`](https://eslint.org/docs/developer-guide/nodejs-api#linter)\nclass, and `config` an optional ESLint configuration. The return\nvalue of this function can be passed to [`linter`](https://codemirror.net/6/docs/ref/#lint.linter)\nto create a JavaScript linting extension.\n\nNote that ESLint targets node, and is tricky to run in the\nbrowser. The\n[eslint-linter-browserify](https://github.com/UziTech/eslint-linter-browserify)\npackage may help with that (see\n[example](https://github.com/UziTech/eslint-linter-browserify/blob/master/example/script.js)).\n*/\nfunction esLint(eslint, config) {\n if (!config) {\n config = {\n parserOptions: { ecmaVersion: 2019, sourceType: \"module\" },\n env: { browser: true, node: true, es6: true, es2015: true, es2017: true, es2020: true },\n rules: {}\n };\n eslint.getRules().forEach((desc, name) => {\n var _a;\n if ((_a = desc.meta.docs) === null || _a === void 0 ? void 0 : _a.recommended)\n config.rules[name] = 2;\n });\n }\n return (view) => {\n let { state } = view, found = [];\n for (let { from, to } of javascriptLanguage.findRegions(state)) {\n let fromLine = state.doc.lineAt(from), offset = { line: fromLine.number - 1, col: from - fromLine.from, pos: from };\n for (let d of eslint.verify(state.sliceDoc(from, to), config))\n found.push(translateDiagnostic(d, state.doc, offset));\n }\n return found;\n };\n}\nfunction mapPos(line, col, doc, offset) {\n return doc.line(line + offset.line).from + col + (line == 1 ? offset.col - 1 : -1);\n}\nfunction translateDiagnostic(input, doc, offset) {\n let start = mapPos(input.line, input.column, doc, offset);\n let result = {\n from: start,\n to: input.endLine != null && input.endColumn != 1 ? mapPos(input.endLine, input.endColumn, doc, offset) : start,\n message: input.message,\n source: input.ruleId ? \"eslint:\" + input.ruleId : \"eslint\",\n severity: input.severity == 1 ? \"warning\" : \"error\",\n };\n if (input.fix) {\n let { range, text } = input.fix, from = range[0] + offset.pos - start, to = range[1] + offset.pos - start;\n result.actions = [{\n name: \"fix\",\n apply(view, start) {\n view.dispatch({ changes: { from: start + from, to: start + to, insert: text }, scrollIntoView: true });\n }\n }];\n }\n return result;\n}\n\nexport { autoCloseTags, completionPath, esLint, javascript, javascriptLanguage, jsxLanguage, localCompletionSource, scopeCompletionSource, snippets, tsxLanguage, typescriptLanguage, typescriptSnippets };\n","import { LRLanguage, indentNodeProp, delimitedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { LRParser } from '@lezer/lr';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_Keyword = {__proto__:null,anyref:34, dataref:34, eqref:34, externref:34, i31ref:34, funcref:34, i8:34, i16:34, i32:34, i64:34, f32:34, f64:34};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h\",\n stateData: \"!P~O_OSPOSQOS~OTPOVROXROYROZROaQO~OSUO~P]OSXO~P]O\",\n goto: \"xaPPPPPPbPbPPPhPPPrXROPTVQTOQVPTWTVXSOPTV\",\n nodeNames: \"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String\",\n maxTerm: 17,\n nodeProps: [\n [\"isolate\", -3,1,2,11,\"\"],\n [\"openedBy\", 4,\"(\"],\n [\"closedBy\", 5,\")\"],\n [\"group\", -6,6,7,8,9,10,11,\"Expression\"]\n ],\n skippedNodes: [0,1,2],\n repeatNodeCount: 1,\n tokenData: \"0o~R^XY}YZ}]^}pq}rs!Stu#pxy'Uyz(e{|(j}!O(j!Q!R(s!R![*p!]!^.^#T#o.{~!SO_~~!VVOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j<%lO!S~!qOZ~~!tRO;'S!S;'S;=`!};=`O!S~#QWOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j;=`<%l!S<%lO!S~#mP;=`<%l!S~#siqr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~%giV~qr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~'ZPT~!]!^'^~'aTO!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~'sVOy'^yz(Yz!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~(_OQ~~(bP;=`<%l'^~(jOS~~(mQ!Q!R(s!R![*p~(xUY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){#l#m+[~)aRY~!Q![)j!g!h){#X#Y){~)oSY~!Q![)j!g!h){#R#S*j#X#Y){~*OR{|*X}!O*X!Q![*_~*[P!Q![*_~*dQY~!Q![*_#R#S*X~*mP!Q![)j~*uTY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){~+XP!Q![*p~+_R!Q![+h!c!i+h#T#Z+h~+mVY~!O!P,S!Q![+h!c!i+h!r!s-P#R#S+[#T#Z+h#d#e-P~,XTY~!Q![,h!c!i,h!r!s-P#T#Z,h#d#e-P~,mUY~!Q![,h!c!i,h!r!s-P#R#S.Q#T#Z,h#d#e-P~-ST{|-c}!O-c!Q![-o!c!i-o#T#Z-o~-fR!Q![-o!c!i-o#T#Z-o~-tSY~!Q![-o!c!i-o#R#S-c#T#Z-o~.TR!Q![,h!c!i,h#T#Z,h~.aP!]!^.d~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QiX~qr.{st.{tu.{uv.{vw.{wx.{z{.{{|.{}!O.{!O!P.{!P!Q.{!Q![.{![!].{!^!_.{!_!`.{!`!a.{!a!b.{!b!c.{!c!}.{#Q#R.{#R#S.{#S#T.{#T#o.{#p#q.{#r#s.{\",\n tokenizers: [0],\n topRules: {\"Module\":[0,3]},\n specialized: [{term: 9, get: (value) => spec_Keyword[value] || -1}],\n tokenPrec: 0\n});\n\nconst wastLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"wast\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n App: /*@__PURE__*/delimitedIndent({ closing: \")\", align: false })\n }),\n /*@__PURE__*/foldNodeProp.add({\n App: foldInside,\n BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }\n }),\n /*@__PURE__*/styleTags({\n Keyword: tags.keyword,\n Type: tags.typeName,\n Number: tags.number,\n String: tags.string,\n Identifier: tags.variableName,\n LineComment: tags.lineComment,\n BlockComment: tags.blockComment,\n \"( )\": tags.paren\n })\n ]\n }),\n languageData: {\n commentTokens: { line: \";;\", block: { open: \"(;\", close: \";)\" } },\n closeBrackets: { brackets: [\"(\", '\"'] }\n }\n});\nfunction wast() {\n return new LanguageSupport(wastLanguage);\n}\n\nexport { wast, wastLanguage };\n","import { NodeProp, IterMode, Tree, TreeFragment, Parser, NodeType, NodeSet } from '@lezer/common';\nimport { StateEffect, StateField, Facet, EditorState, countColumn, combineConfig, RangeSet, RangeSetBuilder, Prec } from '@codemirror/state';\nimport { ViewPlugin, logException, EditorView, Decoration, WidgetType, gutter, GutterMarker, Direction } from '@codemirror/view';\nimport { tags, tagHighlighter, highlightTree, styleTags } from '@lezer/highlight';\nimport { StyleModule } from 'style-mod';\n\nvar _a;\n/**\nNode prop stored in a parser's top syntax node to provide the\nfacet that stores language-specific data for that language.\n*/\nconst languageDataProp = /*@__PURE__*/new NodeProp();\n/**\nHelper function to define a facet (to be added to the top syntax\nnode(s) for a language via\n[`languageDataProp`](https://codemirror.net/6/docs/ref/#language.languageDataProp)), that will be\nused to associate language data with the language. You\nprobably only need this when subclassing\n[`Language`](https://codemirror.net/6/docs/ref/#language.Language).\n*/\nfunction defineLanguageFacet(baseData) {\n return Facet.define({\n combine: baseData ? values => values.concat(baseData) : undefined\n });\n}\n/**\nSyntax node prop used to register sublanguages. Should be added to\nthe top level node type for the language.\n*/\nconst sublanguageProp = /*@__PURE__*/new NodeProp();\n/**\nA language object manages parsing and per-language\n[metadata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt). Parse data is\nmanaged as a [Lezer](https://lezer.codemirror.net) tree. The class\ncan be used directly, via the [`LRLanguage`](https://codemirror.net/6/docs/ref/#language.LRLanguage)\nsubclass for [Lezer](https://lezer.codemirror.net/) LR parsers, or\nvia the [`StreamLanguage`](https://codemirror.net/6/docs/ref/#language.StreamLanguage) subclass\nfor stream parsers.\n*/\nclass Language {\n /**\n Construct a language object. If you need to invoke this\n directly, first define a data facet with\n [`defineLanguageFacet`](https://codemirror.net/6/docs/ref/#language.defineLanguageFacet), and then\n configure your parser to [attach](https://codemirror.net/6/docs/ref/#language.languageDataProp) it\n to the language's outer syntax node.\n */\n constructor(\n /**\n The [language data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) facet\n used for this language.\n */\n data, parser, extraExtensions = [], \n /**\n A language name.\n */\n name = \"\") {\n this.data = data;\n this.name = name;\n // Kludge to define EditorState.tree as a debugging helper,\n // without the EditorState package actually knowing about\n // languages and lezer trees.\n if (!EditorState.prototype.hasOwnProperty(\"tree\"))\n Object.defineProperty(EditorState.prototype, \"tree\", { get() { return syntaxTree(this); } });\n this.parser = parser;\n this.extension = [\n language.of(this),\n EditorState.languageData.of((state, pos, side) => {\n let top = topNodeAt(state, pos, side), data = top.type.prop(languageDataProp);\n if (!data)\n return [];\n let base = state.facet(data), sub = top.type.prop(sublanguageProp);\n if (sub) {\n let innerNode = top.resolve(pos - top.from, side);\n for (let sublang of sub)\n if (sublang.test(innerNode, state)) {\n let data = state.facet(sublang.facet);\n return sublang.type == \"replace\" ? data : data.concat(base);\n }\n }\n return base;\n })\n ].concat(extraExtensions);\n }\n /**\n Query whether this language is active at the given position.\n */\n isActiveAt(state, pos, side = -1) {\n return topNodeAt(state, pos, side).type.prop(languageDataProp) == this.data;\n }\n /**\n Find the document regions that were parsed using this language.\n The returned regions will _include_ any nested languages rooted\n in this language, when those exist.\n */\n findRegions(state) {\n let lang = state.facet(language);\n if ((lang === null || lang === void 0 ? void 0 : lang.data) == this.data)\n return [{ from: 0, to: state.doc.length }];\n if (!lang || !lang.allowsNesting)\n return [];\n let result = [];\n let explore = (tree, from) => {\n if (tree.prop(languageDataProp) == this.data) {\n result.push({ from, to: from + tree.length });\n return;\n }\n let mount = tree.prop(NodeProp.mounted);\n if (mount) {\n if (mount.tree.prop(languageDataProp) == this.data) {\n if (mount.overlay)\n for (let r of mount.overlay)\n result.push({ from: r.from + from, to: r.to + from });\n else\n result.push({ from: from, to: from + tree.length });\n return;\n }\n else if (mount.overlay) {\n let size = result.length;\n explore(mount.tree, mount.overlay[0].from + from);\n if (result.length > size)\n return;\n }\n }\n for (let i = 0; i < tree.children.length; i++) {\n let ch = tree.children[i];\n if (ch instanceof Tree)\n explore(ch, tree.positions[i] + from);\n }\n };\n explore(syntaxTree(state), 0);\n return result;\n }\n /**\n Indicates whether this language allows nested languages. The\n default implementation returns true.\n */\n get allowsNesting() { return true; }\n}\n/**\n@internal\n*/\nLanguage.setState = /*@__PURE__*/StateEffect.define();\nfunction topNodeAt(state, pos, side) {\n let topLang = state.facet(language), tree = syntaxTree(state).topNode;\n if (!topLang || topLang.allowsNesting) {\n for (let node = tree; node; node = node.enter(pos, side, IterMode.ExcludeBuffers))\n if (node.type.isTop)\n tree = node;\n }\n return tree;\n}\n/**\nA subclass of [`Language`](https://codemirror.net/6/docs/ref/#language.Language) for use with Lezer\n[LR parsers](https://lezer.codemirror.net/docs/ref#lr.LRParser)\nparsers.\n*/\nclass LRLanguage extends Language {\n constructor(data, parser, name) {\n super(data, parser, [], name);\n this.parser = parser;\n }\n /**\n Define a language from a parser.\n */\n static define(spec) {\n let data = defineLanguageFacet(spec.languageData);\n return new LRLanguage(data, spec.parser.configure({\n props: [languageDataProp.add(type => type.isTop ? data : undefined)]\n }), spec.name);\n }\n /**\n Create a new instance of this language with a reconfigured\n version of its parser and optionally a new name.\n */\n configure(options, name) {\n return new LRLanguage(this.data, this.parser.configure(options), name || this.name);\n }\n get allowsNesting() { return this.parser.hasWrappers(); }\n}\n/**\nGet the syntax tree for a state, which is the current (possibly\nincomplete) parse tree of the active\n[language](https://codemirror.net/6/docs/ref/#language.Language), or the empty tree if there is no\nlanguage available.\n*/\nfunction syntaxTree(state) {\n let field = state.field(Language.state, false);\n return field ? field.tree : Tree.empty;\n}\n/**\nTry to get a parse tree that spans at least up to `upto`. The\nmethod will do at most `timeout` milliseconds of work to parse\nup to that point if the tree isn't already available.\n*/\nfunction ensureSyntaxTree(state, upto, timeout = 50) {\n var _a;\n let parse = (_a = state.field(Language.state, false)) === null || _a === void 0 ? void 0 : _a.context;\n if (!parse)\n return null;\n let oldVieport = parse.viewport;\n parse.updateViewport({ from: 0, to: upto });\n let result = parse.isDone(upto) || parse.work(timeout, upto) ? parse.tree : null;\n parse.updateViewport(oldVieport);\n return result;\n}\n/**\nQueries whether there is a full syntax tree available up to the\ngiven document position. If there isn't, the background parse\nprocess _might_ still be working and update the tree further, but\nthere is no guarantee of that—the parser will [stop\nworking](https://codemirror.net/6/docs/ref/#language.syntaxParserRunning) when it has spent a\ncertain amount of time or has moved beyond the visible viewport.\nAlways returns false if no language has been enabled.\n*/\nfunction syntaxTreeAvailable(state, upto = state.doc.length) {\n var _a;\n return ((_a = state.field(Language.state, false)) === null || _a === void 0 ? void 0 : _a.context.isDone(upto)) || false;\n}\n/**\nMove parsing forward, and update the editor state afterwards to\nreflect the new tree. Will work for at most `timeout`\nmilliseconds. Returns true if the parser managed get to the given\nposition in that time.\n*/\nfunction forceParsing(view, upto = view.viewport.to, timeout = 100) {\n let success = ensureSyntaxTree(view.state, upto, timeout);\n if (success != syntaxTree(view.state))\n view.dispatch({});\n return !!success;\n}\n/**\nTells you whether the language parser is planning to do more\nparsing work (in a `requestIdleCallback` pseudo-thread) or has\nstopped running, either because it parsed the entire document,\nbecause it spent too much time and was cut off, or because there\nis no language parser enabled.\n*/\nfunction syntaxParserRunning(view) {\n var _a;\n return ((_a = view.plugin(parseWorker)) === null || _a === void 0 ? void 0 : _a.isWorking()) || false;\n}\n/**\nLezer-style\n[`Input`](https://lezer.codemirror.net/docs/ref#common.Input)\nobject for a [`Text`](https://codemirror.net/6/docs/ref/#state.Text) object.\n*/\nclass DocInput {\n /**\n Create an input object for the given document.\n */\n constructor(doc) {\n this.doc = doc;\n this.cursorPos = 0;\n this.string = \"\";\n this.cursor = doc.iter();\n }\n get length() { return this.doc.length; }\n syncTo(pos) {\n this.string = this.cursor.next(pos - this.cursorPos).value;\n this.cursorPos = pos + this.string.length;\n return this.cursorPos - this.string.length;\n }\n chunk(pos) {\n this.syncTo(pos);\n return this.string;\n }\n get lineChunks() { return true; }\n read(from, to) {\n let stringStart = this.cursorPos - this.string.length;\n if (from < stringStart || to >= this.cursorPos)\n return this.doc.sliceString(from, to);\n else\n return this.string.slice(from - stringStart, to - stringStart);\n }\n}\nlet currentContext = null;\n/**\nA parse context provided to parsers working on the editor content.\n*/\nclass ParseContext {\n constructor(parser, \n /**\n The current editor state.\n */\n state, \n /**\n Tree fragments that can be reused by incremental re-parses.\n */\n fragments = [], \n /**\n @internal\n */\n tree, \n /**\n @internal\n */\n treeLen, \n /**\n The current editor viewport (or some overapproximation\n thereof). Intended to be used for opportunistically avoiding\n work (in which case\n [`skipUntilInView`](https://codemirror.net/6/docs/ref/#language.ParseContext.skipUntilInView)\n should be called to make sure the parser is restarted when the\n skipped region becomes visible).\n */\n viewport, \n /**\n @internal\n */\n skipped, \n /**\n This is where skipping parsers can register a promise that,\n when resolved, will schedule a new parse. It is cleared when\n the parse worker picks up the promise. @internal\n */\n scheduleOn) {\n this.parser = parser;\n this.state = state;\n this.fragments = fragments;\n this.tree = tree;\n this.treeLen = treeLen;\n this.viewport = viewport;\n this.skipped = skipped;\n this.scheduleOn = scheduleOn;\n this.parse = null;\n /**\n @internal\n */\n this.tempSkipped = [];\n }\n /**\n @internal\n */\n static create(parser, state, viewport) {\n return new ParseContext(parser, state, [], Tree.empty, 0, viewport, [], null);\n }\n startParse() {\n return this.parser.startParse(new DocInput(this.state.doc), this.fragments);\n }\n /**\n @internal\n */\n work(until, upto) {\n if (upto != null && upto >= this.state.doc.length)\n upto = undefined;\n if (this.tree != Tree.empty && this.isDone(upto !== null && upto !== void 0 ? upto : this.state.doc.length)) {\n this.takeTree();\n return true;\n }\n return this.withContext(() => {\n var _a;\n if (typeof until == \"number\") {\n let endTime = Date.now() + until;\n until = () => Date.now() > endTime;\n }\n if (!this.parse)\n this.parse = this.startParse();\n if (upto != null && (this.parse.stoppedAt == null || this.parse.stoppedAt > upto) &&\n upto < this.state.doc.length)\n this.parse.stopAt(upto);\n for (;;) {\n let done = this.parse.advance();\n if (done) {\n this.fragments = this.withoutTempSkipped(TreeFragment.addTree(done, this.fragments, this.parse.stoppedAt != null));\n this.treeLen = (_a = this.parse.stoppedAt) !== null && _a !== void 0 ? _a : this.state.doc.length;\n this.tree = done;\n this.parse = null;\n if (this.treeLen < (upto !== null && upto !== void 0 ? upto : this.state.doc.length))\n this.parse = this.startParse();\n else\n return true;\n }\n if (until())\n return false;\n }\n });\n }\n /**\n @internal\n */\n takeTree() {\n let pos, tree;\n if (this.parse && (pos = this.parse.parsedPos) >= this.treeLen) {\n if (this.parse.stoppedAt == null || this.parse.stoppedAt > pos)\n this.parse.stopAt(pos);\n this.withContext(() => { while (!(tree = this.parse.advance())) { } });\n this.treeLen = pos;\n this.tree = tree;\n this.fragments = this.withoutTempSkipped(TreeFragment.addTree(this.tree, this.fragments, true));\n this.parse = null;\n }\n }\n withContext(f) {\n let prev = currentContext;\n currentContext = this;\n try {\n return f();\n }\n finally {\n currentContext = prev;\n }\n }\n withoutTempSkipped(fragments) {\n for (let r; r = this.tempSkipped.pop();)\n fragments = cutFragments(fragments, r.from, r.to);\n return fragments;\n }\n /**\n @internal\n */\n changes(changes, newState) {\n let { fragments, tree, treeLen, viewport, skipped } = this;\n this.takeTree();\n if (!changes.empty) {\n let ranges = [];\n changes.iterChangedRanges((fromA, toA, fromB, toB) => ranges.push({ fromA, toA, fromB, toB }));\n fragments = TreeFragment.applyChanges(fragments, ranges);\n tree = Tree.empty;\n treeLen = 0;\n viewport = { from: changes.mapPos(viewport.from, -1), to: changes.mapPos(viewport.to, 1) };\n if (this.skipped.length) {\n skipped = [];\n for (let r of this.skipped) {\n let from = changes.mapPos(r.from, 1), to = changes.mapPos(r.to, -1);\n if (from < to)\n skipped.push({ from, to });\n }\n }\n }\n return new ParseContext(this.parser, newState, fragments, tree, treeLen, viewport, skipped, this.scheduleOn);\n }\n /**\n @internal\n */\n updateViewport(viewport) {\n if (this.viewport.from == viewport.from && this.viewport.to == viewport.to)\n return false;\n this.viewport = viewport;\n let startLen = this.skipped.length;\n for (let i = 0; i < this.skipped.length; i++) {\n let { from, to } = this.skipped[i];\n if (from < viewport.to && to > viewport.from) {\n this.fragments = cutFragments(this.fragments, from, to);\n this.skipped.splice(i--, 1);\n }\n }\n if (this.skipped.length >= startLen)\n return false;\n this.reset();\n return true;\n }\n /**\n @internal\n */\n reset() {\n if (this.parse) {\n this.takeTree();\n this.parse = null;\n }\n }\n /**\n Notify the parse scheduler that the given region was skipped\n because it wasn't in view, and the parse should be restarted\n when it comes into view.\n */\n skipUntilInView(from, to) {\n this.skipped.push({ from, to });\n }\n /**\n Returns a parser intended to be used as placeholder when\n asynchronously loading a nested parser. It'll skip its input and\n mark it as not-really-parsed, so that the next update will parse\n it again.\n \n When `until` is given, a reparse will be scheduled when that\n promise resolves.\n */\n static getSkippingParser(until) {\n return new class extends Parser {\n createParse(input, fragments, ranges) {\n let from = ranges[0].from, to = ranges[ranges.length - 1].to;\n let parser = {\n parsedPos: from,\n advance() {\n let cx = currentContext;\n if (cx) {\n for (let r of ranges)\n cx.tempSkipped.push(r);\n if (until)\n cx.scheduleOn = cx.scheduleOn ? Promise.all([cx.scheduleOn, until]) : until;\n }\n this.parsedPos = to;\n return new Tree(NodeType.none, [], [], to - from);\n },\n stoppedAt: null,\n stopAt() { }\n };\n return parser;\n }\n };\n }\n /**\n @internal\n */\n isDone(upto) {\n upto = Math.min(upto, this.state.doc.length);\n let frags = this.fragments;\n return this.treeLen >= upto && frags.length && frags[0].from == 0 && frags[0].to >= upto;\n }\n /**\n Get the context for the current parse, or `null` if no editor\n parse is in progress.\n */\n static get() { return currentContext; }\n}\nfunction cutFragments(fragments, from, to) {\n return TreeFragment.applyChanges(fragments, [{ fromA: from, toA: to, fromB: from, toB: to }]);\n}\nclass LanguageState {\n constructor(\n // A mutable parse state that is used to preserve work done during\n // the lifetime of a state when moving to the next state.\n context) {\n this.context = context;\n this.tree = context.tree;\n }\n apply(tr) {\n if (!tr.docChanged && this.tree == this.context.tree)\n return this;\n let newCx = this.context.changes(tr.changes, tr.state);\n // If the previous parse wasn't done, go forward only up to its\n // end position or the end of the viewport, to avoid slowing down\n // state updates with parse work beyond the viewport.\n let upto = this.context.treeLen == tr.startState.doc.length ? undefined\n : Math.max(tr.changes.mapPos(this.context.treeLen), newCx.viewport.to);\n if (!newCx.work(20 /* Work.Apply */, upto))\n newCx.takeTree();\n return new LanguageState(newCx);\n }\n static init(state) {\n let vpTo = Math.min(3000 /* Work.InitViewport */, state.doc.length);\n let parseState = ParseContext.create(state.facet(language).parser, state, { from: 0, to: vpTo });\n if (!parseState.work(20 /* Work.Apply */, vpTo))\n parseState.takeTree();\n return new LanguageState(parseState);\n }\n}\nLanguage.state = /*@__PURE__*/StateField.define({\n create: LanguageState.init,\n update(value, tr) {\n for (let e of tr.effects)\n if (e.is(Language.setState))\n return e.value;\n if (tr.startState.facet(language) != tr.state.facet(language))\n return LanguageState.init(tr.state);\n return value.apply(tr);\n }\n});\nlet requestIdle = (callback) => {\n let timeout = setTimeout(() => callback(), 500 /* Work.MaxPause */);\n return () => clearTimeout(timeout);\n};\nif (typeof requestIdleCallback != \"undefined\")\n requestIdle = (callback) => {\n let idle = -1, timeout = setTimeout(() => {\n idle = requestIdleCallback(callback, { timeout: 500 /* Work.MaxPause */ - 100 /* Work.MinPause */ });\n }, 100 /* Work.MinPause */);\n return () => idle < 0 ? clearTimeout(timeout) : cancelIdleCallback(idle);\n };\nconst isInputPending = typeof navigator != \"undefined\" && ((_a = navigator.scheduling) === null || _a === void 0 ? void 0 : _a.isInputPending)\n ? () => navigator.scheduling.isInputPending() : null;\nconst parseWorker = /*@__PURE__*/ViewPlugin.fromClass(class ParseWorker {\n constructor(view) {\n this.view = view;\n this.working = null;\n this.workScheduled = 0;\n // End of the current time chunk\n this.chunkEnd = -1;\n // Milliseconds of budget left for this chunk\n this.chunkBudget = -1;\n this.work = this.work.bind(this);\n this.scheduleWork();\n }\n update(update) {\n let cx = this.view.state.field(Language.state).context;\n if (cx.updateViewport(update.view.viewport) || this.view.viewport.to > cx.treeLen)\n this.scheduleWork();\n if (update.docChanged || update.selectionSet) {\n if (this.view.hasFocus)\n this.chunkBudget += 50 /* Work.ChangeBonus */;\n this.scheduleWork();\n }\n this.checkAsyncSchedule(cx);\n }\n scheduleWork() {\n if (this.working)\n return;\n let { state } = this.view, field = state.field(Language.state);\n if (field.tree != field.context.tree || !field.context.isDone(state.doc.length))\n this.working = requestIdle(this.work);\n }\n work(deadline) {\n this.working = null;\n let now = Date.now();\n if (this.chunkEnd < now && (this.chunkEnd < 0 || this.view.hasFocus)) { // Start a new chunk\n this.chunkEnd = now + 30000 /* Work.ChunkTime */;\n this.chunkBudget = 3000 /* Work.ChunkBudget */;\n }\n if (this.chunkBudget <= 0)\n return; // No more budget\n let { state, viewport: { to: vpTo } } = this.view, field = state.field(Language.state);\n if (field.tree == field.context.tree && field.context.isDone(vpTo + 100000 /* Work.MaxParseAhead */))\n return;\n let endTime = Date.now() + Math.min(this.chunkBudget, 100 /* Work.Slice */, deadline && !isInputPending ? Math.max(25 /* Work.MinSlice */, deadline.timeRemaining() - 5) : 1e9);\n let viewportFirst = field.context.treeLen < vpTo && state.doc.length > vpTo + 1000;\n let done = field.context.work(() => {\n return isInputPending && isInputPending() || Date.now() > endTime;\n }, vpTo + (viewportFirst ? 0 : 100000 /* Work.MaxParseAhead */));\n this.chunkBudget -= Date.now() - now;\n if (done || this.chunkBudget <= 0) {\n field.context.takeTree();\n this.view.dispatch({ effects: Language.setState.of(new LanguageState(field.context)) });\n }\n if (this.chunkBudget > 0 && !(done && !viewportFirst))\n this.scheduleWork();\n this.checkAsyncSchedule(field.context);\n }\n checkAsyncSchedule(cx) {\n if (cx.scheduleOn) {\n this.workScheduled++;\n cx.scheduleOn\n .then(() => this.scheduleWork())\n .catch(err => logException(this.view.state, err))\n .then(() => this.workScheduled--);\n cx.scheduleOn = null;\n }\n }\n destroy() {\n if (this.working)\n this.working();\n }\n isWorking() {\n return !!(this.working || this.workScheduled > 0);\n }\n}, {\n eventHandlers: { focus() { this.scheduleWork(); } }\n});\n/**\nThe facet used to associate a language with an editor state. Used\nby `Language` object's `extension` property (so you don't need to\nmanually wrap your languages in this). Can be used to access the\ncurrent language on a state.\n*/\nconst language = /*@__PURE__*/Facet.define({\n combine(languages) { return languages.length ? languages[0] : null; },\n enables: language => [\n Language.state,\n parseWorker,\n EditorView.contentAttributes.compute([language], state => {\n let lang = state.facet(language);\n return lang && lang.name ? { \"data-language\": lang.name } : {};\n })\n ]\n});\n/**\nThis class bundles a [language](https://codemirror.net/6/docs/ref/#language.Language) with an\noptional set of supporting extensions. Language packages are\nencouraged to export a function that optionally takes a\nconfiguration object and returns a `LanguageSupport` instance, as\nthe main way for client code to use the package.\n*/\nclass LanguageSupport {\n /**\n Create a language support object.\n */\n constructor(\n /**\n The language object.\n */\n language, \n /**\n An optional set of supporting extensions. When nesting a\n language in another language, the outer language is encouraged\n to include the supporting extensions for its inner languages\n in its own set of support extensions.\n */\n support = []) {\n this.language = language;\n this.support = support;\n this.extension = [language, support];\n }\n}\n/**\nLanguage descriptions are used to store metadata about languages\nand to dynamically load them. Their main role is finding the\nappropriate language for a filename or dynamically loading nested\nparsers.\n*/\nclass LanguageDescription {\n constructor(\n /**\n The name of this language.\n */\n name, \n /**\n Alternative names for the mode (lowercased, includes `this.name`).\n */\n alias, \n /**\n File extensions associated with this language.\n */\n extensions, \n /**\n Optional filename pattern that should be associated with this\n language.\n */\n filename, loadFunc, \n /**\n If the language has been loaded, this will hold its value.\n */\n support = undefined) {\n this.name = name;\n this.alias = alias;\n this.extensions = extensions;\n this.filename = filename;\n this.loadFunc = loadFunc;\n this.support = support;\n this.loading = null;\n }\n /**\n Start loading the the language. Will return a promise that\n resolves to a [`LanguageSupport`](https://codemirror.net/6/docs/ref/#language.LanguageSupport)\n object when the language successfully loads.\n */\n load() {\n return this.loading || (this.loading = this.loadFunc().then(support => this.support = support, err => { this.loading = null; throw err; }));\n }\n /**\n Create a language description.\n */\n static of(spec) {\n let { load, support } = spec;\n if (!load) {\n if (!support)\n throw new RangeError(\"Must pass either 'load' or 'support' to LanguageDescription.of\");\n load = () => Promise.resolve(support);\n }\n return new LanguageDescription(spec.name, (spec.alias || []).concat(spec.name).map(s => s.toLowerCase()), spec.extensions || [], spec.filename, load, support);\n }\n /**\n Look for a language in the given array of descriptions that\n matches the filename. Will first match\n [`filename`](https://codemirror.net/6/docs/ref/#language.LanguageDescription.filename) patterns,\n and then [extensions](https://codemirror.net/6/docs/ref/#language.LanguageDescription.extensions),\n and return the first language that matches.\n */\n static matchFilename(descs, filename) {\n for (let d of descs)\n if (d.filename && d.filename.test(filename))\n return d;\n let ext = /\\.([^.]+)$/.exec(filename);\n if (ext)\n for (let d of descs)\n if (d.extensions.indexOf(ext[1]) > -1)\n return d;\n return null;\n }\n /**\n Look for a language whose name or alias matches the the given\n name (case-insensitively). If `fuzzy` is true, and no direct\n matchs is found, this'll also search for a language whose name\n or alias occurs in the string (for names shorter than three\n characters, only when surrounded by non-word characters).\n */\n static matchLanguageName(descs, name, fuzzy = true) {\n name = name.toLowerCase();\n for (let d of descs)\n if (d.alias.some(a => a == name))\n return d;\n if (fuzzy)\n for (let d of descs)\n for (let a of d.alias) {\n let found = name.indexOf(a);\n if (found > -1 && (a.length > 2 || !/\\w/.test(name[found - 1]) && !/\\w/.test(name[found + a.length])))\n return d;\n }\n return null;\n }\n}\n\n/**\nFacet that defines a way to provide a function that computes the\nappropriate indentation depth, as a column number (see\n[`indentString`](https://codemirror.net/6/docs/ref/#language.indentString)), at the start of a given\nline. A return value of `null` indicates no indentation can be\ndetermined, and the line should inherit the indentation of the one\nabove it. A return value of `undefined` defers to the next indent\nservice.\n*/\nconst indentService = /*@__PURE__*/Facet.define();\n/**\nFacet for overriding the unit by which indentation happens. Should\nbe a string consisting entirely of the same whitespace character.\nWhen not set, this defaults to 2 spaces.\n*/\nconst indentUnit = /*@__PURE__*/Facet.define({\n combine: values => {\n if (!values.length)\n return \" \";\n let unit = values[0];\n if (!unit || /\\S/.test(unit) || Array.from(unit).some(e => e != unit[0]))\n throw new Error(\"Invalid indent unit: \" + JSON.stringify(values[0]));\n return unit;\n }\n});\n/**\nReturn the _column width_ of an indent unit in the state.\nDetermined by the [`indentUnit`](https://codemirror.net/6/docs/ref/#language.indentUnit)\nfacet, and [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) when that\ncontains tabs.\n*/\nfunction getIndentUnit(state) {\n let unit = state.facet(indentUnit);\n return unit.charCodeAt(0) == 9 ? state.tabSize * unit.length : unit.length;\n}\n/**\nCreate an indentation string that covers columns 0 to `cols`.\nWill use tabs for as much of the columns as possible when the\n[`indentUnit`](https://codemirror.net/6/docs/ref/#language.indentUnit) facet contains\ntabs.\n*/\nfunction indentString(state, cols) {\n let result = \"\", ts = state.tabSize, ch = state.facet(indentUnit)[0];\n if (ch == \"\\t\") {\n while (cols >= ts) {\n result += \"\\t\";\n cols -= ts;\n }\n ch = \" \";\n }\n for (let i = 0; i < cols; i++)\n result += ch;\n return result;\n}\n/**\nGet the indentation, as a column number, at the given position.\nWill first consult any [indent services](https://codemirror.net/6/docs/ref/#language.indentService)\nthat are registered, and if none of those return an indentation,\nthis will check the syntax tree for the [indent node\nprop](https://codemirror.net/6/docs/ref/#language.indentNodeProp) and use that if found. Returns a\nnumber when an indentation could be determined, and null\notherwise.\n*/\nfunction getIndentation(context, pos) {\n if (context instanceof EditorState)\n context = new IndentContext(context);\n for (let service of context.state.facet(indentService)) {\n let result = service(context, pos);\n if (result !== undefined)\n return result;\n }\n let tree = syntaxTree(context.state);\n return tree.length >= pos ? syntaxIndentation(context, tree, pos) : null;\n}\n/**\nCreate a change set that auto-indents all lines touched by the\ngiven document range.\n*/\nfunction indentRange(state, from, to) {\n let updated = Object.create(null);\n let context = new IndentContext(state, { overrideIndentation: start => { var _a; return (_a = updated[start]) !== null && _a !== void 0 ? _a : -1; } });\n let changes = [];\n for (let pos = from; pos <= to;) {\n let line = state.doc.lineAt(pos);\n pos = line.to + 1;\n let indent = getIndentation(context, line.from);\n if (indent == null)\n continue;\n if (!/\\S/.test(line.text))\n indent = 0;\n let cur = /^\\s*/.exec(line.text)[0];\n let norm = indentString(state, indent);\n if (cur != norm) {\n updated[line.from] = indent;\n changes.push({ from: line.from, to: line.from + cur.length, insert: norm });\n }\n }\n return state.changes(changes);\n}\n/**\nIndentation contexts are used when calling [indentation\nservices](https://codemirror.net/6/docs/ref/#language.indentService). They provide helper utilities\nuseful in indentation logic, and can selectively override the\nindentation reported for some lines.\n*/\nclass IndentContext {\n /**\n Create an indent context.\n */\n constructor(\n /**\n The editor state.\n */\n state, \n /**\n @internal\n */\n options = {}) {\n this.state = state;\n this.options = options;\n this.unit = getIndentUnit(state);\n }\n /**\n Get a description of the line at the given position, taking\n [simulated line\n breaks](https://codemirror.net/6/docs/ref/#language.IndentContext.constructor^options.simulateBreak)\n into account. If there is such a break at `pos`, the `bias`\n argument determines whether the part of the line line before or\n after the break is used.\n */\n lineAt(pos, bias = 1) {\n let line = this.state.doc.lineAt(pos);\n let { simulateBreak, simulateDoubleBreak } = this.options;\n if (simulateBreak != null && simulateBreak >= line.from && simulateBreak <= line.to) {\n if (simulateDoubleBreak && simulateBreak == pos)\n return { text: \"\", from: pos };\n else if (bias < 0 ? simulateBreak < pos : simulateBreak <= pos)\n return { text: line.text.slice(simulateBreak - line.from), from: simulateBreak };\n else\n return { text: line.text.slice(0, simulateBreak - line.from), from: line.from };\n }\n return line;\n }\n /**\n Get the text directly after `pos`, either the entire line\n or the next 100 characters, whichever is shorter.\n */\n textAfterPos(pos, bias = 1) {\n if (this.options.simulateDoubleBreak && pos == this.options.simulateBreak)\n return \"\";\n let { text, from } = this.lineAt(pos, bias);\n return text.slice(pos - from, Math.min(text.length, pos + 100 - from));\n }\n /**\n Find the column for the given position.\n */\n column(pos, bias = 1) {\n let { text, from } = this.lineAt(pos, bias);\n let result = this.countColumn(text, pos - from);\n let override = this.options.overrideIndentation ? this.options.overrideIndentation(from) : -1;\n if (override > -1)\n result += override - this.countColumn(text, text.search(/\\S|$/));\n return result;\n }\n /**\n Find the column position (taking tabs into account) of the given\n position in the given string.\n */\n countColumn(line, pos = line.length) {\n return countColumn(line, this.state.tabSize, pos);\n }\n /**\n Find the indentation column of the line at the given point.\n */\n lineIndent(pos, bias = 1) {\n let { text, from } = this.lineAt(pos, bias);\n let override = this.options.overrideIndentation;\n if (override) {\n let overriden = override(from);\n if (overriden > -1)\n return overriden;\n }\n return this.countColumn(text, text.search(/\\S|$/));\n }\n /**\n Returns the [simulated line\n break](https://codemirror.net/6/docs/ref/#language.IndentContext.constructor^options.simulateBreak)\n for this context, if any.\n */\n get simulatedBreak() {\n return this.options.simulateBreak || null;\n }\n}\n/**\nA syntax tree node prop used to associate indentation strategies\nwith node types. Such a strategy is a function from an indentation\ncontext to a column number (see also\n[`indentString`](https://codemirror.net/6/docs/ref/#language.indentString)) or null, where null\nindicates that no definitive indentation can be determined.\n*/\nconst indentNodeProp = /*@__PURE__*/new NodeProp();\n// Compute the indentation for a given position from the syntax tree.\nfunction syntaxIndentation(cx, ast, pos) {\n let stack = ast.resolveStack(pos);\n let inner = ast.resolveInner(pos, -1).resolve(pos, 0).enterUnfinishedNodesBefore(pos);\n if (inner != stack.node) {\n let add = [];\n for (let cur = inner; cur && !(cur.from < stack.node.from || cur.to > stack.node.to ||\n cur.from == stack.node.from && cur.type == stack.node.type); cur = cur.parent)\n add.push(cur);\n for (let i = add.length - 1; i >= 0; i--)\n stack = { node: add[i], next: stack };\n }\n return indentFor(stack, cx, pos);\n}\nfunction indentFor(stack, cx, pos) {\n for (let cur = stack; cur; cur = cur.next) {\n let strategy = indentStrategy(cur.node);\n if (strategy)\n return strategy(TreeIndentContext.create(cx, pos, cur));\n }\n return 0;\n}\nfunction ignoreClosed(cx) {\n return cx.pos == cx.options.simulateBreak && cx.options.simulateDoubleBreak;\n}\nfunction indentStrategy(tree) {\n let strategy = tree.type.prop(indentNodeProp);\n if (strategy)\n return strategy;\n let first = tree.firstChild, close;\n if (first && (close = first.type.prop(NodeProp.closedBy))) {\n let last = tree.lastChild, closed = last && close.indexOf(last.name) > -1;\n return cx => delimitedStrategy(cx, true, 1, undefined, closed && !ignoreClosed(cx) ? last.from : undefined);\n }\n return tree.parent == null ? topIndent : null;\n}\nfunction topIndent() { return 0; }\n/**\nObjects of this type provide context information and helper\nmethods to indentation functions registered on syntax nodes.\n*/\nclass TreeIndentContext extends IndentContext {\n constructor(base, \n /**\n The position at which indentation is being computed.\n */\n pos, \n /**\n @internal\n */\n context) {\n super(base.state, base.options);\n this.base = base;\n this.pos = pos;\n this.context = context;\n }\n /**\n The syntax tree node to which the indentation strategy\n applies.\n */\n get node() { return this.context.node; }\n /**\n @internal\n */\n static create(base, pos, context) {\n return new TreeIndentContext(base, pos, context);\n }\n /**\n Get the text directly after `this.pos`, either the entire line\n or the next 100 characters, whichever is shorter.\n */\n get textAfter() {\n return this.textAfterPos(this.pos);\n }\n /**\n Get the indentation at the reference line for `this.node`, which\n is the line on which it starts, unless there is a node that is\n _not_ a parent of this node covering the start of that line. If\n so, the line at the start of that node is tried, again skipping\n on if it is covered by another such node.\n */\n get baseIndent() {\n return this.baseIndentFor(this.node);\n }\n /**\n Get the indentation for the reference line of the given node\n (see [`baseIndent`](https://codemirror.net/6/docs/ref/#language.TreeIndentContext.baseIndent)).\n */\n baseIndentFor(node) {\n let line = this.state.doc.lineAt(node.from);\n // Skip line starts that are covered by a sibling (or cousin, etc)\n for (;;) {\n let atBreak = node.resolve(line.from);\n while (atBreak.parent && atBreak.parent.from == atBreak.from)\n atBreak = atBreak.parent;\n if (isParent(atBreak, node))\n break;\n line = this.state.doc.lineAt(atBreak.from);\n }\n return this.lineIndent(line.from);\n }\n /**\n Continue looking for indentations in the node's parent nodes,\n and return the result of that.\n */\n continue() {\n return indentFor(this.context.next, this.base, this.pos);\n }\n}\nfunction isParent(parent, of) {\n for (let cur = of; cur; cur = cur.parent)\n if (parent == cur)\n return true;\n return false;\n}\n// Check whether a delimited node is aligned (meaning there are\n// non-skipped nodes on the same line as the opening delimiter). And\n// if so, return the opening token.\nfunction bracketedAligned(context) {\n let tree = context.node;\n let openToken = tree.childAfter(tree.from), last = tree.lastChild;\n if (!openToken)\n return null;\n let sim = context.options.simulateBreak;\n let openLine = context.state.doc.lineAt(openToken.from);\n let lineEnd = sim == null || sim <= openLine.from ? openLine.to : Math.min(openLine.to, sim);\n for (let pos = openToken.to;;) {\n let next = tree.childAfter(pos);\n if (!next || next == last)\n return null;\n if (!next.type.isSkipped) {\n if (next.from >= lineEnd)\n return null;\n let space = /^ */.exec(openLine.text.slice(openToken.to - openLine.from))[0].length;\n return { from: openToken.from, to: openToken.to + space };\n }\n pos = next.to;\n }\n}\n/**\nAn indentation strategy for delimited (usually bracketed) nodes.\nWill, by default, indent one unit more than the parent's base\nindent unless the line starts with a closing token. When `align`\nis true and there are non-skipped nodes on the node's opening\nline, the content of the node will be aligned with the end of the\nopening node, like this:\n\n foo(bar,\n baz)\n*/\nfunction delimitedIndent({ closing, align = true, units = 1 }) {\n return (context) => delimitedStrategy(context, align, units, closing);\n}\nfunction delimitedStrategy(context, align, units, closing, closedAt) {\n let after = context.textAfter, space = after.match(/^\\s*/)[0].length;\n let closed = closing && after.slice(space, space + closing.length) == closing || closedAt == context.pos + space;\n let aligned = align ? bracketedAligned(context) : null;\n if (aligned)\n return closed ? context.column(aligned.from) : context.column(aligned.to);\n return context.baseIndent + (closed ? 0 : context.unit * units);\n}\n/**\nAn indentation strategy that aligns a node's content to its base\nindentation.\n*/\nconst flatIndent = (context) => context.baseIndent;\n/**\nCreates an indentation strategy that, by default, indents\ncontinued lines one unit more than the node's base indentation.\nYou can provide `except` to prevent indentation of lines that\nmatch a pattern (for example `/^else\\b/` in `if`/`else`\nconstructs), and you can change the amount of units used with the\n`units` option.\n*/\nfunction continuedIndent({ except, units = 1 } = {}) {\n return (context) => {\n let matchExcept = except && except.test(context.textAfter);\n return context.baseIndent + (matchExcept ? 0 : units * context.unit);\n };\n}\nconst DontIndentBeyond = 200;\n/**\nEnables reindentation on input. When a language defines an\n`indentOnInput` field in its [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt), which must hold a regular\nexpression, the line at the cursor will be reindented whenever new\ntext is typed and the input from the start of the line up to the\ncursor matches that regexp.\n\nTo avoid unneccesary reindents, it is recommended to start the\nregexp with `^` (usually followed by `\\s*`), and end it with `$`.\nFor example, `/^\\s*\\}$/` will reindent when a closing brace is\nadded at the start of a line.\n*/\nfunction indentOnInput() {\n return EditorState.transactionFilter.of(tr => {\n if (!tr.docChanged || !tr.isUserEvent(\"input.type\") && !tr.isUserEvent(\"input.complete\"))\n return tr;\n let rules = tr.startState.languageDataAt(\"indentOnInput\", tr.startState.selection.main.head);\n if (!rules.length)\n return tr;\n let doc = tr.newDoc, { head } = tr.newSelection.main, line = doc.lineAt(head);\n if (head > line.from + DontIndentBeyond)\n return tr;\n let lineStart = doc.sliceString(line.from, head);\n if (!rules.some(r => r.test(lineStart)))\n return tr;\n let { state } = tr, last = -1, changes = [];\n for (let { head } of state.selection.ranges) {\n let line = state.doc.lineAt(head);\n if (line.from == last)\n continue;\n last = line.from;\n let indent = getIndentation(state, line.from);\n if (indent == null)\n continue;\n let cur = /^\\s*/.exec(line.text)[0];\n let norm = indentString(state, indent);\n if (cur != norm)\n changes.push({ from: line.from, to: line.from + cur.length, insert: norm });\n }\n return changes.length ? [tr, { changes, sequential: true }] : tr;\n });\n}\n\n/**\nA facet that registers a code folding service. When called with\nthe extent of a line, such a function should return a foldable\nrange that starts on that line (but continues beyond it), if one\ncan be found.\n*/\nconst foldService = /*@__PURE__*/Facet.define();\n/**\nThis node prop is used to associate folding information with\nsyntax node types. Given a syntax node, it should check whether\nthat tree is foldable and return the range that can be collapsed\nwhen it is.\n*/\nconst foldNodeProp = /*@__PURE__*/new NodeProp();\n/**\n[Fold](https://codemirror.net/6/docs/ref/#language.foldNodeProp) function that folds everything but\nthe first and the last child of a syntax node. Useful for nodes\nthat start and end with delimiters.\n*/\nfunction foldInside(node) {\n let first = node.firstChild, last = node.lastChild;\n return first && first.to < last.from ? { from: first.to, to: last.type.isError ? node.to : last.from } : null;\n}\nfunction syntaxFolding(state, start, end) {\n let tree = syntaxTree(state);\n if (tree.length < end)\n return null;\n let stack = tree.resolveStack(end, 1);\n let found = null;\n for (let iter = stack; iter; iter = iter.next) {\n let cur = iter.node;\n if (cur.to <= end || cur.from > end)\n continue;\n if (found && cur.from < start)\n break;\n let prop = cur.type.prop(foldNodeProp);\n if (prop && (cur.to < tree.length - 50 || tree.length == state.doc.length || !isUnfinished(cur))) {\n let value = prop(cur, state);\n if (value && value.from <= end && value.from >= start && value.to > end)\n found = value;\n }\n }\n return found;\n}\nfunction isUnfinished(node) {\n let ch = node.lastChild;\n return ch && ch.to == node.to && ch.type.isError;\n}\n/**\nCheck whether the given line is foldable. First asks any fold\nservices registered through\n[`foldService`](https://codemirror.net/6/docs/ref/#language.foldService), and if none of them return\na result, tries to query the [fold node\nprop](https://codemirror.net/6/docs/ref/#language.foldNodeProp) of syntax nodes that cover the end\nof the line.\n*/\nfunction foldable(state, lineStart, lineEnd) {\n for (let service of state.facet(foldService)) {\n let result = service(state, lineStart, lineEnd);\n if (result)\n return result;\n }\n return syntaxFolding(state, lineStart, lineEnd);\n}\nfunction mapRange(range, mapping) {\n let from = mapping.mapPos(range.from, 1), to = mapping.mapPos(range.to, -1);\n return from >= to ? undefined : { from, to };\n}\n/**\nState effect that can be attached to a transaction to fold the\ngiven range. (You probably only need this in exceptional\ncircumstances—usually you'll just want to let\n[`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode) and the [fold\ngutter](https://codemirror.net/6/docs/ref/#language.foldGutter) create the transactions.)\n*/\nconst foldEffect = /*@__PURE__*/StateEffect.define({ map: mapRange });\n/**\nState effect that unfolds the given range (if it was folded).\n*/\nconst unfoldEffect = /*@__PURE__*/StateEffect.define({ map: mapRange });\nfunction selectedLines(view) {\n let lines = [];\n for (let { head } of view.state.selection.ranges) {\n if (lines.some(l => l.from <= head && l.to >= head))\n continue;\n lines.push(view.lineBlockAt(head));\n }\n return lines;\n}\n/**\nThe state field that stores the folded ranges (as a [decoration\nset](https://codemirror.net/6/docs/ref/#view.DecorationSet)). Can be passed to\n[`EditorState.toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) and\n[`fromJSON`](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) to serialize the fold\nstate.\n*/\nconst foldState = /*@__PURE__*/StateField.define({\n create() {\n return Decoration.none;\n },\n update(folded, tr) {\n folded = folded.map(tr.changes);\n for (let e of tr.effects) {\n if (e.is(foldEffect) && !foldExists(folded, e.value.from, e.value.to)) {\n let { preparePlaceholder } = tr.state.facet(foldConfig);\n let widget = !preparePlaceholder ? foldWidget :\n Decoration.replace({ widget: new PreparedFoldWidget(preparePlaceholder(tr.state, e.value)) });\n folded = folded.update({ add: [widget.range(e.value.from, e.value.to)] });\n }\n else if (e.is(unfoldEffect)) {\n folded = folded.update({ filter: (from, to) => e.value.from != from || e.value.to != to,\n filterFrom: e.value.from, filterTo: e.value.to });\n }\n }\n // Clear folded ranges that cover the selection head\n if (tr.selection) {\n let onSelection = false, { head } = tr.selection.main;\n folded.between(head, head, (a, b) => { if (a < head && b > head)\n onSelection = true; });\n if (onSelection)\n folded = folded.update({\n filterFrom: head,\n filterTo: head,\n filter: (a, b) => b <= head || a >= head\n });\n }\n return folded;\n },\n provide: f => EditorView.decorations.from(f),\n toJSON(folded, state) {\n let ranges = [];\n folded.between(0, state.doc.length, (from, to) => { ranges.push(from, to); });\n return ranges;\n },\n fromJSON(value) {\n if (!Array.isArray(value) || value.length % 2)\n throw new RangeError(\"Invalid JSON for fold state\");\n let ranges = [];\n for (let i = 0; i < value.length;) {\n let from = value[i++], to = value[i++];\n if (typeof from != \"number\" || typeof to != \"number\")\n throw new RangeError(\"Invalid JSON for fold state\");\n ranges.push(foldWidget.range(from, to));\n }\n return Decoration.set(ranges, true);\n }\n});\n/**\nGet a [range set](https://codemirror.net/6/docs/ref/#state.RangeSet) containing the folded ranges\nin the given state.\n*/\nfunction foldedRanges(state) {\n return state.field(foldState, false) || RangeSet.empty;\n}\nfunction findFold(state, from, to) {\n var _a;\n let found = null;\n (_a = state.field(foldState, false)) === null || _a === void 0 ? void 0 : _a.between(from, to, (from, to) => {\n if (!found || found.from > from)\n found = { from, to };\n });\n return found;\n}\nfunction foldExists(folded, from, to) {\n let found = false;\n folded.between(from, from, (a, b) => { if (a == from && b == to)\n found = true; });\n return found;\n}\nfunction maybeEnable(state, other) {\n return state.field(foldState, false) ? other : other.concat(StateEffect.appendConfig.of(codeFolding()));\n}\n/**\nFold the lines that are selected, if possible.\n*/\nconst foldCode = view => {\n for (let line of selectedLines(view)) {\n let range = foldable(view.state, line.from, line.to);\n if (range) {\n view.dispatch({ effects: maybeEnable(view.state, [foldEffect.of(range), announceFold(view, range)]) });\n return true;\n }\n }\n return false;\n};\n/**\nUnfold folded ranges on selected lines.\n*/\nconst unfoldCode = view => {\n if (!view.state.field(foldState, false))\n return false;\n let effects = [];\n for (let line of selectedLines(view)) {\n let folded = findFold(view.state, line.from, line.to);\n if (folded)\n effects.push(unfoldEffect.of(folded), announceFold(view, folded, false));\n }\n if (effects.length)\n view.dispatch({ effects });\n return effects.length > 0;\n};\nfunction announceFold(view, range, fold = true) {\n let lineFrom = view.state.doc.lineAt(range.from).number, lineTo = view.state.doc.lineAt(range.to).number;\n return EditorView.announce.of(`${view.state.phrase(fold ? \"Folded lines\" : \"Unfolded lines\")} ${lineFrom} ${view.state.phrase(\"to\")} ${lineTo}.`);\n}\n/**\nFold all top-level foldable ranges. Note that, in most cases,\nfolding information will depend on the [syntax\ntree](https://codemirror.net/6/docs/ref/#language.syntaxTree), and folding everything may not work\nreliably when the document hasn't been fully parsed (either\nbecause the editor state was only just initialized, or because the\ndocument is so big that the parser decided not to parse it\nentirely).\n*/\nconst foldAll = view => {\n let { state } = view, effects = [];\n for (let pos = 0; pos < state.doc.length;) {\n let line = view.lineBlockAt(pos), range = foldable(state, line.from, line.to);\n if (range)\n effects.push(foldEffect.of(range));\n pos = (range ? view.lineBlockAt(range.to) : line).to + 1;\n }\n if (effects.length)\n view.dispatch({ effects: maybeEnable(view.state, effects) });\n return !!effects.length;\n};\n/**\nUnfold all folded code.\n*/\nconst unfoldAll = view => {\n let field = view.state.field(foldState, false);\n if (!field || !field.size)\n return false;\n let effects = [];\n field.between(0, view.state.doc.length, (from, to) => { effects.push(unfoldEffect.of({ from, to })); });\n view.dispatch({ effects });\n return true;\n};\n// Find the foldable region containing the given line, if one exists\nfunction foldableContainer(view, lineBlock) {\n // Look backwards through line blocks until we find a foldable region that\n // intersects with the line\n for (let line = lineBlock;;) {\n let foldableRegion = foldable(view.state, line.from, line.to);\n if (foldableRegion && foldableRegion.to > lineBlock.from)\n return foldableRegion;\n if (!line.from)\n return null;\n line = view.lineBlockAt(line.from - 1);\n }\n}\n/**\nToggle folding at cursors. Unfolds if there is an existing fold\nstarting in that line, tries to find a foldable range around it\notherwise.\n*/\nconst toggleFold = (view) => {\n let effects = [];\n for (let line of selectedLines(view)) {\n let folded = findFold(view.state, line.from, line.to);\n if (folded) {\n effects.push(unfoldEffect.of(folded), announceFold(view, folded, false));\n }\n else {\n let foldRange = foldableContainer(view, line);\n if (foldRange)\n effects.push(foldEffect.of(foldRange), announceFold(view, foldRange));\n }\n }\n if (effects.length > 0)\n view.dispatch({ effects: maybeEnable(view.state, effects) });\n return !!effects.length;\n};\n/**\nDefault fold-related key bindings.\n\n - Ctrl-Shift-[ (Cmd-Alt-[ on macOS): [`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode).\n - Ctrl-Shift-] (Cmd-Alt-] on macOS): [`unfoldCode`](https://codemirror.net/6/docs/ref/#language.unfoldCode).\n - Ctrl-Alt-[: [`foldAll`](https://codemirror.net/6/docs/ref/#language.foldAll).\n - Ctrl-Alt-]: [`unfoldAll`](https://codemirror.net/6/docs/ref/#language.unfoldAll).\n*/\nconst foldKeymap = [\n { key: \"Ctrl-Shift-[\", mac: \"Cmd-Alt-[\", run: foldCode },\n { key: \"Ctrl-Shift-]\", mac: \"Cmd-Alt-]\", run: unfoldCode },\n { key: \"Ctrl-Alt-[\", run: foldAll },\n { key: \"Ctrl-Alt-]\", run: unfoldAll }\n];\nconst defaultConfig = {\n placeholderDOM: null,\n preparePlaceholder: null,\n placeholderText: \"…\"\n};\nconst foldConfig = /*@__PURE__*/Facet.define({\n combine(values) { return combineConfig(values, defaultConfig); }\n});\n/**\nCreate an extension that configures code folding.\n*/\nfunction codeFolding(config) {\n let result = [foldState, baseTheme$1];\n if (config)\n result.push(foldConfig.of(config));\n return result;\n}\nfunction widgetToDOM(view, prepared) {\n let { state } = view, conf = state.facet(foldConfig);\n let onclick = (event) => {\n let line = view.lineBlockAt(view.posAtDOM(event.target));\n let folded = findFold(view.state, line.from, line.to);\n if (folded)\n view.dispatch({ effects: unfoldEffect.of(folded) });\n event.preventDefault();\n };\n if (conf.placeholderDOM)\n return conf.placeholderDOM(view, onclick, prepared);\n let element = document.createElement(\"span\");\n element.textContent = conf.placeholderText;\n element.setAttribute(\"aria-label\", state.phrase(\"folded code\"));\n element.title = state.phrase(\"unfold\");\n element.className = \"cm-foldPlaceholder\";\n element.onclick = onclick;\n return element;\n}\nconst foldWidget = /*@__PURE__*/Decoration.replace({ widget: /*@__PURE__*/new class extends WidgetType {\n toDOM(view) { return widgetToDOM(view, null); }\n } });\nclass PreparedFoldWidget extends WidgetType {\n constructor(value) {\n super();\n this.value = value;\n }\n eq(other) { return this.value == other.value; }\n toDOM(view) { return widgetToDOM(view, this.value); }\n}\nconst foldGutterDefaults = {\n openText: \"⌄\",\n closedText: \"›\",\n markerDOM: null,\n domEventHandlers: {},\n foldingChanged: () => false\n};\nclass FoldMarker extends GutterMarker {\n constructor(config, open) {\n super();\n this.config = config;\n this.open = open;\n }\n eq(other) { return this.config == other.config && this.open == other.open; }\n toDOM(view) {\n if (this.config.markerDOM)\n return this.config.markerDOM(this.open);\n let span = document.createElement(\"span\");\n span.textContent = this.open ? this.config.openText : this.config.closedText;\n span.title = view.state.phrase(this.open ? \"Fold line\" : \"Unfold line\");\n return span;\n }\n}\n/**\nCreate an extension that registers a fold gutter, which shows a\nfold status indicator before foldable lines (which can be clicked\nto fold or unfold the line).\n*/\nfunction foldGutter(config = {}) {\n let fullConfig = { ...foldGutterDefaults, ...config };\n let canFold = new FoldMarker(fullConfig, true), canUnfold = new FoldMarker(fullConfig, false);\n let markers = ViewPlugin.fromClass(class {\n constructor(view) {\n this.from = view.viewport.from;\n this.markers = this.buildMarkers(view);\n }\n update(update) {\n if (update.docChanged || update.viewportChanged ||\n update.startState.facet(language) != update.state.facet(language) ||\n update.startState.field(foldState, false) != update.state.field(foldState, false) ||\n syntaxTree(update.startState) != syntaxTree(update.state) ||\n fullConfig.foldingChanged(update))\n this.markers = this.buildMarkers(update.view);\n }\n buildMarkers(view) {\n let builder = new RangeSetBuilder();\n for (let line of view.viewportLineBlocks) {\n let mark = findFold(view.state, line.from, line.to) ? canUnfold\n : foldable(view.state, line.from, line.to) ? canFold : null;\n if (mark)\n builder.add(line.from, line.from, mark);\n }\n return builder.finish();\n }\n });\n let { domEventHandlers } = fullConfig;\n return [\n markers,\n gutter({\n class: \"cm-foldGutter\",\n markers(view) { var _a; return ((_a = view.plugin(markers)) === null || _a === void 0 ? void 0 : _a.markers) || RangeSet.empty; },\n initialSpacer() {\n return new FoldMarker(fullConfig, false);\n },\n domEventHandlers: {\n ...domEventHandlers,\n click: (view, line, event) => {\n if (domEventHandlers.click && domEventHandlers.click(view, line, event))\n return true;\n let folded = findFold(view.state, line.from, line.to);\n if (folded) {\n view.dispatch({ effects: unfoldEffect.of(folded) });\n return true;\n }\n let range = foldable(view.state, line.from, line.to);\n if (range) {\n view.dispatch({ effects: foldEffect.of(range) });\n return true;\n }\n return false;\n }\n }\n }),\n codeFolding()\n ];\n}\nconst baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({\n \".cm-foldPlaceholder\": {\n backgroundColor: \"#eee\",\n border: \"1px solid #ddd\",\n color: \"#888\",\n borderRadius: \".2em\",\n margin: \"0 1px\",\n padding: \"0 1px\",\n cursor: \"pointer\"\n },\n \".cm-foldGutter span\": {\n padding: \"0 1px\",\n cursor: \"pointer\"\n }\n});\n\n/**\nA highlight style associates CSS styles with higlighting\n[tags](https://lezer.codemirror.net/docs/ref#highlight.Tag).\n*/\nclass HighlightStyle {\n constructor(\n /**\n The tag styles used to create this highlight style.\n */\n specs, options) {\n this.specs = specs;\n let modSpec;\n function def(spec) {\n let cls = StyleModule.newName();\n (modSpec || (modSpec = Object.create(null)))[\".\" + cls] = spec;\n return cls;\n }\n const all = typeof options.all == \"string\" ? options.all : options.all ? def(options.all) : undefined;\n const scopeOpt = options.scope;\n this.scope = scopeOpt instanceof Language ? (type) => type.prop(languageDataProp) == scopeOpt.data\n : scopeOpt ? (type) => type == scopeOpt : undefined;\n this.style = tagHighlighter(specs.map(style => ({\n tag: style.tag,\n class: style.class || def(Object.assign({}, style, { tag: null }))\n })), {\n all,\n }).style;\n this.module = modSpec ? new StyleModule(modSpec) : null;\n this.themeType = options.themeType;\n }\n /**\n Create a highlighter style that associates the given styles to\n the given tags. The specs must be objects that hold a style tag\n or array of tags in their `tag` property, and either a single\n `class` property providing a static CSS class (for highlighter\n that rely on external styling), or a\n [`style-mod`](https://github.com/marijnh/style-mod#documentation)-style\n set of CSS properties (which define the styling for those tags).\n \n The CSS rules created for a highlighter will be emitted in the\n order of the spec's properties. That means that for elements that\n have multiple tags associated with them, styles defined further\n down in the list will have a higher CSS precedence than styles\n defined earlier.\n */\n static define(specs, options) {\n return new HighlightStyle(specs, options || {});\n }\n}\nconst highlighterFacet = /*@__PURE__*/Facet.define();\nconst fallbackHighlighter = /*@__PURE__*/Facet.define({\n combine(values) { return values.length ? [values[0]] : null; }\n});\nfunction getHighlighters(state) {\n let main = state.facet(highlighterFacet);\n return main.length ? main : state.facet(fallbackHighlighter);\n}\n/**\nWrap a highlighter in an editor extension that uses it to apply\nsyntax highlighting to the editor content.\n\nWhen multiple (non-fallback) styles are provided, the styling\napplied is the union of the classes they emit.\n*/\nfunction syntaxHighlighting(highlighter, options) {\n let ext = [treeHighlighter], themeType;\n if (highlighter instanceof HighlightStyle) {\n if (highlighter.module)\n ext.push(EditorView.styleModule.of(highlighter.module));\n themeType = highlighter.themeType;\n }\n if (options === null || options === void 0 ? void 0 : options.fallback)\n ext.push(fallbackHighlighter.of(highlighter));\n else if (themeType)\n ext.push(highlighterFacet.computeN([EditorView.darkTheme], state => {\n return state.facet(EditorView.darkTheme) == (themeType == \"dark\") ? [highlighter] : [];\n }));\n else\n ext.push(highlighterFacet.of(highlighter));\n return ext;\n}\n/**\nReturns the CSS classes (if any) that the highlighters active in\nthe state would assign to the given style\n[tags](https://lezer.codemirror.net/docs/ref#highlight.Tag) and\n(optional) language\n[scope](https://codemirror.net/6/docs/ref/#language.HighlightStyle^define^options.scope).\n*/\nfunction highlightingFor(state, tags, scope) {\n let highlighters = getHighlighters(state);\n let result = null;\n if (highlighters)\n for (let highlighter of highlighters) {\n if (!highlighter.scope || scope && highlighter.scope(scope)) {\n let cls = highlighter.style(tags);\n if (cls)\n result = result ? result + \" \" + cls : cls;\n }\n }\n return result;\n}\nclass TreeHighlighter {\n constructor(view) {\n this.markCache = Object.create(null);\n this.tree = syntaxTree(view.state);\n this.decorations = this.buildDeco(view, getHighlighters(view.state));\n this.decoratedTo = view.viewport.to;\n }\n update(update) {\n let tree = syntaxTree(update.state), highlighters = getHighlighters(update.state);\n let styleChange = highlighters != getHighlighters(update.startState);\n let { viewport } = update.view, decoratedToMapped = update.changes.mapPos(this.decoratedTo, 1);\n if (tree.length < viewport.to && !styleChange && tree.type == this.tree.type && decoratedToMapped >= viewport.to) {\n this.decorations = this.decorations.map(update.changes);\n this.decoratedTo = decoratedToMapped;\n }\n else if (tree != this.tree || update.viewportChanged || styleChange) {\n this.tree = tree;\n this.decorations = this.buildDeco(update.view, highlighters);\n this.decoratedTo = viewport.to;\n }\n }\n buildDeco(view, highlighters) {\n if (!highlighters || !this.tree.length)\n return Decoration.none;\n let builder = new RangeSetBuilder();\n for (let { from, to } of view.visibleRanges) {\n highlightTree(this.tree, highlighters, (from, to, style) => {\n builder.add(from, to, this.markCache[style] || (this.markCache[style] = Decoration.mark({ class: style })));\n }, from, to);\n }\n return builder.finish();\n }\n}\nconst treeHighlighter = /*@__PURE__*/Prec.high(/*@__PURE__*/ViewPlugin.fromClass(TreeHighlighter, {\n decorations: v => v.decorations\n}));\n/**\nA default highlight style (works well with light themes).\n*/\nconst defaultHighlightStyle = /*@__PURE__*/HighlightStyle.define([\n { tag: tags.meta,\n color: \"#404740\" },\n { tag: tags.link,\n textDecoration: \"underline\" },\n { tag: tags.heading,\n textDecoration: \"underline\",\n fontWeight: \"bold\" },\n { tag: tags.emphasis,\n fontStyle: \"italic\" },\n { tag: tags.strong,\n fontWeight: \"bold\" },\n { tag: tags.strikethrough,\n textDecoration: \"line-through\" },\n { tag: tags.keyword,\n color: \"#708\" },\n { tag: [tags.atom, tags.bool, tags.url, tags.contentSeparator, tags.labelName],\n color: \"#219\" },\n { tag: [tags.literal, tags.inserted],\n color: \"#164\" },\n { tag: [tags.string, tags.deleted],\n color: \"#a11\" },\n { tag: [tags.regexp, tags.escape, /*@__PURE__*/tags.special(tags.string)],\n color: \"#e40\" },\n { tag: /*@__PURE__*/tags.definition(tags.variableName),\n color: \"#00f\" },\n { tag: /*@__PURE__*/tags.local(tags.variableName),\n color: \"#30a\" },\n { tag: [tags.typeName, tags.namespace],\n color: \"#085\" },\n { tag: tags.className,\n color: \"#167\" },\n { tag: [/*@__PURE__*/tags.special(tags.variableName), tags.macroName],\n color: \"#256\" },\n { tag: /*@__PURE__*/tags.definition(tags.propertyName),\n color: \"#00c\" },\n { tag: tags.comment,\n color: \"#940\" },\n { tag: tags.invalid,\n color: \"#f00\" }\n]);\n\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \"&.cm-focused .cm-matchingBracket\": { backgroundColor: \"#328c8252\" },\n \"&.cm-focused .cm-nonmatchingBracket\": { backgroundColor: \"#bb555544\" }\n});\nconst DefaultScanDist = 10000, DefaultBrackets = \"()[]{}\";\nconst bracketMatchingConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n afterCursor: true,\n brackets: DefaultBrackets,\n maxScanDistance: DefaultScanDist,\n renderMatch: defaultRenderMatch\n });\n }\n});\nconst matchingMark = /*@__PURE__*/Decoration.mark({ class: \"cm-matchingBracket\" }), nonmatchingMark = /*@__PURE__*/Decoration.mark({ class: \"cm-nonmatchingBracket\" });\nfunction defaultRenderMatch(match) {\n let decorations = [];\n let mark = match.matched ? matchingMark : nonmatchingMark;\n decorations.push(mark.range(match.start.from, match.start.to));\n if (match.end)\n decorations.push(mark.range(match.end.from, match.end.to));\n return decorations;\n}\nconst bracketMatchingState = /*@__PURE__*/StateField.define({\n create() { return Decoration.none; },\n update(deco, tr) {\n if (!tr.docChanged && !tr.selection)\n return deco;\n let decorations = [];\n let config = tr.state.facet(bracketMatchingConfig);\n for (let range of tr.state.selection.ranges) {\n if (!range.empty)\n continue;\n let match = matchBrackets(tr.state, range.head, -1, config)\n || (range.head > 0 && matchBrackets(tr.state, range.head - 1, 1, config))\n || (config.afterCursor &&\n (matchBrackets(tr.state, range.head, 1, config) ||\n (range.head < tr.state.doc.length && matchBrackets(tr.state, range.head + 1, -1, config))));\n if (match)\n decorations = decorations.concat(config.renderMatch(match, tr.state));\n }\n return Decoration.set(decorations, true);\n },\n provide: f => EditorView.decorations.from(f)\n});\nconst bracketMatchingUnique = [\n bracketMatchingState,\n baseTheme\n];\n/**\nCreate an extension that enables bracket matching. Whenever the\ncursor is next to a bracket, that bracket and the one it matches\nare highlighted. Or, when no matching bracket is found, another\nhighlighting style is used to indicate this.\n*/\nfunction bracketMatching(config = {}) {\n return [bracketMatchingConfig.of(config), bracketMatchingUnique];\n}\n/**\nWhen larger syntax nodes, such as HTML tags, are marked as\nopening/closing, it can be a bit messy to treat the whole node as\na matchable bracket. This node prop allows you to define, for such\na node, a ‘handle’—the part of the node that is highlighted, and\nthat the cursor must be on to activate highlighting in the first\nplace.\n*/\nconst bracketMatchingHandle = /*@__PURE__*/new NodeProp();\nfunction matchingNodes(node, dir, brackets) {\n let byProp = node.prop(dir < 0 ? NodeProp.openedBy : NodeProp.closedBy);\n if (byProp)\n return byProp;\n if (node.name.length == 1) {\n let index = brackets.indexOf(node.name);\n if (index > -1 && index % 2 == (dir < 0 ? 1 : 0))\n return [brackets[index + dir]];\n }\n return null;\n}\nfunction findHandle(node) {\n let hasHandle = node.type.prop(bracketMatchingHandle);\n return hasHandle ? hasHandle(node.node) : node;\n}\n/**\nFind the matching bracket for the token at `pos`, scanning\ndirection `dir`. Only the `brackets` and `maxScanDistance`\nproperties are used from `config`, if given. Returns null if no\nbracket was found at `pos`, or a match result otherwise.\n*/\nfunction matchBrackets(state, pos, dir, config = {}) {\n let maxScanDistance = config.maxScanDistance || DefaultScanDist, brackets = config.brackets || DefaultBrackets;\n let tree = syntaxTree(state), node = tree.resolveInner(pos, dir);\n for (let cur = node; cur; cur = cur.parent) {\n let matches = matchingNodes(cur.type, dir, brackets);\n if (matches && cur.from < cur.to) {\n let handle = findHandle(cur);\n if (handle && (dir > 0 ? pos >= handle.from && pos < handle.to : pos > handle.from && pos <= handle.to))\n return matchMarkedBrackets(state, pos, dir, cur, handle, matches, brackets);\n }\n }\n return matchPlainBrackets(state, pos, dir, tree, node.type, maxScanDistance, brackets);\n}\nfunction matchMarkedBrackets(_state, _pos, dir, token, handle, matching, brackets) {\n let parent = token.parent, firstToken = { from: handle.from, to: handle.to };\n let depth = 0, cursor = parent === null || parent === void 0 ? void 0 : parent.cursor();\n if (cursor && (dir < 0 ? cursor.childBefore(token.from) : cursor.childAfter(token.to)))\n do {\n if (dir < 0 ? cursor.to <= token.from : cursor.from >= token.to) {\n if (depth == 0 && matching.indexOf(cursor.type.name) > -1 && cursor.from < cursor.to) {\n let endHandle = findHandle(cursor);\n return { start: firstToken, end: endHandle ? { from: endHandle.from, to: endHandle.to } : undefined, matched: true };\n }\n else if (matchingNodes(cursor.type, dir, brackets)) {\n depth++;\n }\n else if (matchingNodes(cursor.type, -dir, brackets)) {\n if (depth == 0) {\n let endHandle = findHandle(cursor);\n return {\n start: firstToken,\n end: endHandle && endHandle.from < endHandle.to ? { from: endHandle.from, to: endHandle.to } : undefined,\n matched: false\n };\n }\n depth--;\n }\n }\n } while (dir < 0 ? cursor.prevSibling() : cursor.nextSibling());\n return { start: firstToken, matched: false };\n}\nfunction matchPlainBrackets(state, pos, dir, tree, tokenType, maxScanDistance, brackets) {\n let startCh = dir < 0 ? state.sliceDoc(pos - 1, pos) : state.sliceDoc(pos, pos + 1);\n let bracket = brackets.indexOf(startCh);\n if (bracket < 0 || (bracket % 2 == 0) != (dir > 0))\n return null;\n let startToken = { from: dir < 0 ? pos - 1 : pos, to: dir > 0 ? pos + 1 : pos };\n let iter = state.doc.iterRange(pos, dir > 0 ? state.doc.length : 0), depth = 0;\n for (let distance = 0; !(iter.next()).done && distance <= maxScanDistance;) {\n let text = iter.value;\n if (dir < 0)\n distance += text.length;\n let basePos = pos + distance * dir;\n for (let pos = dir > 0 ? 0 : text.length - 1, end = dir > 0 ? text.length : -1; pos != end; pos += dir) {\n let found = brackets.indexOf(text[pos]);\n if (found < 0 || tree.resolveInner(basePos + pos, 1).type != tokenType)\n continue;\n if ((found % 2 == 0) == (dir > 0)) {\n depth++;\n }\n else if (depth == 1) { // Closing\n return { start: startToken, end: { from: basePos + pos, to: basePos + pos + 1 }, matched: (found >> 1) == (bracket >> 1) };\n }\n else {\n depth--;\n }\n }\n if (dir > 0)\n distance += text.length;\n }\n return iter.done ? { start: startToken, matched: false } : null;\n}\n\n// Counts the column offset in a string, taking tabs into account.\n// Used mostly to find indentation.\nfunction countCol(string, end, tabSize, startIndex = 0, startValue = 0) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/);\n if (end == -1)\n end = string.length;\n }\n let n = startValue;\n for (let i = startIndex; i < end; i++) {\n if (string.charCodeAt(i) == 9)\n n += tabSize - (n % tabSize);\n else\n n++;\n }\n return n;\n}\n/**\nEncapsulates a single line of input. Given to stream syntax code,\nwhich uses it to tokenize the content.\n*/\nclass StringStream {\n /**\n Create a stream.\n */\n constructor(\n /**\n The line.\n */\n string, tabSize, \n /**\n The current indent unit size.\n */\n indentUnit, overrideIndent) {\n this.string = string;\n this.tabSize = tabSize;\n this.indentUnit = indentUnit;\n this.overrideIndent = overrideIndent;\n /**\n The current position on the line.\n */\n this.pos = 0;\n /**\n The start position of the current token.\n */\n this.start = 0;\n this.lastColumnPos = 0;\n this.lastColumnValue = 0;\n }\n /**\n True if we are at the end of the line.\n */\n eol() { return this.pos >= this.string.length; }\n /**\n True if we are at the start of the line.\n */\n sol() { return this.pos == 0; }\n /**\n Get the next code unit after the current position, or undefined\n if we're at the end of the line.\n */\n peek() { return this.string.charAt(this.pos) || undefined; }\n /**\n Read the next code unit and advance `this.pos`.\n */\n next() {\n if (this.pos < this.string.length)\n return this.string.charAt(this.pos++);\n }\n /**\n Match the next character against the given string, regular\n expression, or predicate. Consume and return it if it matches.\n */\n eat(match) {\n let ch = this.string.charAt(this.pos);\n let ok;\n if (typeof match == \"string\")\n ok = ch == match;\n else\n ok = ch && (match instanceof RegExp ? match.test(ch) : match(ch));\n if (ok) {\n ++this.pos;\n return ch;\n }\n }\n /**\n Continue matching characters that match the given string,\n regular expression, or predicate function. Return true if any\n characters were consumed.\n */\n eatWhile(match) {\n let start = this.pos;\n while (this.eat(match)) { }\n return this.pos > start;\n }\n /**\n Consume whitespace ahead of `this.pos`. Return true if any was\n found.\n */\n eatSpace() {\n let start = this.pos;\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos)))\n ++this.pos;\n return this.pos > start;\n }\n /**\n Move to the end of the line.\n */\n skipToEnd() { this.pos = this.string.length; }\n /**\n Move to directly before the given character, if found on the\n current line.\n */\n skipTo(ch) {\n let found = this.string.indexOf(ch, this.pos);\n if (found > -1) {\n this.pos = found;\n return true;\n }\n }\n /**\n Move back `n` characters.\n */\n backUp(n) { this.pos -= n; }\n /**\n Get the column position at `this.pos`.\n */\n column() {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = countCol(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);\n this.lastColumnPos = this.start;\n }\n return this.lastColumnValue;\n }\n /**\n Get the indentation column of the current line.\n */\n indentation() {\n var _a;\n return (_a = this.overrideIndent) !== null && _a !== void 0 ? _a : countCol(this.string, null, this.tabSize);\n }\n /**\n Match the input against the given string or regular expression\n (which should start with a `^`). Return true or the regexp match\n if it matches.\n \n Unless `consume` is set to `false`, this will move `this.pos`\n past the matched text.\n \n When matching a string `caseInsensitive` can be set to true to\n make the match case-insensitive.\n */\n match(pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n let cased = (str) => caseInsensitive ? str.toLowerCase() : str;\n let substr = this.string.substr(this.pos, pattern.length);\n if (cased(substr) == cased(pattern)) {\n if (consume !== false)\n this.pos += pattern.length;\n return true;\n }\n else\n return null;\n }\n else {\n let match = this.string.slice(this.pos).match(pattern);\n if (match && match.index > 0)\n return null;\n if (match && consume !== false)\n this.pos += match[0].length;\n return match;\n }\n }\n /**\n Get the current token.\n */\n current() { return this.string.slice(this.start, this.pos); }\n}\n\nfunction fullParser(spec) {\n return {\n name: spec.name || \"\",\n token: spec.token,\n blankLine: spec.blankLine || (() => { }),\n startState: spec.startState || (() => true),\n copyState: spec.copyState || defaultCopyState,\n indent: spec.indent || (() => null),\n languageData: spec.languageData || {},\n tokenTable: spec.tokenTable || noTokens,\n mergeTokens: spec.mergeTokens !== false\n };\n}\nfunction defaultCopyState(state) {\n if (typeof state != \"object\")\n return state;\n let newState = {};\n for (let prop in state) {\n let val = state[prop];\n newState[prop] = (val instanceof Array ? val.slice() : val);\n }\n return newState;\n}\nconst IndentedFrom = /*@__PURE__*/new WeakMap();\n/**\nA [language](https://codemirror.net/6/docs/ref/#language.Language) class based on a CodeMirror\n5-style [streaming parser](https://codemirror.net/6/docs/ref/#language.StreamParser).\n*/\nclass StreamLanguage extends Language {\n constructor(parser) {\n let data = defineLanguageFacet(parser.languageData);\n let p = fullParser(parser), self;\n let impl = new class extends Parser {\n createParse(input, fragments, ranges) {\n return new Parse(self, input, fragments, ranges);\n }\n };\n super(data, impl, [], parser.name);\n this.topNode = docID(data, this);\n self = this;\n this.streamParser = p;\n this.stateAfter = new NodeProp({ perNode: true });\n this.tokenTable = parser.tokenTable ? new TokenTable(p.tokenTable) : defaultTokenTable;\n }\n /**\n Define a stream language.\n */\n static define(spec) { return new StreamLanguage(spec); }\n /**\n @internal\n */\n getIndent(cx) {\n let from = undefined;\n let { overrideIndentation } = cx.options;\n if (overrideIndentation) {\n from = IndentedFrom.get(cx.state);\n if (from != null && from < cx.pos - 1e4)\n from = undefined;\n }\n let start = findState(this, cx.node.tree, cx.node.from, cx.node.from, from !== null && from !== void 0 ? from : cx.pos), statePos, state;\n if (start) {\n state = start.state;\n statePos = start.pos + 1;\n }\n else {\n state = this.streamParser.startState(cx.unit);\n statePos = cx.node.from;\n }\n if (cx.pos - statePos > 10000 /* C.MaxIndentScanDist */)\n return null;\n while (statePos < cx.pos) {\n let line = cx.state.doc.lineAt(statePos), end = Math.min(cx.pos, line.to);\n if (line.length) {\n let indentation = overrideIndentation ? overrideIndentation(line.from) : -1;\n let stream = new StringStream(line.text, cx.state.tabSize, cx.unit, indentation < 0 ? undefined : indentation);\n while (stream.pos < end - line.from)\n readToken(this.streamParser.token, stream, state);\n }\n else {\n this.streamParser.blankLine(state, cx.unit);\n }\n if (end == cx.pos)\n break;\n statePos = line.to + 1;\n }\n let line = cx.lineAt(cx.pos);\n if (overrideIndentation && from == null)\n IndentedFrom.set(cx.state, line.from);\n return this.streamParser.indent(state, /^\\s*(.*)/.exec(line.text)[1], cx);\n }\n get allowsNesting() { return false; }\n}\nfunction findState(lang, tree, off, startPos, before) {\n let state = off >= startPos && off + tree.length <= before && tree.prop(lang.stateAfter);\n if (state)\n return { state: lang.streamParser.copyState(state), pos: off + tree.length };\n for (let i = tree.children.length - 1; i >= 0; i--) {\n let child = tree.children[i], pos = off + tree.positions[i];\n let found = child instanceof Tree && pos < before && findState(lang, child, pos, startPos, before);\n if (found)\n return found;\n }\n return null;\n}\nfunction cutTree(lang, tree, from, to, inside) {\n if (inside && from <= 0 && to >= tree.length)\n return tree;\n if (!inside && from == 0 && tree.type == lang.topNode)\n inside = true;\n for (let i = tree.children.length - 1; i >= 0; i--) {\n let pos = tree.positions[i], child = tree.children[i], inner;\n if (pos < to && child instanceof Tree) {\n if (!(inner = cutTree(lang, child, from - pos, to - pos, inside)))\n break;\n return !inside ? inner\n : new Tree(tree.type, tree.children.slice(0, i).concat(inner), tree.positions.slice(0, i + 1), pos + inner.length);\n }\n }\n return null;\n}\nfunction findStartInFragments(lang, fragments, startPos, endPos, editorState) {\n for (let f of fragments) {\n let from = f.from + (f.openStart ? 25 : 0), to = f.to - (f.openEnd ? 25 : 0);\n let found = from <= startPos && to > startPos && findState(lang, f.tree, 0 - f.offset, startPos, to), tree;\n if (found && found.pos <= endPos && (tree = cutTree(lang, f.tree, startPos + f.offset, found.pos + f.offset, false)))\n return { state: found.state, tree };\n }\n return { state: lang.streamParser.startState(editorState ? getIndentUnit(editorState) : 4), tree: Tree.empty };\n}\nclass Parse {\n constructor(lang, input, fragments, ranges) {\n this.lang = lang;\n this.input = input;\n this.fragments = fragments;\n this.ranges = ranges;\n this.stoppedAt = null;\n this.chunks = [];\n this.chunkPos = [];\n this.chunk = [];\n this.chunkReused = undefined;\n this.rangeIndex = 0;\n this.to = ranges[ranges.length - 1].to;\n let context = ParseContext.get(), from = ranges[0].from;\n let { state, tree } = findStartInFragments(lang, fragments, from, this.to, context === null || context === void 0 ? void 0 : context.state);\n this.state = state;\n this.parsedPos = this.chunkStart = from + tree.length;\n for (let i = 0; i < tree.children.length; i++) {\n this.chunks.push(tree.children[i]);\n this.chunkPos.push(tree.positions[i]);\n }\n if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */ &&\n ranges.some(r => r.from <= context.viewport.from && r.to >= context.viewport.from)) {\n this.state = this.lang.streamParser.startState(getIndentUnit(context.state));\n context.skipUntilInView(this.parsedPos, context.viewport.from);\n this.parsedPos = context.viewport.from;\n }\n this.moveRangeIndex();\n }\n advance() {\n let context = ParseContext.get();\n let parseEnd = this.stoppedAt == null ? this.to : Math.min(this.to, this.stoppedAt);\n let end = Math.min(parseEnd, this.chunkStart + 2048 /* C.ChunkSize */);\n if (context)\n end = Math.min(end, context.viewport.to);\n while (this.parsedPos < end)\n this.parseLine(context);\n if (this.chunkStart < this.parsedPos)\n this.finishChunk();\n if (this.parsedPos >= parseEnd)\n return this.finish();\n if (context && this.parsedPos >= context.viewport.to) {\n context.skipUntilInView(this.parsedPos, parseEnd);\n return this.finish();\n }\n return null;\n }\n stopAt(pos) {\n this.stoppedAt = pos;\n }\n lineAfter(pos) {\n let chunk = this.input.chunk(pos);\n if (!this.input.lineChunks) {\n let eol = chunk.indexOf(\"\\n\");\n if (eol > -1)\n chunk = chunk.slice(0, eol);\n }\n else if (chunk == \"\\n\") {\n chunk = \"\";\n }\n return pos + chunk.length <= this.to ? chunk : chunk.slice(0, this.to - pos);\n }\n nextLine() {\n let from = this.parsedPos, line = this.lineAfter(from), end = from + line.length;\n for (let index = this.rangeIndex;;) {\n let rangeEnd = this.ranges[index].to;\n if (rangeEnd >= end)\n break;\n line = line.slice(0, rangeEnd - (end - line.length));\n index++;\n if (index == this.ranges.length)\n break;\n let rangeStart = this.ranges[index].from;\n let after = this.lineAfter(rangeStart);\n line += after;\n end = rangeStart + after.length;\n }\n return { line, end };\n }\n skipGapsTo(pos, offset, side) {\n for (;;) {\n let end = this.ranges[this.rangeIndex].to, offPos = pos + offset;\n if (side > 0 ? end > offPos : end >= offPos)\n break;\n let start = this.ranges[++this.rangeIndex].from;\n offset += start - end;\n }\n return offset;\n }\n moveRangeIndex() {\n while (this.ranges[this.rangeIndex].to < this.parsedPos)\n this.rangeIndex++;\n }\n emitToken(id, from, to, offset) {\n let size = 4;\n if (this.ranges.length > 1) {\n offset = this.skipGapsTo(from, offset, 1);\n from += offset;\n let len0 = this.chunk.length;\n offset = this.skipGapsTo(to, offset, -1);\n to += offset;\n size += this.chunk.length - len0;\n }\n let last = this.chunk.length - 4;\n if (this.lang.streamParser.mergeTokens && size == 4 && last >= 0 &&\n this.chunk[last] == id && this.chunk[last + 2] == from)\n this.chunk[last + 2] = to;\n else\n this.chunk.push(id, from, to, size);\n return offset;\n }\n parseLine(context) {\n let { line, end } = this.nextLine(), offset = 0, { streamParser } = this.lang;\n let stream = new StringStream(line, context ? context.state.tabSize : 4, context ? getIndentUnit(context.state) : 2);\n if (stream.eol()) {\n streamParser.blankLine(this.state, stream.indentUnit);\n }\n else {\n while (!stream.eol()) {\n let token = readToken(streamParser.token, stream, this.state);\n if (token)\n offset = this.emitToken(this.lang.tokenTable.resolve(token), this.parsedPos + stream.start, this.parsedPos + stream.pos, offset);\n if (stream.start > 10000 /* C.MaxLineLength */)\n break;\n }\n }\n this.parsedPos = end;\n this.moveRangeIndex();\n if (this.parsedPos < this.to)\n this.parsedPos++;\n }\n finishChunk() {\n let tree = Tree.build({\n buffer: this.chunk,\n start: this.chunkStart,\n length: this.parsedPos - this.chunkStart,\n nodeSet,\n topID: 0,\n maxBufferLength: 2048 /* C.ChunkSize */,\n reused: this.chunkReused\n });\n tree = new Tree(tree.type, tree.children, tree.positions, tree.length, [[this.lang.stateAfter, this.lang.streamParser.copyState(this.state)]]);\n this.chunks.push(tree);\n this.chunkPos.push(this.chunkStart - this.ranges[0].from);\n this.chunk = [];\n this.chunkReused = undefined;\n this.chunkStart = this.parsedPos;\n }\n finish() {\n return new Tree(this.lang.topNode, this.chunks, this.chunkPos, this.parsedPos - this.ranges[0].from).balance();\n }\n}\nfunction readToken(token, stream, state) {\n stream.start = stream.pos;\n for (let i = 0; i < 10; i++) {\n let result = token(stream, state);\n if (stream.pos > stream.start)\n return result;\n }\n throw new Error(\"Stream parser failed to advance stream.\");\n}\nconst noTokens = /*@__PURE__*/Object.create(null);\nconst typeArray = [NodeType.none];\nconst nodeSet = /*@__PURE__*/new NodeSet(typeArray);\nconst warned = [];\n// Cache of node types by name and tags\nconst byTag = /*@__PURE__*/Object.create(null);\nconst defaultTable = /*@__PURE__*/Object.create(null);\nfor (let [legacyName, name] of [\n [\"variable\", \"variableName\"],\n [\"variable-2\", \"variableName.special\"],\n [\"string-2\", \"string.special\"],\n [\"def\", \"variableName.definition\"],\n [\"tag\", \"tagName\"],\n [\"attribute\", \"attributeName\"],\n [\"type\", \"typeName\"],\n [\"builtin\", \"variableName.standard\"],\n [\"qualifier\", \"modifier\"],\n [\"error\", \"invalid\"],\n [\"header\", \"heading\"],\n [\"property\", \"propertyName\"]\n])\n defaultTable[legacyName] = /*@__PURE__*/createTokenType(noTokens, name);\nclass TokenTable {\n constructor(extra) {\n this.extra = extra;\n this.table = Object.assign(Object.create(null), defaultTable);\n }\n resolve(tag) {\n return !tag ? 0 : this.table[tag] || (this.table[tag] = createTokenType(this.extra, tag));\n }\n}\nconst defaultTokenTable = /*@__PURE__*/new TokenTable(noTokens);\nfunction warnForPart(part, msg) {\n if (warned.indexOf(part) > -1)\n return;\n warned.push(part);\n console.warn(msg);\n}\nfunction createTokenType(extra, tagStr) {\n let tags$1 = [];\n for (let name of tagStr.split(\" \")) {\n let found = [];\n for (let part of name.split(\".\")) {\n let value = (extra[part] || tags[part]);\n if (!value) {\n warnForPart(part, `Unknown highlighting tag ${part}`);\n }\n else if (typeof value == \"function\") {\n if (!found.length)\n warnForPart(part, `Modifier ${part} used at start of tag`);\n else\n found = found.map(value);\n }\n else {\n if (found.length)\n warnForPart(part, `Tag ${part} used as modifier`);\n else\n found = Array.isArray(value) ? value : [value];\n }\n }\n for (let tag of found)\n tags$1.push(tag);\n }\n if (!tags$1.length)\n return 0;\n let name = tagStr.replace(/ /g, \"_\"), key = name + \" \" + tags$1.map(t => t.id);\n let known = byTag[key];\n if (known)\n return known.id;\n let type = byTag[key] = NodeType.define({\n id: typeArray.length,\n name,\n props: [styleTags({ [name]: tags$1 })]\n });\n typeArray.push(type);\n return type.id;\n}\nfunction docID(data, lang) {\n let type = NodeType.define({ id: typeArray.length, name: \"Document\", props: [\n languageDataProp.add(() => data),\n indentNodeProp.add(() => cx => lang.getIndent(cx))\n ], top: true });\n typeArray.push(type);\n return type;\n}\n\nfunction buildForLine(line) {\n return line.length <= 4096 && /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac\\ufb50-\\ufdff]/.test(line);\n}\nfunction textHasRTL(text) {\n for (let i = text.iter(); !i.next().done;)\n if (buildForLine(i.value))\n return true;\n return false;\n}\nfunction changeAddsRTL(change) {\n let added = false;\n change.iterChanges((fA, tA, fB, tB, ins) => {\n if (!added && textHasRTL(ins))\n added = true;\n });\n return added;\n}\nconst alwaysIsolate = /*@__PURE__*/Facet.define({ combine: values => values.some(x => x) });\n/**\nMake sure nodes\n[marked](https://lezer.codemirror.net/docs/ref/#common.NodeProp^isolate)\nas isolating for bidirectional text are rendered in a way that\nisolates them from the surrounding text.\n*/\nfunction bidiIsolates(options = {}) {\n let extensions = [isolateMarks];\n if (options.alwaysIsolate)\n extensions.push(alwaysIsolate.of(true));\n return extensions;\n}\nconst isolateMarks = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.always = view.state.facet(alwaysIsolate) ||\n view.textDirection != Direction.LTR ||\n view.state.facet(EditorView.perLineTextDirection);\n this.hasRTL = !this.always && textHasRTL(view.state.doc);\n this.tree = syntaxTree(view.state);\n this.decorations = this.always || this.hasRTL ? buildDeco(view, this.tree, this.always) : Decoration.none;\n }\n update(update) {\n let always = update.state.facet(alwaysIsolate) ||\n update.view.textDirection != Direction.LTR ||\n update.state.facet(EditorView.perLineTextDirection);\n if (!always && !this.hasRTL && changeAddsRTL(update.changes))\n this.hasRTL = true;\n if (!always && !this.hasRTL)\n return;\n let tree = syntaxTree(update.state);\n if (always != this.always || tree != this.tree || update.docChanged || update.viewportChanged) {\n this.tree = tree;\n this.always = always;\n this.decorations = buildDeco(update.view, tree, always);\n }\n }\n}, {\n provide: plugin => {\n function access(view) {\n var _a, _b;\n return (_b = (_a = view.plugin(plugin)) === null || _a === void 0 ? void 0 : _a.decorations) !== null && _b !== void 0 ? _b : Decoration.none;\n }\n return [EditorView.outerDecorations.of(access),\n Prec.lowest(EditorView.bidiIsolatedRanges.of(access))];\n }\n});\nfunction buildDeco(view, tree, always) {\n let deco = new RangeSetBuilder();\n let ranges = view.visibleRanges;\n if (!always)\n ranges = clipRTLLines(ranges, view.state.doc);\n for (let { from, to } of ranges) {\n tree.iterate({\n enter: node => {\n let iso = node.type.prop(NodeProp.isolate);\n if (iso)\n deco.add(node.from, node.to, marks[iso]);\n },\n from, to\n });\n }\n return deco.finish();\n}\nfunction clipRTLLines(ranges, doc) {\n let cur = doc.iter(), pos = 0, result = [], last = null;\n for (let { from, to } of ranges) {\n if (last && last.to > from) {\n from = last.to;\n if (from >= to)\n continue;\n }\n if (pos + cur.value.length < from) {\n cur.next(from - (pos + cur.value.length));\n pos = from;\n }\n for (;;) {\n let start = pos, end = pos + cur.value.length;\n if (!cur.lineBreak && buildForLine(cur.value)) {\n if (last && last.to > start - 10)\n last.to = Math.min(to, end);\n else\n result.push(last = { from: start, to: Math.min(to, end) });\n }\n if (end >= to)\n break;\n pos = end;\n cur.next();\n }\n }\n return result;\n}\nconst marks = {\n rtl: /*@__PURE__*/Decoration.mark({ class: \"cm-iso\", inclusive: true, attributes: { dir: \"rtl\" }, bidiIsolate: Direction.RTL }),\n ltr: /*@__PURE__*/Decoration.mark({ class: \"cm-iso\", inclusive: true, attributes: { dir: \"ltr\" }, bidiIsolate: Direction.LTR }),\n auto: /*@__PURE__*/Decoration.mark({ class: \"cm-iso\", inclusive: true, attributes: { dir: \"auto\" }, bidiIsolate: null })\n};\n\nexport { DocInput, HighlightStyle, IndentContext, LRLanguage, Language, LanguageDescription, LanguageSupport, ParseContext, StreamLanguage, StringStream, TreeIndentContext, bidiIsolates, bracketMatching, bracketMatchingHandle, codeFolding, continuedIndent, defaultHighlightStyle, defineLanguageFacet, delimitedIndent, ensureSyntaxTree, flatIndent, foldAll, foldCode, foldEffect, foldGutter, foldInside, foldKeymap, foldNodeProp, foldService, foldState, foldable, foldedRanges, forceParsing, getIndentUnit, getIndentation, highlightingFor, indentNodeProp, indentOnInput, indentRange, indentService, indentString, indentUnit, language, languageDataProp, matchBrackets, sublanguageProp, syntaxHighlighting, syntaxParserRunning, syntaxTree, syntaxTreeAvailable, toggleFold, unfoldAll, unfoldCode, unfoldEffect };\n","import { Decoration, showPanel, EditorView, ViewPlugin, gutter, showTooltip, hoverTooltip, getPanel, logException, WidgetType, GutterMarker } from '@codemirror/view';\nimport { StateEffect, StateField, Facet, combineConfig, RangeSet, RangeSetBuilder } from '@codemirror/state';\nimport elt from 'crelt';\n\nclass SelectedDiagnostic {\n constructor(from, to, diagnostic) {\n this.from = from;\n this.to = to;\n this.diagnostic = diagnostic;\n }\n}\nclass LintState {\n constructor(diagnostics, panel, selected) {\n this.diagnostics = diagnostics;\n this.panel = panel;\n this.selected = selected;\n }\n static init(diagnostics, panel, state) {\n // Filter the list of diagnostics for which to create markers\n let diagnosticFilter = state.facet(lintConfig).markerFilter;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics, state);\n let sorted = diagnostics.slice().sort((a, b) => a.from - b.from || a.to - b.to);\n let deco = new RangeSetBuilder(), active = [], pos = 0;\n for (let i = 0;;) {\n let next = i == sorted.length ? null : sorted[i];\n if (!next && !active.length)\n break;\n let from, to;\n if (active.length) {\n from = pos;\n to = active.reduce((p, d) => Math.min(p, d.to), next && next.from > from ? next.from : 1e8);\n }\n else {\n from = next.from;\n to = next.to;\n active.push(next);\n i++;\n }\n while (i < sorted.length) {\n let next = sorted[i];\n if (next.from == from && (next.to > next.from || next.to == from)) {\n active.push(next);\n i++;\n to = Math.min(next.to, to);\n }\n else {\n to = Math.min(next.from, to);\n break;\n }\n }\n let sev = maxSeverity(active);\n if (active.some(d => d.from == d.to || (d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from))) {\n deco.add(from, from, Decoration.widget({\n widget: new DiagnosticWidget(sev),\n diagnostics: active.slice()\n }));\n }\n else {\n let markClass = active.reduce((c, d) => d.markClass ? c + \" \" + d.markClass : c, \"\");\n deco.add(from, to, Decoration.mark({\n class: \"cm-lintRange cm-lintRange-\" + sev + markClass,\n diagnostics: active.slice(),\n inclusiveEnd: active.some(a => a.to > to)\n }));\n }\n pos = to;\n for (let i = 0; i < active.length; i++)\n if (active[i].to <= pos)\n active.splice(i--, 1);\n }\n let set = deco.finish();\n return new LintState(set, panel, findDiagnostic(set));\n }\n}\nfunction findDiagnostic(diagnostics, diagnostic = null, after = 0) {\n let found = null;\n diagnostics.between(after, 1e9, (from, to, { spec }) => {\n if (diagnostic && spec.diagnostics.indexOf(diagnostic) < 0)\n return;\n if (!found)\n found = new SelectedDiagnostic(from, to, diagnostic || spec.diagnostics[0]);\n else if (spec.diagnostics.indexOf(found.diagnostic) < 0)\n return false;\n else\n found = new SelectedDiagnostic(found.from, to, found.diagnostic);\n });\n return found;\n}\nfunction hideTooltip(tr, tooltip) {\n let from = tooltip.pos, to = tooltip.end || from;\n let result = tr.state.facet(lintConfig).hideOn(tr, from, to);\n if (result != null)\n return result;\n let line = tr.startState.doc.lineAt(tooltip.pos);\n return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));\n}\nfunction maybeEnableLint(state, effects) {\n return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));\n}\n/**\nReturns a transaction spec which updates the current set of\ndiagnostics, and enables the lint extension if if wasn't already\nactive.\n*/\nfunction setDiagnostics(state, diagnostics) {\n return {\n effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])\n };\n}\n/**\nThe state effect that updates the set of active diagnostics. Can\nbe useful when writing an extension that needs to track these.\n*/\nconst setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst movePanelSelection = /*@__PURE__*/StateEffect.define();\nconst lintState = /*@__PURE__*/StateField.define({\n create() {\n return new LintState(Decoration.none, null, null);\n },\n update(value, tr) {\n if (tr.docChanged && value.diagnostics.size) {\n let mapped = value.diagnostics.map(tr.changes), selected = null, panel = value.panel;\n if (value.selected) {\n let selPos = tr.changes.mapPos(value.selected.from, 1);\n selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);\n }\n if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel)\n panel = null;\n value = new LintState(mapped, panel, selected);\n }\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;\n value = LintState.init(effect.value, panel, tr.state);\n }\n else if (effect.is(togglePanel)) {\n value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);\n }\n else if (effect.is(movePanelSelection)) {\n value = new LintState(value.diagnostics, value.panel, effect.value);\n }\n }\n return value;\n },\n provide: f => [showPanel.from(f, val => val.panel),\n EditorView.decorations.from(f, s => s.diagnostics)]\n});\n/**\nReturns the number of active lint diagnostics in the given state.\n*/\nfunction diagnosticCount(state) {\n let lint = state.field(lintState, false);\n return lint ? lint.diagnostics.size : 0;\n}\nconst activeMark = /*@__PURE__*/Decoration.mark({ class: \"cm-lintRange cm-lintRange-active\" });\nfunction lintTooltip(view, pos, side) {\n let { diagnostics } = view.state.field(lintState);\n let found, start = -1, end = -1;\n diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, { spec }) => {\n if (pos >= from && pos <= to &&\n (from == to || ((pos > from || side > 0) && (pos < to || side < 0)))) {\n found = spec.diagnostics;\n start = from;\n end = to;\n return false;\n }\n });\n let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;\n if (found && diagnosticFilter)\n found = diagnosticFilter(found, view.state);\n if (!found)\n return null;\n return {\n pos: start,\n end: end,\n above: view.state.doc.lineAt(start).to < end,\n create() {\n return { dom: diagnosticsTooltip(view, found) };\n }\n };\n}\nfunction diagnosticsTooltip(view, diagnostics) {\n return elt(\"ul\", { class: \"cm-tooltip-lint\" }, diagnostics.map(d => renderDiagnostic(view, d, false)));\n}\n/**\nCommand to open and focus the lint panel.\n*/\nconst openLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n view.dispatch({ effects: maybeEnableLint(view.state, [togglePanel.of(true)]) });\n let panel = getPanel(view, LintPanel.open);\n if (panel)\n panel.dom.querySelector(\".cm-panel-lint ul\").focus();\n return true;\n};\n/**\nCommand to close the lint panel, when open.\n*/\nconst closeLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n return false;\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nMove the selection to the next diagnostic.\n*/\nconst nextDiagnostic = (view) => {\n let field = view.state.field(lintState, false);\n if (!field)\n return false;\n let sel = view.state.selection.main, next = field.diagnostics.iter(sel.to + 1);\n if (!next.value) {\n next = field.diagnostics.iter(0);\n if (!next.value || next.from == sel.from && next.to == sel.to)\n return false;\n }\n view.dispatch({ selection: { anchor: next.from, head: next.to }, scrollIntoView: true });\n return true;\n};\n/**\nMove the selection to the previous diagnostic.\n*/\nconst previousDiagnostic = (view) => {\n let { state } = view, field = state.field(lintState, false);\n if (!field)\n return false;\n let sel = state.selection.main;\n let prevFrom, prevTo, lastFrom, lastTo;\n field.diagnostics.between(0, state.doc.length, (from, to) => {\n if (to < sel.to && (prevFrom == null || prevFrom < from)) {\n prevFrom = from;\n prevTo = to;\n }\n if (lastFrom == null || from > lastFrom) {\n lastFrom = from;\n lastTo = to;\n }\n });\n if (lastFrom == null || prevFrom == null && lastFrom == sel.from)\n return false;\n view.dispatch({ selection: { anchor: prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom, head: prevTo !== null && prevTo !== void 0 ? prevTo : lastTo }, scrollIntoView: true });\n return true;\n};\n/**\nA set of default key bindings for the lint functionality.\n\n- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)\n- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)\n*/\nconst lintKeymap = [\n { key: \"Mod-Shift-m\", run: openLintPanel, preventDefault: true },\n { key: \"F8\", run: nextDiagnostic }\n];\nconst lintPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.timeout = -1;\n this.set = true;\n let { delay } = view.state.facet(lintConfig);\n this.lintTime = Date.now() + delay;\n this.run = this.run.bind(this);\n this.timeout = setTimeout(this.run, delay);\n }\n run() {\n clearTimeout(this.timeout);\n let now = Date.now();\n if (now < this.lintTime - 10) {\n this.timeout = setTimeout(this.run, this.lintTime - now);\n }\n else {\n this.set = false;\n let { state } = this.view, { sources } = state.facet(lintConfig);\n if (sources.length)\n batchResults(sources.map(s => Promise.resolve(s(this.view))), annotations => {\n if (this.view.state.doc == state.doc)\n this.view.dispatch(setDiagnostics(this.view.state, annotations.reduce((a, b) => a.concat(b))));\n }, error => { logException(this.view.state, error); });\n }\n }\n update(update) {\n let config = update.state.facet(lintConfig);\n if (update.docChanged || config != update.startState.facet(lintConfig) ||\n config.needsRefresh && config.needsRefresh(update)) {\n this.lintTime = Date.now() + config.delay;\n if (!this.set) {\n this.set = true;\n this.timeout = setTimeout(this.run, config.delay);\n }\n }\n }\n force() {\n if (this.set) {\n this.lintTime = Date.now();\n this.run();\n }\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n});\nfunction batchResults(promises, sink, error) {\n let collected = [], timeout = -1;\n for (let p of promises)\n p.then(value => {\n collected.push(value);\n clearTimeout(timeout);\n if (collected.length == promises.length)\n sink(collected);\n else\n timeout = setTimeout(() => sink(collected), 200);\n }, error);\n}\nconst lintConfig = /*@__PURE__*/Facet.define({\n combine(input) {\n return Object.assign({ sources: input.map(i => i.source).filter(x => x != null) }, combineConfig(input.map(i => i.config), {\n delay: 750,\n markerFilter: null,\n tooltipFilter: null,\n needsRefresh: null,\n hideOn: () => null,\n }, {\n needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u)\n }));\n }\n});\n/**\nGiven a diagnostic source, this function returns an extension that\nenables linting with that source. It will be called whenever the\neditor is idle (after its content changed). If `null` is given as\nsource, this only configures the lint extension.\n*/\nfunction linter(source, config = {}) {\n return [\n lintConfig.of({ source, config }),\n lintPlugin,\n lintExtensions\n ];\n}\n/**\nForces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the\neditor is idle to run right away.\n*/\nfunction forceLinting(view) {\n let plugin = view.plugin(lintPlugin);\n if (plugin)\n plugin.force();\n}\nfunction assignKeys(actions) {\n let assigned = [];\n if (actions)\n actions: for (let { name } of actions) {\n for (let i = 0; i < name.length; i++) {\n let ch = name[i];\n if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {\n assigned.push(ch);\n continue actions;\n }\n }\n assigned.push(\"\");\n }\n return assigned;\n}\nfunction renderDiagnostic(view, diagnostic, inPanel) {\n var _a;\n let keys = inPanel ? assignKeys(diagnostic.actions) : [];\n return elt(\"li\", { class: \"cm-diagnostic cm-diagnostic-\" + diagnostic.severity }, elt(\"span\", { class: \"cm-diagnosticText\" }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {\n let fired = false, click = (e) => {\n e.preventDefault();\n if (fired)\n return;\n fired = true;\n let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n action.apply(view, found.from, found.to);\n };\n let { name } = action, keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;\n let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex),\n elt(\"u\", name.slice(keyIndex, keyIndex + 1)),\n name.slice(keyIndex + 1)];\n return elt(\"button\", {\n type: \"button\",\n class: \"cm-diagnosticAction\",\n onclick: click,\n onmousedown: click,\n \"aria-label\": ` Action: ${name}${keyIndex < 0 ? \"\" : ` (access key \"${keys[i]})\"`}.`\n }, nameElt);\n }), diagnostic.source && elt(\"div\", { class: \"cm-diagnosticSource\" }, diagnostic.source));\n}\nclass DiagnosticWidget extends WidgetType {\n constructor(sev) {\n super();\n this.sev = sev;\n }\n eq(other) { return other.sev == this.sev; }\n toDOM() {\n return elt(\"span\", { class: \"cm-lintPoint cm-lintPoint-\" + this.sev });\n }\n}\nclass PanelItem {\n constructor(view, diagnostic) {\n this.diagnostic = diagnostic;\n this.id = \"item_\" + Math.floor(Math.random() * 0xffffffff).toString(16);\n this.dom = renderDiagnostic(view, diagnostic, true);\n this.dom.id = this.id;\n this.dom.setAttribute(\"role\", \"option\");\n }\n}\nclass LintPanel {\n constructor(view) {\n this.view = view;\n this.items = [];\n let onkeydown = (event) => {\n if (event.keyCode == 27) { // Escape\n closeLintPanel(this.view);\n this.view.focus();\n }\n else if (event.keyCode == 38 || event.keyCode == 33) { // ArrowUp, PageUp\n this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);\n }\n else if (event.keyCode == 40 || event.keyCode == 34) { // ArrowDown, PageDown\n this.moveSelection((this.selectedIndex + 1) % this.items.length);\n }\n else if (event.keyCode == 36) { // Home\n this.moveSelection(0);\n }\n else if (event.keyCode == 35) { // End\n this.moveSelection(this.items.length - 1);\n }\n else if (event.keyCode == 13) { // Enter\n this.view.focus();\n }\n else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { // A-Z\n let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions);\n for (let i = 0; i < keys.length; i++)\n if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {\n let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n diagnostic.actions[i].apply(view, found.from, found.to);\n }\n }\n else {\n return;\n }\n event.preventDefault();\n };\n let onclick = (event) => {\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i].dom.contains(event.target))\n this.moveSelection(i);\n }\n };\n this.list = elt(\"ul\", {\n tabIndex: 0,\n role: \"listbox\",\n \"aria-label\": this.view.state.phrase(\"Diagnostics\"),\n onkeydown,\n onclick\n });\n this.dom = elt(\"div\", { class: \"cm-panel-lint\" }, this.list, elt(\"button\", {\n type: \"button\",\n name: \"close\",\n \"aria-label\": this.view.state.phrase(\"close\"),\n onclick: () => closeLintPanel(this.view)\n }, \"×\"));\n this.update();\n }\n get selectedIndex() {\n let selected = this.view.state.field(lintState).selected;\n if (!selected)\n return -1;\n for (let i = 0; i < this.items.length; i++)\n if (this.items[i].diagnostic == selected.diagnostic)\n return i;\n return -1;\n }\n update() {\n let { diagnostics, selected } = this.view.state.field(lintState);\n let i = 0, needsSync = false, newSelectedItem = null;\n let seen = new Set();\n diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => {\n for (let diagnostic of spec.diagnostics) {\n if (seen.has(diagnostic))\n continue;\n seen.add(diagnostic);\n let found = -1, item;\n for (let j = i; j < this.items.length; j++)\n if (this.items[j].diagnostic == diagnostic) {\n found = j;\n break;\n }\n if (found < 0) {\n item = new PanelItem(this.view, diagnostic);\n this.items.splice(i, 0, item);\n needsSync = true;\n }\n else {\n item = this.items[found];\n if (found > i) {\n this.items.splice(i, found - i);\n needsSync = true;\n }\n }\n if (selected && item.diagnostic == selected.diagnostic) {\n if (!item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.setAttribute(\"aria-selected\", \"true\");\n newSelectedItem = item;\n }\n }\n else if (item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.removeAttribute(\"aria-selected\");\n }\n i++;\n }\n });\n while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {\n needsSync = true;\n this.items.pop();\n }\n if (this.items.length == 0) {\n this.items.push(new PanelItem(this.view, {\n from: -1, to: -1,\n severity: \"info\",\n message: this.view.state.phrase(\"No diagnostics\")\n }));\n needsSync = true;\n }\n if (newSelectedItem) {\n this.list.setAttribute(\"aria-activedescendant\", newSelectedItem.id);\n this.view.requestMeasure({\n key: this,\n read: () => ({ sel: newSelectedItem.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect() }),\n write: ({ sel, panel }) => {\n let scaleY = panel.height / this.list.offsetHeight;\n if (sel.top < panel.top)\n this.list.scrollTop -= (panel.top - sel.top) / scaleY;\n else if (sel.bottom > panel.bottom)\n this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;\n }\n });\n }\n else if (this.selectedIndex < 0) {\n this.list.removeAttribute(\"aria-activedescendant\");\n }\n if (needsSync)\n this.sync();\n }\n sync() {\n let domPos = this.list.firstChild;\n function rm() {\n let prev = domPos;\n domPos = prev.nextSibling;\n prev.remove();\n }\n for (let item of this.items) {\n if (item.dom.parentNode == this.list) {\n while (domPos != item.dom)\n rm();\n domPos = item.dom.nextSibling;\n }\n else {\n this.list.insertBefore(item.dom, domPos);\n }\n }\n while (domPos)\n rm();\n }\n moveSelection(selectedIndex) {\n if (this.selectedIndex < 0)\n return;\n let field = this.view.state.field(lintState);\n let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);\n if (!selection)\n return;\n this.view.dispatch({\n selection: { anchor: selection.from, head: selection.to },\n scrollIntoView: true,\n effects: movePanelSelection.of(selection)\n });\n }\n static open(view) { return new LintPanel(view); }\n}\nfunction svg(content, attrs = `viewBox=\"0 0 40 40\"`) {\n return `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ${attrs}>${encodeURIComponent(content)}</svg>')`;\n}\nfunction underline(color) {\n return svg(`<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"${color}\" fill=\"none\" stroke-width=\".7\"/>`, `width=\"6\" height=\"3\"`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-diagnostic\": {\n padding: \"3px 6px 3px 8px\",\n marginLeft: \"-1px\",\n display: \"block\",\n whiteSpace: \"pre-wrap\"\n },\n \".cm-diagnostic-error\": { borderLeft: \"5px solid #d11\" },\n \".cm-diagnostic-warning\": { borderLeft: \"5px solid orange\" },\n \".cm-diagnostic-info\": { borderLeft: \"5px solid #999\" },\n \".cm-diagnostic-hint\": { borderLeft: \"5px solid #66d\" },\n \".cm-diagnosticAction\": {\n font: \"inherit\",\n border: \"none\",\n padding: \"2px 4px\",\n backgroundColor: \"#444\",\n color: \"white\",\n borderRadius: \"3px\",\n marginLeft: \"8px\",\n cursor: \"pointer\"\n },\n \".cm-diagnosticSource\": {\n fontSize: \"70%\",\n opacity: .7\n },\n \".cm-lintRange\": {\n backgroundPosition: \"left bottom\",\n backgroundRepeat: \"repeat-x\",\n paddingBottom: \"0.7px\",\n },\n \".cm-lintRange-error\": { backgroundImage: /*@__PURE__*/underline(\"#d11\") },\n \".cm-lintRange-warning\": { backgroundImage: /*@__PURE__*/underline(\"orange\") },\n \".cm-lintRange-info\": { backgroundImage: /*@__PURE__*/underline(\"#999\") },\n \".cm-lintRange-hint\": { backgroundImage: /*@__PURE__*/underline(\"#66d\") },\n \".cm-lintRange-active\": { backgroundColor: \"#ffdd9980\" },\n \".cm-tooltip-lint\": {\n padding: 0,\n margin: 0\n },\n \".cm-lintPoint\": {\n position: \"relative\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: 0,\n left: \"-2px\",\n borderLeft: \"3px solid transparent\",\n borderRight: \"3px solid transparent\",\n borderBottom: \"4px solid #d11\"\n }\n },\n \".cm-lintPoint-warning\": {\n \"&:after\": { borderBottomColor: \"orange\" }\n },\n \".cm-lintPoint-info\": {\n \"&:after\": { borderBottomColor: \"#999\" }\n },\n \".cm-lintPoint-hint\": {\n \"&:after\": { borderBottomColor: \"#66d\" }\n },\n \".cm-panel.cm-panel-lint\": {\n position: \"relative\",\n \"& ul\": {\n maxHeight: \"100px\",\n overflowY: \"auto\",\n \"& [aria-selected]\": {\n backgroundColor: \"#ddd\",\n \"& u\": { textDecoration: \"underline\" }\n },\n \"&:focus [aria-selected]\": {\n background_fallback: \"#bdf\",\n backgroundColor: \"Highlight\",\n color_fallback: \"white\",\n color: \"HighlightText\"\n },\n \"& u\": { textDecoration: \"none\" },\n padding: 0,\n margin: 0\n },\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"2px\",\n background: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n }\n }\n});\nfunction severityWeight(sev) {\n return sev == \"error\" ? 4 : sev == \"warning\" ? 3 : sev == \"info\" ? 2 : 1;\n}\nfunction maxSeverity(diagnostics) {\n let sev = \"hint\", weight = 1;\n for (let d of diagnostics) {\n let w = severityWeight(d.severity);\n if (w > weight) {\n weight = w;\n sev = d.severity;\n }\n }\n return sev;\n}\nclass LintGutterMarker extends GutterMarker {\n constructor(diagnostics) {\n super();\n this.diagnostics = diagnostics;\n this.severity = maxSeverity(diagnostics);\n }\n toDOM(view) {\n let elt = document.createElement(\"div\");\n elt.className = \"cm-lint-marker cm-lint-marker-\" + this.severity;\n let diagnostics = this.diagnostics;\n let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;\n if (diagnosticsFilter)\n diagnostics = diagnosticsFilter(diagnostics, view.state);\n if (diagnostics.length)\n elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics);\n return elt;\n }\n}\nfunction trackHoverOn(view, marker) {\n let mousemove = (event) => {\n let rect = marker.getBoundingClientRect();\n if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ &&\n event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */)\n return;\n for (let target = event.target; target; target = target.parentNode) {\n if (target.nodeType == 1 && target.classList.contains(\"cm-tooltip-lint\"))\n return;\n }\n window.removeEventListener(\"mousemove\", mousemove);\n if (view.state.field(lintGutterTooltip))\n view.dispatch({ effects: setLintGutterTooltip.of(null) });\n };\n window.addEventListener(\"mousemove\", mousemove);\n}\nfunction gutterMarkerMouseOver(view, marker, diagnostics) {\n function hovered() {\n let line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);\n const linePos = view.coordsAtPos(line.from);\n if (linePos) {\n view.dispatch({ effects: setLintGutterTooltip.of({\n pos: line.from,\n above: false,\n clip: false,\n create() {\n return {\n dom: diagnosticsTooltip(view, diagnostics),\n getCoords: () => marker.getBoundingClientRect()\n };\n }\n }) });\n }\n marker.onmouseout = marker.onmousemove = null;\n trackHoverOn(view, marker);\n }\n let { hoverTime } = view.state.facet(lintGutterConfig);\n let hoverTimeout = setTimeout(hovered, hoverTime);\n marker.onmouseout = () => {\n clearTimeout(hoverTimeout);\n marker.onmouseout = marker.onmousemove = null;\n };\n marker.onmousemove = () => {\n clearTimeout(hoverTimeout);\n hoverTimeout = setTimeout(hovered, hoverTime);\n };\n}\nfunction markersForDiagnostics(doc, diagnostics) {\n let byLine = Object.create(null);\n for (let diagnostic of diagnostics) {\n let line = doc.lineAt(diagnostic.from);\n (byLine[line.from] || (byLine[line.from] = [])).push(diagnostic);\n }\n let markers = [];\n for (let line in byLine) {\n markers.push(new LintGutterMarker(byLine[line]).range(+line));\n }\n return RangeSet.of(markers, true);\n}\nconst lintGutterExtension = /*@__PURE__*/gutter({\n class: \"cm-gutter-lint\",\n markers: view => view.state.field(lintGutterMarkers),\n widgetMarker: (view, widget, block) => {\n let diagnostics = [];\n view.state.field(lintGutterMarkers).between(block.from, block.to, (from, to, value) => {\n if (from > block.from && from < block.to)\n diagnostics.push(...value.diagnostics);\n });\n return diagnostics.length ? new LintGutterMarker(diagnostics) : null;\n }\n});\nconst lintGutterMarkers = /*@__PURE__*/StateField.define({\n create() {\n return RangeSet.empty;\n },\n update(markers, tr) {\n markers = markers.map(tr.changes);\n let diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let diagnostics = effect.value;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics || [], tr.state);\n markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));\n }\n }\n return markers;\n }\n});\nconst setLintGutterTooltip = /*@__PURE__*/StateEffect.define();\nconst lintGutterTooltip = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(tooltip, tr) {\n if (tooltip && tr.docChanged)\n tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), { pos: tr.changes.mapPos(tooltip.pos) });\n return tr.effects.reduce((t, e) => e.is(setLintGutterTooltip) ? e.value : t, tooltip);\n },\n provide: field => showTooltip.from(field)\n});\nconst lintGutterTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-gutter-lint\": {\n width: \"1.4em\",\n \"& .cm-gutterElement\": {\n padding: \".2em\"\n }\n },\n \".cm-lint-marker\": {\n width: \"1em\",\n height: \"1em\"\n },\n \".cm-lint-marker-info\": {\n content: /*@__PURE__*/svg(`<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>`)\n },\n \".cm-lint-marker-warning\": {\n content: /*@__PURE__*/svg(`<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>`),\n },\n \".cm-lint-marker-error\": {\n content: /*@__PURE__*/svg(`<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>`)\n },\n});\nconst lintExtensions = [\n lintState,\n /*@__PURE__*/EditorView.decorations.compute([lintState], state => {\n let { selected, panel } = state.field(lintState);\n return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([\n activeMark.range(selected.from, selected.to)\n ]);\n }),\n /*@__PURE__*/hoverTooltip(lintTooltip, { hideOn: hideTooltip }),\n baseTheme\n];\nconst lintGutterConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n hoverTime: 300 /* Hover.Time */,\n markerFilter: null,\n tooltipFilter: null\n });\n }\n});\n/**\nReturns an extension that installs a gutter showing markers for\neach line that has diagnostics, which can be hovered over to see\nthe diagnostics.\n*/\nfunction lintGutter(config = {}) {\n return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];\n}\n/**\nIterate over the marked diagnostics for the given editor state,\ncalling `f` for each of them. Note that, if the document changed\nsince the diagnostics were created, the `Diagnostic` object will\nhold the original outdated position, whereas the `to` and `from`\narguments hold the diagnostic's current position.\n*/\nfunction forEachDiagnostic(state, f) {\n let lState = state.field(lintState, false);\n if (lState && lState.diagnostics.size) {\n let pending = [], pendingStart = [], lastEnd = -1;\n for (let iter = RangeSet.iter([lState.diagnostics]);; iter.next()) {\n for (let i = 0; i < pending.length; i++)\n if (!iter.value || iter.value.spec.diagnostics.indexOf(pending[i]) < 0) {\n f(pending[i], pendingStart[i], lastEnd);\n pending.splice(i, 1);\n pendingStart.splice(i--, 1);\n }\n if (!iter.value)\n break;\n for (let d of iter.value.spec.diagnostics)\n if (pending.indexOf(d) < 0) {\n pending.push(d);\n pendingStart.push(iter.from);\n }\n lastEnd = iter.to;\n }\n }\n}\n\nexport { closeLintPanel, diagnosticCount, forEachDiagnostic, forceLinting, lintGutter, lintKeymap, linter, nextDiagnostic, openLintPanel, previousDiagnostic, setDiagnostics, setDiagnosticsEffect };\n"],"names":["document","Set","n","Schema","e","Object","t","Math","s","o","c","navigator","Language","LRLanguage","DocInput","ParseContext","Date","r","Promise","LanguageState","setTimeout","clearTimeout","requestIdleCallback","cancelIdleCallback","LanguageSupport","Array","Error","JSON","IndentContext","TreeIndentContext","l","PreparedFoldWidget","RangeError","HighlightStyle","a","TreeHighlighter","d","console","SelectedDiagnostic","LintState","DiagnosticWidget","LintPanel","PanelItem","encodeURIComponent"],"mappings":"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"}