@savvy-web/silk 3.10.2 → 3.10.4

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.
@@ -2925,7 +2925,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
2925
2925
  */
2926
2926
  const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
2927
2927
  //#endregion
2928
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownNode.js
2928
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownNode.js
2929
2929
  /**
2930
2930
  * A single point in a source document: 1-based `line` and `column`, 0-based
2931
2931
  * `offset`.
@@ -3249,6 +3249,8 @@ const PhrasingContent = effect.Schema.suspend(() => effect.Schema.Union([
3249
3249
  InlineCode,
3250
3250
  Link,
3251
3251
  LinkReference,
3252
+ MdxJsxTextElement,
3253
+ MdxTextExpression,
3252
3254
  Strong,
3253
3255
  Text
3254
3256
  ]));
@@ -3492,6 +3494,8 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
3492
3494
  Heading,
3493
3495
  Html,
3494
3496
  List,
3497
+ MdxFlowExpression,
3498
+ MdxJsxFlowElement,
3495
3499
  Paragraph,
3496
3500
  Table,
3497
3501
  ThematicBreak
@@ -3506,6 +3510,147 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
3506
3510
  */
3507
3511
  const ListContent = effect.Schema.suspend(() => effect.Schema.Union([ListItem]));
3508
3512
  /**
3513
+ * MdxJsxAttributeValueExpression — a JSX attribute value written as an
3514
+ * expression (`<a b={c} />`); `value` holds the expression source text
3515
+ * between the braces, never evaluated or parsed.
3516
+ *
3517
+ * The primary construction path is a JSON-encoded prop:
3518
+ * `MdxJsxAttributeValueExpression.make({ value: JSON.stringify(props) })`.
3519
+ *
3520
+ * @public
3521
+ */
3522
+ var MdxJsxAttributeValueExpression = class extends effect.Schema.Class("MdxJsxAttributeValueExpression")({
3523
+ type: effect.Schema.tag("mdxJsxAttributeValueExpression"),
3524
+ value: effect.Schema.String,
3525
+ position: NodePosition
3526
+ }) {};
3527
+ /**
3528
+ * MdxJsxAttribute — a named JSX attribute (`<a b="c" />`). `value` is a
3529
+ * string literal, a {@link MdxJsxAttributeValueExpression}, or — for a
3530
+ * boolean attribute (`<a b />`) — absent or `null`, both of which the
3531
+ * mdast-util-mdx-jsx contract spells (its parser writes `null`; absence is
3532
+ * the constructed-tree spelling). The serializer treats the two identically.
3533
+ *
3534
+ * `name` must be non-empty — an attribute without a name has no MDX spelling,
3535
+ * so the schema refuses it at construction and decode (the oracle's
3536
+ * serialize-time crash, moved to the admission boundary).
3537
+ *
3538
+ * @public
3539
+ */
3540
+ var MdxJsxAttribute = class extends effect.Schema.Class("MdxJsxAttribute")(effect.Schema.Struct({
3541
+ type: effect.Schema.tag("mdxJsxAttribute"),
3542
+ name: effect.Schema.String,
3543
+ value: effect.Schema.optionalKey(effect.Schema.NullOr(effect.Schema.Union([MdxJsxAttributeValueExpression, effect.Schema.String]))),
3544
+ position: NodePosition
3545
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((attribute) => attribute.name.length === 0 ? "an MDX JSX attribute requires a non-empty name" : void 0)))) {};
3546
+ /**
3547
+ * MdxJsxExpressionAttribute — a JSX attribute written whole as an expression
3548
+ * (`<a {...b} />`); `value` holds the expression source text between the
3549
+ * braces.
3550
+ *
3551
+ * @public
3552
+ */
3553
+ var MdxJsxExpressionAttribute = class extends effect.Schema.Class("MdxJsxExpressionAttribute")({
3554
+ type: effect.Schema.tag("mdxJsxExpressionAttribute"),
3555
+ value: effect.Schema.String,
3556
+ position: NodePosition
3557
+ }) {};
3558
+ /**
3559
+ * The union of every node that may appear in a JSX element's `attributes`
3560
+ * array. A real `Schema.Union` for the construction pass-through documented
3561
+ * on `RowContent`.
3562
+ *
3563
+ * Attribute carriers are node-shaped values — they carry `type` and
3564
+ * `position` per the mdast-util-mdx-jsx contract — but they are **not tree
3565
+ * content**: they never appear in a `children` array, so they are excluded
3566
+ * from `MarkdownNode` and invisible to the visitor and to
3567
+ * `MarkdownDocument.find`.
3568
+ *
3569
+ * @public
3570
+ */
3571
+ const MdxJsxAttributeContent = effect.Schema.Union([MdxJsxAttribute, MdxJsxExpressionAttribute]);
3572
+ /**
3573
+ * MdxJsxFlowElement — a JSX element in flow (block) position (`<Component />`
3574
+ * on its own lines). `name` is `null` for a fragment (`<></>`); children are
3575
+ * flow content, per the oracle's `BlockContent | DefinitionContent` model.
3576
+ *
3577
+ * A fragment cannot carry attributes — that shape has no MDX spelling — so
3578
+ * the schema refuses it at construction and decode. A **named** element's
3579
+ * name must be non-empty on the same terms: `""` has no MDX spelling either
3580
+ * (the oracle's parser only ever produces a real name or `null`, and its
3581
+ * serializer treats a falsy name as the fragment), so `null` is the one
3582
+ * fragment spelling and the empty string fails typed.
3583
+ *
3584
+ * @public
3585
+ */
3586
+ var MdxJsxFlowElement = class extends effect.Schema.Class("MdxJsxFlowElement")(effect.Schema.Struct({
3587
+ type: effect.Schema.tag("mdxJsxFlowElement"),
3588
+ name: effect.Schema.NullOr(effect.Schema.String),
3589
+ attributes: effect.Schema.Array(MdxJsxAttributeContent),
3590
+ children: effect.Schema.Array(effect.Schema.suspend(() => FlowContent)),
3591
+ position: NodePosition
3592
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
3593
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3594
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3595
+ })))) {};
3596
+ /**
3597
+ * MdxJsxTextElement — a JSX element in text (phrasing) position
3598
+ * (`a <b>c</b> d`). `name` is `null` for a fragment; children are phrasing
3599
+ * content. Refuses attributes on a fragment and an empty-string name, on the
3600
+ * same terms as {@link MdxJsxFlowElement}.
3601
+ *
3602
+ * @public
3603
+ */
3604
+ var MdxJsxTextElement = class extends effect.Schema.Class("MdxJsxTextElement")(effect.Schema.Struct({
3605
+ type: effect.Schema.tag("mdxJsxTextElement"),
3606
+ name: effect.Schema.NullOr(effect.Schema.String),
3607
+ attributes: effect.Schema.Array(MdxJsxAttributeContent),
3608
+ children: effect.Schema.Array(effect.Schema.suspend(() => PhrasingContent)),
3609
+ position: NodePosition
3610
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
3611
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3612
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3613
+ })))) {};
3614
+ /**
3615
+ * MdxFlowExpression — an expression in flow (block) position (`{a + b}` on
3616
+ * its own lines); `value` holds the expression source text between the
3617
+ * braces.
3618
+ *
3619
+ * @public
3620
+ */
3621
+ var MdxFlowExpression = class extends effect.Schema.Class("MdxFlowExpression")({
3622
+ type: effect.Schema.tag("mdxFlowExpression"),
3623
+ value: effect.Schema.String,
3624
+ position: NodePosition
3625
+ }) {};
3626
+ /**
3627
+ * MdxTextExpression — an expression in text (phrasing) position
3628
+ * (`a {b} c`); `value` holds the expression source text between the braces.
3629
+ *
3630
+ * @public
3631
+ */
3632
+ var MdxTextExpression = class extends effect.Schema.Class("MdxTextExpression")({
3633
+ type: effect.Schema.tag("mdxTextExpression"),
3634
+ value: effect.Schema.String,
3635
+ position: NodePosition
3636
+ }) {};
3637
+ /**
3638
+ * MdxjsEsm — an MDX ESM block (`import`/`export` statements); `value` holds
3639
+ * the statement source verbatim.
3640
+ *
3641
+ * Only ever a child of {@link Root}, per the mdast-util-mdxjs-esm content
3642
+ * registration — ESM cannot nest inside a JSX element or any other
3643
+ * container. As with the frontmatter head node, the constraint is structural
3644
+ * (the `Root` children union admits it, no other union does), not validated.
3645
+ *
3646
+ * @public
3647
+ */
3648
+ var MdxjsEsm = class extends effect.Schema.Class("MdxjsEsm")({
3649
+ type: effect.Schema.tag("mdxjsEsm"),
3650
+ value: effect.Schema.String,
3651
+ position: NodePosition
3652
+ }) {};
3653
+ /**
3509
3654
  * The frontmatter formats the capture recognizes, keyed by their opening
3510
3655
  * fence: `---` is yaml, `+++` is toml and `---json` is json.
3511
3656
  *
@@ -3556,13 +3701,18 @@ const FrontmatterContent = effect.Schema.suspend(() => Frontmatter);
3556
3701
  * mdast leaves a root's content model open; a parsed markdown document is
3557
3702
  * flow content, optionally headed by one {@link Frontmatter} node — mdast's
3558
3703
  * `FlowContentFrontmatter` merge, which admits frontmatter at the root and
3559
- * nowhere else.
3704
+ * nowhere else. {@link MdxjsEsm} is likewise admitted at the root and nowhere
3705
+ * else, per mdast-util-mdxjs-esm's `RootContentMap` registration.
3560
3706
  *
3561
3707
  * @public
3562
3708
  */
3563
3709
  var Root = class extends effect.Schema.Class("Root")({
3564
3710
  type: effect.Schema.tag("root"),
3565
- children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([Frontmatter, FlowContent]))),
3711
+ children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
3712
+ Frontmatter,
3713
+ MdxjsEsm,
3714
+ FlowContent
3715
+ ]))),
3566
3716
  position: NodePosition
3567
3717
  }) {};
3568
3718
  effect.Schema.suspend(() => effect.Schema.Union([
@@ -3570,12 +3720,67 @@ effect.Schema.suspend(() => effect.Schema.Union([
3570
3720
  FrontmatterContent,
3571
3721
  FlowContent,
3572
3722
  ListContent,
3723
+ MdxjsEsm,
3573
3724
  PhrasingContent,
3574
3725
  RowContent,
3575
3726
  TableContent
3576
3727
  ]));
3577
3728
  //#endregion
3578
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3729
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/frontmatter.js
3730
+ const FENCES = /* @__PURE__ */ new Map([
3731
+ ["---", {
3732
+ format: "yaml",
3733
+ close: "---"
3734
+ }],
3735
+ ["+++", {
3736
+ format: "toml",
3737
+ close: "+++"
3738
+ }],
3739
+ ["---json", {
3740
+ format: "json",
3741
+ close: "---"
3742
+ }]
3743
+ ]);
3744
+ /**
3745
+ * Scan the head of a preprocessed document for a frontmatter block.
3746
+ *
3747
+ * `lines` is the preprocessor's line table (U+0000 already replaced,
3748
+ * terminators stripped, absolute `start` offsets); `text` is the original
3749
+ * source, consulted only for the terminators between value lines — a
3750
+ * terminator can never contain U+0000, so slicing it from the source is
3751
+ * exact, and the value keeps CRLF interiors verbatim while the line content
3752
+ * keeps the preprocessor's U+FFFD replacement.
3753
+ *
3754
+ * Returns `null` when the document has no frontmatter — which is the common
3755
+ * case and never an error.
3756
+ */
3757
+ const scanFrontmatter = (lines, text) => {
3758
+ const opening = lines[0];
3759
+ if (opening === void 0 || opening.start !== 0) return null;
3760
+ const rule = FENCES.get(opening.text);
3761
+ if (rule === void 0) return null;
3762
+ for (let index = 1; index < lines.length; index += 1) {
3763
+ const line = lines[index];
3764
+ if (line === void 0 || line.text !== rule.close) continue;
3765
+ const parts = [];
3766
+ for (let inner = 1; inner < index; inner += 1) {
3767
+ const current = lines[inner];
3768
+ const next = lines[inner + 1];
3769
+ if (current === void 0 || next === void 0) break;
3770
+ parts.push(current.text);
3771
+ if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
3772
+ }
3773
+ return {
3774
+ format: rule.format,
3775
+ value: parts.join(""),
3776
+ lineCount: index + 1,
3777
+ endOffset: line.start + line.text.length
3778
+ };
3779
+ }
3780
+ return null;
3781
+ };
3782
+ //#endregion
3783
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3579
3784
  /**
3580
3785
  * Discriminator values for JSONC AST node types: the JSON value types
3581
3786
  * (`string`/`number`/`boolean`/`null`), the structural types
@@ -3750,7 +3955,7 @@ function evaluateNode(node, depth) {
3750
3955
  }
3751
3956
  }
3752
3957
  //#endregion
3753
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3958
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3754
3959
  const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
3755
3960
  const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
3756
3961
  const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
@@ -4044,7 +4249,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4044
4249
  };
4045
4250
  };
4046
4251
  //#endregion
4047
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4252
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4048
4253
  /**
4049
4254
  * Iteratively consume the value beginning at the cursor's current token and
4050
4255
  * return its tight end offset (excludes trailing whitespace/comments).
@@ -4074,7 +4279,7 @@ const skipBalancedValue = (cursor) => {
4074
4279
  return end;
4075
4280
  };
4076
4281
  //#endregion
4077
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4282
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4078
4283
  /**
4079
4284
  * The public parse-error code vocabulary. The facade builds its `@public`
4080
4285
  * `JsoncParseErrorCode` schema from this array; the parser produces these codes
@@ -4487,7 +4692,7 @@ const parseTree$2 = (text, flags) => {
4487
4692
  };
4488
4693
  };
4489
4694
  //#endregion
4490
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4695
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4491
4696
  /**
4492
4697
  * The single public parse-error code vocabulary, appearing as the `code` field
4493
4698
  * of {@link JsoncParseErrorDetail}.
@@ -5091,7 +5296,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
5091
5296
  }
5092
5297
  };
5093
5298
  //#endregion
5094
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5299
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5095
5300
  /**
5096
5301
  * Resolve `path` against `text`, returning where the target is (or where it
5097
5302
  * would be inserted). `path` must be non-empty — the whole-document case is
@@ -5218,7 +5423,7 @@ function navigate(text, path) {
5218
5423
  return { _tag: "NoOp" };
5219
5424
  }
5220
5425
  //#endregion
5221
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5426
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5222
5427
  /**
5223
5428
  * Raised when `JsoncModifier.modify` cannot navigate the requested path: the
5224
5429
  * value at `depth` is not the container kind (`expected`) the next path segment
@@ -5346,7 +5551,7 @@ var JsoncModifier = class {
5346
5551
  });
5347
5552
  };
5348
5553
  //#endregion
5349
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/carriers.js
5554
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/carriers.js
5350
5555
  /**
5351
5556
  * P1's error-code vocabulary. Widens as later phases add parse-error kinds;
5352
5557
  * P1 registers exactly one, the hardening-guard trip.
@@ -5386,7 +5591,7 @@ var GuardExceeded$1 = class extends Error {
5386
5591
  /** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
5387
5592
  const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
5388
5593
  //#endregion
5389
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownDiagnostic.js
5594
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownDiagnostic.js
5390
5595
  /**
5391
5596
  * Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
5392
5597
  * registers exactly the hardening-guard trip; later phases widen the union
@@ -5466,7 +5671,7 @@ function lineChar(text, offset) {
5466
5671
  };
5467
5672
  }
5468
5673
  //#endregion
5469
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockTypes.js
5674
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockTypes.js
5470
5675
  /** Narrow materialized children to the flow content most constructs contain. */
5471
5676
  const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
5472
5677
  /** Narrow materialized children to the list items a list contains. */
@@ -5491,7 +5696,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
5491
5696
  data: {}
5492
5697
  });
5493
5698
  //#endregion
5494
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/preprocess.js
5699
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/preprocess.js
5495
5700
  /**
5496
5701
  * Split `text` into lines, preserving each line's absolute start offset.
5497
5702
  *
@@ -5545,7 +5750,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
5545
5750
  */
5546
5751
  const columnsToNextTabStop = (column) => 4 - column % 4;
5547
5752
  //#endregion
5548
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/htmlTags.js
5753
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/htmlTags.js
5549
5754
  const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
5550
5755
  /** An opening tag, with any attributes and an optional self-closing slash. */
5551
5756
  const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
@@ -5556,7 +5761,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
5556
5761
  /** {@link HTMLTAG}, anchored for matching at a cursor. */
5557
5762
  const reHtmlTag = new RegExp(`^${HTMLTAG}`);
5558
5763
  //#endregion
5559
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5764
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5560
5765
  const C_LESSTHAN$3 = 60;
5561
5766
  const reHtmlBlockOpen = [
5562
5767
  /./,
@@ -5622,7 +5827,7 @@ const htmlBlockStart = {
5622
5827
  }
5623
5828
  };
5624
5829
  //#endregion
5625
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5830
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5626
5831
  const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
5627
5832
  const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
5628
5833
  const reClosingHashes = /[ \t]+#+[ \t]*$/;
@@ -5672,7 +5877,7 @@ const atxHeadingStart = {
5672
5877
  }
5673
5878
  };
5674
5879
  //#endregion
5675
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/blockquote.js
5880
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/blockquote.js
5676
5881
  const C_GREATERTHAN = 62;
5677
5882
  /** Blockquote: continues while each line carries its `>` marker. */
5678
5883
  const blockquoteConstruct = {
@@ -5706,11 +5911,11 @@ const blockquoteStart = {
5706
5911
  }
5707
5912
  };
5708
5913
  //#endregion
5709
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entityMap.js
5914
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entityMap.js
5710
5915
  /** The HTML5 named character references, keyed without `&` or `;`. */
