teapot-coding-agent 0.28.2 → 0.29.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 (171) hide show
  1. package/dist/agent/agent.js +414 -152
  2. package/dist/agent/skills.js +29 -15
  3. package/dist/agent/tools.js +22 -1
  4. package/dist/config-schema.js +2 -1
  5. package/dist/master.js +37 -7
  6. package/dist/scheduler/cron.js +5 -3
  7. package/dist/server/api.js +41 -20
  8. package/dist/server/term-size.js +13 -1
  9. package/package.json +14 -14
  10. package/public/assets/{astro-JHDYjn39.js → astro-BZ97kZFP.js} +2 -2
  11. package/public/assets/astro-BZ97kZFP.js.map +1 -0
  12. package/public/assets/bat-qdxAdBWQ.js.map +1 -1
  13. package/public/assets/c-Cz4nF6n_.js +1 -0
  14. package/public/assets/c-SSSlmE39.js.map +1 -1
  15. package/public/assets/clojure-DqKBuwfJ.js.map +1 -1
  16. package/public/assets/cmake-Bj61d0ZC.js.map +1 -1
  17. package/public/assets/cpp-B6pWdJV2.js +1 -0
  18. package/public/assets/cpp-ZGiJKGk8.js.map +1 -1
  19. package/public/assets/csharp-dmMxLVLW.js +2 -0
  20. package/public/assets/csharp-dmMxLVLW.js.map +1 -0
  21. package/public/assets/css-BGIxQoYs.js +2 -0
  22. package/public/assets/css-BGIxQoYs.js.map +1 -0
  23. package/public/assets/css-DgaLhXQH.js +1 -0
  24. package/public/assets/dart-CHZY9Xhz.js +2 -0
  25. package/public/assets/dart-CHZY9Xhz.js.map +1 -0
  26. package/public/assets/diff-woXpYk--.js.map +1 -1
  27. package/public/assets/dockerfile-IyjqRm3v.js.map +1 -1
  28. package/public/assets/{elixir-IXeIM30B.js → elixir-raGDl1oO.js} +2 -2
  29. package/public/assets/elixir-raGDl1oO.js.map +1 -0
  30. package/public/assets/erlang-D0CaQ5Pl.js.map +1 -1
  31. package/public/assets/fish-BJitypiv.js.map +1 -1
  32. package/public/assets/fsharp-PZeu-6rm.js.map +1 -1
  33. package/public/assets/github-dark-C-LZuMrd.js.map +1 -1
  34. package/public/assets/github-light-EUqPIrTm.js.map +1 -1
  35. package/public/assets/glsl-CaPTrB3a.js.map +1 -1
  36. package/public/assets/graphql-BZEhxNwM.js +1 -0
  37. package/public/assets/graphql-DEIChqxY.js.map +1 -1
  38. package/public/assets/groovy-CacY0gHj.js.map +1 -1
  39. package/public/assets/haskell-D8IpX4py.js.map +1 -1
  40. package/public/assets/hcl-Dh228itO.js.map +1 -1
  41. package/public/assets/html-BCy9P6D2.js +1 -0
  42. package/public/assets/{html-B2cKP6UN.js → html-DSw1lh5G.js} +2 -2
  43. package/public/assets/html-DSw1lh5G.js.map +1 -0
  44. package/public/assets/index-Bnx0qjHQ.js +30 -0
  45. package/public/assets/index-Bnx0qjHQ.js.map +1 -0
  46. package/public/assets/ini-B5eOa1yu.js.map +1 -1
  47. package/public/assets/java-BtIQNnN0.js.map +1 -1
  48. package/public/assets/java-_ATy9zCa.js +1 -0
  49. package/public/assets/javascript-BzbQS41l.js.map +1 -1
  50. package/public/assets/javascript-CpIGwZ_Y.js +1 -0
  51. package/public/assets/json-B88Oqtu5.js.map +1 -1
  52. package/public/assets/json-C3WlssX3.js +1 -0
  53. package/public/assets/json5-BR5RXkoi.js.map +1 -1
  54. package/public/assets/jsonc-CYpm1nAK.js.map +1 -1
  55. package/public/assets/jsx-C4yDKi0A.js +1 -0
  56. package/public/assets/jsx-D3KKoC5L.js.map +1 -1
  57. package/public/assets/{julia-BC1A_CJ4.js → julia-DCfl8sf8.js} +2 -2
  58. package/public/assets/julia-DCfl8sf8.js.map +1 -0
  59. package/public/assets/{justfile-Ca-8NFG9.js → justfile-CKP9W7x6.js} +2 -2
  60. package/public/assets/justfile-CKP9W7x6.js.map +1 -0
  61. package/public/assets/kotlin-DhhofPvG.js.map +1 -1
  62. package/public/assets/less-DVTAwKKz.js.map +1 -1
  63. package/public/assets/lua-DjuecEsk.js.map +1 -1
  64. package/public/assets/lua-fPRBWD-V.js +1 -0
  65. package/public/assets/makefile-Dixweg8N.js.map +1 -1
  66. package/public/assets/markdown-CboqBxpY.js.map +1 -1
  67. package/public/assets/markdown-CjQmuOi1.js +1 -0
  68. package/public/assets/mdx-DQZ5AkYe.js.map +1 -1
  69. package/public/assets/{nim-AzTgDUNM.js → nim-VAaFSKwL.js} +2 -2
  70. package/public/assets/nim-VAaFSKwL.js.map +1 -0
  71. package/public/assets/objective-c-D1A_Heim.js.map +1 -1
  72. package/public/assets/perl-BTdIRyOQ.js +1 -0
  73. package/public/assets/{perl-DYq_hxXC.js → perl-XQDPZEjP.js} +2 -2
  74. package/public/assets/perl-XQDPZEjP.js.map +1 -0
  75. package/public/assets/php-DPoYWQt_.js +2 -0
  76. package/public/assets/php-DPoYWQt_.js.map +1 -0
  77. package/public/assets/postcss-D_Wz94rJ.js.map +1 -1
  78. package/public/assets/postcss-DkKB82OS.js +1 -0
  79. package/public/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +2 -2
  80. package/public/assets/powershell-QtSnmXcu.js.map +1 -0
  81. package/public/assets/prisma-DMgNhnYS.js.map +1 -1
  82. package/public/assets/python-C5TF47hQ.js +1 -0
  83. package/public/assets/python-CzFU0dpx.js.map +1 -1
  84. package/public/assets/r-BXEss897.js +1 -0
  85. package/public/assets/r-DWzjseEo.js.map +1 -1
  86. package/public/assets/ruby-BdDtUACQ.js +1 -0
  87. package/public/assets/{ruby-BeaszOMm.js → ruby-DV2UBOs2.js} +2 -2
  88. package/public/assets/ruby-DV2UBOs2.js.map +1 -0
  89. package/public/assets/rust-DpiIf5JO.js +2 -0
  90. package/public/assets/rust-DpiIf5JO.js.map +1 -0
  91. package/public/assets/sass-DXrisJhu.js.map +1 -1
  92. package/public/assets/scala-BiFt_7mu.js.map +1 -1
  93. package/public/assets/{scss-DHtrkMkT.js → scss-8bKmll0B.js} +2 -2
  94. package/public/assets/scss-8bKmll0B.js.map +1 -0
  95. package/public/assets/shellscript-CVTB3cr6.js +1 -0
  96. package/public/assets/shellscript-CqHdAlCp.js.map +1 -1
  97. package/public/assets/shiki-B4EfnMLX.js +156 -0
  98. package/public/assets/shiki-B4EfnMLX.js.map +1 -0
  99. package/public/assets/solidity-Bj7E1mRn.js.map +1 -1
  100. package/public/assets/sql-CNu3Or2W.js +2 -0
  101. package/public/assets/sql-CNu3Or2W.js.map +1 -0
  102. package/public/assets/sql-CfM2IJm3.js +1 -0
  103. package/public/assets/stylus-B6D30XZt.js.map +1 -1
  104. package/public/assets/{svelte-tEuLYt3E.js → svelte-CdeT-Ich.js} +2 -2
  105. package/public/assets/svelte-CdeT-Ich.js.map +1 -0
  106. package/public/assets/swift-CyEgAFGc.js.map +1 -1
  107. package/public/assets/terraform-DswuEJGm.js.map +1 -1
  108. package/public/assets/toml-CcmNWLt0.js.map +1 -1
  109. package/public/assets/tsx-BOvsFOI6.js.map +1 -1
  110. package/public/assets/tsx-CGosfAUg.js +1 -0
  111. package/public/assets/typescript-Bb1J8qyy.js +1 -0
  112. package/public/assets/typescript-j_1H8WHN.js.map +1 -1
  113. package/public/assets/viml-DvXPmvsu.js.map +1 -1
  114. package/public/assets/{vue-Bg0byEaI.js → vue-BqdMUtqy.js} +2 -2
  115. package/public/assets/vue-BqdMUtqy.js.map +1 -0
  116. package/public/assets/xml-DuKfbPI6.js +1 -0
  117. package/public/assets/xml-WY0zc4PG.js.map +1 -1
  118. package/public/assets/yaml-DDA_XMNu.js +1 -0
  119. package/public/assets/yaml-DijMHRDA.js.map +1 -1
  120. package/public/assets/zig-CMLA9XwU.js.map +1 -1
  121. package/public/index.html +1 -1
  122. package/public/assets/astro-JHDYjn39.js.map +0 -1
  123. package/public/assets/c-DWGmR78Y.js +0 -1
  124. package/public/assets/cpp-D0jV2xBx.js +0 -1
  125. package/public/assets/csharp-oqKa8noW.js +0 -2
  126. package/public/assets/csharp-oqKa8noW.js.map +0 -1
  127. package/public/assets/css-CdtkT07m.js +0 -1
  128. package/public/assets/css-LbU1hoFO.js +0 -2
  129. package/public/assets/css-LbU1hoFO.js.map +0 -1
  130. package/public/assets/dart-CnvKMtbv.js +0 -2
  131. package/public/assets/dart-CnvKMtbv.js.map +0 -1
  132. package/public/assets/elixir-IXeIM30B.js.map +0 -1
  133. package/public/assets/graphql-DAzSVzvB.js +0 -1
  134. package/public/assets/html-B2cKP6UN.js.map +0 -1
  135. package/public/assets/html-DYtkB_T1.js +0 -1
  136. package/public/assets/index-j-byVujL.js +0 -30
  137. package/public/assets/index-j-byVujL.js.map +0 -1
  138. package/public/assets/java-DxlWrXwe.js +0 -1
  139. package/public/assets/javascript-Yelw-5ZN.js +0 -1
  140. package/public/assets/json-CaljABEy.js +0 -1
  141. package/public/assets/jsx-hEbJ82HF.js +0 -1
  142. package/public/assets/julia-BC1A_CJ4.js.map +0 -1
  143. package/public/assets/justfile-Ca-8NFG9.js.map +0 -1
  144. package/public/assets/lua-BJObVtAx.js +0 -1
  145. package/public/assets/markdown-Cla8Gbs6.js +0 -1
  146. package/public/assets/nim-AzTgDUNM.js.map +0 -1
  147. package/public/assets/perl-CCMzbIRV.js +0 -1
  148. package/public/assets/perl-DYq_hxXC.js.map +0 -1
  149. package/public/assets/php-Dl--GmOR.js +0 -2
  150. package/public/assets/php-Dl--GmOR.js.map +0 -1
  151. package/public/assets/postcss-e3XvZOFQ.js +0 -1
  152. package/public/assets/powershell-CCSX75yM.js.map +0 -1
  153. package/public/assets/python-ORI17Sev.js +0 -1
  154. package/public/assets/r-Dr1JUpHl.js +0 -1
  155. package/public/assets/ruby-BeaszOMm.js.map +0 -1
  156. package/public/assets/ruby-XbVsWxgo.js +0 -1
  157. package/public/assets/rust-Cfkwpbl8.js +0 -2
  158. package/public/assets/rust-Cfkwpbl8.js.map +0 -1
  159. package/public/assets/scss-DHtrkMkT.js.map +0 -1
  160. package/public/assets/shellscript-BiGZg9Om.js +0 -1
  161. package/public/assets/shiki-DCpmqeFE.js +0 -156
  162. package/public/assets/shiki-DCpmqeFE.js.map +0 -1
  163. package/public/assets/sql-0Qcw9ht3.js +0 -1
  164. package/public/assets/sql-CP0rg-5b.js +0 -2
  165. package/public/assets/sql-CP0rg-5b.js.map +0 -1
  166. package/public/assets/svelte-tEuLYt3E.js.map +0 -1
  167. package/public/assets/tsx-5f3ulCja.js +0 -1
  168. package/public/assets/typescript-Utq2Cl8c.js +0 -1
  169. package/public/assets/vue-Bg0byEaI.js.map +0 -1
  170. package/public/assets/xml-CoDIzWF0.js +0 -1
  171. package/public/assets/yaml-CxbubiML.js +0 -1
