ortoni-report 4.0.4 → 4.0.5

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.
@@ -8,7 +8,7 @@ import {
8
8
  extractSuites,
9
9
  normalizeFilePath,
10
10
  startReportServer
11
- } from "./chunk-L6VOLEP2.mjs";
11
+ } from "./chunk-SQZD7MJL.mjs";
12
12
 
13
13
  // src/helpers/resultProcessor.ts
14
14
  import AnsiToHtml from "ansi-to-html";
@@ -22,152 +22,160 @@ import fs2 from "fs";
22
22
  import fs from "fs";
23
23
 
24
24
  // node_modules/marked/lib/marked.esm.js
25
- function M() {
25
+ function L() {
26
26
  return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null };
27
27
  }
28
- var w = M();
29
- function H(a3) {
30
- w = a3;
28
+ var T = L();
29
+ function G(l3) {
30
+ T = l3;
31
31
  }
32
- var C = { exec: () => null };
33
- function h(a3, e = "") {
34
- let t = typeof a3 == "string" ? a3 : a3.source, n = { replace: (s, i) => {
35
- let r = typeof i == "string" ? i : i.source;
36
- return r = r.replace(m.caret, "$1"), t = t.replace(s, r), n;
32
+ var E = { exec: () => null };
33
+ function d(l3, e = "") {
34
+ let t = typeof l3 == "string" ? l3 : l3.source, n = { replace: (r, i) => {
35
+ let s = typeof i == "string" ? i : i.source;
36
+ return s = s.replace(m.caret, "$1"), t = t.replace(r, s), n;
37
37
  }, getRegex: () => new RegExp(t, e) };
38
38
  return n;
39
39
  }
40
- var m = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceTabs: /^\t+/, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] /, listReplaceTask: /^\[[ xX]\] +/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (a3) => new RegExp(`^( {0,3}${a3})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: (a3) => new RegExp(`^ {0,${Math.min(3, a3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (a3) => new RegExp(`^ {0,${Math.min(3, a3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (a3) => new RegExp(`^ {0,${Math.min(3, a3 - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (a3) => new RegExp(`^ {0,${Math.min(3, a3 - 1)}}#`), htmlBeginRegex: (a3) => new RegExp(`^ {0,${Math.min(3, a3 - 1)}}<(?:[a-z].*>|!--)`, "i") };
41
- var xe = /^(?:[ \t]*(?:\n|$))+/;
42
- var be = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
43
- var Te = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
40
+ var be = (() => {
41
+ try {
42
+ return !!new RegExp("(?<=1)(?<!1)");
43
+ } catch {
44
+ return false;
45
+ }
46
+ })();
47
+ var m = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceTabs: /^\t+/, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] /, listReplaceTask: /^\[[ xX]\] +/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (l3) => new RegExp(`^( {0,3}${l3})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: (l3) => new RegExp(`^ {0,${Math.min(3, l3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (l3) => new RegExp(`^ {0,${Math.min(3, l3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (l3) => new RegExp(`^ {0,${Math.min(3, l3 - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (l3) => new RegExp(`^ {0,${Math.min(3, l3 - 1)}}#`), htmlBeginRegex: (l3) => new RegExp(`^ {0,${Math.min(3, l3 - 1)}}<(?:[a-z].*>|!--)`, "i") };
48
+ var Re = /^(?:[ \t]*(?:\n|$))+/;
49
+ var Te = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
50
+ var Oe = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
44
51
  var I = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
45
52
  var we = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
46
- var j = /(?:[*+-]|\d{1,9}[.)])/;
47
- var re = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
48
- var ie = h(re).replace(/bull/g, j).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
49
- var ye = h(re).replace(/bull/g, j).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
50
- var F = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
51
- var Re = /^[^\n]+/;
52
- var Q = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
53
- var Se = h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
54
- var $e = h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, j).getRegex();
53
+ var F = /(?:[*+-]|\d{1,9}[.)])/;
54
+ var ie = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
55
+ var oe = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
56
+ var ye = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
57
+ var j = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
58
+ var Pe = /^[^\n]+/;
59
+ var Q = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;
60
+ var Se = d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
61
+ var $e = d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex();
55
62
  var v = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
56
63
  var U = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
57
- var _e = h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
58
- var oe = h(F).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
59
- var Le = h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", oe).getRegex();
60
- var K = { blockquote: Le, code: be, def: Se, fences: Te, heading: we, hr: I, html: _e, lheading: ie, list: $e, newline: xe, paragraph: oe, table: C, text: Re };
61
- var se = h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
62
- var ze = { ...K, lheading: ye, table: se, paragraph: h(F).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", se).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
63
- var Me = { ...K, html: h(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: C, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: h(F).replace("hr", I).replace("heading", ` *#{1,6} *[^
64
- ]`).replace("lheading", ie).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
65
- var Pe = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
66
- var Ae = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
64
+ var _e = d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
65
+ var ae = d(j).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
66
+ var Le = d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex();
67
+ var K = { blockquote: Le, code: Te, def: Se, fences: Oe, heading: we, hr: I, html: _e, lheading: oe, list: $e, newline: Re, paragraph: ae, table: E, text: Pe };
68
+ var re = d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
69
+ var Me = { ...K, lheading: ye, table: re, paragraph: d(j).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
70
+ var ze = { ...K, html: d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: E, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: d(j).replace("hr", I).replace("heading", ` *#{1,6} *[^
71
+ ]`).replace("lheading", oe).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
72
+ var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
73
+ var Ee = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
67
74
  var le = /^( {2,}|\\)\n(?!\s*$)/;
68
- var Ee = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
75
+ var Ie = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
69
76
  var D = /[\p{P}\p{S}]/u;
70
- var X = /[\s\p{P}\p{S}]/u;
71
- var ae = /[^\s\p{P}\p{S}]/u;
72
- var Ce = h(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, X).getRegex();
73
- var ce = /(?!~)[\p{P}\p{S}]/u;
74
- var Ie = /(?!~)[\s\p{P}\p{S}]/u;
75
- var Oe = /(?:[^\s\p{P}\p{S}]|~)/u;
76
- var Be = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g;
77
- var pe = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
78
- var qe = h(pe, "u").replace(/punct/g, D).getRegex();
79
- var ve = h(pe, "u").replace(/punct/g, ce).getRegex();
80
- var ue = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
81
- var De = h(ue, "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, X).replace(/punct/g, D).getRegex();
82
- var Ze = h(ue, "gu").replace(/notPunctSpace/g, Oe).replace(/punctSpace/g, Ie).replace(/punct/g, ce).getRegex();
83
- var Ge = h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, X).replace(/punct/g, D).getRegex();
84
- var He = h(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
85
- var Ne = h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[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])?)+(?![-_])/).getRegex();
86
- var je = h(U).replace("(?:-->|$)", "-->").getRegex();
87
- var Fe = h("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
88
- var q = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
89
- var Qe = h(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
90
- var he = h(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
91
- var ke = h(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
92
- var Ue = h("reflink|nolink(?!\\()", "g").replace("reflink", he).replace("nolink", ke).getRegex();
93
- var W = { _backpedal: C, anyPunctuation: He, autolink: Ne, blockSkip: Be, br: le, code: Ae, del: C, emStrongLDelim: qe, emStrongRDelimAst: De, emStrongRDelimUnd: Ge, escape: Pe, link: Qe, nolink: ke, punctuation: Ce, reflink: he, reflinkSearch: Ue, tag: Fe, text: Ee, url: C };
94
- var Ke = { ...W, link: h(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
95
- var N = { ...W, emStrongRDelimAst: Ze, emStrongLDelim: ve, url: h(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/, text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/ };
96
- var Xe = { ...N, br: h(le).replace("{2,}", "*").getRegex(), text: h(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
97
- var O = { normal: K, gfm: ze, pedantic: Me };
98
- var P = { normal: W, gfm: N, breaks: Xe, pedantic: Ke };
99
- var We = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
100
- var ge = (a3) => We[a3];
101
- function R(a3, e) {
77
+ var W = /[\s\p{P}\p{S}]/u;
78
+ var ue = /[^\s\p{P}\p{S}]/u;
79
+ var Ce = d(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex();
80
+ var pe = /(?!~)[\p{P}\p{S}]/u;
81
+ var Be = /(?!~)[\s\p{P}\p{S}]/u;
82
+ var qe = /(?:[^\s\p{P}\p{S}]|~)/u;
83
+ var ve = d(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", be ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex();
84
+ var ce = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
85
+ var De = d(ce, "u").replace(/punct/g, D).getRegex();
86
+ var He = d(ce, "u").replace(/punct/g, pe).getRegex();
87
+ var he = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
88
+ var Ze = d(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
89
+ var Ge = d(he, "gu").replace(/notPunctSpace/g, qe).replace(/punctSpace/g, Be).replace(/punct/g, pe).getRegex();
90
+ var Ne = d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
91
+ var Fe = d(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
92
+ var je = d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[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])?)+(?![-_])/).getRegex();
93
+ var Qe = d(U).replace("(?:-->|$)", "-->").getRegex();
94
+ var Ue = d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Qe).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
95
+ var q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/;
96
+ var Ke = d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
97
+ var de = d(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
98
+ var ke = d(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
99
+ var We = d("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex();
100
+ var se = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;
101
+ var X = { _backpedal: E, anyPunctuation: Fe, autolink: je, blockSkip: ve, br: le, code: Ee, del: E, emStrongLDelim: De, emStrongRDelimAst: Ze, emStrongRDelimUnd: Ne, escape: Ae, link: Ke, nolink: ke, punctuation: Ce, reflink: de, reflinkSearch: We, tag: Ue, text: Ie, url: E };
102
+ var Xe = { ...X, link: d(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
103
+ var N = { ...X, emStrongRDelimAst: Ge, emStrongLDelim: He, url: d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() };
104
+ var Je = { ...N, br: d(le).replace("{2,}", "*").getRegex(), text: d(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
105
+ var C = { normal: K, gfm: Me, pedantic: ze };
106
+ var M = { normal: X, gfm: N, breaks: Je, pedantic: Xe };
107
+ var Ve = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
108
+ var ge = (l3) => Ve[l3];
109
+ function w(l3, e) {
102
110
  if (e) {
103
- if (m.escapeTest.test(a3)) return a3.replace(m.escapeReplace, ge);
104
- } else if (m.escapeTestNoEncode.test(a3)) return a3.replace(m.escapeReplaceNoEncode, ge);
105
- return a3;
111
+ if (m.escapeTest.test(l3)) return l3.replace(m.escapeReplace, ge);
112
+ } else if (m.escapeTestNoEncode.test(l3)) return l3.replace(m.escapeReplaceNoEncode, ge);
113
+ return l3;
106
114
  }
107
- function J(a3) {
115
+ function J(l3) {
108
116
  try {
109
- a3 = encodeURI(a3).replace(m.percentDecode, "%");
117
+ l3 = encodeURI(l3).replace(m.percentDecode, "%");
110
118
  } catch {
111
119
  return null;
112
120
  }
113
- return a3;
121
+ return l3;
114
122
  }
115
- function V(a3, e) {
116
- let t = a3.replace(m.findPipe, (i, r, o) => {
117
- let l = false, c = r;
118
- for (; --c >= 0 && o[c] === "\\"; ) l = !l;
119
- return l ? "|" : " |";
120
- }), n = t.split(m.splitPipe), s = 0;
123
+ function V(l3, e) {
124
+ let t = l3.replace(m.findPipe, (i, s, a) => {
125
+ let o = false, p = s;
126
+ for (; --p >= 0 && a[p] === "\\"; ) o = !o;
127
+ return o ? "|" : " |";
128
+ }), n = t.split(m.splitPipe), r = 0;
121
129
  if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e) if (n.length > e) n.splice(e);
122
130
  else for (; n.length < e; ) n.push("");
123
- for (; s < n.length; s++) n[s] = n[s].trim().replace(m.slashPipe, "|");
131
+ for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|");
124
132
  return n;
125
133
  }
126
- function A(a3, e, t) {
127
- let n = a3.length;
134
+ function z(l3, e, t) {
135
+ let n = l3.length;
128
136
  if (n === 0) return "";
129
- let s = 0;
130
- for (; s < n; ) {
131
- let i = a3.charAt(n - s - 1);
132
- if (i === e && !t) s++;
133
- else if (i !== e && t) s++;
137
+ let r = 0;
138
+ for (; r < n; ) {
139
+ let i = l3.charAt(n - r - 1);
140
+ if (i === e && !t) r++;
141
+ else if (i !== e && t) r++;
134
142
  else break;
135
143
  }
136
- return a3.slice(0, n - s);
144
+ return l3.slice(0, n - r);
137
145
  }
138
- function fe(a3, e) {
139
- if (a3.indexOf(e[1]) === -1) return -1;
146
+ function fe(l3, e) {
147
+ if (l3.indexOf(e[1]) === -1) return -1;
140
148
  let t = 0;
141
- for (let n = 0; n < a3.length; n++) if (a3[n] === "\\") n++;
142
- else if (a3[n] === e[0]) t++;
143
- else if (a3[n] === e[1] && (t--, t < 0)) return n;
149
+ for (let n = 0; n < l3.length; n++) if (l3[n] === "\\") n++;
150
+ else if (l3[n] === e[0]) t++;
151
+ else if (l3[n] === e[1] && (t--, t < 0)) return n;
144
152
  return t > 0 ? -2 : -1;
145
153
  }
146
- function de(a3, e, t, n, s) {
147
- let i = e.href, r = e.title || null, o = a3[1].replace(s.other.outputLinkReplace, "$1");
154
+ function me(l3, e, t, n, r) {
155
+ let i = e.href, s = e.title || null, a = l3[1].replace(r.other.outputLinkReplace, "$1");
148
156
  n.state.inLink = true;
149
- let l = { type: a3[0].charAt(0) === "!" ? "image" : "link", raw: t, href: i, title: r, text: o, tokens: n.inlineTokens(o) };
150
- return n.state.inLink = false, l;
157
+ let o = { type: l3[0].charAt(0) === "!" ? "image" : "link", raw: t, href: i, title: s, text: a, tokens: n.inlineTokens(a) };
158
+ return n.state.inLink = false, o;
151
159
  }
152
- function Je(a3, e, t) {
153
- let n = a3.match(t.other.indentCodeCompensation);
160
+ function Ye(l3, e, t) {
161
+ let n = l3.match(t.other.indentCodeCompensation);
154
162
  if (n === null) return e;
155
- let s = n[1];
163
+ let r = n[1];
156
164
  return e.split(`
157
165
  `).map((i) => {
158
- let r = i.match(t.other.beginningSpace);
159
- if (r === null) return i;
160
- let [o] = r;
161
- return o.length >= s.length ? i.slice(s.length) : i;
166
+ let s = i.match(t.other.beginningSpace);
167
+ if (s === null) return i;
168
+ let [a] = s;
169
+ return a.length >= r.length ? i.slice(r.length) : i;
162
170
  }).join(`
163
171
  `);
164
172
  }
165
- var S = class {
173
+ var y = class {
166
174
  constructor(e) {
167
175
  __publicField(this, "options");
168
176
  __publicField(this, "rules");
169
177
  __publicField(this, "lexer");
170
- this.options = e || w;
178
+ this.options = e || T;
171
179
  }
172
180
  space(e) {
173
181
  let t = this.rules.block.newline.exec(e);
@@ -177,15 +185,15 @@ var S = class {
177
185
  let t = this.rules.block.code.exec(e);
178
186
  if (t) {
179
187
  let n = t[0].replace(this.rules.other.codeRemoveIndent, "");
180
- return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : A(n, `
188
+ return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : z(n, `
181
189
  `) };
182
190
  }
183
191
  }
184
192
  fences(e) {
185
193
  let t = this.rules.block.fences.exec(e);
186
194
  if (t) {
187
- let n = t[0], s = Je(n, t[3] || "", this.rules);
188
- return { type: "code", raw: n, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: s };
195
+ let n = t[0], r = Ye(n, t[3] || "", this.rules);
196
+ return { type: "code", raw: n, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: r };
189
197
  }
190
198
  }
191
199
  heading(e) {
@@ -193,101 +201,101 @@ var S = class {
193
201
  if (t) {
194
202
  let n = t[2].trim();
195
203
  if (this.rules.other.endingHash.test(n)) {
196
- let s = A(n, "#");
197
- (this.options.pedantic || !s || this.rules.other.endingSpaceChar.test(s)) && (n = s.trim());
204
+ let r = z(n, "#");
205
+ (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());
198
206
  }
199
207
  return { type: "heading", raw: t[0], depth: t[1].length, text: n, tokens: this.lexer.inline(n) };
200
208
  }
201
209
  }
202
210
  hr(e) {
203
211
  let t = this.rules.block.hr.exec(e);
204
- if (t) return { type: "hr", raw: A(t[0], `
212
+ if (t) return { type: "hr", raw: z(t[0], `
205
213
  `) };
206
214
  }
207
215
  blockquote(e) {
208
216
  let t = this.rules.block.blockquote.exec(e);
209
217
  if (t) {
210
- let n = A(t[0], `
218
+ let n = z(t[0], `
211
219
  `).split(`
212
- `), s = "", i = "", r = [];
220
+ `), r = "", i = "", s = [];
213
221
  for (; n.length > 0; ) {
214
- let o = false, l = [], c;
215
- for (c = 0; c < n.length; c++) if (this.rules.other.blockquoteStart.test(n[c])) l.push(n[c]), o = true;
216
- else if (!o) l.push(n[c]);
222
+ let a = false, o = [], p;
223
+ for (p = 0; p < n.length; p++) if (this.rules.other.blockquoteStart.test(n[p])) o.push(n[p]), a = true;
224
+ else if (!a) o.push(n[p]);
217
225
  else break;
218
- n = n.slice(c);
219
- let p = l.join(`
220
- `), u = p.replace(this.rules.other.blockquoteSetextReplace, `
226
+ n = n.slice(p);
227
+ let u = o.join(`
228
+ `), c = u.replace(this.rules.other.blockquoteSetextReplace, `
221
229
  $1`).replace(this.rules.other.blockquoteSetextReplace2, "");
222
- s = s ? `${s}
223
- ${p}` : p, i = i ? `${i}
224
- ${u}` : u;
225
- let d = this.lexer.state.top;
226
- if (this.lexer.state.top = true, this.lexer.blockTokens(u, r, true), this.lexer.state.top = d, n.length === 0) break;
227
- let g = r.at(-1);
228
- if (g?.type === "code") break;
229
- if (g?.type === "blockquote") {
230
- let x = g, f = x.raw + `
230
+ r = r ? `${r}
231
+ ${u}` : u, i = i ? `${i}
232
+ ${c}` : c;
233
+ let g = this.lexer.state.top;
234
+ if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = g, n.length === 0) break;
235
+ let h = s.at(-1);
236
+ if (h?.type === "code") break;
237
+ if (h?.type === "blockquote") {
238
+ let R = h, f = R.raw + `
231
239
  ` + n.join(`
232
- `), y = this.blockquote(f);
233
- r[r.length - 1] = y, s = s.substring(0, s.length - x.raw.length) + y.raw, i = i.substring(0, i.length - x.text.length) + y.text;
240
+ `), O = this.blockquote(f);
241
+ s[s.length - 1] = O, r = r.substring(0, r.length - R.raw.length) + O.raw, i = i.substring(0, i.length - R.text.length) + O.text;
234
242
  break;
235
- } else if (g?.type === "list") {
236
- let x = g, f = x.raw + `
243
+ } else if (h?.type === "list") {
244
+ let R = h, f = R.raw + `
237
245
  ` + n.join(`
238
- `), y = this.list(f);
239
- r[r.length - 1] = y, s = s.substring(0, s.length - g.raw.length) + y.raw, i = i.substring(0, i.length - x.raw.length) + y.raw, n = f.substring(r.at(-1).raw.length).split(`
246
+ `), O = this.list(f);
247
+ s[s.length - 1] = O, r = r.substring(0, r.length - h.raw.length) + O.raw, i = i.substring(0, i.length - R.raw.length) + O.raw, n = f.substring(s.at(-1).raw.length).split(`
240
248
  `);
241
249
  continue;
242
250
  }
243
251
  }
244
- return { type: "blockquote", raw: s, tokens: r, text: i };
252
+ return { type: "blockquote", raw: r, tokens: s, text: i };
245
253
  }
246
254
  }
247
255
  list(e) {
248
256
  let t = this.rules.block.list.exec(e);
249
257
  if (t) {
250
- let n = t[1].trim(), s = n.length > 1, i = { type: "list", raw: "", ordered: s, start: s ? +n.slice(0, -1) : "", loose: false, items: [] };
251
- n = s ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = s ? n : "[*+-]");
252
- let r = this.rules.other.listItemRegex(n), o = false;
258
+ let n = t[1].trim(), r = n.length > 1, i = { type: "list", raw: "", ordered: r, start: r ? +n.slice(0, -1) : "", loose: false, items: [] };
259
+ n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]");
260
+ let s = this.rules.other.listItemRegex(n), a = false;
253
261
  for (; e; ) {
254
- let c = false, p = "", u = "";
255
- if (!(t = r.exec(e)) || this.rules.block.hr.test(e)) break;
256
- p = t[0], e = e.substring(p.length);
257
- let d = t[2].split(`
258
- `, 1)[0].replace(this.rules.other.listReplaceTabs, (Z) => " ".repeat(3 * Z.length)), g = e.split(`
259
- `, 1)[0], x = !d.trim(), f = 0;
260
- if (this.options.pedantic ? (f = 2, u = d.trimStart()) : x ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, u = d.slice(f), f += t[1].length), x && this.rules.other.blankLine.test(g) && (p += g + `
261
- `, e = e.substring(g.length + 1), c = true), !c) {
262
- let Z = this.rules.other.nextBulletRegex(f), ee = this.rules.other.hrRegex(f), te = this.rules.other.fencesBeginRegex(f), ne = this.rules.other.headingBeginRegex(f), me = this.rules.other.htmlBeginRegex(f);
262
+ let p = false, u = "", c = "";
263
+ if (!(t = s.exec(e)) || this.rules.block.hr.test(e)) break;
264
+ u = t[0], e = e.substring(u.length);
265
+ let g = t[2].split(`
266
+ `, 1)[0].replace(this.rules.other.listReplaceTabs, (H) => " ".repeat(3 * H.length)), h = e.split(`
267
+ `, 1)[0], R = !g.trim(), f = 0;
268
+ if (this.options.pedantic ? (f = 2, c = g.trimStart()) : R ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, c = g.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(h) && (u += h + `
269
+ `, e = e.substring(h.length + 1), p = true), !p) {
270
+ let H = this.rules.other.nextBulletRegex(f), ee = this.rules.other.hrRegex(f), te = this.rules.other.fencesBeginRegex(f), ne = this.rules.other.headingBeginRegex(f), xe = this.rules.other.htmlBeginRegex(f);
263
271
  for (; e; ) {
264
- let G = e.split(`
265
- `, 1)[0], E;
266
- if (g = G, this.options.pedantic ? (g = g.replace(this.rules.other.listReplaceNesting, " "), E = g) : E = g.replace(this.rules.other.tabCharGlobal, " "), te.test(g) || ne.test(g) || me.test(g) || Z.test(g) || ee.test(g)) break;
267
- if (E.search(this.rules.other.nonSpaceChar) >= f || !g.trim()) u += `
268
- ` + E.slice(f);
272
+ let Z = e.split(`
273
+ `, 1)[0], A;
274
+ if (h = Z, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A = h) : A = h.replace(this.rules.other.tabCharGlobal, " "), te.test(h) || ne.test(h) || xe.test(h) || H.test(h) || ee.test(h)) break;
275
+ if (A.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) c += `
276
+ ` + A.slice(f);
269
277
  else {
270
- if (x || d.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || te.test(d) || ne.test(d) || ee.test(d)) break;
271
- u += `
272
- ` + g;
278
+ if (R || g.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || te.test(g) || ne.test(g) || ee.test(g)) break;
279
+ c += `
280
+ ` + h;
273
281
  }
274
- !x && !g.trim() && (x = true), p += G + `
275
- `, e = e.substring(G.length + 1), d = E.slice(f);
282
+ !R && !h.trim() && (R = true), u += Z + `
283
+ `, e = e.substring(Z.length + 1), g = A.slice(f);
276
284
  }
277
285
  }
278
- i.loose || (o ? i.loose = true : this.rules.other.doubleBlankLine.test(p) && (o = true));
279
- let y = null, Y;
280
- this.options.gfm && (y = this.rules.other.listIsTask.exec(u), y && (Y = y[0] !== "[ ] ", u = u.replace(this.rules.other.listReplaceTask, ""))), i.items.push({ type: "list_item", raw: p, task: !!y, checked: Y, loose: false, text: u, tokens: [] }), i.raw += p;
286
+ i.loose || (a ? i.loose = true : this.rules.other.doubleBlankLine.test(u) && (a = true));
287
+ let O = null, Y;
288
+ this.options.gfm && (O = this.rules.other.listIsTask.exec(c), O && (Y = O[0] !== "[ ] ", c = c.replace(this.rules.other.listReplaceTask, ""))), i.items.push({ type: "list_item", raw: u, task: !!O, checked: Y, loose: false, text: c, tokens: [] }), i.raw += u;
281
289
  }
282
- let l = i.items.at(-1);
283
- if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();
290
+ let o = i.items.at(-1);
291
+ if (o) o.raw = o.raw.trimEnd(), o.text = o.text.trimEnd();
284
292
  else return;
285
293
  i.raw = i.raw.trimEnd();
286
- for (let c = 0; c < i.items.length; c++) if (this.lexer.state.top = false, i.items[c].tokens = this.lexer.blockTokens(i.items[c].text, []), !i.loose) {
287
- let p = i.items[c].tokens.filter((d) => d.type === "space"), u = p.length > 0 && p.some((d) => this.rules.other.anyLine.test(d.raw));
288
- i.loose = u;
294
+ for (let p = 0; p < i.items.length; p++) if (this.lexer.state.top = false, i.items[p].tokens = this.lexer.blockTokens(i.items[p].text, []), !i.loose) {
295
+ let u = i.items[p].tokens.filter((g) => g.type === "space"), c = u.length > 0 && u.some((g) => this.rules.other.anyLine.test(g.raw));
296
+ i.loose = c;
289
297
  }
290
- if (i.loose) for (let c = 0; c < i.items.length; c++) i.items[c].loose = true;
298
+ if (i.loose) for (let p = 0; p < i.items.length; p++) i.items[p].loose = true;
291
299
  return i;
292
300
  }
293
301
  }
@@ -298,20 +306,20 @@ ${u}` : u;
298
306
  def(e) {
299
307
  let t = this.rules.block.def.exec(e);
300
308
  if (t) {
301
- let n = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), s = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
302
- return { type: "def", tag: n, raw: t[0], href: s, title: i };
309
+ let n = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), r = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
310
+ return { type: "def", tag: n, raw: t[0], href: r, title: i };
303
311
  }
304
312
  }
305
313
  table(e) {
306
314
  let t = this.rules.block.table.exec(e);
307
315
  if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
308
- let n = V(t[1]), s = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(`
309
- `) : [], r = { type: "table", raw: t[0], header: [], align: [], rows: [] };
310
- if (n.length === s.length) {
311
- for (let o of s) this.rules.other.tableAlignRight.test(o) ? r.align.push("right") : this.rules.other.tableAlignCenter.test(o) ? r.align.push("center") : this.rules.other.tableAlignLeft.test(o) ? r.align.push("left") : r.align.push(null);
312
- for (let o = 0; o < n.length; o++) r.header.push({ text: n[o], tokens: this.lexer.inline(n[o]), header: true, align: r.align[o] });
313
- for (let o of i) r.rows.push(V(o, r.header.length).map((l, c) => ({ text: l, tokens: this.lexer.inline(l), header: false, align: r.align[c] })));
314
- return r;
316
+ let n = V(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(`
317
+ `) : [], s = { type: "table", raw: t[0], header: [], align: [], rows: [] };
318
+ if (n.length === r.length) {
319
+ for (let a of r) this.rules.other.tableAlignRight.test(a) ? s.align.push("right") : this.rules.other.tableAlignCenter.test(a) ? s.align.push("center") : this.rules.other.tableAlignLeft.test(a) ? s.align.push("left") : s.align.push(null);
320
+ for (let a = 0; a < n.length; a++) s.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: true, align: s.align[a] });
321
+ for (let a of i) s.rows.push(V(a, s.header.length).map((o, p) => ({ text: o, tokens: this.lexer.inline(o), header: false, align: s.align[p] })));
322
+ return s;
315
323
  }
316
324
  }
317
325
  lheading(e) {
@@ -344,66 +352,66 @@ ${u}` : u;
344
352
  let n = t[2].trim();
345
353
  if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {
346
354
  if (!this.rules.other.endAngleBracket.test(n)) return;
347
- let r = A(n.slice(0, -1), "\\");
348
- if ((n.length - r.length) % 2 === 0) return;
355
+ let s = z(n.slice(0, -1), "\\");
356
+ if ((n.length - s.length) % 2 === 0) return;
349
357
  } else {
350
- let r = fe(t[2], "()");
351
- if (r === -2) return;
352
- if (r > -1) {
353
- let l = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + r;
354
- t[2] = t[2].substring(0, r), t[0] = t[0].substring(0, l).trim(), t[3] = "";
358
+ let s = fe(t[2], "()");
359
+ if (s === -2) return;
360
+ if (s > -1) {
361
+ let o = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + s;
362
+ t[2] = t[2].substring(0, s), t[0] = t[0].substring(0, o).trim(), t[3] = "";
355
363
  }
356
364
  }
357
- let s = t[2], i = "";
365
+ let r = t[2], i = "";
358
366
  if (this.options.pedantic) {
359
- let r = this.rules.other.pedanticHrefTitle.exec(s);
360
- r && (s = r[1], i = r[3]);
367
+ let s = this.rules.other.pedanticHrefTitle.exec(r);
368
+ s && (r = s[1], i = s[3]);
361
369
  } else i = t[3] ? t[3].slice(1, -1) : "";
362
- return s = s.trim(), this.rules.other.startAngleBracket.test(s) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? s = s.slice(1) : s = s.slice(1, -1)), de(t, { href: s && s.replace(this.rules.inline.anyPunctuation, "$1"), title: i && i.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer, this.rules);
370
+ return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), me(t, { href: r && r.replace(this.rules.inline.anyPunctuation, "$1"), title: i && i.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer, this.rules);
363
371
  }
364
372
  }
365
373
  reflink(e, t) {
366
374
  let n;
367
375
  if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
368
- let s = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i = t[s.toLowerCase()];
376
+ let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i = t[r.toLowerCase()];
369
377
  if (!i) {
370
- let r = n[0].charAt(0);
371
- return { type: "text", raw: r, text: r };
378
+ let s = n[0].charAt(0);
379
+ return { type: "text", raw: s, text: s };
372
380
  }
373
- return de(n, i, n[0], this.lexer, this.rules);
381
+ return me(n, i, n[0], this.lexer, this.rules);
374
382
  }
375
383
  }
376
384
  emStrong(e, t, n = "") {
377
- let s = this.rules.inline.emStrongLDelim.exec(e);
378
- if (!s || s[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return;
379
- if (!(s[1] || s[2] || "") || !n || this.rules.inline.punctuation.exec(n)) {
380
- let r = [...s[0]].length - 1, o, l, c = r, p = 0, u = s[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
381
- for (u.lastIndex = 0, t = t.slice(-1 * e.length + r); (s = u.exec(t)) != null; ) {
382
- if (o = s[1] || s[2] || s[3] || s[4] || s[5] || s[6], !o) continue;
383
- if (l = [...o].length, s[3] || s[4]) {
384
- c += l;
385
+ let r = this.rules.inline.emStrongLDelim.exec(e);
386
+ if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return;
387
+ if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) {
388
+ let s = [...r[0]].length - 1, a, o, p = s, u = 0, c = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
389
+ for (c.lastIndex = 0, t = t.slice(-1 * e.length + s); (r = c.exec(t)) != null; ) {
390
+ if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a) continue;
391
+ if (o = [...a].length, r[3] || r[4]) {
392
+ p += o;
385
393
  continue;
386
- } else if ((s[5] || s[6]) && r % 3 && !((r + l) % 3)) {
387
- p += l;
394
+ } else if ((r[5] || r[6]) && s % 3 && !((s + o) % 3)) {
395
+ u += o;
388
396
  continue;
389
397
  }
390
- if (c -= l, c > 0) continue;
391
- l = Math.min(l, l + c + p);
392
- let d = [...s[0]][0].length, g = e.slice(0, r + s.index + d + l);
393
- if (Math.min(r, l) % 2) {
394
- let f = g.slice(1, -1);
395
- return { type: "em", raw: g, text: f, tokens: this.lexer.inlineTokens(f) };
398
+ if (p -= o, p > 0) continue;
399
+ o = Math.min(o, o + p + u);
400
+ let g = [...r[0]][0].length, h = e.slice(0, s + r.index + g + o);
401
+ if (Math.min(s, o) % 2) {
402
+ let f = h.slice(1, -1);
403
+ return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };
396
404
  }
397
- let x = g.slice(2, -2);
398
- return { type: "strong", raw: g, text: x, tokens: this.lexer.inlineTokens(x) };
405
+ let R = h.slice(2, -2);
406
+ return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) };
399
407
  }
400
408
  }
401
409
  }
402
410
  codespan(e) {
403
411
  let t = this.rules.inline.code.exec(e);
404
412
  if (t) {
405
- let n = t[2].replace(this.rules.other.newLineCharGlobal, " "), s = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);
406
- return s && i && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t[0], text: n };
413
+ let n = t[2].replace(this.rules.other.newLineCharGlobal, " "), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);
414
+ return r && i && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t[0], text: n };
407
415
  }
408
416
  }
409
417
  br(e) {
@@ -417,23 +425,23 @@ ${u}` : u;
417
425
  autolink(e) {
418
426
  let t = this.rules.inline.autolink.exec(e);
419
427
  if (t) {
420
- let n, s;
421
- return t[2] === "@" ? (n = t[1], s = "mailto:" + n) : (n = t[1], s = n), { type: "link", raw: t[0], text: n, href: s, tokens: [{ type: "text", raw: n, text: n }] };
428
+ let n, r;
429
+ return t[2] === "@" ? (n = t[1], r = "mailto:" + n) : (n = t[1], r = n), { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
422
430
  }
423
431
  }
424
432
  url(e) {
425
433
  let t;
426
434
  if (t = this.rules.inline.url.exec(e)) {
427
- let n, s;
428
- if (t[2] === "@") n = t[0], s = "mailto:" + n;
435
+ let n, r;
436
+ if (t[2] === "@") n = t[0], r = "mailto:" + n;
429
437
  else {
430
438
  let i;
431
439
  do
432
440
  i = t[0], t[0] = this.rules.inline._backpedal.exec(t[0])?.[0] ?? "";
433
441
  while (i !== t[0]);
434
- n = t[0], t[1] === "www." ? s = "http://" + t[0] : s = t[0];
442
+ n = t[0], t[1] === "www." ? r = "http://" + t[0] : r = t[0];
435
443
  }
436
- return { type: "link", raw: t[0], text: n, href: s, tokens: [{ type: "text", raw: n, text: n }] };
444
+ return { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
437
445
  }
438
446
  }
439
447
  inlineText(e) {
@@ -444,25 +452,25 @@ ${u}` : u;
444
452
  }
445
453
  }
446
454
  };
447
- var b = class a {
455
+ var x = class l {
448
456
  constructor(e) {
449
457
  __publicField(this, "tokens");
450
458
  __publicField(this, "options");
451
459
  __publicField(this, "state");
452
460
  __publicField(this, "tokenizer");
453
461
  __publicField(this, "inlineQueue");
454
- this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || w, this.options.tokenizer = this.options.tokenizer || new S(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true };
455
- let t = { other: m, block: O.normal, inline: P.normal };
456
- this.options.pedantic ? (t.block = O.pedantic, t.inline = P.pedantic) : this.options.gfm && (t.block = O.gfm, this.options.breaks ? t.inline = P.breaks : t.inline = P.gfm), this.tokenizer.rules = t;
462
+ this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || T, this.options.tokenizer = this.options.tokenizer || new y(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true };
463
+ let t = { other: m, block: C.normal, inline: M.normal };
464
+ this.options.pedantic ? (t.block = C.pedantic, t.inline = M.pedantic) : this.options.gfm && (t.block = C.gfm, this.options.breaks ? t.inline = M.breaks : t.inline = M.gfm), this.tokenizer.rules = t;
457
465
  }
458
466
  static get rules() {
459
- return { block: O, inline: P };
467
+ return { block: C, inline: M };
460
468
  }
461
469
  static lex(e, t) {
462
- return new a(t).lex(e);
470
+ return new l(t).lex(e);
463
471
  }
464
472
  static lexInline(e, t) {
465
- return new a(t).inlineTokens(e);
473
+ return new l(t).inlineTokens(e);
466
474
  }
467
475
  lex(e) {
468
476
  e = e.replace(m.carriageReturn, `
@@ -475,91 +483,95 @@ var b = class a {
475
483
  }
476
484
  blockTokens(e, t = [], n = false) {
477
485
  for (this.options.pedantic && (e = e.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e; ) {
478
- let s;
479
- if (this.options.extensions?.block?.some((r) => (s = r.call({ lexer: this }, e, t)) ? (e = e.substring(s.raw.length), t.push(s), true) : false)) continue;
480
- if (s = this.tokenizer.space(e)) {
481
- e = e.substring(s.raw.length);
482
- let r = t.at(-1);
483
- s.raw.length === 1 && r !== void 0 ? r.raw += `
484
- ` : t.push(s);
486
+ let r;
487
+ if (this.options.extensions?.block?.some((s) => (r = s.call({ lexer: this }, e, t)) ? (e = e.substring(r.raw.length), t.push(r), true) : false)) continue;
488
+ if (r = this.tokenizer.space(e)) {
489
+ e = e.substring(r.raw.length);
490
+ let s = t.at(-1);
491
+ r.raw.length === 1 && s !== void 0 ? s.raw += `
492
+ ` : t.push(r);
485
493
  continue;
486
494
  }
487
- if (s = this.tokenizer.code(e)) {
488
- e = e.substring(s.raw.length);
489
- let r = t.at(-1);
490
- r?.type === "paragraph" || r?.type === "text" ? (r.raw += `
491
- ` + s.raw, r.text += `
492
- ` + s.text, this.inlineQueue.at(-1).src = r.text) : t.push(s);
495
+ if (r = this.tokenizer.code(e)) {
496
+ e = e.substring(r.raw.length);
497
+ let s = t.at(-1);
498
+ s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
499
+ `) ? "" : `
500
+ `) + r.raw, s.text += `
501
+ ` + r.text, this.inlineQueue.at(-1).src = s.text) : t.push(r);
493
502
  continue;
494
503
  }
495
- if (s = this.tokenizer.fences(e)) {
496
- e = e.substring(s.raw.length), t.push(s);
504
+ if (r = this.tokenizer.fences(e)) {
505
+ e = e.substring(r.raw.length), t.push(r);
497
506
  continue;
498
507
  }
499
- if (s = this.tokenizer.heading(e)) {
500
- e = e.substring(s.raw.length), t.push(s);
508
+ if (r = this.tokenizer.heading(e)) {
509
+ e = e.substring(r.raw.length), t.push(r);
501
510
  continue;
502
511
  }
503
- if (s = this.tokenizer.hr(e)) {
504
- e = e.substring(s.raw.length), t.push(s);
512
+ if (r = this.tokenizer.hr(e)) {
513
+ e = e.substring(r.raw.length), t.push(r);
505
514
  continue;
506
515
  }
507
- if (s = this.tokenizer.blockquote(e)) {
508
- e = e.substring(s.raw.length), t.push(s);
516
+ if (r = this.tokenizer.blockquote(e)) {
517
+ e = e.substring(r.raw.length), t.push(r);
509
518
  continue;
510
519
  }
511
- if (s = this.tokenizer.list(e)) {
512
- e = e.substring(s.raw.length), t.push(s);
520
+ if (r = this.tokenizer.list(e)) {
521
+ e = e.substring(r.raw.length), t.push(r);
513
522
  continue;
514
523
  }
515
- if (s = this.tokenizer.html(e)) {
516
- e = e.substring(s.raw.length), t.push(s);
524
+ if (r = this.tokenizer.html(e)) {
525
+ e = e.substring(r.raw.length), t.push(r);
517
526
  continue;
518
527
  }
519
- if (s = this.tokenizer.def(e)) {
520
- e = e.substring(s.raw.length);
521
- let r = t.at(-1);
522
- r?.type === "paragraph" || r?.type === "text" ? (r.raw += `
523
- ` + s.raw, r.text += `
524
- ` + s.raw, this.inlineQueue.at(-1).src = r.text) : this.tokens.links[s.tag] || (this.tokens.links[s.tag] = { href: s.href, title: s.title });
528
+ if (r = this.tokenizer.def(e)) {
529
+ e = e.substring(r.raw.length);
530
+ let s = t.at(-1);
531
+ s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
532
+ `) ? "" : `
533
+ `) + r.raw, s.text += `
534
+ ` + r.raw, this.inlineQueue.at(-1).src = s.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t.push(r));
525
535
  continue;
526
536
  }
527
- if (s = this.tokenizer.table(e)) {
528
- e = e.substring(s.raw.length), t.push(s);
537
+ if (r = this.tokenizer.table(e)) {
538
+ e = e.substring(r.raw.length), t.push(r);
529
539
  continue;
530
540
  }
531
- if (s = this.tokenizer.lheading(e)) {
532
- e = e.substring(s.raw.length), t.push(s);
541
+ if (r = this.tokenizer.lheading(e)) {
542
+ e = e.substring(r.raw.length), t.push(r);
533
543
  continue;
534
544
  }
535
545
  let i = e;
536
546
  if (this.options.extensions?.startBlock) {
537
- let r = 1 / 0, o = e.slice(1), l;
538
- this.options.extensions.startBlock.forEach((c) => {
539
- l = c.call({ lexer: this }, o), typeof l == "number" && l >= 0 && (r = Math.min(r, l));
540
- }), r < 1 / 0 && r >= 0 && (i = e.substring(0, r + 1));
547
+ let s = 1 / 0, a = e.slice(1), o;
548
+ this.options.extensions.startBlock.forEach((p) => {
549
+ o = p.call({ lexer: this }, a), typeof o == "number" && o >= 0 && (s = Math.min(s, o));
550
+ }), s < 1 / 0 && s >= 0 && (i = e.substring(0, s + 1));
541
551
  }
542
- if (this.state.top && (s = this.tokenizer.paragraph(i))) {
543
- let r = t.at(-1);
544
- n && r?.type === "paragraph" ? (r.raw += `
545
- ` + s.raw, r.text += `
546
- ` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = r.text) : t.push(s), n = i.length !== e.length, e = e.substring(s.raw.length);
552
+ if (this.state.top && (r = this.tokenizer.paragraph(i))) {
553
+ let s = t.at(-1);
554
+ n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(`
555
+ `) ? "" : `
556
+ `) + r.raw, s.text += `
557
+ ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r), n = i.length !== e.length, e = e.substring(r.raw.length);
547
558
  continue;
548
559
  }
549
- if (s = this.tokenizer.text(e)) {
550
- e = e.substring(s.raw.length);
551
- let r = t.at(-1);
552
- r?.type === "text" ? (r.raw += `
553
- ` + s.raw, r.text += `
554
- ` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = r.text) : t.push(s);
560
+ if (r = this.tokenizer.text(e)) {
561
+ e = e.substring(r.raw.length);
562
+ let s = t.at(-1);
563
+ s?.type === "text" ? (s.raw += (s.raw.endsWith(`
564
+ `) ? "" : `
565
+ `) + r.raw, s.text += `
566
+ ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r);
555
567
  continue;
556
568
  }
557
569
  if (e) {
558
- let r = "Infinite loop on byte: " + e.charCodeAt(0);
570
+ let s = "Infinite loop on byte: " + e.charCodeAt(0);
559
571
  if (this.options.silent) {
560
- console.error(r);
572
+ console.error(s);
561
573
  break;
562
- } else throw new Error(r);
574
+ } else throw new Error(s);
563
575
  }
564
576
  }
565
577
  return this.state.top = true, t;
@@ -568,18 +580,20 @@ var b = class a {
568
580
  return this.inlineQueue.push({ src: e, tokens: t }), t;
569
581
  }
570
582
  inlineTokens(e, t = []) {
571
- let n = e, s = null;
583
+ let n = e, r = null;
572
584
  if (this.tokens.links) {
573
585
  let o = Object.keys(this.tokens.links);
574
- if (o.length > 0) for (; (s = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o.includes(s[0].slice(s[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, s.index) + "[" + "a".repeat(s[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
586
+ if (o.length > 0) for (; (r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
575
587
  }
576
- for (; (s = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, s.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
577
- for (; (s = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) n = n.slice(0, s.index) + "[" + "a".repeat(s[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
578
- let i = false, r = "";
588
+ for (; (r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
589
+ let i;
590
+ for (; (r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) i = r[2] ? r[2].length : 0, n = n.slice(0, r.index + i) + "[" + "a".repeat(r[0].length - i - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
591
+ n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n;
592
+ let s = false, a = "";
579
593
  for (; e; ) {
580
- i || (r = ""), i = false;
594
+ s || (a = ""), s = false;
581
595
  let o;
582
- if (this.options.extensions?.inline?.some((c) => (o = c.call({ lexer: this }, e, t)) ? (e = e.substring(o.raw.length), t.push(o), true) : false)) continue;
596
+ if (this.options.extensions?.inline?.some((u) => (o = u.call({ lexer: this }, e, t)) ? (e = e.substring(o.raw.length), t.push(o), true) : false)) continue;
583
597
  if (o = this.tokenizer.escape(e)) {
584
598
  e = e.substring(o.raw.length), t.push(o);
585
599
  continue;
@@ -594,11 +608,11 @@ var b = class a {
594
608
  }
595
609
  if (o = this.tokenizer.reflink(e, this.tokens.links)) {
596
610
  e = e.substring(o.raw.length);
597
- let c = t.at(-1);
598
- o.type === "text" && c?.type === "text" ? (c.raw += o.raw, c.text += o.text) : t.push(o);
611
+ let u = t.at(-1);
612
+ o.type === "text" && u?.type === "text" ? (u.raw += o.raw, u.text += o.text) : t.push(o);
599
613
  continue;
600
614
  }
601
- if (o = this.tokenizer.emStrong(e, n, r)) {
615
+ if (o = this.tokenizer.emStrong(e, n, a)) {
602
616
  e = e.substring(o.raw.length), t.push(o);
603
617
  continue;
604
618
  }
@@ -622,44 +636,44 @@ var b = class a {
622
636
  e = e.substring(o.raw.length), t.push(o);
623
637
  continue;
624
638
  }
625
- let l = e;
639
+ let p = e;
626
640
  if (this.options.extensions?.startInline) {
627
- let c = 1 / 0, p = e.slice(1), u;
628
- this.options.extensions.startInline.forEach((d) => {
629
- u = d.call({ lexer: this }, p), typeof u == "number" && u >= 0 && (c = Math.min(c, u));
630
- }), c < 1 / 0 && c >= 0 && (l = e.substring(0, c + 1));
641
+ let u = 1 / 0, c = e.slice(1), g;
642
+ this.options.extensions.startInline.forEach((h) => {
643
+ g = h.call({ lexer: this }, c), typeof g == "number" && g >= 0 && (u = Math.min(u, g));
644
+ }), u < 1 / 0 && u >= 0 && (p = e.substring(0, u + 1));
631
645
  }
632
- if (o = this.tokenizer.inlineText(l)) {
633
- e = e.substring(o.raw.length), o.raw.slice(-1) !== "_" && (r = o.raw.slice(-1)), i = true;
634
- let c = t.at(-1);
635
- c?.type === "text" ? (c.raw += o.raw, c.text += o.text) : t.push(o);
646
+ if (o = this.tokenizer.inlineText(p)) {
647
+ e = e.substring(o.raw.length), o.raw.slice(-1) !== "_" && (a = o.raw.slice(-1)), s = true;
648
+ let u = t.at(-1);
649
+ u?.type === "text" ? (u.raw += o.raw, u.text += o.text) : t.push(o);
636
650
  continue;
637
651
  }
638
652
  if (e) {
639
- let c = "Infinite loop on byte: " + e.charCodeAt(0);
653
+ let u = "Infinite loop on byte: " + e.charCodeAt(0);
640
654
  if (this.options.silent) {
641
- console.error(c);
655
+ console.error(u);
642
656
  break;
643
- } else throw new Error(c);
657
+ } else throw new Error(u);
644
658
  }
645
659
  }
646
660
  return t;
647
661
  }
648
662
  };
649
- var $ = class {
663
+ var P = class {
650
664
  constructor(e) {
651
665
  __publicField(this, "options");
652
666
  __publicField(this, "parser");
653
- this.options = e || w;
667
+ this.options = e || T;
654
668
  }
655
669
  space(e) {
656
670
  return "";
657
671
  }
658
672
  code({ text: e, lang: t, escaped: n }) {
659
- let s = (t || "").match(m.notSpaceStart)?.[0], i = e.replace(m.endingNewline, "") + `
673
+ let r = (t || "").match(m.notSpaceStart)?.[0], i = e.replace(m.endingNewline, "") + `
660
674
  `;
661
- return s ? '<pre><code class="language-' + R(s) + '">' + (n ? i : R(i, true)) + `</code></pre>
662
- ` : "<pre><code>" + (n ? i : R(i, true)) + `</code></pre>
675
+ return r ? '<pre><code class="language-' + w(r) + '">' + (n ? i : w(i, true)) + `</code></pre>
676
+ ` : "<pre><code>" + (n ? i : w(i, true)) + `</code></pre>
663
677
  `;
664
678
  }
665
679
  blockquote({ tokens: e }) {
@@ -670,6 +684,9 @@ ${this.parser.parse(e)}</blockquote>
670
684
  html({ text: e }) {
671
685
  return e;
672
686
  }
687
+ def(e) {
688
+ return "";
689
+ }
673
690
  heading({ tokens: e, depth: t }) {
674
691
  return `<h${t}>${this.parser.parseInline(e)}</h${t}>
675
692
  `;
@@ -679,21 +696,21 @@ ${this.parser.parse(e)}</blockquote>
679
696
  `;
680
697
  }
681
698
  list(e) {
682
- let t = e.ordered, n = e.start, s = "";
683
- for (let o = 0; o < e.items.length; o++) {
684
- let l = e.items[o];
685
- s += this.listitem(l);
699
+ let t = e.ordered, n = e.start, r = "";
700
+ for (let a = 0; a < e.items.length; a++) {
701
+ let o = e.items[a];
702
+ r += this.listitem(o);
686
703
  }
687
- let i = t ? "ol" : "ul", r = t && n !== 1 ? ' start="' + n + '"' : "";
688
- return "<" + i + r + `>
689
- ` + s + "</" + i + `>
704
+ let i = t ? "ol" : "ul", s = t && n !== 1 ? ' start="' + n + '"' : "";
705
+ return "<" + i + s + `>
706
+ ` + r + "</" + i + `>
690
707
  `;
691
708
  }
692
709
  listitem(e) {
693
710
  let t = "";
694
711
  if (e.task) {
695
712
  let n = this.checkbox({ checked: !!e.checked });
696
- e.loose ? e.tokens[0]?.type === "paragraph" ? (e.tokens[0].text = n + " " + e.tokens[0].text, e.tokens[0].tokens && e.tokens[0].tokens.length > 0 && e.tokens[0].tokens[0].type === "text" && (e.tokens[0].tokens[0].text = n + " " + R(e.tokens[0].tokens[0].text), e.tokens[0].tokens[0].escaped = true)) : e.tokens.unshift({ type: "text", raw: n + " ", text: n + " ", escaped: true }) : t += n + " ";
713
+ e.loose ? e.tokens[0]?.type === "paragraph" ? (e.tokens[0].text = n + " " + e.tokens[0].text, e.tokens[0].tokens && e.tokens[0].tokens.length > 0 && e.tokens[0].tokens[0].type === "text" && (e.tokens[0].tokens[0].text = n + " " + w(e.tokens[0].tokens[0].text), e.tokens[0].tokens[0].escaped = true)) : e.tokens.unshift({ type: "text", raw: n + " ", text: n + " ", escaped: true }) : t += n + " ";
697
714
  }
698
715
  return t += this.parser.parse(e.tokens, !!e.loose), `<li>${t}</li>
699
716
  `;
@@ -709,17 +726,17 @@ ${this.parser.parse(e)}</blockquote>
709
726
  let t = "", n = "";
710
727
  for (let i = 0; i < e.header.length; i++) n += this.tablecell(e.header[i]);
711
728
  t += this.tablerow({ text: n });
712
- let s = "";
729
+ let r = "";
713
730
  for (let i = 0; i < e.rows.length; i++) {
714
- let r = e.rows[i];
731
+ let s = e.rows[i];
715
732
  n = "";
716
- for (let o = 0; o < r.length; o++) n += this.tablecell(r[o]);
717
- s += this.tablerow({ text: n });
733
+ for (let a = 0; a < s.length; a++) n += this.tablecell(s[a]);
734
+ r += this.tablerow({ text: n });
718
735
  }
719
- return s && (s = `<tbody>${s}</tbody>`), `<table>
736
+ return r && (r = `<tbody>${r}</tbody>`), `<table>
720
737
  <thead>
721
738
  ` + t + `</thead>
722
- ` + s + `</table>
739
+ ` + r + `</table>
723
740
  `;
724
741
  }
725
742
  tablerow({ text: e }) {
@@ -739,7 +756,7 @@ ${e}</tr>
739
756
  return `<em>${this.parser.parseInline(e)}</em>`;
740
757
  }
741
758
  codespan({ text: e }) {
742
- return `<code>${R(e, true)}</code>`;
759
+ return `<code>${w(e, true)}</code>`;
743
760
  }
744
761
  br(e) {
745
762
  return "<br>";
@@ -748,25 +765,25 @@ ${e}</tr>
748
765
  return `<del>${this.parser.parseInline(e)}</del>`;
749
766
  }
750
767
  link({ href: e, title: t, tokens: n }) {
751
- let s = this.parser.parseInline(n), i = J(e);
752
- if (i === null) return s;
768
+ let r = this.parser.parseInline(n), i = J(e);
769
+ if (i === null) return r;
753
770
  e = i;
754
- let r = '<a href="' + e + '"';
755
- return t && (r += ' title="' + R(t) + '"'), r += ">" + s + "</a>", r;
771
+ let s = '<a href="' + e + '"';
772
+ return t && (s += ' title="' + w(t) + '"'), s += ">" + r + "</a>", s;
756
773
  }
757
- image({ href: e, title: t, text: n, tokens: s }) {
758
- s && (n = this.parser.parseInline(s, this.parser.textRenderer));
774
+ image({ href: e, title: t, text: n, tokens: r }) {
775
+ r && (n = this.parser.parseInline(r, this.parser.textRenderer));
759
776
  let i = J(e);
760
- if (i === null) return R(n);
777
+ if (i === null) return w(n);
761
778
  e = i;
762
- let r = `<img src="${e}" alt="${n}"`;
763
- return t && (r += ` title="${R(t)}"`), r += ">", r;
779
+ let s = `<img src="${e}" alt="${n}"`;
780
+ return t && (s += ` title="${w(t)}"`), s += ">", s;
764
781
  }
765
782
  text(e) {
766
- return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : R(e.text);
783
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : w(e.text);
767
784
  }
768
785
  };
769
- var _ = class {
786
+ var $ = class {
770
787
  strong({ text: e }) {
771
788
  return e;
772
789
  }
@@ -795,79 +812,83 @@ var _ = class {
795
812
  return "";
796
813
  }
797
814
  };
798
- var T = class a2 {
815
+ var b = class l2 {
799
816
  constructor(e) {
800
817
  __publicField(this, "options");
801
818
  __publicField(this, "renderer");
802
819
  __publicField(this, "textRenderer");
803
- this.options = e || w, this.options.renderer = this.options.renderer || new $(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new _();
820
+ this.options = e || T, this.options.renderer = this.options.renderer || new P(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $();
804
821
  }
805
822
  static parse(e, t) {
806
- return new a2(t).parse(e);
823
+ return new l2(t).parse(e);
807
824
  }
808
825
  static parseInline(e, t) {
809
- return new a2(t).parseInline(e);
826
+ return new l2(t).parseInline(e);
810
827
  }
811
828
  parse(e, t = true) {
812
829
  let n = "";
813
- for (let s = 0; s < e.length; s++) {
814
- let i = e[s];
830
+ for (let r = 0; r < e.length; r++) {
831
+ let i = e[r];
815
832
  if (this.options.extensions?.renderers?.[i.type]) {
816
- let o = i, l = this.options.extensions.renderers[o.type].call({ parser: this }, o);
817
- if (l !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(o.type)) {
818
- n += l || "";
833
+ let a = i, o = this.options.extensions.renderers[a.type].call({ parser: this }, a);
834
+ if (o !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(a.type)) {
835
+ n += o || "";
819
836
  continue;
820
837
  }
821
838
  }
822
- let r = i;
823
- switch (r.type) {
839
+ let s = i;
840
+ switch (s.type) {
824
841
  case "space": {
825
- n += this.renderer.space(r);
842
+ n += this.renderer.space(s);
826
843
  continue;
827
844
  }
828
845
  case "hr": {
829
- n += this.renderer.hr(r);
846
+ n += this.renderer.hr(s);
830
847
  continue;
831
848
  }
832
849
  case "heading": {
833
- n += this.renderer.heading(r);
850
+ n += this.renderer.heading(s);
834
851
  continue;
835
852
  }
836
853
  case "code": {
837
- n += this.renderer.code(r);
854
+ n += this.renderer.code(s);
838
855
  continue;
839
856
  }
840
857
  case "table": {
841
- n += this.renderer.table(r);
858
+ n += this.renderer.table(s);
842
859
  continue;
843
860
  }
844
861
  case "blockquote": {
845
- n += this.renderer.blockquote(r);
862
+ n += this.renderer.blockquote(s);
846
863
  continue;
847
864
  }
848
865
  case "list": {
849
- n += this.renderer.list(r);
866
+ n += this.renderer.list(s);
850
867
  continue;
851
868
  }
852
869
  case "html": {
853
- n += this.renderer.html(r);
870
+ n += this.renderer.html(s);
871
+ continue;
872
+ }
873
+ case "def": {
874
+ n += this.renderer.def(s);
854
875
  continue;
855
876
  }
856
877
  case "paragraph": {
857
- n += this.renderer.paragraph(r);
878
+ n += this.renderer.paragraph(s);
858
879
  continue;
859
880
  }
860
881
  case "text": {
861
- let o = r, l = this.renderer.text(o);
862
- for (; s + 1 < e.length && e[s + 1].type === "text"; ) o = e[++s], l += `
863
- ` + this.renderer.text(o);
864
- t ? n += this.renderer.paragraph({ type: "paragraph", raw: l, text: l, tokens: [{ type: "text", raw: l, text: l, escaped: true }] }) : n += l;
882
+ let a = s, o = this.renderer.text(a);
883
+ for (; r + 1 < e.length && e[r + 1].type === "text"; ) a = e[++r], o += `
884
+ ` + this.renderer.text(a);
885
+ t ? n += this.renderer.paragraph({ type: "paragraph", raw: o, text: o, tokens: [{ type: "text", raw: o, text: o, escaped: true }] }) : n += o;
865
886
  continue;
866
887
  }
867
888
  default: {
868
- let o = 'Token with "' + r.type + '" type was not found.';
869
- if (this.options.silent) return console.error(o), "";
870
- throw new Error(o);
889
+ let a = 'Token with "' + s.type + '" type was not found.';
890
+ if (this.options.silent) return console.error(a), "";
891
+ throw new Error(a);
871
892
  }
872
893
  }
873
894
  }
@@ -875,61 +896,61 @@ var T = class a2 {
875
896
  }
876
897
  parseInline(e, t = this.renderer) {
877
898
  let n = "";
878
- for (let s = 0; s < e.length; s++) {
879
- let i = e[s];
899
+ for (let r = 0; r < e.length; r++) {
900
+ let i = e[r];
880
901
  if (this.options.extensions?.renderers?.[i.type]) {
881
- let o = this.options.extensions.renderers[i.type].call({ parser: this }, i);
882
- if (o !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i.type)) {
883
- n += o || "";
902
+ let a = this.options.extensions.renderers[i.type].call({ parser: this }, i);
903
+ if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i.type)) {
904
+ n += a || "";
884
905
  continue;
885
906
  }
886
907
  }
887
- let r = i;
888
- switch (r.type) {
908
+ let s = i;
909
+ switch (s.type) {
889
910
  case "escape": {
890
- n += t.text(r);
911
+ n += t.text(s);
891
912
  break;
892
913
  }
893
914
  case "html": {
894
- n += t.html(r);
915
+ n += t.html(s);
895
916
  break;
896
917
  }
897
918
  case "link": {
898
- n += t.link(r);
919
+ n += t.link(s);
899
920
  break;
900
921
  }
901
922
  case "image": {
902
- n += t.image(r);
923
+ n += t.image(s);
903
924
  break;
904
925
  }
905
926
  case "strong": {
906
- n += t.strong(r);
927
+ n += t.strong(s);
907
928
  break;
908
929
  }
909
930
  case "em": {
910
- n += t.em(r);
931
+ n += t.em(s);
911
932
  break;
912
933
  }
913
934
  case "codespan": {
914
- n += t.codespan(r);
935
+ n += t.codespan(s);
915
936
  break;
916
937
  }
917
938
  case "br": {
918
- n += t.br(r);
939
+ n += t.br(s);
919
940
  break;
920
941
  }
921
942
  case "del": {
922
- n += t.del(r);
943
+ n += t.del(s);
923
944
  break;
924
945
  }
925
946
  case "text": {
926
- n += t.text(r);
947
+ n += t.text(s);
927
948
  break;
928
949
  }
929
950
  default: {
930
- let o = 'Token with "' + r.type + '" type was not found.';
931
- if (this.options.silent) return console.error(o), "";
932
- throw new Error(o);
951
+ let a = 'Token with "' + s.type + '" type was not found.';
952
+ if (this.options.silent) return console.error(a), "";
953
+ throw new Error(a);
933
954
  }
934
955
  }
935
956
  }
@@ -937,11 +958,11 @@ var T = class a2 {
937
958
  }
938
959
  };
939
960
  var _a;
940
- var L = (_a = class {
961
+ var S = (_a = class {
941
962
  constructor(e) {
942
963
  __publicField(this, "options");
943
964
  __publicField(this, "block");
944
- this.options = e || w;
965
+ this.options = e || T;
945
966
  }
946
967
  preprocess(e) {
947
968
  return e;
@@ -952,46 +973,49 @@ var L = (_a = class {
952
973
  processAllTokens(e) {
953
974
  return e;
954
975
  }
976
+ emStrongMask(e) {
977
+ return e;
978
+ }
955
979
  provideLexer() {
956
- return this.block ? b.lex : b.lexInline;
980
+ return this.block ? x.lex : x.lexInline;
957
981
  }
958
982
  provideParser() {
959
- return this.block ? T.parse : T.parseInline;
983
+ return this.block ? b.parse : b.parseInline;
960
984
  }
961
- }, __publicField(_a, "passThroughHooks", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"])), _a);
985
+ }, __publicField(_a, "passThroughHooks", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"])), __publicField(_a, "passThroughHooksRespectAsync", /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"])), _a);
962
986
  var B = class {
963
987
  constructor(...e) {
964
- __publicField(this, "defaults", M());
988
+ __publicField(this, "defaults", L());
965
989
  __publicField(this, "options", this.setOptions);
966
990
  __publicField(this, "parse", this.parseMarkdown(true));
967
991
  __publicField(this, "parseInline", this.parseMarkdown(false));
968
- __publicField(this, "Parser", T);
969
- __publicField(this, "Renderer", $);
970
- __publicField(this, "TextRenderer", _);
971
- __publicField(this, "Lexer", b);
972
- __publicField(this, "Tokenizer", S);
973
- __publicField(this, "Hooks", L);
992
+ __publicField(this, "Parser", b);
993
+ __publicField(this, "Renderer", P);
994
+ __publicField(this, "TextRenderer", $);
995
+ __publicField(this, "Lexer", x);
996
+ __publicField(this, "Tokenizer", y);
997
+ __publicField(this, "Hooks", S);
974
998
  this.use(...e);
975
999
  }
976
1000
  walkTokens(e, t) {
977
1001
  let n = [];
978
- for (let s of e) switch (n = n.concat(t.call(this, s)), s.type) {
1002
+ for (let r of e) switch (n = n.concat(t.call(this, r)), r.type) {
979
1003
  case "table": {
980
- let i = s;
981
- for (let r of i.header) n = n.concat(this.walkTokens(r.tokens, t));
982
- for (let r of i.rows) for (let o of r) n = n.concat(this.walkTokens(o.tokens, t));
1004
+ let i = r;
1005
+ for (let s of i.header) n = n.concat(this.walkTokens(s.tokens, t));
1006
+ for (let s of i.rows) for (let a of s) n = n.concat(this.walkTokens(a.tokens, t));
983
1007
  break;
984
1008
  }
985
1009
  case "list": {
986
- let i = s;
1010
+ let i = r;
987
1011
  n = n.concat(this.walkTokens(i.items, t));
988
1012
  break;
989
1013
  }
990
1014
  default: {
991
- let i = s;
992
- this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((r) => {
993
- let o = i[r].flat(1 / 0);
994
- n = n.concat(this.walkTokens(o, t));
1015
+ let i = r;
1016
+ this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((s) => {
1017
+ let a = i[s].flat(1 / 0);
1018
+ n = n.concat(this.walkTokens(a, t));
995
1019
  }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, t)));
996
1020
  }
997
1021
  }
@@ -1000,101 +1024,111 @@ var B = class {
1000
1024
  use(...e) {
1001
1025
  let t = this.defaults.extensions || { renderers: {}, childTokens: {} };
1002
1026
  return e.forEach((n) => {
1003
- let s = { ...n };
1004
- if (s.async = this.defaults.async || s.async || false, n.extensions && (n.extensions.forEach((i) => {
1027
+ let r = { ...n };
1028
+ if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i) => {
1005
1029
  if (!i.name) throw new Error("extension name required");
1006
1030
  if ("renderer" in i) {
1007
- let r = t.renderers[i.name];
1008
- r ? t.renderers[i.name] = function(...o) {
1009
- let l = i.renderer.apply(this, o);
1010
- return l === false && (l = r.apply(this, o)), l;
1031
+ let s = t.renderers[i.name];
1032
+ s ? t.renderers[i.name] = function(...a) {
1033
+ let o = i.renderer.apply(this, a);
1034
+ return o === false && (o = s.apply(this, a)), o;
1011
1035
  } : t.renderers[i.name] = i.renderer;
1012
1036
  }
1013
1037
  if ("tokenizer" in i) {
1014
1038
  if (!i.level || i.level !== "block" && i.level !== "inline") throw new Error("extension level must be 'block' or 'inline'");
1015
- let r = t[i.level];
1016
- r ? r.unshift(i.tokenizer) : t[i.level] = [i.tokenizer], i.start && (i.level === "block" ? t.startBlock ? t.startBlock.push(i.start) : t.startBlock = [i.start] : i.level === "inline" && (t.startInline ? t.startInline.push(i.start) : t.startInline = [i.start]));
1039
+ let s = t[i.level];
1040
+ s ? s.unshift(i.tokenizer) : t[i.level] = [i.tokenizer], i.start && (i.level === "block" ? t.startBlock ? t.startBlock.push(i.start) : t.startBlock = [i.start] : i.level === "inline" && (t.startInline ? t.startInline.push(i.start) : t.startInline = [i.start]));
1017
1041
  }
1018
1042
  "childTokens" in i && i.childTokens && (t.childTokens[i.name] = i.childTokens);
1019
- }), s.extensions = t), n.renderer) {
1020
- let i = this.defaults.renderer || new $(this.defaults);
1021
- for (let r in n.renderer) {
1022
- if (!(r in i)) throw new Error(`renderer '${r}' does not exist`);
1023
- if (["options", "parser"].includes(r)) continue;
1024
- let o = r, l = n.renderer[o], c = i[o];
1025
- i[o] = (...p) => {
1026
- let u = l.apply(i, p);
1027
- return u === false && (u = c.apply(i, p)), u || "";
1043
+ }), r.extensions = t), n.renderer) {
1044
+ let i = this.defaults.renderer || new P(this.defaults);
1045
+ for (let s in n.renderer) {
1046
+ if (!(s in i)) throw new Error(`renderer '${s}' does not exist`);
1047
+ if (["options", "parser"].includes(s)) continue;
1048
+ let a = s, o = n.renderer[a], p = i[a];
1049
+ i[a] = (...u) => {
1050
+ let c = o.apply(i, u);
1051
+ return c === false && (c = p.apply(i, u)), c || "";
1028
1052
  };
1029
1053
  }
1030
- s.renderer = i;
1054
+ r.renderer = i;
1031
1055
  }
1032
1056
  if (n.tokenizer) {
1033
- let i = this.defaults.tokenizer || new S(this.defaults);
1034
- for (let r in n.tokenizer) {
1035
- if (!(r in i)) throw new Error(`tokenizer '${r}' does not exist`);
1036
- if (["options", "rules", "lexer"].includes(r)) continue;
1037
- let o = r, l = n.tokenizer[o], c = i[o];
1038
- i[o] = (...p) => {
1039
- let u = l.apply(i, p);
1040
- return u === false && (u = c.apply(i, p)), u;
1057
+ let i = this.defaults.tokenizer || new y(this.defaults);
1058
+ for (let s in n.tokenizer) {
1059
+ if (!(s in i)) throw new Error(`tokenizer '${s}' does not exist`);
1060
+ if (["options", "rules", "lexer"].includes(s)) continue;
1061
+ let a = s, o = n.tokenizer[a], p = i[a];
1062
+ i[a] = (...u) => {
1063
+ let c = o.apply(i, u);
1064
+ return c === false && (c = p.apply(i, u)), c;
1041
1065
  };
1042
1066
  }
1043
- s.tokenizer = i;
1067
+ r.tokenizer = i;
1044
1068
  }
1045
1069
  if (n.hooks) {
1046
- let i = this.defaults.hooks || new L();
1047
- for (let r in n.hooks) {
1048
- if (!(r in i)) throw new Error(`hook '${r}' does not exist`);
1049
- if (["options", "block"].includes(r)) continue;
1050
- let o = r, l = n.hooks[o], c = i[o];
1051
- L.passThroughHooks.has(r) ? i[o] = (p) => {
1052
- if (this.defaults.async) return Promise.resolve(l.call(i, p)).then((d) => c.call(i, d));
1053
- let u = l.call(i, p);
1054
- return c.call(i, u);
1055
- } : i[o] = (...p) => {
1056
- let u = l.apply(i, p);
1057
- return u === false && (u = c.apply(i, p)), u;
1070
+ let i = this.defaults.hooks || new S();
1071
+ for (let s in n.hooks) {
1072
+ if (!(s in i)) throw new Error(`hook '${s}' does not exist`);
1073
+ if (["options", "block"].includes(s)) continue;
1074
+ let a = s, o = n.hooks[a], p = i[a];
1075
+ S.passThroughHooks.has(s) ? i[a] = (u) => {
1076
+ if (this.defaults.async && S.passThroughHooksRespectAsync.has(s)) return (async () => {
1077
+ let g = await o.call(i, u);
1078
+ return p.call(i, g);
1079
+ })();
1080
+ let c = o.call(i, u);
1081
+ return p.call(i, c);
1082
+ } : i[a] = (...u) => {
1083
+ if (this.defaults.async) return (async () => {
1084
+ let g = await o.apply(i, u);
1085
+ return g === false && (g = await p.apply(i, u)), g;
1086
+ })();
1087
+ let c = o.apply(i, u);
1088
+ return c === false && (c = p.apply(i, u)), c;
1058
1089
  };
1059
1090
  }
1060
- s.hooks = i;
1091
+ r.hooks = i;
1061
1092
  }
1062
1093
  if (n.walkTokens) {
1063
- let i = this.defaults.walkTokens, r = n.walkTokens;
1064
- s.walkTokens = function(o) {
1065
- let l = [];
1066
- return l.push(r.call(this, o)), i && (l = l.concat(i.call(this, o))), l;
1094
+ let i = this.defaults.walkTokens, s = n.walkTokens;
1095
+ r.walkTokens = function(a) {
1096
+ let o = [];
1097
+ return o.push(s.call(this, a)), i && (o = o.concat(i.call(this, a))), o;
1067
1098
  };
1068
1099
  }
1069
- this.defaults = { ...this.defaults, ...s };
1100
+ this.defaults = { ...this.defaults, ...r };
1070
1101
  }), this;
1071
1102
  }
1072
1103
  setOptions(e) {
1073
1104
  return this.defaults = { ...this.defaults, ...e }, this;
1074
1105
  }
1075
1106
  lexer(e, t) {
1076
- return b.lex(e, t ?? this.defaults);
1107
+ return x.lex(e, t ?? this.defaults);
1077
1108
  }
1078
1109
  parser(e, t) {
1079
- return T.parse(e, t ?? this.defaults);
1110
+ return b.parse(e, t ?? this.defaults);
1080
1111
  }
1081
1112
  parseMarkdown(e) {
1082
- return (n, s) => {
1083
- let i = { ...s }, r = { ...this.defaults, ...i }, o = this.onError(!!r.silent, !!r.async);
1084
- if (this.defaults.async === true && i.async === false) return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
1085
- if (typeof n > "u" || n === null) return o(new Error("marked(): input parameter is undefined or null"));
1086
- if (typeof n != "string") return o(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected"));
1087
- r.hooks && (r.hooks.options = r, r.hooks.block = e);
1088
- let l = r.hooks ? r.hooks.provideLexer() : e ? b.lex : b.lexInline, c = r.hooks ? r.hooks.provideParser() : e ? T.parse : T.parseInline;
1089
- if (r.async) return Promise.resolve(r.hooks ? r.hooks.preprocess(n) : n).then((p) => l(p, r)).then((p) => r.hooks ? r.hooks.processAllTokens(p) : p).then((p) => r.walkTokens ? Promise.all(this.walkTokens(p, r.walkTokens)).then(() => p) : p).then((p) => c(p, r)).then((p) => r.hooks ? r.hooks.postprocess(p) : p).catch(o);
1113
+ return (n, r) => {
1114
+ let i = { ...r }, s = { ...this.defaults, ...i }, a = this.onError(!!s.silent, !!s.async);
1115
+ if (this.defaults.async === true && i.async === false) return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
1116
+ if (typeof n > "u" || n === null) return a(new Error("marked(): input parameter is undefined or null"));
1117
+ if (typeof n != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected"));
1118
+ if (s.hooks && (s.hooks.options = s, s.hooks.block = e), s.async) return (async () => {
1119
+ let o = s.hooks ? await s.hooks.preprocess(n) : n, u = await (s.hooks ? await s.hooks.provideLexer() : e ? x.lex : x.lexInline)(o, s), c = s.hooks ? await s.hooks.processAllTokens(u) : u;
1120
+ s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens));
1121
+ let h = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(c, s);
1122
+ return s.hooks ? await s.hooks.postprocess(h) : h;
1123
+ })().catch(a);
1090
1124
  try {
1091
- r.hooks && (n = r.hooks.preprocess(n));
1092
- let p = l(n, r);
1093
- r.hooks && (p = r.hooks.processAllTokens(p)), r.walkTokens && this.walkTokens(p, r.walkTokens);
1094
- let u = c(p, r);
1095
- return r.hooks && (u = r.hooks.postprocess(u)), u;
1096
- } catch (p) {
1097
- return o(p);
1125
+ s.hooks && (n = s.hooks.preprocess(n));
1126
+ let p = (s.hooks ? s.hooks.provideLexer() : e ? x.lex : x.lexInline)(n, s);
1127
+ s.hooks && (p = s.hooks.processAllTokens(p)), s.walkTokens && this.walkTokens(p, s.walkTokens);
1128
+ let c = (s.hooks ? s.hooks.provideParser() : e ? b.parse : b.parseInline)(p, s);
1129
+ return s.hooks && (c = s.hooks.postprocess(c)), c;
1130
+ } catch (o) {
1131
+ return a(o);
1098
1132
  }
1099
1133
  };
1100
1134
  }
@@ -1102,46 +1136,46 @@ var B = class {
1102
1136
  return (n) => {
1103
1137
  if (n.message += `
1104
1138
  Please report this to https://github.com/markedjs/marked.`, e) {
1105
- let s = "<p>An error occurred:</p><pre>" + R(n.message + "", true) + "</pre>";
1106
- return t ? Promise.resolve(s) : s;
1139
+ let r = "<p>An error occurred:</p><pre>" + w(n.message + "", true) + "</pre>";
1140
+ return t ? Promise.resolve(r) : r;
1107
1141
  }
1108
1142
  if (t) return Promise.reject(n);
1109
1143
  throw n;
1110
1144
  };
1111
1145
  }
1112
1146
  };
1113
- var z = new B();
1114
- function k(a3, e) {
1115
- return z.parse(a3, e);
1147
+ var _ = new B();
1148
+ function k(l3, e) {
1149
+ return _.parse(l3, e);
1116
1150
  }
1117
- k.options = k.setOptions = function(a3) {
1118
- return z.setOptions(a3), k.defaults = z.defaults, H(k.defaults), k;
1151
+ k.options = k.setOptions = function(l3) {
1152
+ return _.setOptions(l3), k.defaults = _.defaults, G(k.defaults), k;
1119
1153
  };
1120
- k.getDefaults = M;
1121
- k.defaults = w;
1122
- k.use = function(...a3) {
1123
- return z.use(...a3), k.defaults = z.defaults, H(k.defaults), k;
1154
+ k.getDefaults = L;
1155
+ k.defaults = T;
1156
+ k.use = function(...l3) {
1157
+ return _.use(...l3), k.defaults = _.defaults, G(k.defaults), k;
1124
1158
  };
1125
- k.walkTokens = function(a3, e) {
1126
- return z.walkTokens(a3, e);
1159
+ k.walkTokens = function(l3, e) {
1160
+ return _.walkTokens(l3, e);
1127
1161
  };
1128
- k.parseInline = z.parseInline;
1129
- k.Parser = T;
1130
- k.parser = T.parse;
1131
- k.Renderer = $;
1132
- k.TextRenderer = _;
1133
- k.Lexer = b;
1134
- k.lexer = b.lex;
1135
- k.Tokenizer = S;
1136
- k.Hooks = L;
1162
+ k.parseInline = _.parseInline;
1163
+ k.Parser = b;
1164
+ k.parser = b.parse;
1165
+ k.Renderer = P;
1166
+ k.TextRenderer = $;
1167
+ k.Lexer = x;
1168
+ k.lexer = x.lex;
1169
+ k.Tokenizer = y;
1170
+ k.Hooks = S;
1137
1171
  k.parse = k;
1138
- var Dt = k.options;
1139
- var Zt = k.setOptions;
1140
- var Gt = k.use;
1141
- var Ht = k.walkTokens;
1142
- var Nt = k.parseInline;
1143
- var Ft = T.parse;
1144
- var Qt = b.lex;
1172
+ var Zt = k.options;
1173
+ var Gt = k.setOptions;
1174
+ var Nt = k.use;
1175
+ var Ft = k.walkTokens;
1176
+ var jt = k.parseInline;
1177
+ var Ut = b.parse;
1178
+ var Kt = x.lex;
1145
1179
 
1146
1180
  // src/helpers/markdownConverter.ts
1147
1181
  function convertMarkdownToHtml(markdownPath, htmlOutputPath) {
@@ -1332,7 +1366,11 @@ var TestResultProcessor = class {
1332
1366
  return {
1333
1367
  snippet: this.ansiToHtml.toHtml(escapeHtml(step.error?.snippet || "")),
1334
1368
  title: step.title,
1335
- location: step.error ? stepLocation : ""
1369
+ location: step.error ? stepLocation : "",
1370
+ duration: step.duration,
1371
+ status: step.error ? "failed" : "passed",
1372
+ category: step.category,
1373
+ steps: this.processSteps(step.steps || [])
1336
1374
  };
1337
1375
  });
1338
1376
  }
@@ -1346,7 +1384,8 @@ var ServerManager = class {
1346
1384
  async startServer(folderPath, outputFilename, overAllStatus) {
1347
1385
  const openOption = this.ortoniConfig.open || "never";
1348
1386
  const hasFailures = overAllStatus === "failed";
1349
- if (openOption === "always" || openOption === "on-failure" && hasFailures) {
1387
+ const isCI = !!process.env.CI;
1388
+ if (!isCI && (openOption === "always" || openOption === "on-failure" && hasFailures)) {
1350
1389
  startReportServer(
1351
1390
  folderPath,
1352
1391
  outputFilename,
@@ -1355,6 +1394,10 @@ var ServerManager = class {
1355
1394
  );
1356
1395
  await new Promise((_resolve) => {
1357
1396
  });
1397
+ } else if (isCI && openOption !== "never") {
1398
+ console.info(
1399
+ "Ortoni Report: 'open' option ignored because process is running in CI."
1400
+ );
1358
1401
  }
1359
1402
  }
1360
1403
  };