5711
5916
  const ENTITY_MAP = new Map(JSON.parse("[[\"AElig\",\"Æ\"],[\"AMP\",\"&\"],[\"Aacute\",\"Á\"],[\"Abreve\",\"Ă\"],[\"Acirc\",\"Â\"],[\"Acy\",\"А\"],[\"Afr\",\"𝔄\"],[\"Agrave\",\"À\"],[\"Alpha\",\"Α\"],[\"Amacr\",\"Ā\"],[\"And\",\"⩓\"],[\"Aogon\",\"Ą\"],[\"Aopf\",\"𝔸\"],[\"ApplyFunction\",\"⁡\"],[\"Aring\",\"Å\"],[\"Ascr\",\"𝒜\"],[\"Assign\",\"≔\"],[\"Atilde\",\"Ã\"],[\"Auml\",\"Ä\"],[\"Backslash\",\"∖\"],[\"Barv\",\"⫧\"],[\"Barwed\",\"⌆\"],[\"Bcy\",\"Б\"],[\"Because\",\"∵\"],[\"Bernoullis\",\"ℬ\"],[\"Beta\",\"Β\"],[\"Bfr\",\"𝔅\"],[\"Bopf\",\"𝔹\"],[\"Breve\",\"˘\"],[\"Bscr\",\"ℬ\"],[\"Bumpeq\",\"≎\"],[\"CHcy\",\"Ч\"],[\"COPY\",\"©\"],[\"Cacute\",\"Ć\"],[\"Cap\",\"⋒\"],[\"CapitalDifferentialD\",\"ⅅ\"],[\"Cayleys\",\"ℭ\"],[\"Ccaron\",\"Č\"],[\"Ccedil\",\"Ç\"],[\"Ccirc\",\"Ĉ\"],[\"Cconint\",\"∰\"],[\"Cdot\",\"Ċ\"],[\"Cedilla\",\"¸\"],[\"CenterDot\",\"·\"],[\"Cfr\",\"ℭ\"],[\"Chi\",\"Χ\"],[\"CircleDot\",\"⊙\"],[\"CircleMinus\",\"⊖\"],[\"CirclePlus\",\"⊕\"],[\"CircleTimes\",\"⊗\"],[\"ClockwiseContourIntegral\",\"∲\"],[\"CloseCurlyDoubleQuote\",\"”\"],[\"CloseCurlyQuote\",\"’\"],[\"Colon\",\"∷\"],[\"Colone\",\"⩴\"],[\"Congruent\",\"≡\"],[\"Conint\",\"∯\"],[\"ContourIntegral\",\"∮\"],[\"Copf\",\"ℂ\"],[\"Coproduct\",\"∐\"],[\"CounterClockwiseContourIntegral\",\"∳\"],[\"Cross\",\"⨯\"],[\"Cscr\",\"𝒞\"],[\"Cup\",\"⋓\"],[\"CupCap\",\"≍\"],[\"DD\",\"ⅅ\"],[\"DDotrahd\",\"⤑\"],[\"DJcy\",\"Ђ\"],[\"DScy\",\"Ѕ\"],[\"DZcy\",\"Џ\"],[\"Dagger\",\"‡\"],[\"Darr\",\"↡\"],[\"Dashv\",\"⫤\"],[\"Dcaron\",\"Ď\"],[\"Dcy\",\"Д\"],[\"Del\",\"∇\"],[\"Delta\",\"Δ\"],[\"Dfr\",\"𝔇\"],[\"DiacriticalAcute\",\"´\"],[\"DiacriticalDot\",\"˙\"],[\"DiacriticalDoubleAcute\",\"˝\"],[\"DiacriticalGrave\",\"`\"],[\"DiacriticalTilde\",\"˜\"],[\"Diamond\",\"⋄\"],[\"DifferentialD\",\"ⅆ\"],[\"Dopf\",\"𝔻\"],[\"Dot\",\"¨\"],[\"DotDot\",\"⃜\"],[\"DotEqual\",\"≐\"],[\"DoubleContourIntegral\",\"∯\"],[\"DoubleDot\",\"¨\"],[\"DoubleDownArrow\",\"⇓\"],[\"DoubleLeftArrow\",\"⇐\"],[\"DoubleLeftRightArrow\",\"⇔\"],[\"DoubleLeftTee\",\"⫤\"],[\"DoubleLongLeftArrow\",\"⟸\"],[\"DoubleLongLeftRightArrow\",\"⟺\"],[\"DoubleLongRightArrow\",\"⟹\"],[\"DoubleRightArrow\",\"⇒\"],[\"DoubleRightTee\",\"⊨\"],[\"DoubleUpArrow\",\"⇑\"],[\"DoubleUpDownArrow\",\"⇕\"],[\"DoubleVerticalBar\",\"∥\"],[\"DownArrow\",\"↓\"],[\"DownArrowBar\",\"⤓\"],[\"DownArrowUpArrow\",\"⇵\"],[\"DownBreve\",\"̑\"],[\"DownLeftRightVector\",\"⥐\"],[\"DownLeftTeeVector\",\"⥞\"],[\"DownLeftVector\",\"↽\"],[\"DownLeftVectorBar\",\"⥖\"],[\"DownRightTeeVector\",\"⥟\"],[\"DownRightVector\",\"⇁\"],[\"DownRightVectorBar\",\"⥗\"],[\"DownTee\",\"⊤\"],[\"DownTeeArrow\",\"↧\"],[\"Downarrow\",\"⇓\"],[\"Dscr\",\"𝒟\"],[\"Dstrok\",\"Đ\"],[\"ENG\",\"Ŋ\"],[\"ETH\",\"Ð\"],[\"Eacute\",\"É\"],[\"Ecaron\",\"Ě\"],[\"Ecirc\",\"Ê\"],[\"Ecy\",\"Э\"],[\"Edot\",\"Ė\"],[\"Efr\",\"𝔈\"],[\"Egrave\",\"È\"],[\"Element\",\"∈\"],[\"Emacr\",\"Ē\"],[\"EmptySmallSquare\",\"◻\"],[\"EmptyVerySmallSquare\",\"▫\"],[\"Eogon\",\"Ę\"],[\"Eopf\",\"𝔼\"],[\"Epsilon\",\"Ε\"],[\"Equal\",\"⩵\"],[\"EqualTilde\",\"≂\"],[\"Equilibrium\",\"⇌\"],[\"Escr\",\"ℰ\"],[\"Esim\",\"⩳\"],[\"Eta\",\"Η\"],[\"Euml\",\"Ë\"],[\"Exists\",\"∃\"],[\"ExponentialE\",\"ⅇ\"],[\"Fcy\",\"Ф\"],[\"Ffr\",\"𝔉\"],[\"FilledSmallSquare\",\"◼\"],[\"FilledVerySmallSquare\",\"▪\"],[\"Fopf\",\"𝔽\"],[\"ForAll\",\"∀\"],[\"Fouriertrf\",\"ℱ\"],[\"Fscr\",\"ℱ\"],[\"GJcy\",\"Ѓ\"],[\"GT\",\">\"],[\"Gamma\",\"Γ\"],[\"Gammad\",\"Ϝ\"],[\"Gbreve\",\"Ğ\"],[\"Gcedil\",\"Ģ\"],[\"Gcirc\",\"Ĝ\"],[\"Gcy\",\"Г\"],[\"Gdot\",\"Ġ\"],[\"Gfr\",\"𝔊\"],[\"Gg\",\"⋙\"],[\"Gopf\",\"𝔾\"],[\"GreaterEqual\",\"≥\"],[\"GreaterEqualLess\",\"⋛\"],[\"GreaterFullEqual\",\"≧\"],[\"GreaterGreater\",\"⪢\"],[\"GreaterLess\",\"≷\"],[\"GreaterSlantEqual\",\"⩾\"],[\"GreaterTilde\",\"≳\"],[\"Gscr\",\"𝒢\"],[\"Gt\",\"≫\"],[\"HARDcy\",\"Ъ\"],[\"Hacek\",\"ˇ\"],[\"Hat\",\"^\"],[\"Hcirc\",\"Ĥ\"],[\"Hfr\",\"ℌ\"],[\"HilbertSpace\",\"ℋ\"],[\"Hopf\",\"ℍ\"],[\"HorizontalLine\",\"─\"],[\"Hscr\",\"ℋ\"],[\"Hstrok\",\"Ħ\"],[\"HumpDownHump\",\"≎\"],[\"HumpEqual\",\"≏\"],[\"IEcy\",\"Е\"],[\"IJlig\",\"IJ\"],[\"IOcy\",\"Ё\"],[\"Iacute\",\"Í\"],[\"Icirc\",\"Î\"],[\"Icy\",\"И\"],[\"Idot\",\"İ\"],[\"Ifr\",\"ℑ\"],[\"Igrave\",\"Ì\"],[\"Im\",\"ℑ\"],[\"Imacr\",\"Ī\"],[\"ImaginaryI\",\"ⅈ\"],[\"Implies\",\"⇒\"],[\"Int\",\"∬\"],[\"Integral\",\"∫\"],[\"Intersection\",\"⋂\"],[\"InvisibleComma\",\"⁣\"],[\"InvisibleTimes\",\"⁢\"],[\"Iogon\",\"Į\"],[\"Iopf\",\"𝕀\"],[\"Iota\",\"Ι\"],[\"Iscr\",\"ℐ\"],[\"Itilde\",\"Ĩ\"],[\"Iukcy\",\"І\"],[\"Iuml\",\"Ï\"],[\"Jcirc\",\"Ĵ\"],[\"Jcy\",\"Й\"],[\"Jfr\",\"𝔍\"],[\"Jopf\",\"𝕁\"],[\"Jscr\",\"𝒥\"],[\"Jsercy\",\"Ј\"],[\"Jukcy\",\"Є\"],[\"KHcy\",\"Х\"],[\"KJcy\",\"Ќ\"],[\"Kappa\",\"Κ\"],[\"Kcedil\",\"Ķ\"],[\"Kcy\",\"К\"],[\"Kfr\",\"𝔎\"],[\"Kopf\",\"𝕂\"],[\"Kscr\",\"𝒦\"],[\"LJcy\",\"Љ\"],[\"LT\",\"<\"],[\"Lacute\",\"Ĺ\"],[\"Lambda\",\"Λ\"],[\"Lang\",\"⟪\"],[\"Laplacetrf\",\"ℒ\"],[\"Larr\",\"↞\"],[\"Lcaron\",\"Ľ\"],[\"Lcedil\",\"Ļ\"],[\"Lcy\",\"Л\"],[\"LeftAngleBracket\",\"⟨\"],[\"LeftArrow\",\"←\"],[\"LeftArrowBar\",\"⇤\"],[\"LeftArrowRightArrow\",\"⇆\"],[\"LeftCeiling\",\"⌈\"],[\"LeftDoubleBracket\",\"⟦\"],[\"LeftDownTeeVector\",\"⥡\"],[\"LeftDownVector\",\"⇃\"],[\"LeftDownVectorBar\",\"⥙\"],[\"LeftFloor\",\"⌊\"],[\"LeftRightArrow\",\"↔\"],[\"LeftRightVector\",\"⥎\"],[\"LeftTee\",\"⊣\"],[\"LeftTeeArrow\",\"↤\"],[\"LeftTeeVector\",\"⥚\"],[\"LeftTriangle\",\"⊲\"],[\"LeftTriangleBar\",\"⧏\"],[\"LeftTriangleEqual\",\"⊴\"],[\"LeftUpDownVector\",\"⥑\"],[\"LeftUpTeeVector\",\"⥠\"],[\"LeftUpVector\",\"↿\"],[\"LeftUpVectorBar\",\"⥘\"],[\"LeftVector\",\"↼\"],[\"LeftVectorBar\",\"⥒\"],[\"Leftarrow\",\"⇐\"],[\"Leftrightarrow\",\"⇔\"],[\"LessEqualGreater\",\"⋚\"],[\"LessFullEqual\",\"≦\"],[\"LessGreater\",\"≶\"],[\"LessLess\",\"⪡\"],[\"LessSlantEqual\",\"⩽\"],[\"LessTilde\",\"≲\"],[\"Lfr\",\"𝔏\"],[\"Ll\",\"⋘\"],[\"Lleftarrow\",\"⇚\"],[\"Lmidot\",\"Ŀ\"],[\"LongLeftArrow\",\"⟵\"],[\"LongLeftRightArrow\",\"⟷\"],[\"LongRightArrow\",\"⟶\"],[\"Longleftarrow\",\"⟸\"],[\"Longleftrightarrow\",\"⟺\"],[\"Longrightarrow\",\"⟹\"],[\"Lopf\",\"𝕃\"],[\"LowerLeftArrow\",\"↙\"],[\"LowerRightArrow\",\"↘\"],[\"Lscr\",\"ℒ\"],[\"Lsh\",\"↰\"],[\"Lstrok\",\"Ł\"],[\"Lt\",\"≪\"],[\"Map\",\"⤅\"],[\"Mcy\",\"М\"],[\"MediumSpace\",\" \"],[\"Mellintrf\",\"ℳ\"],[\"Mfr\",\"𝔐\"],[\"MinusPlus\",\"∓\"],[\"Mopf\",\"𝕄\"],[\"Mscr\",\"ℳ\"],[\"Mu\",\"Μ\"],[\"NJcy\",\"Њ\"],[\"Nacute\",\"Ń\"],[\"Ncaron\",\"Ň\"],[\"Ncedil\",\"Ņ\"],[\"Ncy\",\"Н\"],[\"NegativeMediumSpace\",\"​\"],[\"NegativeThickSpace\",\"​\"],[\"NegativeThinSpace\",\"​\"],[\"NegativeVeryThinSpace\",\"​\"],[\"NestedGreaterGreater\",\"≫\"],[\"NestedLessLess\",\"≪\"],[\"NewLine\",\"\\n\"],[\"Nfr\",\"𝔑\"],[\"NoBreak\",\"⁠\"],[\"NonBreakingSpace\",\"\xA0\"],[\"Nopf\",\"ℕ\"],[\"Not\",\"⫬\"],[\"NotCongruent\",\"≢\"],[\"NotCupCap\",\"≭\"],[\"NotDoubleVerticalBar\",\"∦\"],[\"NotElement\",\"∉\"],[\"NotEqual\",\"≠\"],[\"NotEqualTilde\",\"≂̸\"],[\"NotExists\",\"∄\"],[\"NotGreater\",\"≯\"],[\"NotGreaterEqual\",\"≱\"],[\"NotGreaterFullEqual\",\"≧̸\"],[\"NotGreaterGreater\",\"≫̸\"],[\"NotGreaterLess\",\"≹\"],[\"NotGreaterSlantEqual\",\"⩾̸\"],[\"NotGreaterTilde\",\"≵\"],[\"NotHumpDownHump\",\"≎̸\"],[\"NotHumpEqual\",\"≏̸\"],[\"NotLeftTriangle\",\"⋪\"],[\"NotLeftTriangleBar\",\"⧏̸\"],[\"NotLeftTriangleEqual\",\"⋬\"],[\"NotLess\",\"≮\"],[\"NotLessEqual\",\"≰\"],[\"NotLessGreater\",\"≸\"],[\"NotLessLess\",\"≪̸\"],[\"NotLessSlantEqual\",\"⩽̸\"],[\"NotLessTilde\",\"≴\"],[\"NotNestedGreaterGreater\",\"⪢̸\"],[\"NotNestedLessLess\",\"⪡̸\"],[\"NotPrecedes\",\"⊀\"],[\"NotPrecedesEqual\",\"⪯̸\"],[\"NotPrecedesSlantEqual\",\"⋠\"],[\"NotReverseElement\",\"∌\"],[\"NotRightTriangle\",\"⋫\"],[\"NotRightTriangleBar\",\"⧐̸\"],[\"NotRightTriangleEqual\",\"⋭\"],[\"NotSquareSubset\",\"⊏̸\"],[\"NotSquareSubsetEqual\",\"⋢\"],[\"NotSquareSuperset\",\"⊐̸\"],[\"NotSquareSupersetEqual\",\"⋣\"],[\"NotSubset\",\"⊂⃒\"],[\"NotSubsetEqual\",\"⊈\"],[\"NotSucceeds\",\"⊁\"],[\"NotSucceedsEqual\",\"⪰̸\"],[\"NotSucceedsSlantEqual\",\"⋡\"],[\"NotSucceedsTilde\",\"≿̸\"],[\"NotSuperset\",\"⊃⃒\"],[\"NotSupersetEqual\",\"⊉\"],[\"NotTilde\",\"≁\"],[\"NotTildeEqual\",\"≄\"],[\"NotTildeFullEqual\",\"≇\"],[\"NotTildeTilde\",\"≉\"],[\"NotVerticalBar\",\"∤\"],[\"Nscr\",\"𝒩\"],[\"Ntilde\",\"Ñ\"],[\"Nu\",\"Ν\"],[\"OElig\",\"Œ\"],[\"Oacute\",\"Ó\"],[\"Ocirc\",\"Ô\"],[\"Ocy\",\"О\"],[\"Odblac\",\"Ő\"],[\"Ofr\",\"𝔒\"],[\"Ograve\",\"Ò\"],[\"Omacr\",\"Ō\"],[\"Omega\",\"Ω\"],[\"Omicron\",\"Ο\"],[\"Oopf\",\"𝕆\"],[\"OpenCurlyDoubleQuote\",\"“\"],[\"OpenCurlyQuote\",\"‘\"],[\"Or\",\"⩔\"],[\"Oscr\",\"𝒪\"],[\"Oslash\",\"Ø\"],[\"Otilde\",\"Õ\"],[\"Otimes\",\"⨷\"],[\"Ouml\",\"Ö\"],[\"OverBar\",\"‾\"],[\"OverBrace\",\"⏞\"],[\"OverBracket\",\"⎴\"],[\"OverParenthesis\",\"⏜\"],[\"PartialD\",\"∂\"],[\"Pcy\",\"П\"],[\"Pfr\",\"𝔓\"],[\"Phi\",\"Φ\"],[\"Pi\",\"Π\"],[\"PlusMinus\",\"±\"],[\"Poincareplane\",\"ℌ\"],[\"Popf\",\"ℙ\"],[\"Pr\",\"⪻\"],[\"Precedes\",\"≺\"],[\"PrecedesEqual\",\"⪯\"],[\"PrecedesSlantEqual\",\"≼\"],[\"PrecedesTilde\",\"≾\"],[\"Prime\",\"″\"],[\"Product\",\"∏\"],[\"Proportion\",\"∷\"],[\"Proportional\",\"∝\"],[\"Pscr\",\"𝒫\"],[\"Psi\",\"Ψ\"],[\"QUOT\",\"\\\"\"],[\"Qfr\",\"𝔔\"],[\"Qopf\",\"ℚ\"],[\"Qscr\",\"𝒬\"],[\"RBarr\",\"⤐\"],[\"REG\",\"®\"],[\"Racute\",\"Ŕ\"],[\"Rang\",\"⟫\"],[\"Rarr\",\"↠\"],[\"Rarrtl\",\"⤖\"],[\"Rcaron\",\"Ř\"],[\"Rcedil\",\"Ŗ\"],[\"Rcy\",\"Р\"],[\"Re\",\"ℜ\"],[\"ReverseElement\",\"∋\"],[\"ReverseEquilibrium\",\"⇋\"],[\"ReverseUpEquilibrium\",\"⥯\"],[\"Rfr\",\"ℜ\"],[\"Rho\",\"Ρ\"],[\"RightAngleBracket\",\"⟩\"],[\"RightArrow\",\"→\"],[\"RightArrowBar\",\"⇥\"],[\"RightArrowLeftArrow\",\"⇄\"],[\"RightCeiling\",\"⌉\"],[\"RightDoubleBracket\",\"⟧\"],[\"RightDownTeeVector\",\"⥝\"],[\"RightDownVector\",\"⇂\"],[\"RightDownVectorBar\",\"⥕\"],[\"RightFloor\",\"⌋\"],[\"RightTee\",\"⊢\"],[\"RightTeeArrow\",\"↦\"],[\"RightTeeVector\",\"⥛\"],[\"RightTriangle\",\"⊳\"],[\"RightTriangleBar\",\"⧐\"],[\"RightTriangleEqual\",\"⊵\"],[\"RightUpDownVector\",\"⥏\"],[\"RightUpTeeVector\",\"⥜\"],[\"RightUpVector\",\"↾\"],[\"RightUpVectorBar\",\"⥔\"],[\"RightVector\",\"⇀\"],[\"RightVectorBar\",\"⥓\"],[\"Rightarrow\",\"⇒\"],[\"Ropf\",\"ℝ\"],[\"RoundImplies\",\"⥰\"],[\"Rrightarrow\",\"⇛\"],[\"Rscr\",\"ℛ\"],[\"Rsh\",\"↱\"],[\"RuleDelayed\",\"⧴\"],[\"SHCHcy\",\"Щ\"],[\"SHcy\",\"Ш\"],[\"SOFTcy\",\"Ь\"],[\"Sacute\",\"Ś\"],[\"Sc\",\"⪼\"],[\"Scaron\",\"Š\"],[\"Scedil\",\"Ş\"],[\"Scirc\",\"Ŝ\"],[\"Scy\",\"С\"],[\"Sfr\",\"𝔖\"],[\"ShortDownArrow\",\"↓\"],[\"ShortLeftArrow\",\"←\"],[\"ShortRightArrow\",\"→\"],[\"ShortUpArrow\",\"↑\"],[\"Sigma\",\"Σ\"],[\"SmallCircle\",\"∘\"],[\"Sopf\",\"𝕊\"],[\"Sqrt\",\"√\"],[\"Square\",\"□\"],[\"SquareIntersection\",\"⊓\"],[\"SquareSubset\",\"⊏\"],[\"SquareSubsetEqual\",\"⊑\"],[\"SquareSuperset\",\"⊐\"],[\"SquareSupersetEqual\",\"⊒\"],[\"SquareUnion\",\"⊔\"],[\"Sscr\",\"𝒮\"],[\"Star\",\"⋆\"],[\"Sub\",\"⋐\"],[\"Subset\",\"⋐\"],[\"SubsetEqual\",\"⊆\"],[\"Succeeds\",\"≻\"],[\"SucceedsEqual\",\"⪰\"],[\"SucceedsSlantEqual\",\"≽\"],[\"SucceedsTilde\",\"≿\"],[\"SuchThat\",\"∋\"],[\"Sum\",\"∑\"],[\"Sup\",\"⋑\"],[\"Superset\",\"⊃\"],[\"SupersetEqual\",\"⊇\"],[\"Supset\",\"⋑\"],[\"THORN\",\"Þ\"],[\"TRADE\",\"™\"],[\"TSHcy\",\"Ћ\"],[\"TScy\",\"Ц\"],[\"Tab\",\"\\t\"],[\"Tau\",\"Τ\"],[\"Tcaron\",\"Ť\"],[\"Tcedil\",\"Ţ\"],[\"Tcy\",\"Т\"],[\"Tfr\",\"𝔗\"],[\"Therefore\",\"∴\"],[\"Theta\",\"Θ\"],[\"ThickSpace\",\"  \"],[\"ThinSpace\",\" \"],[\"Tilde\",\"∼\"],[\"TildeEqual\",\"≃\"],[\"TildeFullEqual\",\"≅\"],[\"TildeTilde\",\"≈\"],[\"Topf\",\"𝕋\"],[\"TripleDot\",\"⃛\"],[\"Tscr\",\"𝒯\"],[\"Tstrok\",\"Ŧ\"],[\"Uacute\",\"Ú\"],[\"Uarr\",\"↟\"],[\"Uarrocir\",\"⥉\"],[\"Ubrcy\",\"Ў\"],[\"Ubreve\",\"Ŭ\"],[\"Ucirc\",\"Û\"],[\"Ucy\",\"У\"],[\"Udblac\",\"Ű\"],[\"Ufr\",\"𝔘\"],[\"Ugrave\",\"Ù\"],[\"Umacr\",\"Ū\"],[\"UnderBar\",\"_\"],[\"UnderBrace\",\"⏟\"],[\"UnderBracket\",\"⎵\"],[\"UnderParenthesis\",\"⏝\"],[\"Union\",\"⋃\"],[\"UnionPlus\",\"⊎\"],[\"Uogon\",\"Ų\"],[\"Uopf\",\"𝕌\"],[\"UpArrow\",\"↑\"],[\"UpArrowBar\",\"⤒\"],[\"UpArrowDownArrow\",\"⇅\"],[\"UpDownArrow\",\"↕\"],[\"UpEquilibrium\",\"⥮\"],[\"UpTee\",\"⊥\"],[\"UpTeeArrow\",\"↥\"],[\"Uparrow\",\"⇑\"],[\"Updownarrow\",\"⇕\"],[\"UpperLeftArrow\",\"↖\"],[\"UpperRightArrow\",\"↗\"],[\"Upsi\",\"ϒ\"],[\"Upsilon\",\"Υ\"],[\"Uring\",\"Ů\"],[\"Uscr\",\"𝒰\"],[\"Utilde\",\"Ũ\"],[\"Uuml\",\"Ü\"],[\"VDash\",\"⊫\"],[\"Vbar\",\"⫫\"],[\"Vcy\",\"В\"],[\"Vdash\",\"⊩\"],[\"Vdashl\",\"⫦\"],[\"Vee\",\"⋁\"],[\"Verbar\",\"‖\"],[\"Vert\",\"‖\"],[\"VerticalBar\",\"∣\"],[\"VerticalLine\",\"|\"],[\"VerticalSeparator\",\"❘\"],[\"VerticalTilde\",\"≀\"],[\"VeryThinSpace\",\" \"],[\"Vfr\",\"𝔙\"],[\"Vopf\",\"𝕍\"],[\"Vscr\",\"𝒱\"],[\"Vvdash\",\"⊪\"],[\"Wcirc\",\"Ŵ\"],[\"Wedge\",\"⋀\"],[\"Wfr\",\"𝔚\"],[\"Wopf\",\"𝕎\"],[\"Wscr\",\"𝒲\"],[\"Xfr\",\"𝔛\"],[\"Xi\",\"Ξ\"],[\"Xopf\",\"𝕏\"],[\"Xscr\",\"𝒳\"],[\"YAcy\",\"Я\"],[\"YIcy\",\"Ї\"],[\"YUcy\",\"Ю\"],[\"Yacute\",\"Ý\"],[\"Ycirc\",\"Ŷ\"],[\"Ycy\",\"Ы\"],[\"Yfr\",\"𝔜\"],[\"Yopf\",\"𝕐\"],[\"Yscr\",\"𝒴\"],[\"Yuml\",\"Ÿ\"],[\"ZHcy\",\"Ж\"],[\"Zacute\",\"Ź\"],[\"Zcaron\",\"Ž\"],[\"Zcy\",\"З\"],[\"Zdot\",\"Ż\"],[\"ZeroWidthSpace\",\"​\"],[\"Zeta\",\"Ζ\"],[\"Zfr\",\"ℨ\"],[\"Zopf\",\"ℤ\"],[\"Zscr\",\"𝒵\"],[\"aacute\",\"á\"],[\"abreve\",\"ă\"],[\"ac\",\"∾\"],[\"acE\",\"∾̳\"],[\"acd\",\"∿\"],[\"acirc\",\"â\"],[\"acute\",\"´\"],[\"acy\",\"а\"],[\"aelig\",\"æ\"],[\"af\",\"⁡\"],[\"afr\",\"𝔞\"],[\"agrave\",\"à\"],[\"alefsym\",\"ℵ\"],[\"aleph\",\"ℵ\"],[\"alpha\",\"α\"],[\"amacr\",\"ā\"],[\"amalg\",\"⨿\"],[\"amp\",\"&\"],[\"and\",\"∧\"],[\"andand\",\"⩕\"],[\"andd\",\"⩜\"],[\"andslope\",\"⩘\"],[\"andv\",\"⩚\"],[\"ang\",\"∠\"],[\"ange\",\"⦤\"],[\"angle\",\"∠\"],[\"angmsd\",\"∡\"],[\"angmsdaa\",\"⦨\"],[\"angmsdab\",\"⦩\"],[\"angmsdac\",\"⦪\"],[\"angmsdad\",\"⦫\"],[\"angmsdae\",\"⦬\"],[\"angmsdaf\",\"⦭\"],[\"angmsdag\",\"⦮\"],[\"angmsdah\",\"⦯\"],[\"angrt\",\"∟\"],[\"angrtvb\",\"⊾\"],[\"angrtvbd\",\"⦝\"],[\"angsph\",\"∢\"],[\"angst\",\"Å\"],[\"angzarr\",\"⍼\"],[\"aogon\",\"ą\"],[\"aopf\",\"𝕒\"],[\"ap\",\"≈\"],[\"apE\",\"⩰\"],[\"apacir\",\"⩯\"],[\"ape\",\"≊\"],[\"apid\",\"≋\"],[\"apos\",\"'\"],[\"approx\",\"≈\"],[\"approxeq\",\"≊\"],[\"aring\",\"å\"],[\"ascr\",\"𝒶\"],[\"ast\",\"*\"],[\"asymp\",\"≈\"],[\"asympeq\",\"≍\"],[\"atilde\",\"ã\"],[\"auml\",\"ä\"],[\"awconint\",\"∳\"],[\"awint\",\"⨑\"],[\"bNot\",\"⫭\"],[\"backcong\",\"≌\"],[\"backepsilon\",\"϶\"],[\"backprime\",\"‵\"],[\"backsim\",\"∽\"],[\"backsimeq\",\"⋍\"],[\"barvee\",\"⊽\"],[\"barwed\",\"⌅\"],[\"barwedge\",\"⌅\"],[\"bbrk\",\"⎵\"],[\"bbrktbrk\",\"⎶\"],[\"bcong\",\"≌\"],[\"bcy\",\"б\"],[\"bdquo\",\"„\"],[\"becaus\",\"∵\"],[\"because\",\"∵\"],[\"bemptyv\",\"⦰\"],[\"bepsi\",\"϶\"],[\"bernou\",\"ℬ\"],[\"beta\",\"β\"],[\"beth\",\"ℶ\"],[\"between\",\"≬\"],[\"bfr\",\"𝔟\"],[\"bigcap\",\"⋂\"],[\"bigcirc\",\"◯\"],[\"bigcup\",\"⋃\"],[\"bigodot\",\"⨀\"],[\"bigoplus\",\"⨁\"],[\"bigotimes\",\"⨂\"],[\"bigsqcup\",\"⨆\"],[\"bigstar\",\"★\"],[\"bigtriangledown\",\"▽\"],[\"bigtriangleup\",\"△\"],[\"biguplus\",\"⨄\"],[\"bigvee\",\"⋁\"],[\"bigwedge\",\"⋀\"],[\"bkarow\",\"⤍\"],[\"blacklozenge\",\"⧫\"],[\"blacksquare\",\"▪\"],[\"blacktriangle\",\"▴\"],[\"blacktriangledown\",\"▾\"],[\"blacktriangleleft\",\"◂\"],[\"blacktriangleright\",\"▸\"],[\"blank\",\"␣\"],[\"blk12\",\"▒\"],[\"blk14\",\"░\"],[\"blk34\",\"▓\"],[\"block\",\"█\"],[\"bne\",\"=⃥\"],[\"bnequiv\",\"≡⃥\"],[\"bnot\",\"⌐\"],[\"bopf\",\"𝕓\"],[\"bot\",\"⊥\"],[\"bottom\",\"⊥\"],[\"bowtie\",\"⋈\"],[\"boxDL\",\"╗\"],[\"boxDR\",\"╔\"],[\"boxDl\",\"╖\"],[\"boxDr\",\"╓\"],[\"boxH\",\"═\"],[\"boxHD\",\"╦\"],[\"boxHU\",\"╩\"],[\"boxHd\",\"╤\"],[\"boxHu\",\"╧\"],[\"boxUL\",\"╝\"],[\"boxUR\",\"╚\"],[\"boxUl\",\"╜\"],[\"boxUr\",\"╙\"],[\"boxV\",\"║\"],[\"boxVH\",\"╬\"],[\"boxVL\",\"╣\"],[\"boxVR\",\"╠\"],[\"boxVh\",\"╫\"],[\"boxVl\",\"╢\"],[\"boxVr\",\"╟\"],[\"boxbox\",\"⧉\"],[\"boxdL\",\"╕\"],[\"boxdR\",\"╒\"],[\"boxdl\",\"┐\"],[\"boxdr\",\"┌\"],[\"boxh\",\"─\"],[\"boxhD\",\"╥\"],[\"boxhU\",\"╨\"],[\"boxhd\",\"┬\"],[\"boxhu\",\"┴\"],[\"boxminus\",\"⊟\"],[\"boxplus\",\"⊞\"],[\"boxtimes\",\"⊠\"],[\"boxuL\",\"╛\"],[\"boxuR\",\"╘\"],[\"boxul\",\"┘\"],[\"boxur\",\"└\"],[\"boxv\",\"│\"],[\"boxvH\",\"╪\"],[\"boxvL\",\"╡\"],[\"boxvR\",\"╞\"],[\"boxvh\",\"┼\"],[\"boxvl\",\"┤\"],[\"boxvr\",\"├\"],[\"bprime\",\"‵\"],[\"breve\",\"˘\"],[\"brvbar\",\"¦\"],[\"bscr\",\"𝒷\"],[\"bsemi\",\"⁏\"],[\"bsim\",\"∽\"],[\"bsime\",\"⋍\"],[\"bsol\",\"\\\\\"],[\"bsolb\",\"⧅\"],[\"bsolhsub\",\"⟈\"],[\"bull\",\"•\"],[\"bullet\",\"•\"],[\"bump\",\"≎\"],[\"bumpE\",\"⪮\"],[\"bumpe\",\"≏\"],[\"bumpeq\",\"≏\"],[\"cacute\",\"ć\"],[\"cap\",\"∩\"],[\"capand\",\"⩄\"],[\"capbrcup\",\"⩉\"],[\"capcap\",\"⩋\"],[\"capcup\",\"⩇\"],[\"capdot\",\"⩀\"],[\"caps\",\"∩︀\"],[\"caret\",\"⁁\"],[\"caron\",\"ˇ\"],[\"ccaps\",\"⩍\"],[\"ccaron\",\"č\"],[\"ccedil\",\"ç\"],[\"ccirc\",\"ĉ\"],[\"ccups\",\"⩌\"],[\"ccupssm\",\"⩐\"],[\"cdot\",\"ċ\"],[\"cedil\",\"¸\"],[\"cemptyv\",\"⦲\"],[\"cent\",\"¢\"],[\"centerdot\",\"·\"],[\"cfr\",\"𝔠\"],[\"chcy\",\"ч\"],[\"check\",\"✓\"],[\"checkmark\",\"✓\"],[\"chi\",\"χ\"],[\"cir\",\"○\"],[\"cirE\",\"⧃\"],[\"circ\",\"ˆ\"],[\"circeq\",\"≗\"],[\"circlearrowleft\",\"↺\"],[\"circlearrowright\",\"↻\"],[\"circledR\",\"®\"],[\"circledS\",\"Ⓢ\"],[\"circledast\",\"⊛\"],[\"circledcirc\",\"⊚\"],[\"circleddash\",\"⊝\"],[\"cire\",\"≗\"],[\"cirfnint\",\"⨐\"],[\"cirmid\",\"⫯\"],[\"cirscir\",\"⧂\"],[\"clubs\",\"♣\"],[\"clubsuit\",\"♣\"],[\"colon\",\":\"],[\"colone\",\"≔\"],[\"coloneq\",\"≔\"],[\"comma\",\",\"],[\"commat\",\"@\"],[\"comp\",\"∁\"],[\"compfn\",\"∘\"],[\"complement\",\"∁\"],[\"complexes\",\"ℂ\"],[\"cong\",\"≅\"],[\"congdot\",\"⩭\"],[\"conint\",\"∮\"],[\"copf\",\"𝕔\"],[\"coprod\",\"∐\"],[\"copy\",\"©\"],[\"copysr\",\"℗\"],[\"crarr\",\"↵\"],[\"cross\",\"✗\"],[\"cscr\",\"𝒸\"],[\"csub\",\"⫏\"],[\"csube\",\"⫑\"],[\"csup\",\"⫐\"],[\"csupe\",\"⫒\"],[\"ctdot\",\"⋯\"],[\"cudarrl\",\"⤸\"],[\"cudarrr\",\"⤵\"],[\"cuepr\",\"⋞\"],[\"cuesc\",\"⋟\"],[\"cularr\",\"↶\"],[\"cularrp\",\"⤽\"],[\"cup\",\"∪\"],[\"cupbrcap\",\"⩈\"],[\"cupcap\",\"⩆\"],[\"cupcup\",\"⩊\"],[\"cupdot\",\"⊍\"],[\"cupor\",\"⩅\"],[\"cups\",\"∪︀\"],[\"curarr\",\"↷\"],[\"curarrm\",\"⤼\"],[\"curlyeqprec\",\"⋞\"],[\"curlyeqsucc\",\"⋟\"],[\"curlyvee\",\"⋎\"],[\"curlywedge\",\"⋏\"],[\"curren\",\"¤\"],[\"curvearrowleft\",\"↶\"],[\"curvearrowright\",\"↷\"],[\"cuvee\",\"⋎\"],[\"cuwed\",\"⋏\"],[\"cwconint\",\"∲\"],[\"cwint\",\"∱\"],[\"cylcty\",\"⌭\"],[\"dArr\",\"⇓\"],[\"dHar\",\"⥥\"],[\"dagger\",\"†\"],[\"daleth\",\"ℸ\"],[\"darr\",\"↓\"],[\"dash\",\"‐\"],[\"dashv\",\"⊣\"],[\"dbkarow\",\"⤏\"],[\"dblac\",\"˝\"],[\"dcaron\",\"ď\"],[\"dcy\",\"д\"],[\"dd\",\"ⅆ\"],[\"ddagger\",\"‡\"],[\"ddarr\",\"⇊\"],[\"ddotseq\",\"⩷\"],[\"deg\",\"°\"],[\"delta\",\"δ\"],[\"demptyv\",\"⦱\"],[\"dfisht\",\"⥿\"],[\"dfr\",\"𝔡\"],[\"dharl\",\"⇃\"],[\"dharr\",\"⇂\"],[\"diam\",\"⋄\"],[\"diamond\",\"⋄\"],[\"diamondsuit\",\"♦\"],[\"diams\",\"♦\"],[\"die\",\"¨\"],[\"digamma\",\"ϝ\"],[\"disin\",\"⋲\"],[\"div\",\"÷\"],[\"divide\",\"÷\"],[\"divideontimes\",\"⋇\"],[\"divonx\",\"⋇\"],[\"djcy\",\"ђ\"],[\"dlcorn\",\"⌞\"],[\"dlcrop\",\"⌍\"],[\"dollar\",\"$\"],[\"dopf\",\"𝕕\"],[\"dot\",\"˙\"],[\"doteq\",\"≐\"],[\"doteqdot\",\"≑\"],[\"dotminus\",\"∸\"],[\"dotplus\",\"∔\"],[\"dotsquare\",\"⊡\"],[\"doublebarwedge\",\"⌆\"],[\"downarrow\",\"↓\"],[\"downdownarrows\",\"⇊\"],[\"downharpoonleft\",\"⇃\"],[\"downharpoonright\",\"⇂\"],[\"drbkarow\",\"⤐\"],[\"drcorn\",\"⌟\"],[\"drcrop\",\"⌌\"],[\"dscr\",\"𝒹\"],[\"dscy\",\"ѕ\"],[\"dsol\",\"⧶\"],[\"dstrok\",\"đ\"],[\"dtdot\",\"⋱\"],[\"dtri\",\"▿\"],[\"dtrif\",\"▾\"],[\"duarr\",\"⇵\"],[\"duhar\",\"⥯\"],[\"dwangle\",\"⦦\"],[\"dzcy\",\"џ\"],[\"dzigrarr\",\"⟿\"],[\"eDDot\",\"⩷\"],[\"eDot\",\"≑\"],[\"eacute\",\"é\"],[\"easter\",\"⩮\"],[\"ecaron\",\"ě\"],[\"ecir\",\"≖\"],[\"ecirc\",\"ê\"],[\"ecolon\",\"≕\"],[\"ecy\",\"э\"],[\"edot\",\"ė\"],[\"ee\",\"ⅇ\"],[\"efDot\",\"≒\"],[\"efr\",\"𝔢\"],[\"eg\",\"⪚\"],[\"egrave\",\"è\"],[\"egs\",\"⪖\"],[\"egsdot\",\"⪘\"],[\"el\",\"⪙\"],[\"elinters\",\"⏧\"],[\"ell\",\"ℓ\"],[\"els\",\"⪕\"],[\"elsdot\",\"⪗\"],[\"emacr\",\"ē\"],[\"empty\",\"∅\"],[\"emptyset\",\"∅\"],[\"emptyv\",\"∅\"],[\"emsp\",\" \"],[\"emsp13\",\" \"],[\"emsp14\",\" \"],[\"eng\",\"ŋ\"],[\"ensp\",\" \"],[\"eogon\",\"ę\"],[\"eopf\",\"𝕖\"],[\"epar\",\"⋕\"],[\"eparsl\",\"⧣\"],[\"eplus\",\"⩱\"],[\"epsi\",\"ε\"],[\"epsilon\",\"ε\"],[\"epsiv\",\"ϵ\"],[\"eqcirc\",\"≖\"],[\"eqcolon\",\"≕\"],[\"eqsim\",\"≂\"],[\"eqslantgtr\",\"⪖\"],[\"eqslantless\",\"⪕\"],[\"equals\",\"=\"],[\"equest\",\"≟\"],[\"equiv\",\"≡\"],[\"equivDD\",\"⩸\"],[\"eqvparsl\",\"⧥\"],[\"erDot\",\"≓\"],[\"erarr\",\"⥱\"],[\"escr\",\"ℯ\"],[\"esdot\",\"≐\"],[\"esim\",\"≂\"],[\"eta\",\"η\"],[\"eth\",\"ð\"],[\"euml\",\"ë\"],[\"euro\",\"€\"],[\"excl\",\"!\"],[\"exist\",\"∃\"],[\"expectation\",\"ℰ\"],[\"exponentiale\",\"ⅇ\"],[\"fallingdotseq\",\"≒\"],[\"fcy\",\"ф\"],[\"female\",\"♀\"],[\"ffilig\",\"ffi\"],[\"fflig\",\"ff\"],[\"ffllig\",\"ffl\"],[\"ffr\",\"𝔣\"],[\"filig\",\"fi\"],[\"fjlig\",\"fj\"],[\"flat\",\"♭\"],[\"fllig\",\"fl\"],[\"fltns\",\"▱\"],[\"fnof\",\"ƒ\"],[\"fopf\",\"𝕗\"],[\"forall\",\"∀\"],[\"fork\",\"⋔\"],[\"forkv\",\"⫙\"],[\"fpartint\",\"⨍\"],[\"frac12\",\"½\"],[\"frac13\",\"⅓\"],[\"frac14\",\"¼\"],[\"frac15\",\"⅕\"],[\"frac16\",\"⅙\"],[\"frac18\",\"⅛\"],[\"frac23\",\"⅔\"],[\"frac25\",\"⅖\"],[\"frac34\",\"¾\"],[\"frac35\",\"⅗\"],[\"frac38\",\"⅜\"],[\"frac45\",\"⅘\"],[\"frac56\",\"⅚\"],[\"frac58\",\"⅝\"],[\"frac78\",\"⅞\"],[\"frasl\",\"⁄\"],[\"frown\",\"⌢\"],[\"fscr\",\"𝒻\"],[\"gE\",\"≧\"],[\"gEl\",\"⪌\"],[\"gacute\",\"ǵ\"],[\"gamma\",\"γ\"],[\"gammad\",\"ϝ\"],[\"gap\",\"⪆\"],[\"gbreve\",\"ğ\"],[\"gcirc\",\"ĝ\"],[\"gcy\",\"г\"],[\"gdot\",\"ġ\"],[\"ge\",\"≥\"],[\"gel\",\"⋛\"],[\"geq\",\"≥\"],[\"geqq\",\"≧\"],[\"geqslant\",\"⩾\"],[\"ges\",\"⩾\"],[\"gescc\",\"⪩\"],[\"gesdot\",\"⪀\"],[\"gesdoto\",\"⪂\"],[\"gesdotol\",\"⪄\"],[\"gesl\",\"⋛︀\"],[\"gesles\",\"⪔\"],[\"gfr\",\"𝔤\"],[\"gg\",\"≫\"],[\"ggg\",\"⋙\"],[\"gimel\",\"ℷ\"],[\"gjcy\",\"ѓ\"],[\"gl\",\"≷\"],[\"glE\",\"⪒\"],[\"gla\",\"⪥\"],[\"glj\",\"⪤\"],[\"gnE\",\"≩\"],[\"gnap\",\"⪊\"],[\"gnapprox\",\"⪊\"],[\"gne\",\"⪈\"],[\"gneq\",\"⪈\"],[\"gneqq\",\"≩\"],[\"gnsim\",\"⋧\"],[\"gopf\",\"𝕘\"],[\"grave\",\"`\"],[\"gscr\",\"ℊ\"],[\"gsim\",\"≳\"],[\"gsime\",\"⪎\"],[\"gsiml\",\"⪐\"],[\"gt\",\">\"],[\"gtcc\",\"⪧\"],[\"gtcir\",\"⩺\"],[\"gtdot\",\"⋗\"],[\"gtlPar\",\"⦕\"],[\"gtquest\",\"⩼\"],[\"gtrapprox\",\"⪆\"],[\"gtrarr\",\"⥸\"],[\"gtrdot\",\"⋗\"],[\"gtreqless\",\"⋛\"],[\"gtreqqless\",\"⪌\"],[\"gtrless\",\"≷\"],[\"gtrsim\",\"≳\"],[\"gvertneqq\",\"≩︀\"],[\"gvnE\",\"≩︀\"],[\"hArr\",\"⇔\"],[\"hairsp\",\" \"],[\"half\",\"½\"],[\"hamilt\",\"ℋ\"],[\"hardcy\",\"ъ\"],[\"harr\",\"↔\"],[\"harrcir\",\"⥈\"],[\"harrw\",\"↭\"],[\"hbar\",\"ℏ\"],[\"hcirc\",\"ĥ\"],[\"hearts\",\"♥\"],[\"heartsuit\",\"♥\"],[\"hellip\",\"…\"],[\"hercon\",\"⊹\"],[\"hfr\",\"𝔥\"],[\"hksearow\",\"⤥\"],[\"hkswarow\",\"⤦\"],[\"hoarr\",\"⇿\"],[\"homtht\",\"∻\"],[\"hookleftarrow\",\"↩\"],[\"hookrightarrow\",\"↪\"],[\"hopf\",\"𝕙\"],[\"horbar\",\"―\"],[\"hscr\",\"𝒽\"],[\"hslash\",\"ℏ\"],[\"hstrok\",\"ħ\"],[\"hybull\",\"⁃\"],[\"hyphen\",\"‐\"],[\"iacute\",\"í\"],[\"ic\",\"⁣\"],[\"icirc\",\"î\"],[\"icy\",\"и\"],[\"iecy\",\"е\"],[\"iexcl\",\"¡\"],[\"iff\",\"⇔\"],[\"ifr\",\"𝔦\"],[\"igrave\",\"ì\"],[\"ii\",\"ⅈ\"],[\"iiiint\",\"⨌\"],[\"iiint\",\"∭\"],[\"iinfin\",\"⧜\"],[\"iiota\",\"℩\"],[\"ijlig\",\"ij\"],[\"imacr\",\"ī\"],[\"image\",\"ℑ\"],[\"imagline\",\"ℐ\"],[\"imagpart\",\"ℑ\"],[\"imath\",\"ı\"],[\"imof\",\"⊷\"],[\"imped\",\"Ƶ\"],[\"in\",\"∈\"],[\"incare\",\"℅\"],[\"infin\",\"∞\"],[\"infintie\",\"⧝\"],[\"inodot\",\"ı\"],[\"int\",\"∫\"],[\"intcal\",\"⊺\"],[\"integers\",\"ℤ\"],[\"intercal\",\"⊺\"],[\"intlarhk\",\"⨗\"],[\"intprod\",\"⨼\"],[\"iocy\",\"ё\"],[\"iogon\",\"į\"],[\"iopf\",\"𝕚\"],[\"iota\",\"ι\"],[\"iprod\",\"⨼\"],[\"iquest\",\"¿\"],[\"iscr\",\"𝒾\"],[\"isin\",\"∈\"],[\"isinE\",\"⋹\"],[\"isindot\",\"⋵\"],[\"isins\",\"⋴\"],[\"isinsv\",\"⋳\"],[\"isinv\",\"∈\"],[\"it\",\"⁢\"],[\"itilde\",\"ĩ\"],[\"iukcy\",\"і\"],[\"iuml\",\"ï\"],[\"jcirc\",\"ĵ\"],[\"jcy\",\"й\"],[\"jfr\",\"𝔧\"],[\"jmath\",\"ȷ\"],[\"jopf\",\"𝕛\"],[\"jscr\",\"𝒿\"],[\"jsercy\",\"ј\"],[\"jukcy\",\"є\"],[\"kappa\",\"κ\"],[\"kappav\",\"ϰ\"],[\"kcedil\",\"ķ\"],[\"kcy\",\"к\"],[\"kfr\",\"𝔨\"],[\"kgreen\",\"ĸ\"],[\"khcy\",\"х\"],[\"kjcy\",\"ќ\"],[\"kopf\",\"𝕜\"],[\"kscr\",\"𝓀\"],[\"lAarr\",\"⇚\"],[\"lArr\",\"⇐\"],[\"lAtail\",\"⤛\"],[\"lBarr\",\"⤎\"],[\"lE\",\"≦\"],[\"lEg\",\"⪋\"],[\"lHar\",\"⥢\"],[\"lacute\",\"ĺ\"],[\"laemptyv\",\"⦴\"],[\"lagran\",\"ℒ\"],[\"lambda\",\"λ\"],[\"lang\",\"⟨\"],[\"langd\",\"⦑\"],[\"langle\",\"⟨\"],[\"lap\",\"⪅\"],[\"laquo\",\"«\"],[\"larr\",\"←\"],[\"larrb\",\"⇤\"],[\"larrbfs\",\"⤟\"],[\"larrfs\",\"⤝\"],[\"larrhk\",\"↩\"],[\"larrlp\",\"↫\"],[\"larrpl\",\"⤹\"],[\"larrsim\",\"⥳\"],[\"larrtl\",\"↢\"],[\"lat\",\"⪫\"],[\"latail\",\"⤙\"],[\"late\",\"⪭\"],[\"lates\",\"⪭︀\"],[\"lbarr\",\"⤌\"],[\"lbbrk\",\"❲\"],[\"lbrace\",\"{\"],[\"lbrack\",\"[\"],[\"lbrke\",\"⦋\"],[\"lbrksld\",\"⦏\"],[\"lbrkslu\",\"⦍\"],[\"lcaron\",\"ľ\"],[\"lcedil\",\"ļ\"],[\"lceil\",\"⌈\"],[\"lcub\",\"{\"],[\"lcy\",\"л\"],[\"ldca\",\"⤶\"],[\"ldquo\",\"“\"],[\"ldquor\",\"„\"],[\"ldrdhar\",\"⥧\"],[\"ldrushar\",\"⥋\"],[\"ldsh\",\"↲\"],[\"le\",\"≤\"],[\"leftarrow\",\"←\"],[\"leftarrowtail\",\"↢\"],[\"leftharpoondown\",\"↽\"],[\"leftharpoonup\",\"↼\"],[\"leftleftarrows\",\"⇇\"],[\"leftrightarrow\",\"↔\"],[\"leftrightarrows\",\"⇆\"],[\"leftrightharpoons\",\"⇋\"],[\"leftrightsquigarrow\",\"↭\"],[\"leftthreetimes\",\"⋋\"],[\"leg\",\"⋚\"],[\"leq\",\"≤\"],[\"leqq\",\"≦\"],[\"leqslant\",\"⩽\"],[\"les\",\"⩽\"],[\"lescc\",\"⪨\"],[\"lesdot\",\"⩿\"],[\"lesdoto\",\"⪁\"],[\"lesdotor\",\"⪃\"],[\"lesg\",\"⋚︀\"],[\"lesges\",\"⪓\"],[\"lessapprox\",\"⪅\"],[\"lessdot\",\"⋖\"],[\"lesseqgtr\",\"⋚\"],[\"lesseqqgtr\",\"⪋\"],[\"lessgtr\",\"≶\"],[\"lesssim\",\"≲\"],[\"lfisht\",\"⥼\"],[\"lfloor\",\"⌊\"],[\"lfr\",\"𝔩\"],[\"lg\",\"≶\"],[\"lgE\",\"⪑\"],[\"lhard\",\"↽\"],[\"lharu\",\"↼\"],[\"lharul\",\"⥪\"],[\"lhblk\",\"▄\"],[\"ljcy\",\"љ\"],[\"ll\",\"≪\"],[\"llarr\",\"⇇\"],[\"llcorner\",\"⌞\"],[\"llhard\",\"⥫\"],[\"lltri\",\"◺\"],[\"lmidot\",\"ŀ\"],[\"lmoust\",\"⎰\"],[\"lmoustache\",\"⎰\"],[\"lnE\",\"≨\"],[\"lnap\",\"⪉\"],[\"lnapprox\",\"⪉\"],[\"lne\",\"⪇\"],[\"lneq\",\"⪇\"],[\"lneqq\",\"≨\"],[\"lnsim\",\"⋦\"],[\"loang\",\"⟬\"],[\"loarr\",\"⇽\"],[\"lobrk\",\"⟦\"],[\"longleftarrow\",\"⟵\"],[\"longleftrightarrow\",\"⟷\"],[\"longmapsto\",\"⟼\"],[\"longrightarrow\",\"⟶\"],[\"looparrowleft\",\"↫\"],[\"looparrowright\",\"↬\"],[\"lopar\",\"⦅\"],[\"lopf\",\"𝕝\"],[\"loplus\",\"⨭\"],[\"lotimes\",\"⨴\"],[\"lowast\",\"∗\"],[\"lowbar\",\"_\"],[\"loz\",\"◊\"],[\"lozenge\",\"◊\"],[\"lozf\",\"⧫\"],[\"lpar\",\"(\"],[\"lparlt\",\"⦓\"],[\"lrarr\",\"⇆\"],[\"lrcorner\",\"⌟\"],[\"lrhar\",\"⇋\"],[\"lrhard\",\"⥭\"],[\"lrm\",\"‎\"],[\"lrtri\",\"⊿\"],[\"lsaquo\",\"‹\"],[\"lscr\",\"𝓁\"],[\"lsh\",\"↰\"],[\"lsim\",\"≲\"],[\"lsime\",\"⪍\"],[\"lsimg\",\"⪏\"],[\"lsqb\",\"[\"],[\"lsquo\",\"‘\"],[\"lsquor\",\"‚\"],[\"lstrok\",\"ł\"],[\"lt\",\"<\"],[\"ltcc\",\"⪦\"],[\"ltcir\",\"⩹\"],[\"ltdot\",\"⋖\"],[\"lthree\",\"⋋\"],[\"ltimes\",\"⋉\"],[\"ltlarr\",\"⥶\"],[\"ltquest\",\"⩻\"],[\"ltrPar\",\"⦖\"],[\"ltri\",\"◃\"],[\"ltrie\",\"⊴\"],[\"ltrif\",\"◂\"],[\"lurdshar\",\"⥊\"],[\"luruhar\",\"⥦\"],[\"lvertneqq\",\"≨︀\"],[\"lvnE\",\"≨︀\"],[\"mDDot\",\"∺\"],[\"macr\",\"¯\"],[\"male\",\"♂\"],[\"malt\",\"✠\"],[\"maltese\",\"✠\"],[\"map\",\"↦\"],[\"mapsto\",\"↦\"],[\"mapstodown\",\"↧\"],[\"mapstoleft\",\"↤\"],[\"mapstoup\",\"↥\"],[\"marker\",\"▮\"],[\"mcomma\",\"⨩\"],[\"mcy\",\"м\"],[\"mdash\",\"—\"],[\"measuredangle\",\"∡\"],[\"mfr\",\"𝔪\"],[\"mho\",\"℧\"],[\"micro\",\"µ\"],[\"mid\",\"∣\"],[\"midast\",\"*\"],[\"midcir\",\"⫰\"],[\"middot\",\"·\"],[\"minus\",\"−\"],[\"minusb\",\"⊟\"],[\"minusd\",\"∸\"],[\"minusdu\",\"⨪\"],[\"mlcp\",\"⫛\"],[\"mldr\",\"…\"],[\"mnplus\",\"∓\"],[\"models\",\"⊧\"],[\"mopf\",\"𝕞\"],[\"mp\",\"∓\"],[\"mscr\",\"𝓂\"],[\"mstpos\",\"∾\"],[\"mu\",\"μ\"],[\"multimap\",\"⊸\"],[\"mumap\",\"⊸\"],[\"nGg\",\"⋙̸\"],[\"nGt\",\"≫⃒\"],[\"nGtv\",\"≫̸\"],[\"nLeftarrow\",\"⇍\"],[\"nLeftrightarrow\",\"⇎\"],[\"nLl\",\"⋘̸\"],[\"nLt\",\"≪⃒\"],[\"nLtv\",\"≪̸\"],[\"nRightarrow\",\"⇏\"],[\"nVDash\",\"⊯\"],[\"nVdash\",\"⊮\"],[\"nabla\",\"∇\"],[\"nacute\",\"ń\"],[\"nang\",\"∠⃒\"],[\"nap\",\"≉\"],[\"napE\",\"⩰̸\"],[\"napid\",\"≋̸\"],[\"napos\",\"ʼn\"],[\"napprox\",\"≉\"],[\"natur\",\"♮\"],[\"natural\",\"♮\"],[\"naturals\",\"ℕ\"],[\"nbsp\",\"\xA0\"],[\"nbump\",\"≎̸\"],[\"nbumpe\",\"≏̸\"],[\"ncap\",\"⩃\"],[\"ncaron\",\"ň\"],[\"ncedil\",\"ņ\"],[\"ncong\",\"≇\"],[\"ncongdot\",\"⩭̸\"],[\"ncup\",\"⩂\"],[\"ncy\",\"н\"],[\"ndash\",\"–\"],[\"ne\",\"≠\"],[\"neArr\",\"⇗\"],[\"nearhk\",\"⤤\"],[\"nearr\",\"↗\"],[\"nearrow\",\"↗\"],[\"nedot\",\"≐̸\"],[\"nequiv\",\"≢\"],[\"nesear\",\"⤨\"],[\"nesim\",\"≂̸\"],[\"nexist\",\"∄\"],[\"nexists\",\"∄\"],[\"nfr\",\"𝔫\"],[\"ngE\",\"≧̸\"],[\"nge\",\"≱\"],[\"ngeq\",\"≱\"],[\"ngeqq\",\"≧̸\"],[\"ngeqslant\",\"⩾̸\"],[\"nges\",\"⩾̸\"],[\"ngsim\",\"≵\"],[\"ngt\",\"≯\"],[\"ngtr\",\"≯\"],[\"nhArr\",\"⇎\"],[\"nharr\",\"↮\"],[\"nhpar\",\"⫲\"],[\"ni\",\"∋\"],[\"nis\",\"⋼\"],[\"nisd\",\"⋺\"],[\"niv\",\"∋\"],[\"njcy\",\"њ\"],[\"nlArr\",\"⇍\"],[\"nlE\",\"≦̸\"],[\"nlarr\",\"↚\"],[\"nldr\",\"‥\"],[\"nle\",\"≰\"],[\"nleftarrow\",\"↚\"],[\"nleftrightarrow\",\"↮\"],[\"nleq\",\"≰\"],[\"nleqq\",\"≦̸\"],[\"nleqslant\",\"⩽̸\"],[\"nles\",\"⩽̸\"],[\"nless\",\"≮\"],[\"nlsim\",\"≴\"],[\"nlt\",\"≮\"],[\"nltri\",\"⋪\"],[\"nltrie\",\"⋬\"],[\"nmid\",\"∤\"],[\"nopf\",\"𝕟\"],[\"not\",\"¬\"],[\"notin\",\"∉\"],[\"notinE\",\"⋹̸\"],[\"notindot\",\"⋵̸\"],[\"notinva\",\"∉\"],[\"notinvb\",\"⋷\"],[\"notinvc\",\"⋶\"],[\"notni\",\"∌\"],[\"notniva\",\"∌\"],[\"notnivb\",\"⋾\"],[\"notnivc\",\"⋽\"],[\"npar\",\"∦\"],[\"nparallel\",\"∦\"],[\"nparsl\",\"⫽⃥\"],[\"npart\",\"∂̸\"],[\"npolint\",\"⨔\"],[\"npr\",\"⊀\"],[\"nprcue\",\"⋠\"],[\"npre\",\"⪯̸\"],[\"nprec\",\"⊀\"],[\"npreceq\",\"⪯̸\"],[\"nrArr\",\"⇏\"],[\"nrarr\",\"↛\"],[\"nrarrc\",\"⤳̸\"],[\"nrarrw\",\"↝̸\"],[\"nrightarrow\",\"↛\"],[\"nrtri\",\"⋫\"],[\"nrtrie\",\"⋭\"],[\"nsc\",\"⊁\"],[\"nsccue\",\"⋡\"],[\"nsce\",\"⪰̸\"],[\"nscr\",\"𝓃\"],[\"nshortmid\",\"∤\"],[\"nshortparallel\",\"∦\"],[\"nsim\",\"≁\"],[\"nsime\",\"≄\"],[\"nsimeq\",\"≄\"],[\"nsmid\",\"∤\"],[\"nspar\",\"∦\"],[\"nsqsube\",\"⋢\"],[\"nsqsupe\",\"⋣\"],[\"nsub\",\"⊄\"],[\"nsubE\",\"⫅̸\"],[\"nsube\",\"⊈\"],[\"nsubset\",\"⊂⃒\"],[\"nsubseteq\",\"⊈\"],[\"nsubseteqq\",\"⫅̸\"],[\"nsucc\",\"⊁\"],[\"nsucceq\",\"⪰̸\"],[\"nsup\",\"⊅\"],[\"nsupE\",\"⫆̸\"],[\"nsupe\",\"⊉\"],[\"nsupset\",\"⊃⃒\"],[\"nsupseteq\",\"⊉\"],[\"nsupseteqq\",\"⫆̸\"],[\"ntgl\",\"≹\"],[\"ntilde\",\"ñ\"],[\"ntlg\",\"≸\"],[\"ntriangleleft\",\"⋪\"],[\"ntrianglelefteq\",\"⋬\"],[\"ntriangleright\",\"⋫\"],[\"ntrianglerighteq\",\"⋭\"],[\"nu\",\"ν\"],[\"num\",\"#\"],[\"numero\",\"№\"],[\"numsp\",\" \"],[\"nvDash\",\"⊭\"],[\"nvHarr\",\"⤄\"],[\"nvap\",\"≍⃒\"],[\"nvdash\",\"⊬\"],[\"nvge\",\"≥⃒\"],[\"nvgt\",\">⃒\"],[\"nvinfin\",\"⧞\"],[\"nvlArr\",\"⤂\"],[\"nvle\",\"≤⃒\"],[\"nvlt\",\"<⃒\"],[\"nvltrie\",\"⊴⃒\"],[\"nvrArr\",\"⤃\"],[\"nvrtrie\",\"⊵⃒\"],[\"nvsim\",\"∼⃒\"],[\"nwArr\",\"⇖\"],[\"nwarhk\",\"⤣\"],[\"nwarr\",\"↖\"],[\"nwarrow\",\"↖\"],[\"nwnear\",\"⤧\"],[\"oS\",\"Ⓢ\"],[\"oacute\",\"ó\"],[\"oast\",\"⊛\"],[\"ocir\",\"⊚\"],[\"ocirc\",\"ô\"],[\"ocy\",\"о\"],[\"odash\",\"⊝\"],[\"odblac\",\"ő\"],[\"odiv\",\"⨸\"],[\"odot\",\"⊙\"],[\"odsold\",\"⦼\"],[\"oelig\",\"œ\"],[\"ofcir\",\"⦿\"],[\"ofr\",\"𝔬\"],[\"ogon\",\"˛\"],[\"ograve\",\"ò\"],[\"ogt\",\"⧁\"],[\"ohbar\",\"⦵\"],[\"ohm\",\"Ω\"],[\"oint\",\"∮\"],[\"olarr\",\"↺\"],[\"olcir\",\"⦾\"],[\"olcross\",\"⦻\"],[\"oline\",\"‾\"],[\"olt\",\"⧀\"],[\"omacr\",\"ō\"],[\"omega\",\"ω\"],[\"omicron\",\"ο\"],[\"omid\",\"⦶\"],[\"ominus\",\"⊖\"],[\"oopf\",\"𝕠\"],[\"opar\",\"⦷\"],[\"operp\",\"⦹\"],[\"oplus\",\"⊕\"],[\"or\",\"∨\"],[\"orarr\",\"↻\"],[\"ord\",\"⩝\"],[\"order\",\"ℴ\"],[\"orderof\",\"ℴ\"],[\"ordf\",\"ª\"],[\"ordm\",\"º\"],[\"origof\",\"⊶\"],[\"oror\",\"⩖\"],[\"orslope\",\"⩗\"],[\"orv\",\"⩛\"],[\"oscr\",\"ℴ\"],[\"oslash\",\"ø\"],[\"osol\",\"⊘\"],[\"otilde\",\"õ\"],[\"otimes\",\"⊗\"],[\"otimesas\",\"⨶\"],[\"ouml\",\"ö\"],[\"ovbar\",\"⌽\"],[\"par\",\"∥\"],[\"para\",\"¶\"],[\"parallel\",\"∥\"],[\"parsim\",\"⫳\"],[\"parsl\",\"⫽\"],[\"part\",\"∂\"],[\"pcy\",\"п\"],[\"percnt\",\"%\"],[\"period\",\".\"],[\"permil\",\"‰\"],[\"perp\",\"⊥\"],[\"pertenk\",\"‱\"],[\"pfr\",\"𝔭\"],[\"phi\",\"φ\"],[\"phiv\",\"ϕ\"],[\"phmmat\",\"ℳ\"],[\"phone\",\"☎\"],[\"pi\",\"π\"],[\"pitchfork\",\"⋔\"],[\"piv\",\"ϖ\"],[\"planck\",\"ℏ\"],[\"planckh\",\"ℎ\"],[\"plankv\",\"ℏ\"],[\"plus\",\"+\"],[\"plusacir\",\"⨣\"],[\"plusb\",\"⊞\"],[\"pluscir\",\"⨢\"],[\"plusdo\",\"∔\"],[\"plusdu\",\"⨥\"],[\"pluse\",\"⩲\"],[\"plusmn\",\"±\"],[\"plussim\",\"⨦\"],[\"plustwo\",\"⨧\"],[\"pm\",\"±\"],[\"pointint\",\"⨕\"],[\"popf\",\"𝕡\"],[\"pound\",\"£\"],[\"pr\",\"≺\"],[\"prE\",\"⪳\"],[\"prap\",\"⪷\"],[\"prcue\",\"≼\"],[\"pre\",\"⪯\"],[\"prec\",\"≺\"],[\"precapprox\",\"⪷\"],[\"preccurlyeq\",\"≼\"],[\"preceq\",\"⪯\"],[\"precnapprox\",\"⪹\"],[\"precneqq\",\"⪵\"],[\"precnsim\",\"⋨\"],[\"precsim\",\"≾\"],[\"prime\",\"′\"],[\"primes\",\"ℙ\"],[\"prnE\",\"⪵\"],[\"prnap\",\"⪹\"],[\"prnsim\",\"⋨\"],[\"prod\",\"∏\"],[\"profalar\",\"⌮\"],[\"profline\",\"⌒\"],[\"profsurf\",\"⌓\"],[\"prop\",\"∝\"],[\"propto\",\"∝\"],[\"prsim\",\"≾\"],[\"prurel\",\"⊰\"],[\"pscr\",\"𝓅\"],[\"psi\",\"ψ\"],[\"puncsp\",\" \"],[\"qfr\",\"𝔮\"],[\"qint\",\"⨌\"],[\"qopf\",\"𝕢\"],[\"qprime\",\"⁗\"],[\"qscr\",\"𝓆\"],[\"quaternions\",\"ℍ\"],[\"quatint\",\"⨖\"],[\"quest\",\"?\"],[\"questeq\",\"≟\"],[\"quot\",\"\\\"\"],[\"rAarr\",\"⇛\"],[\"rArr\",\"⇒\"],[\"rAtail\",\"⤜\"],[\"rBarr\",\"⤏\"],[\"rHar\",\"⥤\"],[\"race\",\"∽̱\"],[\"racute\",\"ŕ\"],[\"radic\",\"√\"],[\"raemptyv\",\"⦳\"],[\"rang\",\"⟩\"],[\"rangd\",\"⦒\"],[\"range\",\"⦥\"],[\"rangle\",\"⟩\"],[\"raquo\",\"»\"],[\"rarr\",\"→\"],[\"rarrap\",\"⥵\"],[\"rarrb\",\"⇥\"],[\"rarrbfs\",\"⤠\"],[\"rarrc\",\"⤳\"],[\"rarrfs\",\"⤞\"],[\"rarrhk\",\"↪\"],[\"rarrlp\",\"↬\"],[\"rarrpl\",\"⥅\"],[\"rarrsim\",\"⥴\"],[\"rarrtl\",\"↣\"],[\"rarrw\",\"↝\"],[\"ratail\",\"⤚\"],[\"ratio\",\"∶\"],[\"rationals\",\"ℚ\"],[\"rbarr\",\"⤍\"],[\"rbbrk\",\"❳\"],[\"rbrace\",\"}\"],[\"rbrack\",\"]\"],[\"rbrke\",\"⦌\"],[\"rbrksld\",\"⦎\"],[\"rbrkslu\",\"⦐\"],[\"rcaron\",\"ř\"],[\"rcedil\",\"ŗ\"],[\"rceil\",\"⌉\"],[\"rcub\",\"}\"],[\"rcy\",\"р\"],[\"rdca\",\"⤷\"],[\"rdldhar\",\"⥩\"],[\"rdquo\",\"”\"],[\"rdquor\",\"”\"],[\"rdsh\",\"↳\"],[\"real\",\"ℜ\"],[\"realine\",\"ℛ\"],[\"realpart\",\"ℜ\"],[\"reals\",\"ℝ\"],[\"rect\",\"▭\"],[\"reg\",\"®\"],[\"rfisht\",\"⥽\"],[\"rfloor\",\"⌋\"],[\"rfr\",\"𝔯\"],[\"rhard\",\"⇁\"],[\"rharu\",\"⇀\"],[\"rharul\",\"⥬\"],[\"rho\",\"ρ\"],[\"rhov\",\"ϱ\"],[\"rightarrow\",\"→\"],[\"rightarrowtail\",\"↣\"],[\"rightharpoondown\",\"⇁\"],[\"rightharpoonup\",\"⇀\"],[\"rightleftarrows\",\"⇄\"],[\"rightleftharpoons\",\"⇌\"],[\"rightrightarrows\",\"⇉\"],[\"rightsquigarrow\",\"↝\"],[\"rightthreetimes\",\"⋌\"],[\"ring\",\"˚\"],[\"risingdotseq\",\"≓\"],[\"rlarr\",\"⇄\"],[\"rlhar\",\"⇌\"],[\"rlm\",\"‏\"],[\"rmoust\",\"⎱\"],[\"rmoustache\",\"⎱\"],[\"rnmid\",\"⫮\"],[\"roang\",\"⟭\"],[\"roarr\",\"⇾\"],[\"robrk\",\"⟧\"],[\"ropar\",\"⦆\"],[\"ropf\",\"𝕣\"],[\"roplus\",\"⨮\"],[\"rotimes\",\"⨵\"],[\"rpar\",\")\"],[\"rpargt\",\"⦔\"],[\"rppolint\",\"⨒\"],[\"rrarr\",\"⇉\"],[\"rsaquo\",\"›\"],[\"rscr\",\"𝓇\"],[\"rsh\",\"↱\"],[\"rsqb\",\"]\"],[\"rsquo\",\"’\"],[\"rsquor\",\"’\"],[\"rthree\",\"⋌\"],[\"rtimes\",\"⋊\"],[\"rtri\",\"▹\"],[\"rtrie\",\"⊵\"],[\"rtrif\",\"▸\"],[\"rtriltri\",\"⧎\"],[\"ruluhar\",\"⥨\"],[\"rx\",\"℞\"],[\"sacute\",\"ś\"],[\"sbquo\",\"‚\"],[\"sc\",\"≻\"],[\"scE\",\"⪴\"],[\"scap\",\"⪸\"],[\"scaron\",\"š\"],[\"sccue\",\"≽\"],[\"sce\",\"⪰\"],[\"scedil\",\"ş\"],[\"scirc\",\"ŝ\"],[\"scnE\",\"⪶\"],[\"scnap\",\"⪺\"],[\"scnsim\",\"⋩\"],[\"scpolint\",\"⨓\"],[\"scsim\",\"≿\"],[\"scy\",\"с\"],[\"sdot\",\"⋅\"],[\"sdotb\",\"⊡\"],[\"sdote\",\"⩦\"],[\"seArr\",\"⇘\"],[\"searhk\",\"⤥\"],[\"searr\",\"↘\"],[\"searrow\",\"↘\"],[\"sect\",\"§\"],[\"semi\",\";\"],[\"seswar\",\"⤩\"],[\"setminus\",\"∖\"],[\"setmn\",\"∖\"],[\"sext\",\"✶\"],[\"sfr\",\"𝔰\"],[\"sfrown\",\"⌢\"],[\"sharp\",\"♯\"],[\"shchcy\",\"щ\"],[\"shcy\",\"ш\"],[\"shortmid\",\"∣\"],[\"shortparallel\",\"∥\"],[\"shy\",\"­\"],[\"sigma\",\"σ\"],[\"sigmaf\",\"ς\"],[\"sigmav\",\"ς\"],[\"sim\",\"∼\"],[\"simdot\",\"⩪\"],[\"sime\",\"≃\"],[\"simeq\",\"≃\"],[\"simg\",\"⪞\"],[\"simgE\",\"⪠\"],[\"siml\",\"⪝\"],[\"simlE\",\"⪟\"],[\"simne\",\"≆\"],[\"simplus\",\"⨤\"],[\"simrarr\",\"⥲\"],[\"slarr\",\"←\"],[\"smallsetminus\",\"∖\"],[\"smashp\",\"⨳\"],[\"smeparsl\",\"⧤\"],[\"smid\",\"∣\"],[\"smile\",\"⌣\"],[\"smt\",\"⪪\"],[\"smte\",\"⪬\"],[\"smtes\",\"⪬︀\"],[\"softcy\",\"ь\"],[\"sol\",\"/\"],[\"solb\",\"⧄\"],[\"solbar\",\"⌿\"],[\"sopf\",\"𝕤\"],[\"spades\",\"♠\"],[\"spadesuit\",\"♠\"],[\"spar\",\"∥\"],[\"sqcap\",\"⊓\"],[\"sqcaps\",\"⊓︀\"],[\"sqcup\",\"⊔\"],[\"sqcups\",\"⊔︀\"],[\"sqsub\",\"⊏\"],[\"sqsube\",\"⊑\"],[\"sqsubset\",\"⊏\"],[\"sqsubseteq\",\"⊑\"],[\"sqsup\",\"⊐\"],[\"sqsupe\",\"⊒\"],[\"sqsupset\",\"⊐\"],[\"sqsupseteq\",\"⊒\"],[\"squ\",\"□\"],[\"square\",\"□\"],[\"squarf\",\"▪\"],[\"squf\",\"▪\"],[\"srarr\",\"→\"],[\"sscr\",\"𝓈\"],[\"ssetmn\",\"∖\"],[\"ssmile\",\"⌣\"],[\"sstarf\",\"⋆\"],[\"star\",\"☆\"],[\"starf\",\"★\"],[\"straightepsilon\",\"ϵ\"],[\"straightphi\",\"ϕ\"],[\"strns\",\"¯\"],[\"sub\",\"⊂\"],[\"subE\",\"⫅\"],[\"subdot\",\"⪽\"],[\"sube\",\"⊆\"],[\"subedot\",\"⫃\"],[\"submult\",\"⫁\"],[\"subnE\",\"⫋\"],[\"subne\",\"⊊\"],[\"subplus\",\"⪿\"],[\"subrarr\",\"⥹\"],[\"subset\",\"⊂\"],[\"subseteq\",\"⊆\"],[\"subseteqq\",\"⫅\"],[\"subsetneq\",\"⊊\"],[\"subsetneqq\",\"⫋\"],[\"subsim\",\"⫇\"],[\"subsub\",\"⫕\"],[\"subsup\",\"⫓\"],[\"succ\",\"≻\"],[\"succapprox\",\"⪸\"],[\"succcurlyeq\",\"≽\"],[\"succeq\",\"⪰\"],[\"succnapprox\",\"⪺\"],[\"succneqq\",\"⪶\"],[\"succnsim\",\"⋩\"],[\"succsim\",\"≿\"],[\"sum\",\"∑\"],[\"sung\",\"♪\"],[\"sup\",\"⊃\"],[\"sup1\",\"¹\"],[\"sup2\",\"²\"],[\"sup3\",\"³\"],[\"supE\",\"⫆\"],[\"supdot\",\"⪾\"],[\"supdsub\",\"⫘\"],[\"supe\",\"⊇\"],[\"supedot\",\"⫄\"],[\"suphsol\",\"⟉\"],[\"suphsub\",\"⫗\"],[\"suplarr\",\"⥻\"],[\"supmult\",\"⫂\"],[\"supnE\",\"⫌\"],[\"supne\",\"⊋\"],[\"supplus\",\"⫀\"],[\"supset\",\"⊃\"],[\"supseteq\",\"⊇\"],[\"supseteqq\",\"⫆\"],[\"supsetneq\",\"⊋\"],[\"supsetneqq\",\"⫌\"],[\"supsim\",\"⫈\"],[\"supsub\",\"⫔\"],[\"supsup\",\"⫖\"],[\"swArr\",\"⇙\"],[\"swarhk\",\"⤦\"],[\"swarr\",\"↙\"],[\"swarrow\",\"↙\"],[\"swnwar\",\"⤪\"],[\"szlig\",\"ß\"],[\"target\",\"⌖\"],[\"tau\",\"τ\"],[\"tbrk\",\"⎴\"],[\"tcaron\",\"ť\"],[\"tcedil\",\"ţ\"],[\"tcy\",\"т\"],[\"tdot\",\"⃛\"],[\"telrec\",\"⌕\"],[\"tfr\",\"𝔱\"],[\"there4\",\"∴\"],[\"therefore\",\"∴\"],[\"theta\",\"θ\"],[\"thetasym\",\"ϑ\"],[\"thetav\",\"ϑ\"],[\"thickapprox\",\"≈\"],[\"thicksim\",\"∼\"],[\"thinsp\",\" \"],[\"thkap\",\"≈\"],[\"thksim\",\"∼\"],[\"thorn\",\"þ\"],[\"tilde\",\"˜\"],[\"times\",\"×\"],[\"timesb\",\"⊠\"],[\"timesbar\",\"⨱\"],[\"timesd\",\"⨰\"],[\"tint\",\"∭\"],[\"toea\",\"⤨\"],[\"top\",\"⊤\"],[\"topbot\",\"⌶\"],[\"topcir\",\"⫱\"],[\"topf\",\"𝕥\"],[\"topfork\",\"⫚\"],[\"tosa\",\"⤩\"],[\"tprime\",\"‴\"],[\"trade\",\"™\"],[\"triangle\",\"▵\"],[\"triangledown\",\"▿\"],[\"triangleleft\",\"◃\"],[\"trianglelefteq\",\"⊴\"],[\"triangleq\",\"≜\"],[\"triangleright\",\"▹\"],[\"trianglerighteq\",\"⊵\"],[\"tridot\",\"◬\"],[\"trie\",\"≜\"],[\"triminus\",\"⨺\"],[\"triplus\",\"⨹\"],[\"trisb\",\"⧍\"],[\"tritime\",\"⨻\"],[\"trpezium\",\"⏢\"],[\"tscr\",\"𝓉\"],[\"tscy\",\"ц\"],[\"tshcy\",\"ћ\"],[\"tstrok\",\"ŧ\"],[\"twixt\",\"≬\"],[\"twoheadleftarrow\",\"↞\"],[\"twoheadrightarrow\",\"↠\"],[\"uArr\",\"⇑\"],[\"uHar\",\"⥣\"],[\"uacute\",\"ú\"],[\"uarr\",\"↑\"],[\"ubrcy\",\"ў\"],[\"ubreve\",\"ŭ\"],[\"ucirc\",\"û\"],[\"ucy\",\"у\"],[\"udarr\",\"⇅\"],[\"udblac\",\"ű\"],[\"udhar\",\"⥮\"],[\"ufisht\",\"⥾\"],[\"ufr\",\"𝔲\"],[\"ugrave\",\"ù\"],[\"uharl\",\"↿\"],[\"uharr\",\"↾\"],[\"uhblk\",\"▀\"],[\"ulcorn\",\"⌜\"],[\"ulcorner\",\"⌜\"],[\"ulcrop\",\"⌏\"],[\"ultri\",\"◸\"],[\"umacr\",\"ū\"],[\"uml\",\"¨\"],[\"uogon\",\"ų\"],[\"uopf\",\"𝕦\"],[\"uparrow\",\"↑\"],[\"updownarrow\",\"↕\"],[\"upharpoonleft\",\"↿\"],[\"upharpoonright\",\"↾\"],[\"uplus\",\"⊎\"],[\"upsi\",\"υ\"],[\"upsih\",\"ϒ\"],[\"upsilon\",\"υ\"],[\"upuparrows\",\"⇈\"],[\"urcorn\",\"⌝\"],[\"urcorner\",\"⌝\"],[\"urcrop\",\"⌎\"],[\"uring\",\"ů\"],[\"urtri\",\"◹\"],[\"uscr\",\"𝓊\"],[\"utdot\",\"⋰\"],[\"utilde\",\"ũ\"],[\"utri\",\"▵\"],[\"utrif\",\"▴\"],[\"uuarr\",\"⇈\"],[\"uuml\",\"ü\"],[\"uwangle\",\"⦧\"],[\"vArr\",\"⇕\"],[\"vBar\",\"⫨\"],[\"vBarv\",\"⫩\"],[\"vDash\",\"⊨\"],[\"vangrt\",\"⦜\"],[\"varepsilon\",\"ϵ\"],[\"varkappa\",\"ϰ\"],[\"varnothing\",\"∅\"],[\"varphi\",\"ϕ\"],[\"varpi\",\"ϖ\"],[\"varpropto\",\"∝\"],[\"varr\",\"↕\"],[\"varrho\",\"ϱ\"],[\"varsigma\",\"ς\"],[\"varsubsetneq\",\"⊊︀\"],[\"varsubsetneqq\",\"⫋︀\"],[\"varsupsetneq\",\"⊋︀\"],[\"varsupsetneqq\",\"⫌︀\"],[\"vartheta\",\"ϑ\"],[\"vartriangleleft\",\"⊲\"],[\"vartriangleright\",\"⊳\"],[\"vcy\",\"в\"],[\"vdash\",\"⊢\"],[\"vee\",\"∨\"],[\"veebar\",\"⊻\"],[\"veeeq\",\"≚\"],[\"vellip\",\"⋮\"],[\"verbar\",\"|\"],[\"vert\",\"|\"],[\"vfr\",\"𝔳\"],[\"vltri\",\"⊲\"],[\"vnsub\",\"⊂⃒\"],[\"vnsup\",\"⊃⃒\"],[\"vopf\",\"𝕧\"],[\"vprop\",\"∝\"],[\"vrtri\",\"⊳\"],[\"vscr\",\"𝓋\"],[\"vsubnE\",\"⫋︀\"],[\"vsubne\",\"⊊︀\"],[\"vsupnE\",\"⫌︀\"],[\"vsupne\",\"⊋︀\"],[\"vzigzag\",\"⦚\"],[\"wcirc\",\"ŵ\"],[\"wedbar\",\"⩟\"],[\"wedge\",\"∧\"],[\"wedgeq\",\"≙\"],[\"weierp\",\"℘\"],[\"wfr\",\"𝔴\"],[\"wopf\",\"𝕨\"],[\"wp\",\"℘\"],[\"wr\",\"≀\"],[\"wreath\",\"≀\"],[\"wscr\",\"𝓌\"],[\"xcap\",\"⋂\"],[\"xcirc\",\"◯\"],[\"xcup\",\"⋃\"],[\"xdtri\",\"▽\"],[\"xfr\",\"𝔵\"],[\"xhArr\",\"⟺\"],[\"xharr\",\"⟷\"],[\"xi\",\"ξ\"],[\"xlArr\",\"⟸\"],[\"xlarr\",\"⟵\"],[\"xmap\",\"⟼\"],[\"xnis\",\"⋻\"],[\"xodot\",\"⨀\"],[\"xopf\",\"𝕩\"],[\"xoplus\",\"⨁\"],[\"xotime\",\"⨂\"],[\"xrArr\",\"⟹\"],[\"xrarr\",\"⟶\"],[\"xscr\",\"𝓍\"],[\"xsqcup\",\"⨆\"],[\"xuplus\",\"⨄\"],[\"xutri\",\"△\"],[\"xvee\",\"⋁\"],[\"xwedge\",\"⋀\"],[\"yacute\",\"ý\"],[\"yacy\",\"я\"],[\"ycirc\",\"ŷ\"],[\"ycy\",\"ы\"],[\"yen\",\"¥\"],[\"yfr\",\"𝔶\"],[\"yicy\",\"ї\"],[\"yopf\",\"𝕪\"],[\"yscr\",\"𝓎\"],[\"yucy\",\"ю\"],[\"yuml\",\"ÿ\"],[\"zacute\",\"ź\"],[\"zcaron\",\"ž\"],[\"zcy\",\"з\"],[\"zdot\",\"ż\"],[\"zeetrf\",\"ℨ\"],[\"zeta\",\"ζ\"],[\"zfr\",\"𝔷\"],[\"zhcy\",\"ж\"],[\"zigrarr\",\"⇝\"],[\"zopf\",\"𝕫\"],[\"zscr\",\"𝓏\"],[\"zwj\",\"‍\"],[\"zwnj\",\"‌\"]]"));
