@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.
- package/changesets-changelog.cjs +608 -116
- package/changesets-changelog.js +611 -118
- package/changesets-markdownlint.cjs +608 -116
- package/changesets-markdownlint.js +611 -118
- package/package.json +5 -5
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -2929,7 +2929,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
|
|
|
2929
2929
|
*/
|
|
2930
2930
|
const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
|
|
2931
2931
|
//#endregion
|
|
2932
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
2932
|
+
//#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
|
|
2933
2933
|
/**
|
|
2934
2934
|
* A single point in a source document: 1-based `line` and `column`, 0-based
|
|
2935
2935
|
* `offset`.
|
|
@@ -3253,6 +3253,8 @@ const PhrasingContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3253
3253
|
InlineCode,
|
|
3254
3254
|
Link,
|
|
3255
3255
|
LinkReference,
|
|
3256
|
+
MdxJsxTextElement,
|
|
3257
|
+
MdxTextExpression,
|
|
3256
3258
|
Strong,
|
|
3257
3259
|
Text
|
|
3258
3260
|
]));
|
|
@@ -3496,6 +3498,8 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3496
3498
|
Heading,
|
|
3497
3499
|
Html,
|
|
3498
3500
|
List,
|
|
3501
|
+
MdxFlowExpression,
|
|
3502
|
+
MdxJsxFlowElement,
|
|
3499
3503
|
Paragraph,
|
|
3500
3504
|
Table,
|
|
3501
3505
|
ThematicBreak
|
|
@@ -3510,6 +3514,147 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3510
3514
|
*/
|
|
3511
3515
|
const ListContent = effect.Schema.suspend(() => effect.Schema.Union([ListItem]));
|
|
3512
3516
|
/**
|
|
3517
|
+
* MdxJsxAttributeValueExpression — a JSX attribute value written as an
|
|
3518
|
+
* expression (`<a b={c} />`); `value` holds the expression source text
|
|
3519
|
+
* between the braces, never evaluated or parsed.
|
|
3520
|
+
*
|
|
3521
|
+
* The primary construction path is a JSON-encoded prop:
|
|
3522
|
+
* `MdxJsxAttributeValueExpression.make({ value: JSON.stringify(props) })`.
|
|
3523
|
+
*
|
|
3524
|
+
* @public
|
|
3525
|
+
*/
|
|
3526
|
+
var MdxJsxAttributeValueExpression = class extends effect.Schema.Class("MdxJsxAttributeValueExpression")({
|
|
3527
|
+
type: effect.Schema.tag("mdxJsxAttributeValueExpression"),
|
|
3528
|
+
value: effect.Schema.String,
|
|
3529
|
+
position: NodePosition
|
|
3530
|
+
}) {};
|
|
3531
|
+
/**
|
|
3532
|
+
* MdxJsxAttribute — a named JSX attribute (`<a b="c" />`). `value` is a
|
|
3533
|
+
* string literal, a {@link MdxJsxAttributeValueExpression}, or — for a
|
|
3534
|
+
* boolean attribute (`<a b />`) — absent or `null`, both of which the
|
|
3535
|
+
* mdast-util-mdx-jsx contract spells (its parser writes `null`; absence is
|
|
3536
|
+
* the constructed-tree spelling). The serializer treats the two identically.
|
|
3537
|
+
*
|
|
3538
|
+
* `name` must be non-empty — an attribute without a name has no MDX spelling,
|
|
3539
|
+
* so the schema refuses it at construction and decode (the oracle's
|
|
3540
|
+
* serialize-time crash, moved to the admission boundary).
|
|
3541
|
+
*
|
|
3542
|
+
* @public
|
|
3543
|
+
*/
|
|
3544
|
+
var MdxJsxAttribute = class extends effect.Schema.Class("MdxJsxAttribute")(effect.Schema.Struct({
|
|
3545
|
+
type: effect.Schema.tag("mdxJsxAttribute"),
|
|
3546
|
+
name: effect.Schema.String,
|
|
3547
|
+
value: effect.Schema.optionalKey(effect.Schema.NullOr(effect.Schema.Union([MdxJsxAttributeValueExpression, effect.Schema.String]))),
|
|
3548
|
+
position: NodePosition
|
|
3549
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((attribute) => attribute.name.length === 0 ? "an MDX JSX attribute requires a non-empty name" : void 0)))) {};
|
|
3550
|
+
/**
|
|
3551
|
+
* MdxJsxExpressionAttribute — a JSX attribute written whole as an expression
|
|
3552
|
+
* (`<a {...b} />`); `value` holds the expression source text between the
|
|
3553
|
+
* braces.
|
|
3554
|
+
*
|
|
3555
|
+
* @public
|
|
3556
|
+
*/
|
|
3557
|
+
var MdxJsxExpressionAttribute = class extends effect.Schema.Class("MdxJsxExpressionAttribute")({
|
|
3558
|
+
type: effect.Schema.tag("mdxJsxExpressionAttribute"),
|
|
3559
|
+
value: effect.Schema.String,
|
|
3560
|
+
position: NodePosition
|
|
3561
|
+
}) {};
|
|
3562
|
+
/**
|
|
3563
|
+
* The union of every node that may appear in a JSX element's `attributes`
|
|
3564
|
+
* array. A real `Schema.Union` for the construction pass-through documented
|
|
3565
|
+
* on `RowContent`.
|
|
3566
|
+
*
|
|
3567
|
+
* Attribute carriers are node-shaped values — they carry `type` and
|
|
3568
|
+
* `position` per the mdast-util-mdx-jsx contract — but they are **not tree
|
|
3569
|
+
* content**: they never appear in a `children` array, so they are excluded
|
|
3570
|
+
* from `MarkdownNode` and invisible to the visitor and to
|
|
3571
|
+
* `MarkdownDocument.find`.
|
|
3572
|
+
*
|
|
3573
|
+
* @public
|
|
3574
|
+
*/
|
|
3575
|
+
const MdxJsxAttributeContent = effect.Schema.Union([MdxJsxAttribute, MdxJsxExpressionAttribute]);
|
|
3576
|
+
/**
|
|
3577
|
+
* MdxJsxFlowElement — a JSX element in flow (block) position (`<Component />`
|
|
3578
|
+
* on its own lines). `name` is `null` for a fragment (`<></>`); children are
|
|
3579
|
+
* flow content, per the oracle's `BlockContent | DefinitionContent` model.
|
|
3580
|
+
*
|
|
3581
|
+
* A fragment cannot carry attributes — that shape has no MDX spelling — so
|
|
3582
|
+
* the schema refuses it at construction and decode. A **named** element's
|
|
3583
|
+
* name must be non-empty on the same terms: `""` has no MDX spelling either
|
|
3584
|
+
* (the oracle's parser only ever produces a real name or `null`, and its
|
|
3585
|
+
* serializer treats a falsy name as the fragment), so `null` is the one
|
|
3586
|
+
* fragment spelling and the empty string fails typed.
|
|
3587
|
+
*
|
|
3588
|
+
* @public
|
|
3589
|
+
*/
|
|
3590
|
+
var MdxJsxFlowElement = class extends effect.Schema.Class("MdxJsxFlowElement")(effect.Schema.Struct({
|
|
3591
|
+
type: effect.Schema.tag("mdxJsxFlowElement"),
|
|
3592
|
+
name: effect.Schema.NullOr(effect.Schema.String),
|
|
3593
|
+
attributes: effect.Schema.Array(MdxJsxAttributeContent),
|
|
3594
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => FlowContent)),
|
|
3595
|
+
position: NodePosition
|
|
3596
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
|
|
3597
|
+
if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
|
|
3598
|
+
return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
|
|
3599
|
+
})))) {};
|
|
3600
|
+
/**
|
|
3601
|
+
* MdxJsxTextElement — a JSX element in text (phrasing) position
|
|
3602
|
+
* (`a <b>c</b> d`). `name` is `null` for a fragment; children are phrasing
|
|
3603
|
+
* content. Refuses attributes on a fragment and an empty-string name, on the
|
|
3604
|
+
* same terms as {@link MdxJsxFlowElement}.
|
|
3605
|
+
*
|
|
3606
|
+
* @public
|
|
3607
|
+
*/
|
|
3608
|
+
var MdxJsxTextElement = class extends effect.Schema.Class("MdxJsxTextElement")(effect.Schema.Struct({
|
|
3609
|
+
type: effect.Schema.tag("mdxJsxTextElement"),
|
|
3610
|
+
name: effect.Schema.NullOr(effect.Schema.String),
|
|
3611
|
+
attributes: effect.Schema.Array(MdxJsxAttributeContent),
|
|
3612
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => PhrasingContent)),
|
|
3613
|
+
position: NodePosition
|
|
3614
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
|
|
3615
|
+
if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
|
|
3616
|
+
return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
|
|
3617
|
+
})))) {};
|
|
3618
|
+
/**
|
|
3619
|
+
* MdxFlowExpression — an expression in flow (block) position (`{a + b}` on
|
|
3620
|
+
* its own lines); `value` holds the expression source text between the
|
|
3621
|
+
* braces.
|
|
3622
|
+
*
|
|
3623
|
+
* @public
|
|
3624
|
+
*/
|
|
3625
|
+
var MdxFlowExpression = class extends effect.Schema.Class("MdxFlowExpression")({
|
|
3626
|
+
type: effect.Schema.tag("mdxFlowExpression"),
|
|
3627
|
+
value: effect.Schema.String,
|
|
3628
|
+
position: NodePosition
|
|
3629
|
+
}) {};
|
|
3630
|
+
/**
|
|
3631
|
+
* MdxTextExpression — an expression in text (phrasing) position
|
|
3632
|
+
* (`a {b} c`); `value` holds the expression source text between the braces.
|
|
3633
|
+
*
|
|
3634
|
+
* @public
|
|
3635
|
+
*/
|
|
3636
|
+
var MdxTextExpression = class extends effect.Schema.Class("MdxTextExpression")({
|
|
3637
|
+
type: effect.Schema.tag("mdxTextExpression"),
|
|
3638
|
+
value: effect.Schema.String,
|
|
3639
|
+
position: NodePosition
|
|
3640
|
+
}) {};
|
|
3641
|
+
/**
|
|
3642
|
+
* MdxjsEsm — an MDX ESM block (`import`/`export` statements); `value` holds
|
|
3643
|
+
* the statement source verbatim.
|
|
3644
|
+
*
|
|
3645
|
+
* Only ever a child of {@link Root}, per the mdast-util-mdxjs-esm content
|
|
3646
|
+
* registration — ESM cannot nest inside a JSX element or any other
|
|
3647
|
+
* container. As with the frontmatter head node, the constraint is structural
|
|
3648
|
+
* (the `Root` children union admits it, no other union does), not validated.
|
|
3649
|
+
*
|
|
3650
|
+
* @public
|
|
3651
|
+
*/
|
|
3652
|
+
var MdxjsEsm = class extends effect.Schema.Class("MdxjsEsm")({
|
|
3653
|
+
type: effect.Schema.tag("mdxjsEsm"),
|
|
3654
|
+
value: effect.Schema.String,
|
|
3655
|
+
position: NodePosition
|
|
3656
|
+
}) {};
|
|
3657
|
+
/**
|
|
3513
3658
|
* The frontmatter formats the capture recognizes, keyed by their opening
|
|
3514
3659
|
* fence: `---` is yaml, `+++` is toml and `---json` is json.
|
|
3515
3660
|
*
|
|
@@ -3560,13 +3705,18 @@ const FrontmatterContent = effect.Schema.suspend(() => Frontmatter);
|
|
|
3560
3705
|
* mdast leaves a root's content model open; a parsed markdown document is
|
|
3561
3706
|
* flow content, optionally headed by one {@link Frontmatter} node — mdast's
|
|
3562
3707
|
* `FlowContentFrontmatter` merge, which admits frontmatter at the root and
|
|
3563
|
-
* nowhere else.
|
|
3708
|
+
* nowhere else. {@link MdxjsEsm} is likewise admitted at the root and nowhere
|
|
3709
|
+
* else, per mdast-util-mdxjs-esm's `RootContentMap` registration.
|
|
3564
3710
|
*
|
|
3565
3711
|
* @public
|
|
3566
3712
|
*/
|
|
3567
3713
|
var Root = class extends effect.Schema.Class("Root")({
|
|
3568
3714
|
type: effect.Schema.tag("root"),
|
|
3569
|
-
children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
|
|
3715
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
|
|
3716
|
+
Frontmatter,
|
|
3717
|
+
MdxjsEsm,
|
|
3718
|
+
FlowContent
|
|
3719
|
+
]))),
|
|
3570
3720
|
position: NodePosition
|
|
3571
3721
|
}) {};
|
|
3572
3722
|
effect.Schema.suspend(() => effect.Schema.Union([
|
|
@@ -3574,12 +3724,67 @@ effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3574
3724
|
FrontmatterContent,
|
|
3575
3725
|
FlowContent,
|
|
3576
3726
|
ListContent,
|
|
3727
|
+
MdxjsEsm,
|
|
3577
3728
|
PhrasingContent,
|
|
3578
3729
|
RowContent,
|
|
3579
3730
|
TableContent
|
|
3580
3731
|
]));
|
|
3581
3732
|
//#endregion
|
|
3582
|
-
//#region ../../node_modules/.pnpm/@effected+
|
|
3733
|
+
//#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
|
|
3734
|
+
const FENCES = /* @__PURE__ */ new Map([
|
|
3735
|
+
["---", {
|
|
3736
|
+
format: "yaml",
|
|
3737
|
+
close: "---"
|
|
3738
|
+
}],
|
|
3739
|
+
["+++", {
|
|
3740
|
+
format: "toml",
|
|
3741
|
+
close: "+++"
|
|
3742
|
+
}],
|
|
3743
|
+
["---json", {
|
|
3744
|
+
format: "json",
|
|
3745
|
+
close: "---"
|
|
3746
|
+
}]
|
|
3747
|
+
]);
|
|
3748
|
+
/**
|
|
3749
|
+
* Scan the head of a preprocessed document for a frontmatter block.
|
|
3750
|
+
*
|
|
3751
|
+
* `lines` is the preprocessor's line table (U+0000 already replaced,
|
|
3752
|
+
* terminators stripped, absolute `start` offsets); `text` is the original
|
|
3753
|
+
* source, consulted only for the terminators between value lines — a
|
|
3754
|
+
* terminator can never contain U+0000, so slicing it from the source is
|
|
3755
|
+
* exact, and the value keeps CRLF interiors verbatim while the line content
|
|
3756
|
+
* keeps the preprocessor's U+FFFD replacement.
|
|
3757
|
+
*
|
|
3758
|
+
* Returns `null` when the document has no frontmatter — which is the common
|
|
3759
|
+
* case and never an error.
|
|
3760
|
+
*/
|
|
3761
|
+
const scanFrontmatter = (lines, text) => {
|
|
3762
|
+
const opening = lines[0];
|
|
3763
|
+
if (opening === void 0 || opening.start !== 0) return null;
|
|
3764
|
+
const rule = FENCES.get(opening.text);
|
|
3765
|
+
if (rule === void 0) return null;
|
|
3766
|
+
for (let index = 1; index < lines.length; index += 1) {
|
|
3767
|
+
const line = lines[index];
|
|
3768
|
+
if (line === void 0 || line.text !== rule.close) continue;
|
|
3769
|
+
const parts = [];
|
|
3770
|
+
for (let inner = 1; inner < index; inner += 1) {
|
|
3771
|
+
const current = lines[inner];
|
|
3772
|
+
const next = lines[inner + 1];
|
|
3773
|
+
if (current === void 0 || next === void 0) break;
|
|
3774
|
+
parts.push(current.text);
|
|
3775
|
+
if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
|
|
3776
|
+
}
|
|
3777
|
+
return {
|
|
3778
|
+
format: rule.format,
|
|
3779
|
+
value: parts.join(""),
|
|
3780
|
+
lineCount: index + 1,
|
|
3781
|
+
endOffset: line.start + line.text.length
|
|
3782
|
+
};
|
|
3783
|
+
}
|
|
3784
|
+
return null;
|
|
3785
|
+
};
|
|
3786
|
+
//#endregion
|
|
3787
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
|
|
3583
3788
|
/**
|
|
3584
3789
|
* Discriminator values for JSONC AST node types: the JSON value types
|
|
3585
3790
|
* (`string`/`number`/`boolean`/`null`), the structural types
|
|
@@ -3754,7 +3959,7 @@ function evaluateNode(node, depth) {
|
|
|
3754
3959
|
}
|
|
3755
3960
|
}
|
|
3756
3961
|
//#endregion
|
|
3757
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
3962
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
|
|
3758
3963
|
const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
|
|
3759
3964
|
const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
|
|
3760
3965
|
const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
|
|
@@ -4048,7 +4253,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
|
|
|
4048
4253
|
};
|
|
4049
4254
|
};
|
|
4050
4255
|
//#endregion
|
|
4051
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4256
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
|
|
4052
4257
|
/**
|
|
4053
4258
|
* Iteratively consume the value beginning at the cursor's current token and
|
|
4054
4259
|
* return its tight end offset (excludes trailing whitespace/comments).
|
|
@@ -4078,7 +4283,7 @@ const skipBalancedValue = (cursor) => {
|
|
|
4078
4283
|
return end;
|
|
4079
4284
|
};
|
|
4080
4285
|
//#endregion
|
|
4081
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4286
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
|
|
4082
4287
|
/**
|
|
4083
4288
|
* The public parse-error code vocabulary. The facade builds its `@public`
|
|
4084
4289
|
* `JsoncParseErrorCode` schema from this array; the parser produces these codes
|
|
@@ -4491,7 +4696,7 @@ const parseTree$2 = (text, flags) => {
|
|
|
4491
4696
|
};
|
|
4492
4697
|
};
|
|
4493
4698
|
//#endregion
|
|
4494
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4699
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
|
|
4495
4700
|
/**
|
|
4496
4701
|
* The single public parse-error code vocabulary, appearing as the `code` field
|
|
4497
4702
|
* of {@link JsoncParseErrorDetail}.
|
|
@@ -5095,7 +5300,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
|
|
|
5095
5300
|
}
|
|
5096
5301
|
};
|
|
5097
5302
|
//#endregion
|
|
5098
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5303
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
|
|
5099
5304
|
/**
|
|
5100
5305
|
* Resolve `path` against `text`, returning where the target is (or where it
|
|
5101
5306
|
* would be inserted). `path` must be non-empty — the whole-document case is
|
|
@@ -5222,7 +5427,7 @@ function navigate(text, path) {
|
|
|
5222
5427
|
return { _tag: "NoOp" };
|
|
5223
5428
|
}
|
|
5224
5429
|
//#endregion
|
|
5225
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5430
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
|
|
5226
5431
|
/**
|
|
5227
5432
|
* Raised when `JsoncModifier.modify` cannot navigate the requested path: the
|
|
5228
5433
|
* value at `depth` is not the container kind (`expected`) the next path segment
|
|
@@ -5350,7 +5555,7 @@ var JsoncModifier = class {
|
|
|
5350
5555
|
});
|
|
5351
5556
|
};
|
|
5352
5557
|
//#endregion
|
|
5353
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5558
|
+
//#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
|
|
5354
5559
|
/**
|
|
5355
5560
|
* P1's error-code vocabulary. Widens as later phases add parse-error kinds;
|
|
5356
5561
|
* P1 registers exactly one, the hardening-guard trip.
|
|
@@ -5390,7 +5595,7 @@ var GuardExceeded$1 = class extends Error {
|
|
|
5390
5595
|
/** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
|
|
5391
5596
|
const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
|
|
5392
5597
|
//#endregion
|
|
5393
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5598
|
+
//#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
|
|
5394
5599
|
/**
|
|
5395
5600
|
* Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
|
|
5396
5601
|
* registers exactly the hardening-guard trip; later phases widen the union
|
|
@@ -5470,7 +5675,7 @@ function lineChar(text, offset) {
|
|
|
5470
5675
|
};
|
|
5471
5676
|
}
|
|
5472
5677
|
//#endregion
|
|
5473
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5678
|
+
//#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
|
|
5474
5679
|
/** Narrow materialized children to the flow content most constructs contain. */
|
|
5475
5680
|
const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
|
|
5476
5681
|
/** Narrow materialized children to the list items a list contains. */
|
|
@@ -5495,7 +5700,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
|
|
|
5495
5700
|
data: {}
|
|
5496
5701
|
});
|
|
5497
5702
|
//#endregion
|
|
5498
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5703
|
+
//#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
|
|
5499
5704
|
/**
|
|
5500
5705
|
* Split `text` into lines, preserving each line's absolute start offset.
|
|
5501
5706
|
*
|
|
@@ -5549,7 +5754,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
|
|
|
5549
5754
|
*/
|
|
5550
5755
|
const columnsToNextTabStop = (column) => 4 - column % 4;
|
|
5551
5756
|
//#endregion
|
|
5552
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5757
|
+
//#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
|
|
5553
5758
|
const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
|
|
5554
5759
|
/** An opening tag, with any attributes and an optional self-closing slash. */
|
|
5555
5760
|
const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
|
|
@@ -5560,7 +5765,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
|
|
|
5560
5765
|
/** {@link HTMLTAG}, anchored for matching at a cursor. */
|
|
5561
5766
|
const reHtmlTag = new RegExp(`^${HTMLTAG}`);
|
|
5562
5767
|
//#endregion
|
|
5563
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5768
|
+
//#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
|
|
5564
5769
|
const C_LESSTHAN$3 = 60;
|
|
5565
5770
|
const reHtmlBlockOpen = [
|
|
5566
5771
|
/./,
|
|
@@ -5626,7 +5831,7 @@ const htmlBlockStart = {
|
|
|
5626
5831
|
}
|
|
5627
5832
|
};
|
|
5628
5833
|
//#endregion
|
|
5629
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5834
|
+
//#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
|
|
5630
5835
|
const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
|
|
5631
5836
|
const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
|
|
5632
5837
|
const reClosingHashes = /[ \t]+#+[ \t]*$/;
|
|
@@ -5676,7 +5881,7 @@ const atxHeadingStart = {
|
|
|
5676
5881
|
}
|
|
5677
5882
|
};
|
|
5678
5883
|
//#endregion
|
|
5679
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5884
|
+
//#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
|
|
5680
5885
|
const C_GREATERTHAN = 62;
|
|
5681
5886
|
/** Blockquote: continues while each line carries its `>` marker. */
|
|
5682
5887
|
const blockquoteConstruct = {
|
|
@@ -5710,11 +5915,11 @@ const blockquoteStart = {
|
|
|
5710
5915
|
}
|
|
5711
5916
|
};
|
|
5712
5917
|
//#endregion
|
|
5713
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
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/entityMap.js
|
|
5714
5919
|
/** The HTML5 named character references, keyed without `&` or `;`. */
|
|
5715
5920
|
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\",\"\"]]"));
|
|
5716
5921
|
//#endregion
|
|
5717
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5922
|
+
//#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
|
|
5718
5923
|
/** The largest code point Unicode defines. */
|
|
5719
5924
|
const MAX_CODE_POINT = 1114111;
|
|
5720
5925
|
/**
|
|
@@ -5736,7 +5941,7 @@ const decodeEntity = (entity) => {
|
|
|
5736
5941
|
return String.fromCodePoint(code);
|
|
5737
5942
|
};
|
|
5738
5943
|
//#endregion
|
|
5739
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5944
|
+
//#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
|
|
5740
5945
|
/** The punctuation set a backslash may escape, per the spec. */
|
|
5741
5946
|
const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
|
|
5742
5947
|
/** One entity, in any of the three spec forms. */
|
|
@@ -5750,7 +5955,7 @@ const unescapeChar = (source) => {
|
|
|
5750
5955
|
/** Replace every backslash escape and character reference with its literal. */
|
|
5751
5956
|
const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
|
|
5752
5957
|
//#endregion
|
|
5753
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5958
|
+
//#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
|
|
5754
5959
|
const reBlankLine = /^[ \t]*$/;
|
|
5755
5960
|
const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
|
|
5756
5961
|
/**
|
|
@@ -5834,7 +6039,7 @@ const codeConstruct = {
|
|
|
5834
6039
|
}
|
|
5835
6040
|
};
|
|
5836
6041
|
//#endregion
|
|
5837
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6042
|
+
//#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
|
|
5838
6043
|
/** The document root: contains everything except a bare list item. */
|
|
5839
6044
|
const documentConstruct = {
|
|
5840
6045
|
type: "document",
|
|
@@ -5847,7 +6052,7 @@ const documentConstruct = {
|
|
|
5847
6052
|
})
|
|
5848
6053
|
};
|
|
5849
6054
|
//#endregion
|
|
5850
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6055
|
+
//#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
|
|
5851
6056
|
const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
|
|
5852
6057
|
const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
|
|
5853
6058
|
/** The fenced-code block start: three or more backticks or tildes. */
|
|
@@ -5871,7 +6076,7 @@ const fencedCodeStart = {
|
|
|
5871
6076
|
}
|
|
5872
6077
|
};
|
|
5873
6078
|
//#endregion
|
|
5874
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6079
|
+
//#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
|
|
5875
6080
|
const stickyCache = /* @__PURE__ */ new WeakMap();
|
|
5876
6081
|
const globalCache = /* @__PURE__ */ new WeakMap();
|
|
5877
6082
|
const clone = (pattern, flag, dropCaret) => {
|
|
@@ -5895,7 +6100,7 @@ const globalOf = (pattern) => {
|
|
|
5895
6100
|
return made;
|
|
5896
6101
|
};
|
|
5897
6102
|
//#endregion
|
|
5898
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6103
|
+
//#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
|
|
5899
6104
|
const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
|
|
5900
6105
|
const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
|
|
5901
6106
|
const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
|
|
@@ -6069,7 +6274,7 @@ const parseReference = (text) => {
|
|
|
6069
6274
|
};
|
|
6070
6275
|
};
|
|
6071
6276
|
//#endregion
|
|
6072
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6277
|
+
//#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
|
|
6073
6278
|
/**
|
|
6074
6279
|
* `_scan_footnote_definition` from `src/scanners.re`:
|
|
6075
6280
|
*
|
|
@@ -6146,7 +6351,7 @@ const footnoteDefinitionStart = {
|
|
|
6146
6351
|
}
|
|
6147
6352
|
};
|
|
6148
6353
|
//#endregion
|
|
6149
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6354
|
+
//#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
|
|
6150
6355
|
/** The indented-code block start: four columns of indentation. */
|
|
6151
6356
|
const indentedCodeStart = {
|
|
6152
6357
|
name: "indentedCode",
|
|
@@ -6160,7 +6365,7 @@ const indentedCodeStart = {
|
|
|
6160
6365
|
}
|
|
6161
6366
|
};
|
|
6162
6367
|
//#endregion
|
|
6163
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6368
|
+
//#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
|
|
6164
6369
|
/**
|
|
6165
6370
|
* The absolute source offset of `textIndex` within a segmented content run.
|
|
6166
6371
|
*
|
|
@@ -6194,7 +6399,7 @@ const sliceWithSegments = (segments, from, to) => {
|
|
|
6194
6399
|
return sliced;
|
|
6195
6400
|
};
|
|
6196
6401
|
//#endregion
|
|
6197
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6402
|
+
//#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
|
|
6198
6403
|
const C_OPEN_BRACKET$1 = 91;
|
|
6199
6404
|
/**
|
|
6200
6405
|
* Split every leading link reference definition out of `block`, inserting one
|
|
@@ -6259,7 +6464,7 @@ const definitionConstruct = {
|
|
|
6259
6464
|
}
|
|
6260
6465
|
};
|
|
6261
6466
|
//#endregion
|
|
6262
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6467
|
+
//#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
|
|
6263
6468
|
const reBulletListMarker = /^[*+-]/;
|
|
6264
6469
|
const reOrderedListMarker = /^(\d{1,9})([.)])/;
|
|
6265
6470
|
const reNonSpace$1 = /[^ \t\f\v\r\n]/;
|
|
@@ -6412,7 +6617,7 @@ const listItemStart = {
|
|
|
6412
6617
|
}
|
|
6413
6618
|
};
|
|
6414
6619
|
//#endregion
|
|
6415
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6620
|
+
//#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
|
|
6416
6621
|
/** Paragraph: absorbs lines until a blank one, and contains nothing. */
|
|
6417
6622
|
const paragraphConstruct = {
|
|
6418
6623
|
type: "paragraph",
|
|
@@ -6434,7 +6639,7 @@ const paragraphConstruct = {
|
|
|
6434
6639
|
}
|
|
6435
6640
|
};
|
|
6436
6641
|
//#endregion
|
|
6437
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6642
|
+
//#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
|
|
6438
6643
|
const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
|
|
6439
6644
|
/** The setext heading block start: a run of `=` or `-` under a paragraph. */
|
|
6440
6645
|
const setextHeadingStart = {
|
|
@@ -6454,7 +6659,7 @@ const setextHeadingStart = {
|
|
|
6454
6659
|
}
|
|
6455
6660
|
};
|
|
6456
6661
|
//#endregion
|
|
6457
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6662
|
+
//#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
|
|
6458
6663
|
/**
|
|
6459
6664
|
* Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
|
|
6460
6665
|
* invents to pad short rows, which is what stops a wide header followed by a
|
|
@@ -6825,7 +7030,7 @@ const tableCellConstruct = {
|
|
|
6825
7030
|
}
|
|
6826
7031
|
};
|
|
6827
7032
|
//#endregion
|
|
6828
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7033
|
+
//#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
|
|
6829
7034
|
/**
|
|
6830
7035
|
* `_scan_tasklist`, as the generated scanner accepts it.
|
|
6831
7036
|
*
|
|
@@ -6859,7 +7064,7 @@ const taskListItemStart = {
|
|
|
6859
7064
|
}
|
|
6860
7065
|
};
|
|
6861
7066
|
//#endregion
|
|
6862
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7067
|
+
//#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
|
|
6863
7068
|
const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
|
|
6864
7069
|
const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
|
|
6865
7070
|
/** Thematic break: one line, no children. */
|
|
@@ -6890,7 +7095,7 @@ const thematicBreakStart = {
|
|
|
6890
7095
|
}
|
|
6891
7096
|
};
|
|
6892
7097
|
//#endregion
|
|
6893
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7098
|
+
//#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
|
|
6894
7099
|
const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
|
|
6895
7100
|
const commonmarkDialect$1 = {
|
|
6896
7101
|
constructs: constructTable([
|
|
@@ -6962,61 +7167,7 @@ const blockDialect = (dialect) => {
|
|
|
6962
7167
|
return found;
|
|
6963
7168
|
};
|
|
6964
7169
|
//#endregion
|
|
6965
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6966
|
-
const FENCES = /* @__PURE__ */ new Map([
|
|
6967
|
-
["---", {
|
|
6968
|
-
format: "yaml",
|
|
6969
|
-
close: "---"
|
|
6970
|
-
}],
|
|
6971
|
-
["+++", {
|
|
6972
|
-
format: "toml",
|
|
6973
|
-
close: "+++"
|
|
6974
|
-
}],
|
|
6975
|
-
["---json", {
|
|
6976
|
-
format: "json",
|
|
6977
|
-
close: "---"
|
|
6978
|
-
}]
|
|
6979
|
-
]);
|
|
6980
|
-
/**
|
|
6981
|
-
* Scan the head of a preprocessed document for a frontmatter block.
|
|
6982
|
-
*
|
|
6983
|
-
* `lines` is the preprocessor's line table (U+0000 already replaced,
|
|
6984
|
-
* terminators stripped, absolute `start` offsets); `text` is the original
|
|
6985
|
-
* source, consulted only for the terminators between value lines — a
|
|
6986
|
-
* terminator can never contain U+0000, so slicing it from the source is
|
|
6987
|
-
* exact, and the value keeps CRLF interiors verbatim while the line content
|
|
6988
|
-
* keeps the preprocessor's U+FFFD replacement.
|
|
6989
|
-
*
|
|
6990
|
-
* Returns `null` when the document has no frontmatter — which is the common
|
|
6991
|
-
* case and never an error.
|
|
6992
|
-
*/
|
|
6993
|
-
const scanFrontmatter = (lines, text) => {
|
|
6994
|
-
const opening = lines[0];
|
|
6995
|
-
if (opening === void 0 || opening.start !== 0) return null;
|
|
6996
|
-
const rule = FENCES.get(opening.text);
|
|
6997
|
-
if (rule === void 0) return null;
|
|
6998
|
-
for (let index = 1; index < lines.length; index += 1) {
|
|
6999
|
-
const line = lines[index];
|
|
7000
|
-
if (line === void 0 || line.text !== rule.close) continue;
|
|
7001
|
-
const parts = [];
|
|
7002
|
-
for (let inner = 1; inner < index; inner += 1) {
|
|
7003
|
-
const current = lines[inner];
|
|
7004
|
-
const next = lines[inner + 1];
|
|
7005
|
-
if (current === void 0 || next === void 0) break;
|
|
7006
|
-
parts.push(current.text);
|
|
7007
|
-
if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
|
|
7008
|
-
}
|
|
7009
|
-
return {
|
|
7010
|
-
format: rule.format,
|
|
7011
|
-
value: parts.join(""),
|
|
7012
|
-
lineCount: index + 1,
|
|
7013
|
-
endOffset: line.start + line.text.length
|
|
7014
|
-
};
|
|
7015
|
-
}
|
|
7016
|
-
return null;
|
|
7017
|
-
};
|
|
7018
|
-
//#endregion
|
|
7019
|
-
//#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
|
|
7170
|
+
//#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
|
|
7020
7171
|
/**
|
|
7021
7172
|
* A precomputed index of line-start offsets over a fixed source text,
|
|
7022
7173
|
* answering `positionAt(offset)` in `O(log n)` via binary search rather than
|
|
@@ -7090,7 +7241,7 @@ var LineIndex = class LineIndex {
|
|
|
7090
7241
|
}
|
|
7091
7242
|
};
|
|
7092
7243
|
//#endregion
|
|
7093
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7244
|
+
//#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
|
|
7094
7245
|
/** Open a node with no links. */
|
|
7095
7246
|
const makeInlineNode = (type, start, end, value = "") => ({
|
|
7096
7247
|
type,
|
|
@@ -7142,7 +7293,7 @@ const childrenOf = (node) => {
|
|
|
7142
7293
|
return children;
|
|
7143
7294
|
};
|
|
7144
7295
|
//#endregion
|
|
7145
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7296
|
+
//#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
|
|
7146
7297
|
const C_ASTERISK$1 = 42;
|
|
7147
7298
|
const C_UNDERSCORE$1 = 95;
|
|
7148
7299
|
const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
|
|
@@ -7219,7 +7370,7 @@ const emphasisConstruct = {
|
|
|
7219
7370
|
parse: (scanner) => handleDelim(scanner, scanner.peek())
|
|
7220
7371
|
};
|
|
7221
7372
|
//#endregion
|
|
7222
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7373
|
+
//#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
|
|
7223
7374
|
/**
|
|
7224
7375
|
* Consume a `~` run as literal text and, when it is a viable one- or
|
|
7225
7376
|
* two-tilde run, push it onto the shared delimiter stack.
|
|
@@ -7293,7 +7444,7 @@ const strikethroughConstruct = {
|
|
|
7293
7444
|
parse: (scanner) => handleTilde(scanner)
|
|
7294
7445
|
};
|
|
7295
7446
|
//#endregion
|
|
7296
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7447
|
+
//#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
|
|
7297
7448
|
const C_LESSTHAN$1 = 60;
|
|
7298
7449
|
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])?)*)>/;
|
|
7299
7450
|
const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
|
|
@@ -7325,7 +7476,7 @@ const autolinkConstruct = {
|
|
|
7325
7476
|
}
|
|
7326
7477
|
};
|
|
7327
7478
|
//#endregion
|
|
7328
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7479
|
+
//#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
|
|
7329
7480
|
const C_LOWER_W = 119;
|
|
7330
7481
|
const C_COLON = 58;
|
|
7331
7482
|
/** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
|
|
@@ -7695,7 +7846,7 @@ const linkifyEmails = (root) => {
|
|
|
7695
7846
|
}
|
|
7696
7847
|
};
|
|
7697
7848
|
//#endregion
|
|
7698
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7849
|
+
//#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
|
|
7699
7850
|
const C_BACKTICK$1 = 96;
|
|
7700
7851
|
const reTicksHere = /^`+/;
|
|
7701
7852
|
const reNewline = /\n/gm;
|
|
@@ -7723,7 +7874,7 @@ const codeSpanConstruct = {
|
|
|
7723
7874
|
}
|
|
7724
7875
|
};
|
|
7725
7876
|
//#endregion
|
|
7726
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7877
|
+
//#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
|
|
7727
7878
|
const C_AMPERSAND = 38;
|
|
7728
7879
|
const reEntityHere = new RegExp(`^${ENTITY}`, "i");
|
|
7729
7880
|
/** A named, decimal or hexadecimal character reference. */
|
|
@@ -7739,7 +7890,7 @@ const entityConstruct = {
|
|
|
7739
7890
|
}
|
|
7740
7891
|
};
|
|
7741
7892
|
//#endregion
|
|
7742
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7893
|
+
//#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
|
|
7743
7894
|
const C_BACKSLASH = 92;
|
|
7744
7895
|
const C_NEWLINE$1 = 10;
|
|
7745
7896
|
const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
|
|
@@ -7768,7 +7919,7 @@ const escapeConstruct = {
|
|
|
7768
7919
|
}
|
|
7769
7920
|
};
|
|
7770
7921
|
//#endregion
|
|
7771
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7922
|
+
//#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
|
|
7772
7923
|
const C_BANG = 33;
|
|
7773
7924
|
const C_CARET$1 = 94;
|
|
7774
7925
|
const C_OPEN_BRACKET = 91;
|
|
@@ -7975,7 +8126,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
|
|
|
7975
8126
|
/** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
|
|
7976
8127
|
const linkCloseConstruct = makeLinkCloseConstruct();
|
|
7977
8128
|
//#endregion
|
|
7978
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8129
|
+
//#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
|
|
7979
8130
|
const C_CARET = 94;
|
|
7980
8131
|
/**
|
|
7981
8132
|
* Whether the bracket that just closed looks like `[^...]` with something
|
|
@@ -8032,7 +8183,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
|
|
|
8032
8183
|
*/
|
|
8033
8184
|
const gfmImageOpenConstruct = makeImageOpenConstruct(false);
|
|
8034
8185
|
//#endregion
|
|
8035
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8186
|
+
//#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
|
|
8036
8187
|
const C_NEWLINE = 10;
|
|
8037
8188
|
const reInitialSpace = /^ */;
|
|
8038
8189
|
/** A soft or hard line break. */
|
|
@@ -8053,7 +8204,7 @@ const lineBreakConstruct = {
|
|
|
8053
8204
|
}
|
|
8054
8205
|
};
|
|
8055
8206
|
//#endregion
|
|
8056
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8207
|
+
//#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
|
|
8057
8208
|
const C_LESSTHAN = 60;
|
|
8058
8209
|
/** The raw-HTML forms that scan forward for a fixed closing sequence. */
|
|
8059
8210
|
const UNTERMINATED_FORMS = [
|
|
@@ -8075,7 +8226,7 @@ const rawHtmlConstruct = {
|
|
|
8075
8226
|
}
|
|
8076
8227
|
};
|
|
8077
8228
|
//#endregion
|
|
8078
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8229
|
+
//#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
|
|
8079
8230
|
const reMain = /^[^\n`[\]\\!<&*_'"]+/;
|
|
8080
8231
|
const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
|
|
8081
8232
|
/** Consume a run of ordinary characters, stopping before any construct's. */
|
|
@@ -8095,7 +8246,7 @@ const textConstruct = runConstruct("text", reMain);
|
|
|
8095
8246
|
/** Ordinary text under `gfm`, which has three more characters to yield to. */
|
|
8096
8247
|
const gfmTextConstruct = runConstruct("text", reMainGfm);
|
|
8097
8248
|
//#endregion
|
|
8098
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8249
|
+
//#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
|
|
8099
8250
|
const triggerTable = (constructs) => {
|
|
8100
8251
|
const table = /* @__PURE__ */ new Map();
|
|
8101
8252
|
for (const construct of constructs) for (const trigger of construct.triggers) {
|
|
@@ -8148,7 +8299,7 @@ const inlineDialect = (dialect) => {
|
|
|
8148
8299
|
return found;
|
|
8149
8300
|
};
|
|
8150
8301
|
//#endregion
|
|
8151
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8302
|
+
//#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
|
|
8152
8303
|
const C_UNDERSCORE = 95;
|
|
8153
8304
|
const C_ASTERISK = 42;
|
|
8154
8305
|
const reTrailingSpaces = / +$/;
|
|
@@ -8542,12 +8693,14 @@ var InlineParser = class {
|
|
|
8542
8693
|
*/
|
|
8543
8694
|
const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
|
|
8544
8695
|
//#endregion
|
|
8545
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8696
|
+
//#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
|
|
8546
8697
|
const reWhitespace = /\s/;
|
|
8547
8698
|
const reCmarkSpace = /[ \t\n\r]/;
|
|
8548
8699
|
/**
|
|
8549
8700
|
* Trim `text` the way commonmark.js does before inline parsing, carrying the
|
|
8550
8701
|
* segment table along so the surviving characters keep their source offsets.
|
|
8702
|
+
* Exported for the phrasing-level parse entry point (`phrasing.ts`), which
|
|
8703
|
+
* prepares content the same way a paragraph does.
|
|
8551
8704
|
*/
|
|
8552
8705
|
const trimWithSegments = (text, segments, whitespace) => {
|
|
8553
8706
|
let start = 0;
|
|
@@ -8595,7 +8748,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
|
|
|
8595
8748
|
};
|
|
8596
8749
|
};
|
|
8597
8750
|
//#endregion
|
|
8598
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8751
|
+
//#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
|
|
8599
8752
|
/** Upstream's cheap pre-filter: a line that cannot start any block. */
|
|
8600
8753
|
const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
|
|
8601
8754
|
var BlockParser = class {
|
|
@@ -9002,7 +9155,56 @@ var BlockParser = class {
|
|
|
9002
9155
|
*/
|
|
9003
9156
|
const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
|
|
9004
9157
|
//#endregion
|
|
9005
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
9158
|
+
//#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
|
|
9159
|
+
const EMPTY_REFMAP = /* @__PURE__ */ new Map();
|
|
9160
|
+
const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
|
|
9161
|
+
/**
|
|
9162
|
+
* Parse a text fragment as a single paragraph's inline content.
|
|
9163
|
+
*/
|
|
9164
|
+
const parsePhrasingText = (text, dialect) => {
|
|
9165
|
+
const lines = preprocessLines(text);
|
|
9166
|
+
const segments = [];
|
|
9167
|
+
let content = "";
|
|
9168
|
+
for (const line of lines) {
|
|
9169
|
+
segments.push({
|
|
9170
|
+
textOffset: content.length,
|
|
9171
|
+
sourceOffset: line.start,
|
|
9172
|
+
length: line.text.length
|
|
9173
|
+
});
|
|
9174
|
+
content += `${line.text}\n`;
|
|
9175
|
+
}
|
|
9176
|
+
const trimmed = trimWithSegments(content, segments, /\s/);
|
|
9177
|
+
if (trimmed.text.length === 0) return [];
|
|
9178
|
+
const first = trimmed.segments[0];
|
|
9179
|
+
const startOffset = first === void 0 ? 0 : first.sourceOffset;
|
|
9180
|
+
const lineIndex = LineIndex.fromLineStarts(text, lines.map((line) => line.start));
|
|
9181
|
+
const sourceLength = text.length;
|
|
9182
|
+
const positionOf = (start, end) => {
|
|
9183
|
+
const clampedStart = Math.min(Math.max(start, 0), sourceLength);
|
|
9184
|
+
const clampedEnd = Math.min(Math.max(end, clampedStart), sourceLength);
|
|
9185
|
+
const startPoint = lineIndex.positionAt(clampedStart);
|
|
9186
|
+
const endPoint = lineIndex.positionAt(clampedEnd);
|
|
9187
|
+
return Position.make({
|
|
9188
|
+
start: Point.make({
|
|
9189
|
+
line: startPoint.line,
|
|
9190
|
+
column: startPoint.column,
|
|
9191
|
+
offset: clampedStart
|
|
9192
|
+
}),
|
|
9193
|
+
end: Point.make({
|
|
9194
|
+
line: endPoint.line,
|
|
9195
|
+
column: endPoint.column,
|
|
9196
|
+
offset: clampedEnd
|
|
9197
|
+
})
|
|
9198
|
+
});
|
|
9199
|
+
};
|
|
9200
|
+
return parseInlines({
|
|
9201
|
+
text: trimmed.text,
|
|
9202
|
+
startOffset,
|
|
9203
|
+
segments: trimmed.segments
|
|
9204
|
+
}, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
|
|
9205
|
+
};
|
|
9206
|
+
//#endregion
|
|
9207
|
+
//#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
|
|
9006
9208
|
const FLOW_CONTEXT = {
|
|
9007
9209
|
singleLine: false,
|
|
9008
9210
|
inTable: false,
|
|
@@ -9074,7 +9276,7 @@ const isSchemeColon = (value, index) => {
|
|
|
9074
9276
|
* Escape one text value into `out`, tracking line starts. Returns whether the
|
|
9075
9277
|
* emission ended at a line start.
|
|
9076
9278
|
*/
|
|
9077
|
-
const escapeText = (value, context, atLineStart) => {
|
|
9279
|
+
const escapeText = (value, context, atLineStart, mdx) => {
|
|
9078
9280
|
let out = "";
|
|
9079
9281
|
let lineStart = atLineStart;
|
|
9080
9282
|
for (let index = 0; index < value.length; index += 1) {
|
|
@@ -9127,6 +9329,10 @@ const escapeText = (value, context, atLineStart) => {
|
|
|
9127
9329
|
out += `\\${char}`;
|
|
9128
9330
|
continue;
|
|
9129
9331
|
}
|
|
9332
|
+
if (mdx && char === "{") {
|
|
9333
|
+
out += "\\{";
|
|
9334
|
+
continue;
|
|
9335
|
+
}
|
|
9130
9336
|
if (context.inHeading && char === "#") {
|
|
9131
9337
|
out += "\\#";
|
|
9132
9338
|
continue;
|
|
@@ -9216,7 +9422,7 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
|
|
|
9216
9422
|
};
|
|
9217
9423
|
switch (child.type) {
|
|
9218
9424
|
case "text": {
|
|
9219
|
-
const escaped = escapeText(child.value, context, atLineStart);
|
|
9425
|
+
const escaped = escapeText(child.value, context, atLineStart, state.mdx);
|
|
9220
9426
|
out += escaped.text;
|
|
9221
9427
|
atLineStart = escaped.atLineStart;
|
|
9222
9428
|
break;
|
|
@@ -9293,12 +9499,126 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
|
|
|
9293
9499
|
case "footnoteReference":
|
|
9294
9500
|
out += `[^${escapeLabel(child.label ?? child.identifier)}]`;
|
|
9295
9501
|
atLineStart = false;
|
|
9502
|
+
break;
|
|
9503
|
+
case "mdxJsxTextElement":
|
|
9504
|
+
out += serializeMdxJsxText(child, context, state);
|
|
9505
|
+
atLineStart = false;
|
|
9506
|
+
break;
|
|
9507
|
+
case "mdxTextExpression":
|
|
9508
|
+
out += mdxExpression(child.value);
|
|
9509
|
+
atLineStart = false;
|
|
9296
9510
|
}
|
|
9297
9511
|
index += 1;
|
|
9298
9512
|
unguard(state);
|
|
9299
9513
|
}
|
|
9300
9514
|
return out;
|
|
9301
9515
|
};
|
|
9516
|
+
/** The tag string of every MDX node type. */
|
|
9517
|
+
const MDX_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
9518
|
+
"mdxJsxFlowElement",
|
|
9519
|
+
"mdxJsxTextElement",
|
|
9520
|
+
"mdxFlowExpression",
|
|
9521
|
+
"mdxTextExpression",
|
|
9522
|
+
"mdxjsEsm"
|
|
9523
|
+
]);
|
|
9524
|
+
/** Whether the tree carries any MDX node — iterative, deliberately unguarded. */
|
|
9525
|
+
const treeContainsMdx = (root) => {
|
|
9526
|
+
const stack = [root];
|
|
9527
|
+
while (stack.length > 0) {
|
|
9528
|
+
const node = stack.pop();
|
|
9529
|
+
if (MDX_NODE_TYPES.has(node.type)) return true;
|
|
9530
|
+
if (node.children !== void 0) for (const child of node.children) stack.push(child);
|
|
9531
|
+
}
|
|
9532
|
+
return false;
|
|
9533
|
+
};
|
|
9534
|
+
/**
|
|
9535
|
+
* The oracle's `indentLines` line model (mdast-util-to-markdown
|
|
9536
|
+
* `lib/util/indent-lines.js`): lines split on every terminator spelling
|
|
9537
|
+
* (`\r\n`, `\n`, bare `\r`), terminators preserved verbatim between the
|
|
9538
|
+
* mapped lines, and `blank` meaning an empty line — so a blank CRLF line
|
|
9539
|
+
* stays bare instead of having a retained `\r` treated as content.
|
|
9540
|
+
*/
|
|
9541
|
+
const mapMdxLines = (value, map) => {
|
|
9542
|
+
const eol = /\r?\n|\r/g;
|
|
9543
|
+
const result = [];
|
|
9544
|
+
let start = 0;
|
|
9545
|
+
let index = 0;
|
|
9546
|
+
for (let match = eol.exec(value); match !== null; match = eol.exec(value)) {
|
|
9547
|
+
const line = value.slice(start, match.index);
|
|
9548
|
+
result.push(map(line, index, line === ""), match[0]);
|
|
9549
|
+
start = match.index + match[0].length;
|
|
9550
|
+
index += 1;
|
|
9551
|
+
}
|
|
9552
|
+
const last = value.slice(start);
|
|
9553
|
+
result.push(map(last, index, last === ""));
|
|
9554
|
+
return result.join("");
|
|
9555
|
+
};
|
|
9556
|
+
/**
|
|
9557
|
+
* Serialize an MDX expression body between braces. Continuation lines take
|
|
9558
|
+
* the oracle's two-space indent; the first line and blank lines take none.
|
|
9559
|
+
*/
|
|
9560
|
+
const mdxExpression = (value) => `{${mapMdxLines(value, (line, index, blank) => index === 0 || blank ? line : ` ${line}`)}}`;
|
|
9561
|
+
/**
|
|
9562
|
+
* Serialize one JSX attribute. A `null` or absent value is a boolean
|
|
9563
|
+
* attribute; a string value is quoted with `"` (the oracle default), the
|
|
9564
|
+
* quote itself escaped as `"` exactly as `stringify-entities` spells
|
|
9565
|
+
* it; an expression value goes between braces.
|
|
9566
|
+
*/
|
|
9567
|
+
const serializeMdxAttribute = (attribute) => {
|
|
9568
|
+
if (attribute.type === "mdxJsxExpressionAttribute") return `{${attribute.value}}`;
|
|
9569
|
+
const value = attribute.value;
|
|
9570
|
+
if (value === void 0 || value === null) return attribute.name;
|
|
9571
|
+
if (typeof value === "string") return `${attribute.name}="${value.replaceAll("\"", """)}"`;
|
|
9572
|
+
return `${attribute.name}={${value.value}}`;
|
|
9573
|
+
};
|
|
9574
|
+
/** Serialize a text (phrasing) JSX element. */
|
|
9575
|
+
const serializeMdxJsxText = (node, context, state) => {
|
|
9576
|
+
const attributes = node.attributes.map(serializeMdxAttribute);
|
|
9577
|
+
const selfClosing = node.name !== null && node.children.length === 0;
|
|
9578
|
+
let out = `<${node.name ?? ""}`;
|
|
9579
|
+
if (attributes.length > 0) out += ` ${attributes.join(" ")}`;
|
|
9580
|
+
if (selfClosing) return `${out} />`;
|
|
9581
|
+
out += ">";
|
|
9582
|
+
out += serializeInlines(node.children, context, state, false);
|
|
9583
|
+
out += `</${node.name ?? ""}>`;
|
|
9584
|
+
return out;
|
|
9585
|
+
};
|
|
9586
|
+
/** Prefix every line of a rendered child block; blank lines stay bare. */
|
|
9587
|
+
const indentBlockLines = (content, indent) => mapMdxLines(content, (line, _index, blank) => blank ? line : `${indent}${line}`);
|
|
9588
|
+
/**
|
|
9589
|
+
* Serialize a flow (block) JSX element: opening tag (attributes on their own
|
|
9590
|
+
* lines when one carries a line ending), children as indented block layout,
|
|
9591
|
+
* closing tag — the oracle's `mdxElement` flow branch.
|
|
9592
|
+
*/
|
|
9593
|
+
const serializeMdxJsxFlow = (node, state) => {
|
|
9594
|
+
const currentIndent = " ".repeat(state.jsxDepth);
|
|
9595
|
+
const attributes = node.attributes.map(serializeMdxAttribute);
|
|
9596
|
+
const selfClosing = node.name !== null && node.children.length === 0;
|
|
9597
|
+
const attributesOnOneLine = attributes.join(" ");
|
|
9598
|
+
const attributesOnTheirOwnLine = /[\r\n]/.test(attributesOnOneLine);
|
|
9599
|
+
let value = `${currentIndent}<${node.name ?? ""}`;
|
|
9600
|
+
if (attributesOnTheirOwnLine) value += `\n${attributes.map((attribute) => `${currentIndent} ${attribute}`).join("\n")}\n${currentIndent}`;
|
|
9601
|
+
else if (attributesOnOneLine !== "") value += ` ${attributesOnOneLine}`;
|
|
9602
|
+
if (selfClosing) value += `${attributesOnTheirOwnLine ? "" : " "}/`;
|
|
9603
|
+
value += ">";
|
|
9604
|
+
if (node.children.length > 0) {
|
|
9605
|
+
state.jsxDepth += 1;
|
|
9606
|
+
const childIndent = " ".repeat(state.jsxDepth);
|
|
9607
|
+
const parts = node.children.map((child) => {
|
|
9608
|
+
if (child.type === "mdxJsxFlowElement") {
|
|
9609
|
+
guard(state, child);
|
|
9610
|
+
const rendered = serializeMdxJsxFlow(child, state);
|
|
9611
|
+
unguard(state);
|
|
9612
|
+
return rendered;
|
|
9613
|
+
}
|
|
9614
|
+
return indentBlockLines(serializeBlocks([child], state), childIndent);
|
|
9615
|
+
});
|
|
9616
|
+
state.jsxDepth -= 1;
|
|
9617
|
+
value += `\n${parts.join("\n\n")}\n`;
|
|
9618
|
+
}
|
|
9619
|
+
if (!selfClosing) value += `${currentIndent}</${node.name ?? ""}>`;
|
|
9620
|
+
return value;
|
|
9621
|
+
};
|
|
9302
9622
|
/** Prefix every line of `content`; blank lines take the trimmed prefix. */
|
|
9303
9623
|
const prefixLines = (content, prefix, blankPrefix) => content.split("\n").map((line) => line === "" ? blankPrefix : `${prefix}${line}`).join("\n");
|
|
9304
9624
|
/** First line gets `marker`, continuation lines get spaces of its width. */
|
|
@@ -9383,7 +9703,10 @@ const effectiveListMarker = (list, flipped) => {
|
|
|
9383
9703
|
};
|
|
9384
9704
|
const serializeListItem = (item, marker, state, tight) => {
|
|
9385
9705
|
guard(state, item);
|
|
9706
|
+
const savedJsxDepth = state.jsxDepth;
|
|
9707
|
+
state.jsxDepth = 0;
|
|
9386
9708
|
const inner = serializeBlocks(item.children, state, tight);
|
|
9709
|
+
state.jsxDepth = savedJsxDepth;
|
|
9387
9710
|
unguard(state);
|
|
9388
9711
|
const content = `${item.checked === void 0 ? "" : item.checked ? "[x] " : "[ ] "}${inner}`;
|
|
9389
9712
|
if (content === "") return marker.trimEnd();
|
|
@@ -9457,7 +9780,10 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9457
9780
|
previousListMarker = void 0;
|
|
9458
9781
|
break;
|
|
9459
9782
|
case "blockquote": {
|
|
9783
|
+
const savedJsxDepth = state.jsxDepth;
|
|
9784
|
+
state.jsxDepth = 0;
|
|
9460
9785
|
const inner = serializeBlocks(child.children, state);
|
|
9786
|
+
state.jsxDepth = savedJsxDepth;
|
|
9461
9787
|
parts.push(prefixLines(inner, "> ", ">"));
|
|
9462
9788
|
previousListMarker = void 0;
|
|
9463
9789
|
break;
|
|
@@ -9487,6 +9813,17 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9487
9813
|
previousListMarker = void 0;
|
|
9488
9814
|
break;
|
|
9489
9815
|
}
|
|
9816
|
+
case "mdxJsxFlowElement":
|
|
9817
|
+
parts.push(serializeMdxJsxFlow(child, state));
|
|
9818
|
+
previousListMarker = void 0;
|
|
9819
|
+
break;
|
|
9820
|
+
case "mdxFlowExpression":
|
|
9821
|
+
parts.push(mdxExpression(child.value));
|
|
9822
|
+
previousListMarker = void 0;
|
|
9823
|
+
break;
|
|
9824
|
+
case "mdxjsEsm":
|
|
9825
|
+
parts.push(child.value);
|
|
9826
|
+
previousListMarker = void 0;
|
|
9490
9827
|
}
|
|
9491
9828
|
previous = child;
|
|
9492
9829
|
nodes.push(child);
|
|
@@ -9512,11 +9849,16 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9512
9849
|
* empty for an empty root and ends with exactly one newline otherwise.
|
|
9513
9850
|
*/
|
|
9514
9851
|
const stringifyTree = (root) => {
|
|
9515
|
-
const
|
|
9852
|
+
const state = {
|
|
9853
|
+
depth: 0,
|
|
9854
|
+
jsxDepth: 0,
|
|
9855
|
+
mdx: treeContainsMdx(root)
|
|
9856
|
+
};
|
|
9857
|
+
const body = serializeBlocks(root.children, state);
|
|
9516
9858
|
return body === "" ? "" : `${body}\n`;
|
|
9517
9859
|
};
|
|
9518
9860
|
//#endregion
|
|
9519
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
9861
|
+
//#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
|
|
9520
9862
|
/**
|
|
9521
9863
|
* The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
|
|
9522
9864
|
* 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
|
|
@@ -9670,6 +10012,79 @@ var Markdown = class Markdown {
|
|
|
9670
10012
|
*/
|
|
9671
10013
|
static parse = effect.Effect.fn("Markdown.parse")((text, options) => effect.Effect.fromResult(Markdown.parseResult(text, options)));
|
|
9672
10014
|
/**
|
|
10015
|
+
* Parse a text fragment as a single paragraph's inline content,
|
|
10016
|
+
* synchronously, as a `Result` — the phrasing-level twin of
|
|
10017
|
+
* {@link Markdown.parseResult}, for callers holding already-markdown
|
|
10018
|
+
* prose (a link-carrying sentence, a backtick span) who want its
|
|
10019
|
+
* phrasing nodes without a full document parse and a paragraph splice.
|
|
10020
|
+
*
|
|
10021
|
+
* @remarks
|
|
10022
|
+
* The whole input is prepared exactly the way the block pass prepares one
|
|
10023
|
+
* paragraph's content — leading and trailing whitespace trimmed, line
|
|
10024
|
+
* terminators normalized to `\n` — and handed to the inline pass, so the
|
|
10025
|
+
* result matches the `children` of the paragraph a full parse of the same
|
|
10026
|
+
* fragment would produce. Node positions are correct relative to the
|
|
10027
|
+
* input string.
|
|
10028
|
+
*
|
|
10029
|
+
* Two consequences of the single-paragraph contract:
|
|
10030
|
+
*
|
|
10031
|
+
* - **Blank lines do not break blocks.** A `\n\n` in the input stays
|
|
10032
|
+
* inline content (literal newlines in a text node); nothing at this
|
|
10033
|
+
* level opens a heading, list or code block — `# foo` is the text
|
|
10034
|
+
* `# foo`.
|
|
10035
|
+
* - **No reference context exists.** The fragment carries no definitions,
|
|
10036
|
+
* so `[foo]`, `![foo]` and `[^foo]` remain literal text — the same
|
|
10037
|
+
* result a full parse of the isolated fragment produces.
|
|
10038
|
+
*
|
|
10039
|
+
* `options.dialect` selects the inline dialect (default `"gfm"`);
|
|
10040
|
+
* `options.frontmatter` has no effect at phrasing level. Failure is rare
|
|
10041
|
+
* by design, on {@link Markdown.parseResult}'s terms: only a
|
|
10042
|
+
* hardening-guard trip (delimiter or bracket nesting past the cap) fails.
|
|
10043
|
+
*
|
|
10044
|
+
* @example
|
|
10045
|
+
* ```ts
|
|
10046
|
+
* import { Markdown } from "@effected/markdown";
|
|
10047
|
+
* import { Result } from "effect";
|
|
10048
|
+
*
|
|
10049
|
+
* const ok = Markdown.parsePhrasingResult("see [the docs](./docs.md)");
|
|
10050
|
+
* if (Result.isSuccess(ok)) {
|
|
10051
|
+
* console.log(ok.success.map((node) => node.type)); // => ["text", "link"]
|
|
10052
|
+
* }
|
|
10053
|
+
* ```
|
|
10054
|
+
*
|
|
10055
|
+
* @param text - The prose fragment to parse.
|
|
10056
|
+
* @param options - Optional {@link MarkdownParseOptions}; the dialect
|
|
10057
|
+
* defaults to `"gfm"`.
|
|
10058
|
+
* @returns A `Result` succeeding with the fragment's phrasing content, or
|
|
10059
|
+
* failing with {@link MarkdownParseError}.
|
|
10060
|
+
*/
|
|
10061
|
+
static parsePhrasingResult(text, options) {
|
|
10062
|
+
try {
|
|
10063
|
+
return effect.Result.succeed(parsePhrasingText(text, dialectOf(options)));
|
|
10064
|
+
} catch (caught) {
|
|
10065
|
+
if (isGuardExceeded$1(caught)) return effect.Result.fail(new MarkdownParseError({ diagnostic: MarkdownDiagnostic.fromRaw(text, {
|
|
10066
|
+
code: caught.reason,
|
|
10067
|
+
message: caught.message,
|
|
10068
|
+
offset: caught.offset,
|
|
10069
|
+
length: 0
|
|
10070
|
+
}) }));
|
|
10071
|
+
throw caught;
|
|
10072
|
+
}
|
|
10073
|
+
}
|
|
10074
|
+
/**
|
|
10075
|
+
* Parse a text fragment as a single paragraph's inline content. Defined
|
|
10076
|
+
* in terms of {@link Markdown.parsePhrasingResult} — synchronous callers
|
|
10077
|
+
* can use that variant directly; the single-paragraph contract (blank
|
|
10078
|
+
* lines stay inline, references never form) is documented there.
|
|
10079
|
+
*
|
|
10080
|
+
* @param text - The prose fragment to parse.
|
|
10081
|
+
* @param options - Optional {@link MarkdownParseOptions}; the dialect
|
|
10082
|
+
* defaults to `"gfm"`.
|
|
10083
|
+
* @returns An `Effect` that succeeds with the fragment's phrasing
|
|
10084
|
+
* content, or fails with {@link MarkdownParseError}.
|
|
10085
|
+
*/
|
|
10086
|
+
static parsePhrasing = effect.Effect.fn("Markdown.parsePhrasing")((text, options) => effect.Effect.fromResult(Markdown.parsePhrasingResult(text, options)));
|
|
10087
|
+
/**
|
|
9673
10088
|
* Serialize a {@link Root} tree to canonical markdown, synchronously, as a
|
|
9674
10089
|
* `Result`. The pure primitive twin of {@link Markdown.stringify}, on the
|
|
9675
10090
|
* same terms as {@link Markdown.parseResult}.
|
|
@@ -9729,6 +10144,18 @@ var Markdown = class Markdown {
|
|
|
9729
10144
|
* post-decode walk that reaches nested nodes. The choice then leaves the
|
|
9730
10145
|
* emitter entirely and no output depends on a node's neighbours.
|
|
9731
10146
|
*
|
|
10147
|
+
* **MDX nodes (constructed trees only — the parser reads no MDX syntax)**
|
|
10148
|
+
* serialize to valid MDX with the mdast-util-mdx defaults, and these
|
|
10149
|
+
* choices are part of the same stability commitment: attribute values
|
|
10150
|
+
* quote with `"` (the quote escaped as `"`), an empty element
|
|
10151
|
+
* self-closes spaced (`<a />`), a fragment is `<></>`, flow children take
|
|
10152
|
+
* block layout indented two spaces per JSX ancestor, attributes move onto
|
|
10153
|
+
* their own lines only when one carries a line ending, expressions emit
|
|
10154
|
+
* `{expr}` with two-space continuation indent, and ESM values emit
|
|
10155
|
+
* verbatim. A tree containing any MDX node additionally escapes `{` in
|
|
10156
|
+
* text — MDX makes it significant — while a tree with none serializes
|
|
10157
|
+
* byte-identically to the table above.
|
|
10158
|
+
*
|
|
9732
10159
|
* To *normalize* a document to different choices — a `-` list rewritten to
|
|
9733
10160
|
* `*`, setext headings rewritten to ATX — use `MarkdownFormat` with
|
|
9734
10161
|
* `MarkdownFormattingOptions`. That is the configurable surface; this one
|
|
@@ -9807,7 +10234,7 @@ var Markdown = class Markdown {
|
|
|
9807
10234
|
static MarkdownFromString = Markdown.fromString();
|
|
9808
10235
|
};
|
|
9809
10236
|
//#endregion
|
|
9810
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
10237
|
+
//#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
|
|
9811
10238
|
/**
|
|
9812
10239
|
* The remark-ecosystem interop boundary: projection between this package's
|
|
9813
10240
|
* node classes and plain mdast JSON.
|
|
@@ -10011,8 +10438,40 @@ const projectNode = (node) => {
|
|
|
10011
10438
|
value: node.value,
|
|
10012
10439
|
position
|
|
10013
10440
|
};
|
|
10441
|
+
case "mdxJsxFlowElement":
|
|
10442
|
+
case "mdxJsxTextElement": return {
|
|
10443
|
+
type: node.type,
|
|
10444
|
+
name: node.name,
|
|
10445
|
+
attributes: node.attributes.map((attribute) => projectMdxAttribute(attribute)),
|
|
10446
|
+
children: projectChildren(node.children),
|
|
10447
|
+
position
|
|
10448
|
+
};
|
|
10449
|
+
case "mdxFlowExpression":
|
|
10450
|
+
case "mdxTextExpression":
|
|
10451
|
+
case "mdxjsEsm": return {
|
|
10452
|
+
type: node.type,
|
|
10453
|
+
value: node.value,
|
|
10454
|
+
position
|
|
10455
|
+
};
|
|
10014
10456
|
}
|
|
10015
10457
|
};
|
|
10458
|
+
const projectMdxAttribute = (attribute) => {
|
|
10459
|
+
if (attribute.type === "mdxJsxExpressionAttribute") return {
|
|
10460
|
+
type: "mdxJsxExpressionAttribute",
|
|
10461
|
+
value: attribute.value,
|
|
10462
|
+
position: projectPosition(attribute.position)
|
|
10463
|
+
};
|
|
10464
|
+
const value = attribute.value;
|
|
10465
|
+
return {
|
|
10466
|
+
type: "mdxJsxAttribute",
|
|
10467
|
+
name: attribute.name,
|
|
10468
|
+
value: value === void 0 || value === null ? null : typeof value === "string" ? value : {
|
|
10469
|
+
type: "mdxJsxAttributeValueExpression",
|
|
10470
|
+
value: value.value
|
|
10471
|
+
},
|
|
10472
|
+
position: projectPosition(attribute.position)
|
|
10473
|
+
};
|
|
10474
|
+
};
|
|
10016
10475
|
/** The frontmatter literal node types foreign mdast spells per format. */
|
|
10017
10476
|
const frontmatterTypes = /* @__PURE__ */ new Map([
|
|
10018
10477
|
["yaml", "yaml"],
|
|
@@ -10076,7 +10535,10 @@ const admittedFields = {
|
|
|
10076
10535
|
"spread"
|
|
10077
10536
|
],
|
|
10078
10537
|
listItem: ["spread", "checked"],
|
|
10079
|
-
table: ["align"]
|
|
10538
|
+
table: ["align"],
|
|
10539
|
+
mdxFlowExpression: ["value"],
|
|
10540
|
+
mdxTextExpression: ["value"],
|
|
10541
|
+
mdxjsEsm: ["value"]
|
|
10080
10542
|
};
|
|
10081
10543
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10082
10544
|
const completePoint = (value) => isRecord(value) && typeof value.line === "number" && typeof value.column === "number" && typeof value.offset === "number";
|
|
@@ -10109,6 +10571,13 @@ const normalizeNode = (value) => {
|
|
|
10109
10571
|
value: value.value,
|
|
10110
10572
|
position: normalizePosition(value.position)
|
|
10111
10573
|
};
|
|
10574
|
+
if (type === "mdxJsxFlowElement" || type === "mdxJsxTextElement") return {
|
|
10575
|
+
type,
|
|
10576
|
+
name: value.name,
|
|
10577
|
+
attributes: Array.isArray(value.attributes) ? value.attributes.map(normalizeMdxAttribute) : value.attributes,
|
|
10578
|
+
children: Array.isArray(value.children) ? value.children.map(normalizeNode) : value.children,
|
|
10579
|
+
position: normalizePosition(value.position)
|
|
10580
|
+
};
|
|
10112
10581
|
const admitted = admittedFields[type];
|
|
10113
10582
|
if (admitted === void 0) return value;
|
|
10114
10583
|
const normalized = { type };
|
|
@@ -10124,6 +10593,29 @@ const normalizeNode = (value) => {
|
|
|
10124
10593
|
normalized.position = normalizePosition(value.position);
|
|
10125
10594
|
return normalized;
|
|
10126
10595
|
};
|
|
10596
|
+
const normalizeMdxAttribute = (value) => {
|
|
10597
|
+
if (!isRecord(value) || typeof value.type !== "string") return value;
|
|
10598
|
+
if (value.type === "mdxJsxExpressionAttribute") return {
|
|
10599
|
+
type: "mdxJsxExpressionAttribute",
|
|
10600
|
+
value: value.value,
|
|
10601
|
+
position: normalizePosition(value.position)
|
|
10602
|
+
};
|
|
10603
|
+
if (value.type === "mdxJsxAttribute") {
|
|
10604
|
+
const raw = value.value;
|
|
10605
|
+
const normalized = {
|
|
10606
|
+
type: "mdxJsxAttribute",
|
|
10607
|
+
name: value.name,
|
|
10608
|
+
position: normalizePosition(value.position)
|
|
10609
|
+
};
|
|
10610
|
+
if (raw !== void 0) normalized.value = isRecord(raw) && raw.type === "mdxJsxAttributeValueExpression" ? {
|
|
10611
|
+
type: "mdxJsxAttributeValueExpression",
|
|
10612
|
+
value: raw.value,
|
|
10613
|
+
position: normalizePosition(raw.position)
|
|
10614
|
+
} : raw;
|
|
10615
|
+
return normalized;
|
|
10616
|
+
}
|
|
10617
|
+
return value;
|
|
10618
|
+
};
|
|
10127
10619
|
const decodeRoot = effect.Schema.decodeUnknownResult(Root);
|
|
10128
10620
|
/**
|
|
10129
10621
|
* The mdast projection facade — the remark-ecosystem interop boundary.
|