@@ -46,26 +46,40 @@ export async function skillRootsFingerprint(roots) {
46
46
  continue;
47
47
  }
48
48
  parts.push(`${st.mtimeMs}:${st.size}`);
49
- let entries;
49
+ // stamp every SKILL.md the discovery walk could adopt (same depth bound):
50
+ // the one-level stat missed a NESTED skill's add/edit entirely, so the
51
+ // stamp never changed, refreshSkills early-returned, and the skill stayed
52
+ // invisible/stale in list_skills and the system-prompt catalogue
53
+ await stampSkillFiles(root.dir, 0, parts);
54
+ }
55
+ return parts.join("|");
56
+ }
57
+ /** recursive fingerprint walk — mirrors walkSkills' bound and containment rules */
58
+ async function stampSkillFiles(dir, depth, parts) {
59
+ if (depth > MAX_SKILL_DEPTH)
60
+ return;
61
+ let entries;
62
+ try {
63
+ entries = await fs.readdir(dir, { withFileTypes: true });
64
+ }
65
+ catch {
66
+ return;
67
+ }
68
+ for (const e of entries) {
69
+ if (e.name.startsWith("."))
70
+ continue;
71
+ const full = path.join(dir, e.name);
72
+ if (!e.isDirectory())
73
+ continue;
50
74
  try {
51
- entries = await fs.readdir(root.dir, { withFileTypes: true });
75
+ const s = await fs.stat(path.join(full, SKILL_FILE));
76
+ parts.push(`${full}=${s.mtimeMs}:${s.size}`);
52
77
  }
53
78
  catch {
54
- continue;
55
- }
56
- for (const e of entries) {
57
- if (!e.isDirectory() || e.name.startsWith("."))
58
- continue;
59
- try {
60
- const s = await fs.stat(path.join(root.dir, e.name, SKILL_FILE));
61
- parts.push(`${e.name}=${s.mtimeMs}:${s.size}`);
62
- }
63
- catch {
64
- parts.push(`${e.name}=none`);
65
- }
79
+ // not a skill dir itself — still a container to descend into
66
80
  }
81
+ await stampSkillFiles(full, depth + 1, parts);
67
82
  }
68
- return parts.join("|");
69
83
  }