5712
5917
  //#endregion
5713
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entities.js
5918
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entities.js
5714
5919
  /** The largest code point Unicode defines. */
5715
5920
  const MAX_CODE_POINT = 1114111;
5716
5921
  /**
@@ -5732,7 +5937,7 @@ const decodeEntity = (entity) => {
5732
5937
  return String.fromCodePoint(code);
5733
5938
  };
5734
5939
  //#endregion
5735
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/unescape.js
5940
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/unescape.js
5736
5941
  /** The punctuation set a backslash may escape, per the spec. */
5737
5942
  const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5738
5943
  /** One entity, in any of the three spec forms. */
@@ -5746,7 +5951,7 @@ const unescapeChar = (source) => {
5746
5951
  /** Replace every backslash escape and character reference with its literal. */
5747
5952
  const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
5748
5953
  //#endregion
5749
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/code.js
5954
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/code.js
5750
5955
  const reBlankLine = /^[ \t]*$/;
5751
5956
  const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
5752
5957
  /**
@@ -5830,7 +6035,7 @@ const codeConstruct = {
5830
6035
  }
5831
6036
  };
5832
6037
  //#endregion
5833
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/document.js
6038
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/document.js
5834
6039
  /** The document root: contains everything except a bare list item. */
5835
6040
  const documentConstruct = {
5836
6041
  type: "document",
@@ -5843,7 +6048,7 @@ const documentConstruct = {
5843
6048
  })
5844
6049
  };
5845
6050
  //#endregion
5846
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6051
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/fencedCode.js
5847
6052
  const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
5848
6053
  const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
5849
6054
  /** The fenced-code block start: three or more backticks or tildes. */
@@ -5867,7 +6072,7 @@ const fencedCodeStart = {
5867
6072
  }
5868
6073
  };
5869
6074
  //#endregion
5870
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/patterns.js
6075
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/patterns.js
5871
6076
  const stickyCache = /* @__PURE__ */ new WeakMap();
5872
6077
  const globalCache = /* @__PURE__ */ new WeakMap();
5873
6078
  const clone = (pattern, flag, dropCaret) => {
@@ -5891,7 +6096,7 @@ const globalOf = (pattern) => {
5891
6096
  return made;
5892
6097
  };
5893
6098
  //#endregion
5894
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/references.js
6099
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/references.js
5895
6100
  const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5896
6101
  const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
5897
6102
  const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
@@ -6065,7 +6270,7 @@ const parseReference = (text) => {
6065
6270
  };
6066
6271
  };
6067
6272
  //#endregion
6068
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6273
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6069
6274
  /**
6070
6275
  * `_scan_footnote_definition` from `src/scanners.re`:
6071
6276
  *
@@ -6142,7 +6347,7 @@ const footnoteDefinitionStart = {
6142
6347
  }
6143
6348
  };
6144
6349
  //#endregion
6145
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6350
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6146
6351
  /** The indented-code block start: four columns of indentation. */