70
84
  export function isValidSkillName(name) {
71
85
  return /^[a-z0-9][a-z0-9._-]{0,63}$/.test(name);
@@ -1645,9 +1645,30 @@ export const TOOLS = [
1645
1645
  return { ok: false, result: "sub-agents are not available here" };
1646
1646
  const ids = Array.isArray(args.ids) ? args.ids.map(String) : undefined;
1647
1647
  const ms = Math.min(Math.max(num(args.timeout_ms, 300_000), 1_000), 3_600_000);
1648
+ // #140: a prompt ALREADY in the queue must be consumed FIRST. The
1649
+ // enqueue-time wake only fires for prompts arriving DURING the park —
1650
+ // one queued before the park is invisible to it, and parking over it
1651
+ // strands the operator's message ("idle" display, nothing processed)
1652
+ // until a child settles. Stand down and let the next turn boundary
1653
+ // drain it; the model can call wait_children again afterwards.
1654
+ if (ctx.hasPendingPrompts?.()) {
1655
+ ctx.onProgressGateReset?.();
1656
+ return {
1657
+ ok: true,
1658
+ result: "A prompt is already queued for you — handle it first, then call wait_children again if you still need to wait.",
1659
+ };
1660
+ }
1648
1661
  // park VISIBLY: the UI shows idle ("waiting on sub-agents") instead of a
1649
1662
  // running spinner, and any user prompt / stop wakes us instantly
1650
- ctx.onIdlePark?.(`waiting on sub-agent${ids?.length === 1 ? ` ${ids[0]}` : "s"}`);
1663
+ const parked = ctx.onIdlePark?.(`waiting on sub-agent${ids?.length === 1 ? ` ${ids[0]}` : "s"}`);
1664
+ if (parked === false) {
1665
+ // the agent refused the park (a prompt raced in) — same answer as above
1666
+ ctx.onProgressGateReset?.();
1667
+ return {
1668
+ ok: true,
1669
+ result: "A prompt arrived while you were about to wait — handle it first, then call wait_children again if you still need to wait.",
1670
+ };
1671
+ }
1651
1672
  // the child's report is about to land in our mailbox — a progress report
1652
1673
  // right after it would be pure noise, so re-arm the gate here
1653
1674
  ctx.onProgressGateReset?.();
@@ -39,7 +39,8 @@ export const ConfigPatchSchema = z.object({
39
39
  progressMinChars: z.number().int().min(100).optional(),
40
40
  // null clears a previously pinned compact budget → back to per-model derivation
41
41
  contextTokenBudget: z.number().int().min(1_000).nullable().optional(),
42
- contextWindowTokens: z.number().int().min(1_000).optional(),
42
+ // null clears a saved window pin → back to per-model inference (same contract as contextTokenBudget)
43
+ contextWindowTokens: z.number().int().min(1_000).nullable().optional(),
43
44
  maxSpawnDepth: z.number().int().min(0).max(8).optional(),
44
45
  // soft cap on LLM turns in one round; reaching it nudges the model to wrap
45
46
  // up (not an error) — 0 disables the cap
package/dist/master.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Agents are in-process async loops (I/O bound only); all CPU-heavy work is
4
4
  * delegated to subprocesses managed by the bash tool with hard timeouts.
5
5
  */
6
- import { readFileSync, existsSync, mkdirSync, writeFileSync, readdirSync, statSync, renameSync, unlinkSync, openSync, closeSync, fsyncSync, } from "node:fs";
6
+ import { readFileSync, existsSync, mkdirSync, writeFileSync, readdirSync, statSync, lstatSync, renameSync, unlinkSync, openSync, closeSync, fsyncSync, } from "node:fs";
7
7
  import { randomUUID } from "node:crypto";
8
8
  import path from "node:path";
9
9
  import os from "node:os";
@@ -178,8 +178,14 @@ export function loadConfig(configPath) {
178
178
  */
179
179
  function isRegularFileTarget(p) {
180
180
  try {
181
- const st = statSync(p);
182
- return st.isFile();
181
+ // lstat, not stat: a SYMLINK must take the plain-write path. statSync
182
+ // follows the link, so a symlink→regular-file passed this check and the
183
+ // atomic rename then REPLACED THE LINK with a real file — the link's
184
+ // target (a dotfile repo, stow/chezmoi) kept the old value and a restart
185
+ // resurrected it. Same reasoning covers hardlinks (rename splits the
186
+ // inode; the write must go through the existing directory entry).
187
+ const st = lstatSync(p);
188
+ return st.isFile() && !st.isSymbolicLink();
183
189
  }
184
190
  catch {
185
191
  // does not exist yet — the parent decides; a real config path will be created
@@ -442,6 +448,27 @@ export class Master {
442
448
  this.config.onError = patch.onError;
443
449
  if (patch.retryDelayMs !== undefined)
444
450
  this.config.retryDelayMs = patch.retryDelayMs;
451
+ // #PUT-config: an explicit null clears a saved window pin → back to
452
+ // per-model inference; a positive number pins it (same contract as
453
+ // contextTokenBudget above)
454
+ if (patch.contextWindowTokens !== undefined) {
455
+ this.config.contextWindowTokens =
456
+ (patch.contextWindowTokens ?? 0) > 0 ? patch.contextWindowTokens : undefined;
457
+ }
458
+ // persist the scalar edits: saveConfig only mirrors agents/providers/etc.
459
+ // into raw, so these would otherwise pass validation, live for one
460
+ // process, and silently vanish from the file (a restart resurrected the
461
+ // old values). undefined DELETES the key so a null-clear also persists.
462
+ for (const k of [
463
+ "contextTokenBudget", "contextWindowTokens", "maxSpawnDepth",
464
+ "maxTurnsPerRound", "onError", "retryDelayMs",
465
+ ]) {
466
+ const v = this.config[k];
467
+ if (v === undefined)
468
+ delete this.raw[k];
469
+ else
470
+ this.raw[k] = v;
471
+ }
445
472
  if (patch.tasks) {
446
473
  this.config.tasks = patch.tasks;
447
474
  // rebuild schedule table live
@@ -953,10 +980,13 @@ When this task is done (or truly blocked), call finish() with a summary for @${p
953
980
  : this.childrenOf(parentId).map((c) => c.id)).filter((id) => this.agents.has(id));
954
981
  if (targets.length === 0)
955
982
  return Promise.resolve({ note: "no live sub-agents to wait for" });
956
- const active = () => targets.filter((id) => {
957
- const s = this.agents.get(id)?.status;
958
- return s === "running" || s === "waiting";
959
- });
983
+ // isBusy(), not the raw status: parkForTool overwrites a parked child's
984
+ // status to "idle" (spinner suppression) while its loop is very much
985
+ // alive — the raw check counted that child as settled and let the parent
986
+ // resume over unfinished work. isBusy() sees parked tools, compactions
987
+ // and an open ask_user; queued prompts are DORMANT (isLive()'s "stop vs
988
+ // start" extra) and must not hold the wait. A stop request reads settled.
989
+ const active = () => targets.filter((id) => this.agents.get(id)?.isBusy());
960
990
  const first = active();
961
991
  if (first.length === 0)
962
992
  return Promise.resolve({ note: `all sub-agents already settled: ${targets.join(", ")}` });
@@ -88,12 +88,14 @@ export function matches(schedule, d) {
88
88
  }
89
89
  /**
90
90
  * Next fire time after `from`, scanning minute by minute (cheap: a handful of
91
- * integer compares per minute). Returns null when nothing fires within ~31
92
- * days (e.g. a Feb-29-only cron in August).
91
+ * integer compares per minute). Returns null when nothing fires within a year
92
+ * — annual crons (a December date seen in August) used to fall outside the old
93
+ * 31-day horizon and showed `next: null` in the UI even though they fire.
94
+ * A Feb-29-only cron can still legitimately report null most of the year.
93
95
  */
94
96
  export function nextFireAt(schedule, from = new Date()) {
95
97
  const startMinute = Math.floor(from.getTime() / 60_000) + 1; // next whole minute
96
- const horizon = 60 * 24 * 31;
98
+ const horizon = 60 * 24 * 366;
97
99
  for (let i = 0; i < horizon; i++) {
98
100
  const d = new Date((startMinute + i) * 60_000);
99
101
  if (matches(schedule, d))
@@ -103,7 +103,14 @@ export function buildApp(master) {
103
103
  // Optional bearer auth for LAN exposure — TEAPOT_API_TOKEN env wins, else
104
104
  // the config's `password` field. Static files stay public; only /api/* is
105
105
  // gated.
106
- const apiToken = process.env.TEAPOT_API_TOKEN || master.config.password || "";
106
+ // Optional bearer auth for LAN exposure — TEAPOT_API_TOKEN env wins, else
107
+ // the config's `password` field. Static files stay public; only /api/* is
108
+ // gated.
109
+ //
110
+ // Read DYNAMICALLY: the first-run wizard sets `config.password` through
111
+ // /api/setup AFTER buildApp ran — a const captured here once meant a
112
+ // freshly-set-up server stayed wide open until the next process restart.
113
+ const apiToken = () => process.env.TEAPOT_API_TOKEN || master.config.password || "";
107
114
  /**
108
115
  * Routes where `?token=` is accepted (#79).
109
116
  *
@@ -119,19 +126,21 @@ export function buildApp(master) {
119
126
  * also accept the query form.
120
127
  */
121
128
  const tokenInQueryOk = (path) => path === "/api/ws" || /^\/api\/agents\/[^/]+\/term$/.test(path);
122
- if (apiToken)
123
- app.use("/api/*", async (c, next) => {
124
- const h = c.req.header("authorization");
125
- const provided = h?.startsWith("Bearer ") ? h.slice(7) : undefined;
126
- if (provided && provided === apiToken)
129
+ app.use("/api/*", async (c, next) => {
130
+ const want = apiToken();
131
+ if (!want)
132
+ return next(); // nothing configured yet — the API stays open
133
+ const h = c.req.header("authorization");
134
+ const provided = h?.startsWith("Bearer ") ? h.slice(7) : undefined;
135
+ if (provided && provided === want)
136
+ return next();
137
+ if (tokenInQueryOk(c.req.path)) {
138
+ const q = c.req.query("token");
139
+ if (q && q === want)
127
140
  return next();
128
- if (tokenInQueryOk(c.req.path)) {
129
- const q = c.req.query("token");
130
- if (q && q === apiToken)
131
- return next();
132
- }
133
- return c.json({ error: "unauthorized" }, 401);
134
- });
141
+ }
142
+ return c.json({ error: "unauthorized" }, 401);
143
+ });
135
144
  // per-agent terminal spawn guard
136
145
  const termCounts = new Map();
137
146
  /**
@@ -748,6 +757,12 @@ export function buildApp(master) {
748
757
  progressIntervalMs: patch.progressIntervalMs,
749
758
  progressMinChars: patch.progressMinChars,
750
759
  contextTokenBudget: patch.contextTokenBudget,
760
+ // these four were validated (200 ok) and then DROPPED — the settings
761
+ // modal's context window never reached the config at all
762
+ contextWindowTokens: patch.contextWindowTokens,
763
+ maxTurnsPerRound: patch.maxTurnsPerRound,
764
+ onError: patch.onError,
765
+ retryDelayMs: patch.retryDelayMs,
751
766
  maxSpawnDepth: patch.maxSpawnDepth,
752
767
  tasks: patch.tasks,
753
768
  });
@@ -1036,14 +1051,20 @@ export function buildApp(master) {
1036
1051
  if (!body)
1037
1052
  return c.json({ error: "invalid JSON" }, 400);
1038
1053
  await a.setTodo(body.text ?? "");
1039
- if (body.notify !== false && body.text?.trim())
1054
+ // #123: a notification-bearing save must actually WAKE the idle agent (the
1055
+ // queued prompt used to sit forever).
1056
+ //
1057
+ // #123 residual: but the START follows the NOTIFICATION, not the save. The
1058
+ // original fix left `a.start(...)` outside the gate — a brace-less if only
1059
+ // gates the enqueue — so `notify:false` (whose entire meaning is "save
1060
+ // silently") booted a stopped agent, and so did an EMPTY list. A todo save
1061
+ // is note-taking; booting an incarnation is a side effect.
1062
+ const shouldNotify = body.notify !== false && !!body.text?.trim();
1063
+ if (shouldNotify) {
1040
1064
  a.enqueuePrompt(`[harness] The operator updated the task list:\n\n${body.text}\n\nWork through it (get_todo() always has the latest).`, "harness");
1041
- // #123: an idle agent must actually START on the queued prompt. The goal
1042
- // route above learned this (the queued prompt sat forever otherwise); the
1043
- // todo route did not, so saving a task list on an idle session looked like
1044
- // it had been ignored.
1045
- if (a.status !== "running")
1046
- a.start("todo set");
1065
+ if (a.status !== "running")
1066
+ a.start("todo set");
1067
+ }
1047
1068
  return c.json({ ok: true });
1048
1069
  });
1049
1070
  // edit a previously-sent prompt: forks there, optionally summarizes the tail
@@ -20,7 +20,7 @@ export class TermSizeTracker {
20
20
  if (st.rows === rows && st.cols === cols)
21
21
  return;
22
22
  const wait = Math.max(0, st.busyUntil - Date.now());
23
- st.timer = setTimeout(() => {
23
+ const apply = () => {
24
24
  st.timer = null;
25
25
  st.rows = rows;
26
26
  st.cols = cols;
@@ -30,6 +30,18 @@ export class TermSizeTracker {
30
30
  catch {
31
31
  /* child exited mid-debounce */
32
32
  }
33
+ };
34
+ st.timer = setTimeout(() => {
35
+ // output may have CONTINUED past the deadline this timer was computed
36
+ // from (markBusy only extends busyUntil — it cannot reach an already
37
+ // pending timer). Writing now would type stty into a running program,
38
+ // so defer to whatever busy window remains.
39
+ const remain = st.busyUntil - Date.now();
40
+ if (remain > 0) {
41
+ st.timer = setTimeout(apply, remain);
42
+ return;
43
+ }
44
+ apply();
33
45
  }, wait > 0 ? wait : TERM_RESIZE_DEBOUNCE_MS);
34
46
  }
35
47
  /** a child produced output — defer resizes so we never type into it */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teapot-coding-agent",
3
- "version": "0.28.2",
3
+ "version": "0.29.1",
4
4
  "description": "A lightweight, always-on multi-agent harness for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-or-later",
@@ -43,24 +43,24 @@
43
43
  "test:portable": "node scripts/run-portable-tests.mjs"
44
44
  },
45
45
  "dependencies": {
46
- "@hono/node-server": "^2.1.1",
46
+ "@hono/node-server": "^2.1.4",
47
47
  "@mozilla/readability": "^0.6.0",
48
- "happy-dom": "^20.11.6",
49
- "hono": "^4.7.0",
50
- "openai": "^5.0.0",
51
- "ws": "^8.21.3",
52
- "zod": "^3.25.76"
48
+ "happy-dom": "^20.14.5",
49
+ "hono": "^4.13.13",
50
+ "openai": "^7.30.1",
51
+ "ws": "^8.22.0",
52
+ "zod": "^4.6.5"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "^24.0.0",
56
- "@types/ws": "^8.18.1",
55
+ "@types/node": "^26.6.4",
56
+ "@types/ws": "^8.18.2",
57
57
  "@xterm/addon-fit": "^0.11.0",
58
58
  "@xterm/xterm": "^6.0.0",
59
- "oxlint": "^1.79.0",
60
- "shiki": "^4.4.3",
61
- "solid-js": "^1.9.15",
62
- "typescript": "^5.8.0",
63
- "vite": "^8.2.2",
59
+ "oxlint": "^1.87.0",
60
+ "shiki": "^4.5.0",
61
+ "solid-js": "^1.9.17",
62
+ "typescript": "^7.0.2",
63
+ "vite": "^8.3.4",
64
64
  "vite-plugin-solid": "^2.11.14"
65
65
  }
66
66
  }
@@ -1,2 +1,2 @@
1
- import{t as e}from"./json-B88Oqtu5.js";import{t}from"./javascript-BzbQS41l.js";import{t as n}from"./typescript-j_1H8WHN.js";import{t as r}from"./css-LbU1hoFO.js";import{t as i}from"./postcss-D_Wz94rJ.js";import{t as a}from"./tsx-BOvsFOI6.js";var o=Object.freeze(JSON.parse(`{"displayName":"Astro","fileTypes":["astro"],"injections":{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.json","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.ts","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.less","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.postcss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.postcss"}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.sass","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.scss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.stylus","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.stylus"}]}]}},"name":"astro","patterns":[{"include":"#scope"},{"include":"#frontmatter"},{"include":"#text"}],"repository":{"attribute-literal":{"begin":"(\`)","end":"\\\\1","name":"string.template.astro","patterns":[{"include":"source.tsx#template-substitution-element"},{"include":"source.tsx#string-character-escape"}]},"attributes":{"patterns":[{"include":"#attributes-events"},{"include":"#attributes-keyvalue"},{"include":"#attributes-interpolated"}]},"attributes-events":{"begin":"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![-:\\\\\\\\w])","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#interpolation"},{"include":"#attribute-literal"},{"begin":"(?=[^/<=>\`\\\\s]|/(?!>))","end":"(?!\\\\G)","name":"meta.embedded.line.js","patterns":[{"captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}},"match":"(([^\\"'/<=>\`\\\\s]|/(?!>))+)","name":"string.unquoted.astro"},{"begin":"(\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n\\"/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=\\")|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=\\")|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]},{"begin":"(')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n'/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=')|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=')|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]}]}]}]},"attributes-interpolated":{"begin":"(?<![:=])\\\\s*(\\\\{)","contentName":"meta.embedded.expression.astro source.tsx","end":"(})","patterns":[{"include":"source.tsx"}]},"attributes-keyvalue":{"begin":"([$@_[:alpha:]][-$.:_[:alnum:]]*)","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#attributes-value"}]}]},"attributes-value":{"patterns":[{"include":"#interpolation"},{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.astro"},{"begin":"([\\"'])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro"},{"include":"#attribute-literal"}]},"comments":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.astro"}},"end":"-->","name":"comment.block.astro","patterns":[{"match":"\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>","name":"invalid.illegal.characters-not-allowed-here.astro"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.astro"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.astro"}]},"frontmatter":{"begin":"\\\\A(-{3})\\\\s*$","beginCaptures":{"1":{"name":"comment"}},"contentName":"source.ts","end":"(^|\\\\G)(-{3})|\\\\.{3}\\\\s*$","endCaptures":{"2":{"name":"comment"}},"patterns":[{"include":"source.ts"}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"contentName":"meta.embedded.expression.astro source.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"match":"(</)(.*?)\\\\s*(>)|(/>)"},"tags-general-end":{"begin":"(</)([^/>\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(s(?:cript|tyle))","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.$1.astro","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(application/ld\\\\+json)\\\\2)","end":"(?=</|/>)","name":"meta.lang.json.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(module)\\\\2)","end":"(?=</|/>)","name":"meta.lang.javascript.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/|application/)?([+/\\\\w]+)\\\\2)","end":"(?=</|/>)","name":"meta.lang.$3.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}},"name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-name":{"patterns":[{"match":"[A-Z][0-9A-Z_a-z]*","name":"support.class.component.astro"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.astro entity.name.tag.astro"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.astro"}]},"tags-raw":{"begin":"<([^!/<>?\\\\s]+)(?=[^>]+is:raw).*?","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"contentName":"source.unknown","end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.raw.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.astro"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}},"name":"meta.tag.void.astro","patterns":[{"include":"#attributes"}]},"text":{"patterns":[{"begin":"(?<=^|---|[>}])","end":"(?=[<{]|$)","name":"text.astro","patterns":[{"include":"#entities"}]}]}},"scopeName":"source.astro","embeddedLangs":["json","javascript","typescript","css","postcss","tsx"],"embeddedLangsLazy":["sass","scss","stylus","less"]}`)),s=[...e,...t,...n,...r,...i,...a,o];export{s as default};
2
- //# sourceMappingURL=astro-JHDYjn39.js.map
1
+ import{t as e}from"./json-B88Oqtu5.js";import{t}from"./javascript-BzbQS41l.js";import{t as n}from"./typescript-j_1H8WHN.js";import{t as r}from"./css-BGIxQoYs.js";import{t as i}from"./postcss-D_Wz94rJ.js";import{t as a}from"./tsx-BOvsFOI6.js";var o=Object.freeze(JSON.parse(`{"displayName":"Astro","fileTypes":["astro"],"injections":{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.json","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.ts","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.less","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.postcss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.postcss"}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.sass","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.scss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.stylus","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.stylus"}]}]}},"name":"astro","patterns":[{"include":"#scope"},{"include":"#frontmatter"},{"include":"#text"}],"repository":{"attribute-literal":{"begin":"(\`)","end":"\\\\1","name":"string.template.astro","patterns":[{"include":"source.tsx#template-substitution-element"},{"include":"source.tsx#string-character-escape"}]},"attributes":{"patterns":[{"include":"#attributes-events"},{"include":"#attributes-keyvalue"},{"include":"#attributes-interpolated"}]},"attributes-events":{"begin":"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![-:\\\\\\\\w])","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#interpolation"},{"include":"#attribute-literal"},{"begin":"(?=[^/<=>\`\\\\s]|/(?!>))","end":"(?!\\\\G)","name":"meta.embedded.line.js","patterns":[{"captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}},"match":"(([^\\"'/<=>\`\\\\s]|/(?!>))+)","name":"string.unquoted.astro"},{"begin":"(\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n\\"/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=\\")|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=\\")|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]},{"begin":"(')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n'/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=')|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=')|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]}]}]}]},"attributes-interpolated":{"begin":"(?<![:=])\\\\s*(\\\\{)","contentName":"meta.embedded.expression.astro source.tsx","end":"(})","patterns":[{"include":"source.tsx"}]},"attributes-keyvalue":{"begin":"([$@_[:alpha:]][-$.:_[:alnum:]]*)","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#attributes-value"}]}]},"attributes-value":{"patterns":[{"include":"#interpolation"},{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.astro"},{"begin":"([\\"'])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro"},{"include":"#attribute-literal"}]},"comments":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.astro"}},"end":"-->","name":"comment.block.astro","patterns":[{"match":"\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>","name":"invalid.illegal.characters-not-allowed-here.astro"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.astro"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.astro"}]},"frontmatter":{"begin":"\\\\A(-{3})\\\\s*$","beginCaptures":{"1":{"name":"comment"}},"contentName":"source.ts","end":"(^|\\\\G)(-{3})|\\\\.{3}\\\\s*$","endCaptures":{"2":{"name":"comment"}},"patterns":[{"include":"source.ts"}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"contentName":"meta.embedded.expression.astro source.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"match":"(</)(.*?)\\\\s*(>)|(/>)"},"tags-general-end":{"begin":"(</)([^/>\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(s(?:cript|tyle))","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.$1.astro","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(application/ld\\\\+json)\\\\2)","end":"(?=</|/>)","name":"meta.lang.json.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(module)\\\\2)","end":"(?=</|/>)","name":"meta.lang.javascript.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/|application/)?([+/\\\\w]+)\\\\2)","end":"(?=</|/>)","name":"meta.lang.$3.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}},"name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-name":{"patterns":[{"match":"[A-Z][0-9A-Z_a-z]*","name":"support.class.component.astro"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.astro entity.name.tag.astro"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.astro"}]},"tags-raw":{"begin":"<([^!/<>?\\\\s]+)(?=[^>]+is:raw).*?","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"contentName":"source.unknown","end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.raw.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.astro"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}},"name":"meta.tag.void.astro","patterns":[{"include":"#attributes"}]},"text":{"patterns":[{"begin":"(?<=^|---|[>}])","end":"(?=[<{]|$)","name":"text.astro","patterns":[{"include":"#entities"}]}]}},"scopeName":"source.astro","embeddedLangs":["json","javascript","typescript","css","postcss","tsx"],"embeddedLangsLazy":["sass","scss","stylus","less"]}`)),s=[...e,...t,...n,...r,...i,...a,o];export{s as default};
2
+ //# sourceMappingURL=astro-BZ97kZFP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astro-BZ97kZFP.js","names":["json","javascript","typescript","css","postcss","tsx","json_default","typescript_default","css_default","postcss_default","tsx_default","lang","astro_default","javascript_default"],"sources":["../../node_modules/.pnpm/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/astro.mjs"],"sourcesContent":["import json from './json.mjs'\nimport javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport postcss from './postcss.mjs'\nimport tsx from './tsx.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Astro\\\",\\\"fileTypes\\\":[\\\"astro\\\"],\\\"injections\\\":{\\\"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:(meta.script.astro) (meta.lang.json) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]}]},\\\"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"L:meta.script.astro - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:meta.style.astro - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.astro meta.lang.css - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.astro meta.lang.less - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.less\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]}]},\\\"L:meta.style.astro meta.lang.postcss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.postcss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.postcss\\\"}]}]},\\\"L:meta.style.astro meta.lang.sass - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.sass\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]}]},\\\"L:meta.style.astro meta.lang.scss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.scss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]}]},\\\"L:meta.style.astro meta.lang.stylus - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.stylus\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.stylus\\\"}]}]}},\\\"name\\\":\\\"astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scope\\\"},{\\\"include\\\":\\\"#frontmatter\\\"},{\\\"include\\\":\\\"#text\\\"}],\\\"repository\\\":{\\\"attribute-literal\\\":{\\\"begin\\\":\\\"(`)\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.template.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#template-substitution-element\\\"},{\\\"include\\\":\\\"source.tsx#string-character-escape\\\"}]},\\\"attributes\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-events\\\"},{\\\"include\\\":\\\"#attributes-keyvalue\\\"},{\\\"include\\\":\\\"#attributes-interpolated\\\"}]},\\\"attributes-events\\\":{\\\"begin\\\":\\\"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![-:\\\\\\\\\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"entity.other.attribute-name.astro\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.astro\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"},{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"(')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]}]}]},\\\"attributes-interpolated\\\":{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(\\\\\\\\{)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.astro source.tsx\\\",\\\"end\\\":\\\"(})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}]},\\\"attributes-keyvalue\\\":{\\\"begin\\\":\\\"([$@_[:alpha:]][-$.:_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"entity.other.attribute-name.astro\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.astro\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"}]},\\\"comments\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.astro\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.astro\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.astro\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.astro\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.astro\\\"}]},\\\"frontmatter\\\":{\\\"begin\\\":\\\"\\\\\\\\A(-{3})\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(-{3})|\\\\\\\\.{3}\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.astro\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.astro source.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.astro\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#object-literal\\\"}]},{\\\"include\\\":\\\"source.tsx\\\"}]}]},\\\"scope\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#tags\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-raw\\\"},{\\\"include\\\":\\\"#tags-lang\\\"},{\\\"include\\\":\\\"#tags-void\\\"},{\\\"include\\\":\\\"#tags-general-end\\\"},{\\\"include\\\":\\\"#tags-general-start\\\"}]},\\\"tags-end-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"match\\\":\\\"(</)(.*?)\\\\\\\\s*(>)|(/>)\\\"},\\\"tags-general-end\\\":{\\\"begin\\\":\\\"(</)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\"},\\\"tags-general-start\\\":{\\\"begin\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-attributes\\\"}]},\\\"tags-lang\\\":{\\\"begin\\\":\\\"<(s(?:cript|tyle))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"</\\\\\\\\1\\\\\\\\s*>|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/)?(application/ld\\\\\\\\+json)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.json.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(module)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.javascript.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/|application/)?([+/\\\\\\\\w]+)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.$3.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-lang-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"support.class.component.astro\\\"},{\\\"match\\\":\\\"[a-z][0-:\\\\\\\\w]*-[-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.tag.custom.astro entity.name.tag.astro\\\"},{\\\"match\\\":\\\"[a-z][-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.tag.astro\\\"}]},\\\"tags-raw\\\":{\\\"begin\\\":\\\"<([^!/<>?\\\\\\\\s]+)(?=[^>]+is:raw).*?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"contentName\\\":\\\"source.unknown\\\",\\\"end\\\":\\\"</\\\\\\\\1\\\\\\\\s*>|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.raw.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-start-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"match\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\"},\\\"tags-void\\\":{\\\"begin\\\":\\\"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.astro\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"}},\\\"name\\\":\\\"meta.tag.void.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"text\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|---|[>}])\\\",\\\"end\\\":\\\"(?=[<{]|$)\\\",\\\"name\\\":\\\"text.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]}},\\\"scopeName\\\":\\\"source.astro\\\",\\\"embeddedLangs\\\":[\\\"json\\\",\\\"javascript\\\",\\\"typescript\\\",\\\"css\\\",\\\"postcss\\\",\\\"tsx\\\"],\\\"embeddedLangsLazy\\\":[\\\"sass\\\",\\\"scss\\\",\\\"stylus\\\",\\\"less\\\"]}\"))\n\nexport default [\n...json,\n...javascript,\n...typescript,\n...css,\n...postcss,\n...tsx,\nlang\n]\n"],"ignoreList":[0],"mappings":"kPAOA,IAAMW,EAAO,OAAO,OAAO,KAAK,MAAM,ipuBAA6jxB,CAAC,EAEpmxBC,EAAe,CACf,GAAGZ,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHM,CACA"}