6147
6352
  const indentedCodeStart = {
6148
6353
  name: "indentedCode",
@@ -6156,7 +6361,7 @@ const indentedCodeStart = {
6156
6361
  }
6157
6362
  };
6158
6363
  //#endregion
6159
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/segments.js
6364
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/segments.js
6160
6365
  /**
6161
6366
  * The absolute source offset of `textIndex` within a segmented content run.
6162
6367
  *
@@ -6190,7 +6395,7 @@ const sliceWithSegments = (segments, from, to) => {
6190
6395
  return sliced;
6191
6396
  };
6192
6397
  //#endregion
6193
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6398
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6194
6399
  const C_OPEN_BRACKET$1 = 91;
6195
6400
  /**
6196
6401
  * Split every leading link reference definition out of `block`, inserting one
@@ -6255,7 +6460,7 @@ const definitionConstruct = {
6255
6460
  }
6256
6461
  };
6257
6462
  //#endregion
6258
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/list.js
6463
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/list.js
6259
6464
  const reBulletListMarker = /^[*+-]/;
6260
6465
  const reOrderedListMarker = /^(\d{1,9})([.)])/;
6261
6466
  const reNonSpace$1 = /[^ \t\f\v\r\n]/;
@@ -6408,7 +6613,7 @@ const listItemStart = {
6408
6613
  }
6409
6614
  };
6410
6615
  //#endregion
6411
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/paragraph.js
6616
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/paragraph.js
6412
6617
  /** Paragraph: absorbs lines until a blank one, and contains nothing. */
6413
6618
  const paragraphConstruct = {
6414
6619
  type: "paragraph",
@@ -6430,7 +6635,7 @@ const paragraphConstruct = {
6430
6635
  }
6431
6636
  };
6432
6637
  //#endregion
6433
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6638
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6434
6639
  const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
6435
6640
  /** The setext heading block start: a run of `=` or `-` under a paragraph. */
6436
6641
  const setextHeadingStart = {
@@ -6450,7 +6655,7 @@ const setextHeadingStart = {
6450
6655
  }
6451
6656
  };
6452
6657
  //#endregion
6453
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/table.js
6658
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/table.js
6454
6659
  /**
6455
6660
  * Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
6456
6661
  * invents to pad short rows, which is what stops a wide header followed by a
@@ -6821,7 +7026,7 @@ const tableCellConstruct = {
6821
7026
  }
6822
7027
  };
6823
7028
  //#endregion
6824
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7029
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/taskListItem.js
6825
7030
  /**
6826
7031
  * `_scan_tasklist`, as the generated scanner accepts it.
6827
7032
  *
@@ -6855,7 +7060,7 @@ const taskListItemStart = {
6855
7060
  }
6856
7061
  };
6857
7062
  //#endregion
6858
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7063
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
6859
7064
  const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
6860
7065
  const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
6861
7066
  /** Thematic break: one line, no children. */
@@ -6886,7 +7091,7 @@ const thematicBreakStart = {
6886
7091
  }
6887
7092
  };
6888
7093
  //#endregion
6889
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockRegistry.js
7094
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockRegistry.js
6890
7095
  const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
6891
7096
  const commonmarkDialect$1 = {
6892
7097
  constructs: constructTable([
@@ -6958,61 +7163,7 @@ const blockDialect = (dialect) => {
6958
7163
  return found;
6959
7164
  };
6960
7165
  //#endregion
6961
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/frontmatter.js
6962
- const FENCES = /* @__PURE__ */ new Map([
6963
- ["---", {
6964
- format: "yaml",
6965
- close: "---"
6966
- }],
6967
- ["+++", {
6968
- format: "toml",
6969
- close: "+++"
6970
- }],
6971
- ["---json", {
6972
- format: "json",
6973
- close: "---"
6974
- }]
6975
- ]);
6976
- /**
6977
- * Scan the head of a preprocessed document for a frontmatter block.
6978
- *
6979
- * `lines` is the preprocessor's line table (U+0000 already replaced,
6980
- * terminators stripped, absolute `start` offsets); `text` is the original
6981
- * source, consulted only for the terminators between value lines — a
6982
- * terminator can never contain U+0000, so slicing it from the source is
6983
- * exact, and the value keeps CRLF interiors verbatim while the line content
6984
- * keeps the preprocessor's U+FFFD replacement.
6985
- *
6986
- * Returns `null` when the document has no frontmatter — which is the common
6987
- * case and never an error.
6988
- */
6989
- const scanFrontmatter = (lines, text) => {
6990
- const opening = lines[0];
6991
- if (opening === void 0 || opening.start !== 0) return null;
6992
- const rule = FENCES.get(opening.text);
6993
- if (rule === void 0) return null;
6994
- for (let index = 1; index < lines.length; index += 1) {
6995
- const line = lines[index];
6996
- if (line === void 0 || line.text !== rule.close) continue;
6997
- const parts = [];
6998
- for (let inner = 1; inner < index; inner += 1) {
6999
- const current = lines[inner];
7000
- const next = lines[inner + 1];
7001
- if (current === void 0 || next === void 0) break;
7002
- parts.push(current.text);
7003
- if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
7004
- }
7005
- return {
7006
- format: rule.format,
7007
- value: parts.join(""),
7008
- lineCount: index + 1,
7009
- endOffset: line.start + line.text.length
7010
- };
7011
- }
7012
- return null;
7013
- };
7014
- //#endregion
7015
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/lineIndex.js
7166
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/lineIndex.js
7016
7167
  /**
7017
7168
  * A precomputed index of line-start offsets over a fixed source text,
7018
7169
  * answering `positionAt(offset)` in `O(log n)` via binary search rather than
@@ -7086,7 +7237,7 @@ var LineIndex = class LineIndex {
7086
7237
  }
7087
7238
  };
7088
7239
  //#endregion
7089
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineNode.js
7240
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineNode.js
7090
7241
  /** Open a node with no links. */
7091
7242
  const makeInlineNode = (type, start, end, value = "") => ({
7092
7243
  type,
@@ -7138,7 +7289,7 @@ const childrenOf = (node) => {
7138
7289
  return children;
7139
7290
  };
7140
7291
  //#endregion
7141
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/emphasis.js
7292
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/emphasis.js
7142
7293
  const C_ASTERISK$1 = 42;
7143
7294
  const C_UNDERSCORE$1 = 95;
7144
7295
  const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
@@ -7215,7 +7366,7 @@ const emphasisConstruct = {
7215
7366
  parse: (scanner) => handleDelim(scanner, scanner.peek())
7216
7367
  };
7217
7368
  //#endregion
7218
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7369
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7219
7370
  /**
7220
7371
  * Consume a `~` run as literal text and, when it is a viable one- or
7221
7372
  * two-tilde run, push it onto the shared delimiter stack.
@@ -7289,7 +7440,7 @@ const strikethroughConstruct = {
7289
7440
  parse: (scanner) => handleTilde(scanner)
7290
7441
  };
7291
7442
  //#endregion
7292
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolink.js
7443
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolink.js
7293
7444
  const C_LESSTHAN$1 = 60;
7294
7445
  const reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
7295
7446
  const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
@@ -7321,7 +7472,7 @@ const autolinkConstruct = {
7321
7472
  }
7322
7473
  };
7323
7474
  //#endregion
7324
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7475
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7325
7476
  const C_LOWER_W = 119;
7326
7477
  const C_COLON = 58;
7327
7478
  /** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
@@ -7691,7 +7842,7 @@ const linkifyEmails = (root) => {
7691
7842
  }
7692
7843
  };
7693
7844
  //#endregion
7694
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7845
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7695
7846
  const C_BACKTICK$1 = 96;
7696
7847
  const reTicksHere = /^`+/;
7697
7848
  const reNewline = /\n/gm;
@@ -7719,7 +7870,7 @@ const codeSpanConstruct = {
7719
7870
  }
7720
7871
  };
7721
7872
  //#endregion
7722
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/entity.js
7873
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/entity.js
7723
7874
  const C_AMPERSAND = 38;
7724
7875
  const reEntityHere = new RegExp(`^${ENTITY}`, "i");
7725
7876
  /** A named, decimal or hexadecimal character reference. */
@@ -7735,7 +7886,7 @@ const entityConstruct = {
7735
7886
  }
7736
7887
  };
7737
7888
  //#endregion
7738
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/escape.js
7889
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/escape.js
7739
7890
  const C_BACKSLASH = 92;
7740
7891
  const C_NEWLINE$1 = 10;
7741
7892
  const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
@@ -7764,7 +7915,7 @@ const escapeConstruct = {
7764
7915
  }
7765
7916
  };
7766
7917
  //#endregion
7767
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/link.js
7918
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/link.js
7768
7919
  const C_BANG = 33;
7769
7920
  const C_CARET$1 = 94;
7770
7921
  const C_OPEN_BRACKET = 91;
@@ -7971,7 +8122,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
7971
8122
  /** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
7972
8123
  const linkCloseConstruct = makeLinkCloseConstruct();
7973
8124
  //#endregion
7974
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8125
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
7975
8126
  const C_CARET = 94;
7976
8127
  /**
7977
8128
  * Whether the bracket that just closed looks like `[^...]` with something
@@ -8028,7 +8179,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
8028
8179
  */
8029
8180
  const gfmImageOpenConstruct = makeImageOpenConstruct(false);
8030
8181
  //#endregion
8031
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8182
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8032
8183
  const C_NEWLINE = 10;
8033
8184
  const reInitialSpace = /^ */;
8034
8185
  /** A soft or hard line break. */
@@ -8049,7 +8200,7 @@ const lineBreakConstruct = {
8049
8200
  }
8050
8201
  };
8051
8202
  //#endregion
8052
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8203
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8053
8204
  const C_LESSTHAN = 60;
8054
8205
  /** The raw-HTML forms that scan forward for a fixed closing sequence. */
8055
8206
  const UNTERMINATED_FORMS = [
@@ -8071,7 +8222,7 @@ const rawHtmlConstruct = {
8071
8222
  }
8072
8223
  };
8073
8224
  //#endregion
8074
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/text.js
8225
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/text.js
8075
8226
  const reMain = /^[^\n`[\]\\!<&*_'"]+/;
8076
8227
  const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
8077
8228
  /** Consume a run of ordinary characters, stopping before any construct's. */
@@ -8091,7 +8242,7 @@ const textConstruct = runConstruct("text", reMain);
8091
8242
  /** Ordinary text under `gfm`, which has three more characters to yield to. */
8092
8243
  const gfmTextConstruct = runConstruct("text", reMainGfm);
8093
8244
  //#endregion
8094
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineRegistry.js
8245
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineRegistry.js
8095
8246
  const triggerTable = (constructs) => {
8096
8247
  const table = /* @__PURE__ */ new Map();
8097
8248
  for (const construct of constructs) for (const trigger of construct.triggers) {
@@ -8144,7 +8295,7 @@ const inlineDialect = (dialect) => {
8144
8295
  return found;
8145
8296
  };
8146
8297
  //#endregion
8147
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineParser.js
8298
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineParser.js
8148
8299
  const C_UNDERSCORE = 95;
8149
8300
  const C_ASTERISK = 42;
8150
8301
  const reTrailingSpaces = / +$/;
@@ -8538,12 +8689,14 @@ var InlineParser = class {
8538
8689
  */
8539
8690
  const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
8540
8691
  //#endregion
8541
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/rawInline.js
8692
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/rawInline.js
8542
8693
  const reWhitespace = /\s/;
8543
8694
  const reCmarkSpace = /[ \t\n\r]/;
8544
8695
  /**
8545
8696
  * Trim `text` the way commonmark.js does before inline parsing, carrying the
8546
8697
  * segment table along so the surviving characters keep their source offsets.
8698
+ * Exported for the phrasing-level parse entry point (`phrasing.ts`), which
8699
+ * prepares content the same way a paragraph does.
8547
8700
  */
8548
8701
  const trimWithSegments = (text, segments, whitespace) => {
8549
8702
  let start = 0;
@@ -8591,7 +8744,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
8591
8744
  };
8592
8745
  };
8593
8746
  //#endregion
8594
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockParser.js
8747
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockParser.js
8595
8748
  /** Upstream's cheap pre-filter: a line that cannot start any block. */
8596
8749
  const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
8597
8750
  var BlockParser = class {
@@ -8998,7 +9151,56 @@ var BlockParser = class {
8998
9151
  */
8999
9152
  const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
9000
9153
  //#endregion
9001
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/stringify.js
9154
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/phrasing.js
9155
+ const EMPTY_REFMAP = /* @__PURE__ */ new Map();
9156
+ const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
9157
+ /**
9158
+ * Parse a text fragment as a single paragraph's inline content.
9159
+ */
9160
+ const parsePhrasingText = (text, dialect) => {
9161
+ const lines = preprocessLines(text);
9162
+ const segments = [];
9163
+ let content = "";
9164
+ for (const line of lines) {
9165
+ segments.push({
9166
+ textOffset: content.length,
9167
+ sourceOffset: line.start,
9168
+ length: line.text.length
9169
+ });
9170
+ content += `${line.text}\n`;
9171
+ }
9172
+ const trimmed = trimWithSegments(content, segments, /\s/);
9173
+ if (trimmed.text.length === 0) return [];
9174
+ const first = trimmed.segments[0];
9175
+ const startOffset = first === void 0 ? 0 : first.sourceOffset;
9176
+ const lineIndex = LineIndex.fromLineStarts(text, lines.map((line) => line.start));
9177
+ const sourceLength = text.length;
9178
+ const positionOf = (start, end) => {
9179
+ const clampedStart = Math.min(Math.max(start, 0), sourceLength);
9180
+ const clampedEnd = Math.min(Math.max(end, clampedStart), sourceLength);
9181
+ const startPoint = lineIndex.positionAt(clampedStart);
9182
+ const endPoint = lineIndex.positionAt(clampedEnd);
9183
+ return Position.make({
9184
+ start: Point.make({
9185
+ line: startPoint.line,
9186
+ column: startPoint.column,
9187
+ offset: clampedStart
9188
+ }),
9189
+ end: Point.make({
9190
+ line: endPoint.line,
9191
+ column: endPoint.column,
9192
+ offset: clampedEnd
9193
+ })
9194
+ });
9195
+ };
9196
+ return parseInlines({
9197
+ text: trimmed.text,
9198
+ startOffset,
9199
+ segments: trimmed.segments
9200
+ }, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
9201
+ };
9202
+ //#endregion
9203
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/stringify.js
9002
9204
  const FLOW_CONTEXT = {
9003
9205
  singleLine: false,
9004
9206
  inTable: false,
@@ -9070,7 +9272,7 @@ const isSchemeColon = (value, index) => {
9070
9272
  * Escape one text value into `out`, tracking line starts. Returns whether the
9071
9273
  * emission ended at a line start.
9072
9274
  */
9073
- const escapeText = (value, context, atLineStart) => {
9275
+ const escapeText = (value, context, atLineStart, mdx) => {
9074
9276
  let out = "";
9075
9277
  let lineStart = atLineStart;
9076
9278
  for (let index = 0; index < value.length; index += 1) {
@@ -9123,6 +9325,10 @@ const escapeText = (value, context, atLineStart) => {
9123
9325
  out += `\\${char}`;
9124
9326
  continue;
9125
9327
  }
9328
+ if (mdx && char === "{") {
9329
+ out += "\\{";
9330
+ continue;
9331
+ }
9126
9332
  if (context.inHeading && char === "#") {
9127
9333
  out += "\\#";
9128
9334
  continue;
@@ -9212,7 +9418,7 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9212
9418
  };
9213
9419
  switch (child.type) {
9214
9420
  case "text": {
9215
- const escaped = escapeText(child.value, context, atLineStart);
9421
+ const escaped = escapeText(child.value, context, atLineStart, state.mdx);
9216
9422
  out += escaped.text;
9217
9423
  atLineStart = escaped.atLineStart;
9218
9424
  break;
@@ -9289,12 +9495,126 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9289
9495
  case "footnoteReference":
9290
9496
  out += `[^${escapeLabel(child.label ?? child.identifier)}]`;
9291
9497
  atLineStart = false;
9498
+ break;
9499
+ case "mdxJsxTextElement":
9500
+ out += serializeMdxJsxText(child, context, state);
9501
+ atLineStart = false;
9502
+ break;
9503
+ case "mdxTextExpression":
9504
+ out += mdxExpression(child.value);
9505
+ atLineStart = false;
9292
9506
  }
9293
9507
  index += 1;
9294
9508
  unguard(state);
9295
9509
  }
9296
9510
  return out;
9297
9511
  };
9512
+ /** The tag string of every MDX node type. */
9513
+ const MDX_NODE_TYPES = /* @__PURE__ */ new Set([
9514
+ "mdxJsxFlowElement",
9515
+ "mdxJsxTextElement",
9516
+ "mdxFlowExpression",
9517
+ "mdxTextExpression",
9518
+ "mdxjsEsm"
9519
+ ]);
9520
+ /** Whether the tree carries any MDX node — iterative, deliberately unguarded. */
9521
+ const treeContainsMdx = (root) => {
9522
+ const stack = [root];
9523
+ while (stack.length > 0) {
9524
+ const node = stack.pop();
9525
+ if (MDX_NODE_TYPES.has(node.type)) return true;
9526
+ if (node.children !== void 0) for (const child of node.children) stack.push(child);
9527
+ }
9528
+ return false;
9529
+ };
9530
+ /**
9531
+ * The oracle's `indentLines` line model (mdast-util-to-markdown
9532
+ * `lib/util/indent-lines.js`): lines split on every terminator spelling
9533
+ * (`\r\n`, `\n`, bare `\r`), terminators preserved verbatim between the
9534
+ * mapped lines, and `blank` meaning an empty line — so a blank CRLF line
9535
+ * stays bare instead of having a retained `\r` treated as content.
9536
+ */
9537
+ const mapMdxLines = (value, map) => {
9538
+ const eol = /\r?\n|\r/g;
9539
+ const result = [];
9540
+ let start = 0;
9541
+ let index = 0;
9542
+ for (let match = eol.exec(value); match !== null; match = eol.exec(value)) {
9543
+ const line = value.slice(start, match.index);
9544
+ result.push(map(line, index, line === ""), match[0]);
9545
+ start = match.index + match[0].length;
9546
+ index += 1;
9547
+ }
9548
+ const last = value.slice(start);
9549
+ result.push(map(last, index, last === ""));
9550
+ return result.join("");
9551
+ };
9552
+ /**
9553
+ * Serialize an MDX expression body between braces. Continuation lines take
9554
+ * the oracle's two-space indent; the first line and blank lines take none.
9555
+ */
9556
+ const mdxExpression = (value) => `{${mapMdxLines(value, (line, index, blank) => index === 0 || blank ? line : ` ${line}`)}}`;
9557
+ /**
9558
+ * Serialize one JSX attribute. A `null` or absent value is a boolean
9559
+ * attribute; a string value is quoted with `"` (the oracle default), the
9560
+ * quote itself escaped as `&#x22;` exactly as `stringify-entities` spells
9561
+ * it; an expression value goes between braces.
9562
+ */
9563
+ const serializeMdxAttribute = (attribute) => {
9564
+ if (attribute.type === "mdxJsxExpressionAttribute") return `{${attribute.value}}`;
9565
+ const value = attribute.value;
9566
+ if (value === void 0 || value === null) return attribute.name;
9567
+ if (typeof value === "string") return `${attribute.name}="${value.replaceAll("\"", "&#x22;")}"`;
9568
+ return `${attribute.name}={${value.value}}`;
9569
+ };
9570
+ /** Serialize a text (phrasing) JSX element. */
9571
+ const serializeMdxJsxText = (node, context, state) => {
9572
+ const attributes = node.attributes.map(serializeMdxAttribute);
9573
+ const selfClosing = node.name !== null && node.children.length === 0;
9574
+ let out = `<${node.name ?? ""}`;
9575
+ if (attributes.length > 0) out += ` ${attributes.join(" ")}`;
9576
+ if (selfClosing) return `${out} />`;
9577
+ out += ">";
9578
+ out += serializeInlines(node.children, context, state, false);
9579
+ out += `</${node.name ?? ""}>`;
9580
+ return out;
9581
+ };
9582
+ /** Prefix every line of a rendered child block; blank lines stay bare. */
9583
+ const indentBlockLines = (content, indent) => mapMdxLines(content, (line, _index, blank) => blank ? line : `${indent}${line}`);
9584
+ /**
9585
+ * Serialize a flow (block) JSX element: opening tag (attributes on their own
9586
+ * lines when one carries a line ending), children as indented block layout,
9587
+ * closing tag — the oracle's `mdxElement` flow branch.
9588
+ */
9589
+ const serializeMdxJsxFlow = (node, state) => {
9590
+ const currentIndent = " ".repeat(state.jsxDepth);
9591
+ const attributes = node.attributes.map(serializeMdxAttribute);
9592
+ const selfClosing = node.name !== null && node.children.length === 0;
9593
+ const attributesOnOneLine = attributes.join(" ");
9594
+ const attributesOnTheirOwnLine = /[\r\n]/.test(attributesOnOneLine);
9595
+ let value = `${currentIndent}<${node.name ?? ""}`;
9596
+ if (attributesOnTheirOwnLine) value += `\n${attributes.map((attribute) => `${currentIndent} ${attribute}`).join("\n")}\n${currentIndent}`;
9597
+ else if (attributesOnOneLine !== "") value += ` ${attributesOnOneLine}`;
9598
+ if (selfClosing) value += `${attributesOnTheirOwnLine ? "" : " "}/`;
9599
+ value += ">";
9600
+ if (node.children.length > 0) {
9601
+ state.jsxDepth += 1;
9602
+ const childIndent = " ".repeat(state.jsxDepth);
9603
+ const parts = node.children.map((child) => {
9604
+ if (child.type === "mdxJsxFlowElement") {
9605
+ guard(state, child);
9606
+ const rendered = serializeMdxJsxFlow(child, state);
9607
+ unguard(state);
9608
+ return rendered;
9609
+ }
9610
+ return indentBlockLines(serializeBlocks([child], state), childIndent);
9611
+ });
9612
+ state.jsxDepth -= 1;
9613
+ value += `\n${parts.join("\n\n")}\n`;
9614
+ }
9615
+ if (!selfClosing) value += `${currentIndent}</${node.name ?? ""}>`;
9616
+ return value;
9617
+ };
9298
9618
  /** Prefix every line of `content`; blank lines take the trimmed prefix. */
9299
9619
  const prefixLines = (content, prefix, blankPrefix) => content.split("\n").map((line) => line === "" ? blankPrefix : `${prefix}${line}`).join("\n");
9300
9620
  /** First line gets `marker`, continuation lines get spaces of its width. */
@@ -9379,7 +9699,10 @@ const effectiveListMarker = (list, flipped) => {
9379
9699
  };
9380
9700
  const serializeListItem = (item, marker, state, tight) => {
9381
9701
  guard(state, item);
9702
+ const savedJsxDepth = state.jsxDepth;
9703
+ state.jsxDepth = 0;
9382
9704
  const inner = serializeBlocks(item.children, state, tight);
9705
+ state.jsxDepth = savedJsxDepth;
9383
9706
  unguard(state);
9384
9707
  const content = `${item.checked === void 0 ? "" : item.checked ? "[x] " : "[ ] "}${inner}`;
9385
9708
  if (content === "") return marker.trimEnd();
@@ -9453,7 +9776,10 @@ const serializeBlocks = (children, state, tight = false) => {
9453
9776
  previousListMarker = void 0;
9454
9777
  break;
9455
9778
  case "blockquote": {
9779
+ const savedJsxDepth = state.jsxDepth;
9780
+ state.jsxDepth = 0;
9456
9781
  const inner = serializeBlocks(child.children, state);
9782
+ state.jsxDepth = savedJsxDepth;
9457
9783
  parts.push(prefixLines(inner, "> ", ">"));
9458
9784
  previousListMarker = void 0;
9459
9785
  break;
@@ -9483,6 +9809,17 @@ const serializeBlocks = (children, state, tight = false) => {
9483
9809
  previousListMarker = void 0;
9484
9810
  break;
9485
9811
  }
9812
+ case "mdxJsxFlowElement":
9813
+ parts.push(serializeMdxJsxFlow(child, state));
9814
+ previousListMarker = void 0;
9815
+ break;
9816
+ case "mdxFlowExpression":
9817
+ parts.push(mdxExpression(child.value));
9818
+ previousListMarker = void 0;
9819
+ break;
9820
+ case "mdxjsEsm":
9821
+ parts.push(child.value);
9822
+ previousListMarker = void 0;
9486
9823
  }
9487
9824
  previous = child;
9488
9825
  nodes.push(child);
@@ -9508,11 +9845,16 @@ const serializeBlocks = (children, state, tight = false) => {
9508
9845
  * empty for an empty root and ends with exactly one newline otherwise.
9509
9846
  */
9510
9847
  const stringifyTree = (root) => {
9511
- const body = serializeBlocks(root.children, { depth: 0 });
9848
+ const state = {
9849
+ depth: 0,
9850
+ jsxDepth: 0,
9851
+ mdx: treeContainsMdx(root)
9852
+ };
9853
+ const body = serializeBlocks(root.children, state);
9512
9854
  return body === "" ? "" : `${body}\n`;
9513
9855
  };
9514
9856
  //#endregion
9515
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Markdown.js
9857
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Markdown.js
9516
9858
  /**
9517
9859
  * The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
9518
9860
  * 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
@@ -9666,6 +10008,79 @@ var Markdown = class Markdown {
9666
10008
  */
9667
10009
  static parse = effect.Effect.fn("Markdown.parse")((text, options) => effect.Effect.fromResult(Markdown.parseResult(text, options)));
9668
10010
  /**
10011
+ * Parse a text fragment as a single paragraph's inline content,
10012
+ * synchronously, as a `Result` — the phrasing-level twin of
10013
+ * {@link Markdown.parseResult}, for callers holding already-markdown
10014
+ * prose (a link-carrying sentence, a backtick span) who want its
10015
+ * phrasing nodes without a full document parse and a paragraph splice.
10016
+ *
10017
+ * @remarks
10018
+ * The whole input is prepared exactly the way the block pass prepares one
10019
+ * paragraph's content — leading and trailing whitespace trimmed, line
10020
+ * terminators normalized to `\n` — and handed to the inline pass, so the
10021
+ * result matches the `children` of the paragraph a full parse of the same
10022
+ * fragment would produce. Node positions are correct relative to the
10023
+ * input string.
10024
+ *
10025
+ * Two consequences of the single-paragraph contract:
10026
+ *
10027
+ * - **Blank lines do not break blocks.** A `\n\n` in the input stays
10028
+ * inline content (literal newlines in a text node); nothing at this
10029
+ * level opens a heading, list or code block — `# foo` is the text
10030
+ * `# foo`.
10031
+ * - **No reference context exists.** The fragment carries no definitions,
10032
+ * so `[foo]`, `![foo]` and `[^foo]` remain literal text — the same
10033
+ * result a full parse of the isolated fragment produces.
10034
+ *
10035
+ * `options.dialect` selects the inline dialect (default `"gfm"`);
10036
+ * `options.frontmatter` has no effect at phrasing level. Failure is rare
10037
+ * by design, on {@link Markdown.parseResult}'s terms: only a
10038
+ * hardening-guard trip (delimiter or bracket nesting past the cap) fails.
10039
+ *
10040
+ * @example
10041
+ * ```ts
10042
+ * import { Markdown } from "@effected/markdown";
10043
+ * import { Result } from "effect";
10044
+ *
10045
+ * const ok = Markdown.parsePhrasingResult("see [the docs](./docs.md)");
10046
+ * if (Result.isSuccess(ok)) {
10047
+ * console.log(ok.success.map((node) => node.type)); // => ["text", "link"]
10048
+ * }
10049
+ * ```
10050
+ *
10051
+ * @param text - The prose fragment to parse.
10052
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10053
+ * defaults to `"gfm"`.
10054
+ * @returns A `Result` succeeding with the fragment's phrasing content, or
10055
+ * failing with {@link MarkdownParseError}.
10056
+ */
10057
+ static parsePhrasingResult(text, options) {
10058
+ try {
10059
+ return effect.Result.succeed(parsePhrasingText(text, dialectOf(options)));
10060
+ } catch (caught) {
10061
+ if (isGuardExceeded$1(caught)) return effect.Result.fail(new MarkdownParseError({ diagnostic: MarkdownDiagnostic.fromRaw(text, {
10062
+ code: caught.reason,
10063
+ message: caught.message,
10064
+ offset: caught.offset,
10065
+ length: 0
10066
+ }) }));
10067
+ throw caught;
10068
+ }
10069
+ }
10070
+ /**
10071
+ * Parse a text fragment as a single paragraph's inline content. Defined
10072
+ * in terms of {@link Markdown.parsePhrasingResult} — synchronous callers
10073
+ * can use that variant directly; the single-paragraph contract (blank
10074
+ * lines stay inline, references never form) is documented there.
10075
+ *
10076
+ * @param text - The prose fragment to parse.
10077
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10078
+ * defaults to `"gfm"`.
10079
+ * @returns An `Effect` that succeeds with the fragment's phrasing
10080
+ * content, or fails with {@link MarkdownParseError}.
10081
+ */
10082
+ static parsePhrasing = effect.Effect.fn("Markdown.parsePhrasing")((text, options) => effect.Effect.fromResult(Markdown.parsePhrasingResult(text, options)));
10083
+ /**
9669
10084
  * Serialize a {@link Root} tree to canonical markdown, synchronously, as a
9670
10085
  * `Result`. The pure primitive twin of {@link Markdown.stringify}, on the
9671
10086
  * same terms as {@link Markdown.parseResult}.
@@ -9725,6 +10140,18 @@ var Markdown = class Markdown {
9725
10140
  * post-decode walk that reaches nested nodes. The choice then leaves the
9726
10141
  * emitter entirely and no output depends on a node's neighbours.
9727
10142
  *
10143
+ * **MDX nodes (constructed trees only — the parser reads no MDX syntax)**
10144
+ * serialize to valid MDX with the mdast-util-mdx defaults, and these
10145
+ * choices are part of the same stability commitment: attribute values
10146
+ * quote with `"` (the quote escaped as `&#x22;`), an empty element
10147
+ * self-closes spaced (`<a />`), a fragment is `<></>`, flow children take
10148
+ * block layout indented two spaces per JSX ancestor, attributes move onto
10149
+ * their own lines only when one carries a line ending, expressions emit
10150
+ * `{expr}` with two-space continuation indent, and ESM values emit
10151
+ * verbatim. A tree containing any MDX node additionally escapes `{` in
10152
+ * text — MDX makes it significant — while a tree with none serializes
10153
+ * byte-identically to the table above.
10154
+ *
9728
10155
  * To *normalize* a document to different choices — a `-` list rewritten to
9729
10156
  * `*`, setext headings rewritten to ATX — use `MarkdownFormat` with
9730
10157
  * `MarkdownFormattingOptions`. That is the configurable surface; this one
@@ -9803,7 +10230,7 @@ var Markdown = class Markdown {
9803
10230
  static MarkdownFromString = Markdown.fromString();
9804
10231
  };
9805
10232
  //#endregion
9806
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Mdast.js
10233
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Mdast.js
9807
10234
  /**
9808
10235
  * The remark-ecosystem interop boundary: projection between this package's
9809
10236
  * node classes and plain mdast JSON.
@@ -10007,8 +10434,40 @@ const projectNode = (node) => {
10007
10434
  value: node.value,
10008
10435
  position
10009
10436
  };
10437
+ case "mdxJsxFlowElement":
10438
+ case "mdxJsxTextElement": return {
10439
+ type: node.type,
10440
+ name: node.name,
10441
+ attributes: node.attributes.map((attribute) => projectMdxAttribute(attribute)),
10442
+ children: projectChildren(node.children),
10443
+ position
10444
+ };
10445
+ case "mdxFlowExpression":
10446
+ case "mdxTextExpression":
10447
+ case "mdxjsEsm": return {
10448
+ type: node.type,
10449
+ value: node.value,
10450
+ position
10451
+ };
10010
10452
  }
10011
10453
  };
10454
+ const projectMdxAttribute = (attribute) => {
10455
+ if (attribute.type === "mdxJsxExpressionAttribute") return {
10456
+ type: "mdxJsxExpressionAttribute",
10457
+ value: attribute.value,
10458
+ position: projectPosition(attribute.position)
10459
+ };
10460
+ const value = attribute.value;
10461
+ return {
10462
+ type: "mdxJsxAttribute",
10463
+ name: attribute.name,
10464
+ value: value === void 0 || value === null ? null : typeof value === "string" ? value : {
10465
+ type: "mdxJsxAttributeValueExpression",
10466
+ value: value.value
10467
+ },
10468
+ position: projectPosition(attribute.position)
10469
+ };
10470
+ };
10012
10471
  /** The frontmatter literal node types foreign mdast spells per format. */
10013
10472
  const frontmatterTypes = /* @__PURE__ */ new Map([
10014
10473
  ["yaml", "yaml"],
@@ -10072,7 +10531,10 @@ const admittedFields = {
10072
10531
  "spread"
10073
10532
  ],
10074
10533
  listItem: ["spread", "checked"],
10075
- table: ["align"]
10534
+ table: ["align"],
10535
+ mdxFlowExpression: ["value"],
10536
+ mdxTextExpression: ["value"],
10537
+ mdxjsEsm: ["value"]
10076
10538
  };
10077
10539
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
10078
10540
  const completePoint = (value) => isRecord(value) && typeof value.line === "number" && typeof value.column === "number" && typeof value.offset === "number";
@@ -10105,6 +10567,13 @@ const normalizeNode = (value) => {
10105
10567
  value: value.value,
10106
10568
  position: normalizePosition(value.position)
10107
10569
  };
10570
+ if (type === "mdxJsxFlowElement" || type === "mdxJsxTextElement") return {
10571
+ type,
10572
+ name: value.name,
10573
+ attributes: Array.isArray(value.attributes) ? value.attributes.map(normalizeMdxAttribute) : value.attributes,
10574
+ children: Array.isArray(value.children) ? value.children.map(normalizeNode) : value.children,
10575
+ position: normalizePosition(value.position)
10576
+ };
10108
10577
  const admitted = admittedFields[type];
10109
10578
  if (admitted === void 0) return value;
10110
10579
  const normalized = { type };
@@ -10120,6 +10589,29 @@ const normalizeNode = (value) => {
10120
10589
  normalized.position = normalizePosition(value.position);
10121
10590
  return normalized;
10122
10591
  };
10592
+ const normalizeMdxAttribute = (value) => {
10593
+ if (!isRecord(value) || typeof value.type !== "string") return value;
10594
+ if (value.type === "mdxJsxExpressionAttribute") return {
10595
+ type: "mdxJsxExpressionAttribute",
10596
+ value: value.value,
10597
+ position: normalizePosition(value.position)
10598
+ };
10599
+ if (value.type === "mdxJsxAttribute") {
10600
+ const raw = value.value;
10601
+ const normalized = {
10602
+ type: "mdxJsxAttribute",
10603
+ name: value.name,
10604
+ position: normalizePosition(value.position)
10605
+ };
10606
+ if (raw !== void 0) normalized.value = isRecord(raw) && raw.type === "mdxJsxAttributeValueExpression" ? {
10607
+ type: "mdxJsxAttributeValueExpression",
10608
+ value: raw.value,
10609
+ position: normalizePosition(raw.position)
10610
+ } : raw;
10611
+ return normalized;
10612
+ }
10613
+ return value;
10614
+ };
10123
10615
  const decodeRoot = effect.Schema.decodeUnknownResult(Root);
10124
10616
  /**
10125
10617
  * The mdast projection facade — the remark-ecosystem interop boundary.