pcm-agents 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/cjs/{components-chat-message_34.cjs.entry.js → components-chat-message_33.cjs.entry.js} +3580 -5510
  2. package/dist/cjs/components-chat-message_33.cjs.entry.js.map +1 -0
  3. package/dist/cjs/components-oem-virtual-chat-modal.cjs.entry.js +1829 -0
  4. package/dist/cjs/components-oem-virtual-chat-modal.cjs.entry.js.map +1 -0
  5. package/dist/cjs/components-oem-virtual-chat-modal.entry.cjs.js.map +1 -0
  6. package/dist/cjs/{conversation-utils-CtqfWyjk.js → conversation-utils-srlCwYy5.js} +3 -3
  7. package/dist/cjs/{conversation-utils-CtqfWyjk.js.map → conversation-utils-srlCwYy5.js.map} +1 -1
  8. package/dist/cjs/{index-DjwiIxrh.js → index-CJQRBB6e.js} +3 -3
  9. package/dist/cjs/{index-DjwiIxrh.js.map → index-CJQRBB6e.js.map} +1 -1
  10. package/dist/cjs/index-C_qhED9Z.js +10 -6
  11. package/dist/cjs/{message-utils-DbTqMOA1.js → index-D5RimYc5.js} +2 -23
  12. package/dist/cjs/index-D5RimYc5.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/message-utils-C8eJnzLy.js +26 -0
  16. package/dist/cjs/message-utils-C8eJnzLy.js.map +1 -0
  17. package/dist/cjs/oem-cast-modal.cjs.entry.js +23 -5
  18. package/dist/cjs/oem-cast-modal.cjs.entry.js.map +1 -1
  19. package/dist/cjs/oem-cast-modal.entry.cjs.js.map +1 -1
  20. package/dist/cjs/oem-htws-modal.cjs.entry.js +1 -1
  21. package/dist/cjs/oem-jd-modal.cjs.entry.js +1 -1
  22. package/dist/cjs/oem-jlpp-modal.cjs.entry.js +1 -1
  23. package/dist/cjs/oem-jlzz-modal.cjs.entry.js +1 -1
  24. package/dist/cjs/oem-mnct-modal.cjs.entry.js +1 -1
  25. package/dist/cjs/{pcm-mnms-modal.cjs.entry.js → oem-mnms-modal.cjs.entry.js} +157 -42
  26. package/dist/cjs/oem-mnms-modal.cjs.entry.js.map +1 -0
  27. package/dist/cjs/oem-mnms-modal.entry.cjs.js.map +1 -0
  28. package/dist/cjs/oem-qgqjl-modal.cjs.entry.js +2 -2
  29. package/dist/cjs/pcm-agents.cjs.js +1 -1
  30. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +1 -1
  31. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +24 -23
  32. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js.map +1 -1
  33. package/dist/cjs/pcm-jlsx-modal.entry.cjs.js.map +1 -1
  34. package/dist/collection/components/oem-cast-modal/cast-data.js.map +1 -1
  35. package/dist/collection/components/oem-cast-modal/oem-cast-modal.css +844 -534
  36. package/dist/collection/components/oem-cast-modal/oem-cast-modal.js +25 -5
  37. package/dist/collection/components/oem-cast-modal/oem-cast-modal.js.map +1 -1
  38. package/dist/components/components-chat-message.js +1 -1
  39. package/dist/components/components-digital-human.js +1 -1
  40. package/dist/components/components-export-records-modal.js +1 -1
  41. package/dist/components/components-mobile-input-btn.js +1 -1
  42. package/dist/components/components-mobile-upload-btn.js +1 -1
  43. package/dist/components/components-oem-virtual-chat-modal.js +1 -1
  44. package/dist/components/components-position-selector.js +1 -1
  45. package/dist/components/components-thousand-resume-wrapper.js +1 -1
  46. package/dist/components/components-upload.js +1 -1
  47. package/dist/components/components-voice-input-btn.js +1 -1
  48. package/dist/components/index.js +1 -1
  49. package/dist/components/oem-cast-modal.js +26 -6
  50. package/dist/components/oem-cast-modal.js.map +1 -1
  51. package/dist/components/oem-htws-modal.js +5 -5
  52. package/dist/components/oem-jd-modal.js +5 -5
  53. package/dist/components/oem-jlpp-modal.js +7 -7
  54. package/dist/components/oem-jlsx-modal.js +5 -5
  55. package/dist/components/oem-jlzz-modal.js +5 -5
  56. package/dist/components/oem-mnct-modal.js +7 -7
  57. package/dist/components/oem-mnms-modal.js +8 -8
  58. package/dist/components/oem-qgqjl-modal.js +9 -9
  59. package/dist/components/oem-zygh-modal.js +5 -5
  60. package/dist/components/{p-DSjCE1H5.js → p--IeRQcxT.js} +3 -3
  61. package/dist/components/{p-DSjCE1H5.js.map → p--IeRQcxT.js.map} +1 -1
  62. package/dist/components/{p-QTkJYrid.js → p-14CtQGo8.js} +4 -4
  63. package/dist/components/{p-QTkJYrid.js.map → p-14CtQGo8.js.map} +1 -1
  64. package/dist/components/{p-BrqabR-j.js → p-2BiWHTOV.js} +3 -3
  65. package/dist/components/{p-BrqabR-j.js.map → p-2BiWHTOV.js.map} +1 -1
  66. package/dist/components/{p-BfGmWNQl.js → p-5TyoLbXy.js} +5 -5
  67. package/dist/components/{p-BfGmWNQl.js.map → p-5TyoLbXy.js.map} +1 -1
  68. package/dist/components/{p-ByhieQTZ.js → p-BJKIlCmI.js} +3 -3
  69. package/dist/components/{p-ByhieQTZ.js.map → p-BJKIlCmI.js.map} +1 -1
  70. package/dist/components/{p-Dev2ejUC.js → p-BUA1GYVe.js} +3 -3
  71. package/dist/components/{p-Dev2ejUC.js.map → p-BUA1GYVe.js.map} +1 -1
  72. package/dist/components/{p-6DFSErLz.js → p-BUVNyxhI.js} +3 -3
  73. package/dist/components/{p-6DFSErLz.js.map → p-BUVNyxhI.js.map} +1 -1
  74. package/dist/components/{p-CUB7SkgT.js → p-BWdXlms4.js} +3 -3
  75. package/dist/components/{p-CUB7SkgT.js.map → p-BWdXlms4.js.map} +1 -1
  76. package/dist/components/{p-CuSvTsR9.js → p-BdgdgjaW.js} +3 -3
  77. package/dist/components/{p-CuSvTsR9.js.map → p-BdgdgjaW.js.map} +1 -1
  78. package/dist/components/{p-CNvgKUkT.js → p-BdzFXB1t.js} +3 -3
  79. package/dist/components/{p-CNvgKUkT.js.map → p-BdzFXB1t.js.map} +1 -1
  80. package/dist/components/{p-DQT6Eu_k.js → p-Bxg4nW6-.js} +3 -3
  81. package/dist/components/{p-DQT6Eu_k.js.map → p-Bxg4nW6-.js.map} +1 -1
  82. package/dist/components/{p-BUsDMuD3.js → p-c8fMPeu_.js} +3 -3
  83. package/dist/components/{p-BUsDMuD3.js.map → p-c8fMPeu_.js.map} +1 -1
  84. package/dist/components/{p-l6-kVCwa.js → p-wAqiaji9.js} +3 -3
  85. package/dist/components/{p-l6-kVCwa.js.map → p-wAqiaji9.js.map} +1 -1
  86. package/dist/components/{p-DCXGgFU_.js → p-wTdMzyVB.js} +3 -3
  87. package/dist/components/{p-DCXGgFU_.js.map → p-wTdMzyVB.js.map} +1 -1
  88. package/dist/components/pcm-1zhanshi-mnms-modal.js +5 -5
  89. package/dist/components/pcm-app-chat-modal.js +1 -1
  90. package/dist/components/pcm-ats-mnms-modal.js +5 -5
  91. package/dist/components/pcm-card.js +1 -1
  92. package/dist/components/pcm-hr-chat-modal.js +2 -2
  93. package/dist/components/pcm-htws-modal.js +8 -8
  94. package/dist/components/pcm-hyzj-modal.js +5 -5
  95. package/dist/components/pcm-jd-modal.js +6 -6
  96. package/dist/components/pcm-jlpp-modal.js +8 -8
  97. package/dist/components/pcm-jlsx-modal.js +5 -5
  98. package/dist/components/pcm-jlzz-modal.js +6 -6
  99. package/dist/components/pcm-mnct-modal.js +7 -7
  100. package/dist/components/pcm-mnms-modal.js +8 -8
  101. package/dist/components/pcm-mnms-zp-modal.js +8 -8
  102. package/dist/components/pcm-msbg-modal.js +5 -5
  103. package/dist/components/pcm-qgqjl-modal.js +9 -9
  104. package/dist/components/pcm-virtual-chat-modal.js +1 -1
  105. package/dist/components/pcm-zsk-chat-modal.js +2 -2
  106. package/dist/components/pcm-zygh-modal.js +7 -7
  107. package/dist/components/pcm-zygh-v2-modal.js +7 -7
  108. package/dist/esm/{components-chat-message_34.entry.js → components-chat-message_33.entry.js} +3952 -5881
  109. package/dist/esm/components-chat-message_33.entry.js.map +1 -0
  110. package/dist/esm/components-oem-virtual-chat-modal.entry.js +1827 -0
  111. package/dist/esm/components-oem-virtual-chat-modal.entry.js.map +1 -0
  112. package/dist/esm/{conversation-utils-CYf3kXhY.js → conversation-utils-B8KFe8e5.js} +3 -3
  113. package/dist/esm/{conversation-utils-CYf3kXhY.js.map → conversation-utils-B8KFe8e5.js.map} +1 -1
  114. package/dist/esm/{message-utils-BVjB8bxU.js → index-B_xjnWkF.js} +3 -23
  115. package/dist/esm/index-B_xjnWkF.js.map +1 -0
  116. package/dist/esm/index-DA8Myhft.js +10 -6
  117. package/dist/esm/{index-Bz5Co8pj.js → index-mY4LYmpx.js} +4 -4
  118. package/dist/esm/{index-Bz5Co8pj.js.map → index-mY4LYmpx.js.map} +1 -1
  119. package/dist/esm/index.js +1 -1
  120. package/dist/esm/loader.js +1 -1
  121. package/dist/esm/message-utils-DnoxSHNP.js +24 -0
  122. package/dist/esm/message-utils-DnoxSHNP.js.map +1 -0
  123. package/dist/esm/oem-cast-modal.entry.js +23 -5
  124. package/dist/esm/oem-cast-modal.entry.js.map +1 -1
  125. package/dist/esm/oem-htws-modal.entry.js +1 -1
  126. package/dist/esm/oem-jd-modal.entry.js +1 -1
  127. package/dist/esm/oem-jlpp-modal.entry.js +1 -1
  128. package/dist/esm/oem-jlzz-modal.entry.js +1 -1
  129. package/dist/esm/oem-mnct-modal.entry.js +1 -1
  130. package/dist/esm/{pcm-mnms-modal.entry.js → oem-mnms-modal.entry.js} +157 -42
  131. package/dist/esm/oem-mnms-modal.entry.js.map +1 -0
  132. package/dist/esm/oem-qgqjl-modal.entry.js +2 -2
  133. package/dist/esm/pcm-agents.js +1 -1
  134. package/dist/esm/pcm-hr-chat-modal.entry.js +1 -1
  135. package/dist/esm/pcm-jlsx-modal.entry.js +3 -2
  136. package/dist/esm/pcm-jlsx-modal.entry.js.map +1 -1
  137. package/dist/pcm-agents/components-oem-virtual-chat-modal.entry.esm.js.map +1 -0
  138. package/dist/pcm-agents/index.esm.js +1 -1
  139. package/dist/pcm-agents/oem-cast-modal.entry.esm.js.map +1 -1
  140. package/dist/pcm-agents/oem-mnms-modal.entry.esm.js.map +1 -0
  141. package/dist/pcm-agents/{p-9259b43e.entry.js → p-0cedc9bf.entry.js} +2 -2
  142. package/dist/pcm-agents/{p-df3fd806.entry.js → p-24ce19fc.entry.js} +2 -2
  143. package/dist/pcm-agents/p-30b6a88d.entry.js +2 -0
  144. package/dist/pcm-agents/p-30b6a88d.entry.js.map +1 -0
  145. package/dist/pcm-agents/p-557664fc.entry.js +2 -0
  146. package/dist/pcm-agents/{p-372e7a6f.entry.js.map → p-557664fc.entry.js.map} +1 -1
  147. package/dist/pcm-agents/{p-c2de4bf9.entry.js → p-58493403.entry.js} +2 -2
  148. package/dist/pcm-agents/p-5ca45877.entry.js +2 -0
  149. package/dist/pcm-agents/p-5ca45877.entry.js.map +1 -0
  150. package/dist/pcm-agents/{p-e22e39c0.entry.js → p-724d9471.entry.js} +2 -2
  151. package/dist/pcm-agents/{p-486793b9.entry.js → p-783b46c0.entry.js} +2 -2
  152. package/dist/pcm-agents/p-81d12737.entry.js +2 -0
  153. package/dist/pcm-agents/p-81d12737.entry.js.map +1 -0
  154. package/dist/pcm-agents/{p-BVjB8bxU.js → p-B_xjnWkF.js} +2 -2
  155. package/dist/pcm-agents/p-B_xjnWkF.js.map +1 -0
  156. package/dist/pcm-agents/{p-BPY4JZY3.js → p-CcIrA6cr.js} +2 -2
  157. package/dist/pcm-agents/{p-BPY4JZY3.js.map → p-CcIrA6cr.js.map} +1 -1
  158. package/dist/pcm-agents/p-DnoxSHNP.js +2 -0
  159. package/dist/pcm-agents/p-DnoxSHNP.js.map +1 -0
  160. package/dist/pcm-agents/p-b9368b8e.entry.js +8 -0
  161. package/dist/pcm-agents/p-b9368b8e.entry.js.map +1 -0
  162. package/dist/pcm-agents/{p-1a01b4fc.entry.js → p-d0a7e02b.entry.js} +2 -2
  163. package/dist/pcm-agents/{p-bc894cc5.entry.js → p-f4d5841a.entry.js} +2 -2
  164. package/dist/pcm-agents/p-rR0ghCa0.js +2 -0
  165. package/dist/pcm-agents/{p-dDgC2F6T.js.map → p-rR0ghCa0.js.map} +1 -1
  166. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  167. package/dist/pcm-agents/pcm-jlsx-modal.entry.esm.js.map +1 -1
  168. package/dist/types/components/oem-cast-modal/oem-cast-modal.d.ts +4 -0
  169. package/package.json +1 -1
  170. package/dist/cjs/components-chat-message_34.cjs.entry.js.map +0 -1
  171. package/dist/cjs/message-utils-DbTqMOA1.js.map +0 -1
  172. package/dist/cjs/pcm-mnms-modal.cjs.entry.js.map +0 -1
  173. package/dist/cjs/pcm-mnms-modal.entry.cjs.js.map +0 -1
  174. package/dist/esm/components-chat-message_34.entry.js.map +0 -1
  175. package/dist/esm/message-utils-BVjB8bxU.js.map +0 -1
  176. package/dist/esm/pcm-mnms-modal.entry.js.map +0 -1
  177. package/dist/pcm-agents/p-0617e6f1.entry.js +0 -2
  178. package/dist/pcm-agents/p-0617e6f1.entry.js.map +0 -1
  179. package/dist/pcm-agents/p-372e7a6f.entry.js +0 -2
  180. package/dist/pcm-agents/p-6f82d6c6.entry.js +0 -8
  181. package/dist/pcm-agents/p-6f82d6c6.entry.js.map +0 -1
  182. package/dist/pcm-agents/p-BVjB8bxU.js.map +0 -1
  183. package/dist/pcm-agents/p-dDgC2F6T.js +0 -2
  184. package/dist/pcm-agents/p-e28f36a4.entry.js +0 -2
  185. package/dist/pcm-agents/p-e28f36a4.entry.js.map +0 -1
  186. package/dist/pcm-agents/pcm-mnms-modal.entry.esm.js.map +0 -1
  187. /package/dist/pcm-agents/{p-9259b43e.entry.js.map → p-0cedc9bf.entry.js.map} +0 -0
  188. /package/dist/pcm-agents/{p-df3fd806.entry.js.map → p-24ce19fc.entry.js.map} +0 -0
  189. /package/dist/pcm-agents/{p-c2de4bf9.entry.js.map → p-58493403.entry.js.map} +0 -0
  190. /package/dist/pcm-agents/{p-e22e39c0.entry.js.map → p-724d9471.entry.js.map} +0 -0
  191. /package/dist/pcm-agents/{p-486793b9.entry.js.map → p-783b46c0.entry.js.map} +0 -0
  192. /package/dist/pcm-agents/{p-1a01b4fc.entry.js.map → p-d0a7e02b.entry.js.map} +0 -0
  193. /package/dist/pcm-agents/{p-bc894cc5.entry.js.map → p-f4d5841a.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-BVjB8bxU.js","sources":["node_modules/.pnpm/marked@9.1.6/node_modules/marked/lib/marked.esm.js","node_modules/.pnpm/marked-extended-tables@2.0.1_marked@9.1.6/node_modules/marked-extended-tables/lib/index.cjs","src/utils/message-utils.ts"],"sourcesContent":["/**\n * marked v9.1.6 - a markdown parser\n * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = typeof val === 'object' && 'source' in val ? val.source : val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nconst noopTest = { exec: () => null };\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n // TODO: Fix this rules type\n rules;\n lexer;\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n list.items[list.items.length - 1].text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const item = {\n type: 'table',\n raw: cap[0],\n header: splitCells(cap[1]).map(c => {\n return { text: c, tokens: [] };\n }),\n align: cap[2].replace(/^\\||\\| *$/g, '').split('|'),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n if (item.header.length === item.align.length) {\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n const align = item.align[i];\n if (align) {\n if (/^ *-+: *$/.test(align)) {\n item.align[i] = 'right';\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align[i] = 'center';\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align[i] = 'left';\n }\n else {\n item.align[i] = null;\n }\n }\n }\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => {\n return { text: c, tokens: [] };\n });\n }\n // parse child tokens inside headers and cells\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = this.lexer.inline(item.header[j].text);\n }\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = this.lexer.inline(row[k].text);\n }\n }\n return item;\n }\n }\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?(?:-->|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nblock.lheading = edit(block.lheading)\n .replace(/bull/g, block.bullet) // lists can interrupt\n .getRegex();\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nblock.normal = { ...block };\n/**\n * GFM Block Grammar\n */\nblock.gfm = {\n ...block.normal,\n table: '^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n};\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nblock.pedantic = {\n ...block.normal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>',\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // | Skip orphan inside strong | Consume to delim | (1) #*** | (2) a***#, a*** | (3) #***a, ***a | (4) ***# | (5) #***# | (6) a***a\n rDelimAst: /^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,\n punctuation: /^((?![*_])[\\spunctuation])/\n};\n// list of unicode punctuation marks, plus any missing characters from CommonMark spec\ninline._punctuation = '\\\\p{P}$+<=>`^|~';\ninline.punctuation = edit(inline.punctuation, 'u').replace(/punctuation/g, inline._punctuation).getRegex();\n// sequences em should skip over [title](link), `code`, <html>\ninline.blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\ninline.anyPunctuation = /\\\\[punct]/g;\ninline._escapes = /\\\\([punct])/g;\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim, 'u')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.anyPunctuation = edit(inline.anyPunctuation, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._escapes = edit(inline._escapes, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._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])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\ninline.normal = { ...inline };\n/**\n * Pedantic Inline Grammar\n */\ninline.pedantic = {\n ...inline.normal,\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\ninline.gfm = {\n ...inline.normal,\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n};\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\ninline.breaks = {\n ...inline.gfm,\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n};\n\n/**\n * Block Lexer\n */\nclass _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n // @ts-expect-error\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || _defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n let next;\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n }\n else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape(lang)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n hr() {\n return '<hr>\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `<li>${text}</li>\\n`;\n }\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n table(header, body) {\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n em(text) {\n return `<em>${text}</em>`;\n }\n codespan(text) {\n return `<code>${text}</code>`;\n }\n br() {\n return '<br>';\n }\n del(text) {\n return `<del>${text}</del>`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += '>';\n return out;\n }\n text(text) {\n return text;\n }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n}\n\n/**\n * Parsing & Compiling\n */\nclass _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || _defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\nclass _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n}\n\nclass Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n values = values.concat(this.walkTokens(genericToken[childTokens], callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n const rendererFunc = pack.renderer[prop];\n const rendererKey = prop;\n const prevRenderer = renderer[rendererKey];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererKey] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n const tokenizerFunc = pack.tokenizer[prop];\n const tokenizerKey = prop;\n const prevTokenizer = tokenizer[tokenizerKey];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[tokenizerKey] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n const hooksFunc = pack.hooks[prop];\n const hooksKey = prop;\n const prevHook = hooks[hooksKey];\n if (_Hooks.passThroughHooks.has(prop)) {\n hooks[hooksKey] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n hooks[hooksKey] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n const tokens = lexer(src, opt);\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\n\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n//# sourceMappingURL=marked.esm.js.map\n","'use strict';\n\nfunction index({ interruptPatterns = [], skipEmptyRows = true } = {}) {\n return {\n extensions: [\n {\n name: 'spanTable',\n level: 'block', // Is this a block-level or inline-level tokenizer?\n start(src) { return src.match(/\\n *([^\\n ].*\\|.*)\\n/m)?.index; }, // Hint to Marked.js to stop and check for a match\n tokenizer(src, tokens) {\n // const regex = this.tokenizer.rules.block.table;\n let regexString = '^ *([^\\\\n ].*\\\\|.*\\\\n(?: *[^\\\\s].*\\\\n)*?)' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+(?: *(?:100|[1-9][0-9]?%) *-+)?:? *(?:\\\\| *:?-+(?: *(?:100|[1-9][0-9]?%) *-+)?:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n| {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})' // Cells\n + '(?:\\\\n+|$)| {0,3}#{1,6}(?:\\\\s|$)| {0,3}>| {4}[^\\\\n]| {0,3}(?:`{3,}'\n + '(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n| {0,3}(?:[*+-]|1[.)]) |'\n + '<\\\\/?(?:address|article|aside|base|basefont|blockquote|body'\n + '|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt'\n + '|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]'\n + '|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem'\n + '|meta|nav|noframes|ol|optgroup|option|p|param|section|source'\n + '|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)'\n + '(?: +|\\\\n|\\\\/?>)|<(?:script|pre|style|textarea|!--)endRegex).*(?:\\\\n|$))*)\\\\n*|$)'; // Cells\n\n regexString = regexString.replace('endRegex', interruptPatterns.map(str => `|(?:${str})`).join(''));\n const widthRegex = / *(?:100|[1-9][0-9]?%) */g;\n const regex = new RegExp(regexString);\n const cap = regex.exec(src);\n\n if (cap) {\n const item = {\n type: 'spanTable',\n header: cap[1].replace(/\\n$/, '').split('\\n'),\n align: cap[2].replace(widthRegex, '').replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3]?.trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [],\n width: cap[2].replace(/:/g, '').replace(/-+| /g, '').split('|')\n };\n\n // Get first header row to determine how many columns\n item.header[0] = splitCells(item.header[0]);\n\n const colCount = item.header[0].reduce((length, header) => {\n return length + header.colspan;\n }, 0);\n\n if (colCount === item.align.length) {\n item.raw = cap[0];\n\n let i, j, k, row;\n\n // Get alignment row (:---:)\n let l = item.align.length;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n // Get any remaining header rows\n l = item.header.length;\n for (i = 1; i < l; i++) {\n item.header[i] = splitCells(item.header[i], colCount, item.header[i - 1], skipEmptyRows);\n }\n\n // Get main table cells\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], colCount, item.rows[i - 1], skipEmptyRows);\n }\n\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n row = item.header[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inline(row[k].text, row[k].tokens);\n }\n }\n\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inline(row[k].text, row[k].tokens);\n }\n }\n return item;\n }\n }\n },\n renderer(token) {\n let i, j, row, cell, col, text;\n let output = '<table>';\n output += '<thead>';\n for (i = 0; i < token.header.length; i++) {\n row = token.header[i];\n let col = 0;\n output += '<tr>';\n for (j = 0; j < row.length; j++) {\n cell = row[j];\n text = this.parser.parseInline(cell.tokens);\n output += getTableCell(text, cell, 'th', token.align[col], token.width[col]);\n col += cell.colspan;\n }\n output += '</tr>';\n }\n output += '</thead>';\n if (token.rows.length) {\n output += '<tbody>';\n for (i = 0; i < token.rows.length; i++) {\n row = token.rows[i];\n col = 0;\n if (!row[0].emptyRow) {\n output += '<tr>';\n for (j = 0; j < row.length; j++) {\n cell = row[j];\n text = this.parser.parseInline(cell.tokens);\n output += getTableCell(text, cell, 'td', token.align[col], token.width[col]);\n col += cell.colspan;\n }\n output += '</tr>';\n }\n }\n output += '</tbody>';\n }\n output += '</table>';\n return output;\n }\n }\n ]\n };\n}\n\nconst getTableCell = (text, cell, type, align, width) => {\n if (!cell.rowspan) {\n return '';\n }\n const tag = `<${type}`\n + `${cell.colspan > 1 ? ` colspan=${cell.colspan}` : ''}`\n + `${cell.rowspan > 1 ? ` rowspan=${cell.rowspan}` : ''}`\n + `${align ? ` align=${align}` : ''}`\n + `${width ? ` width=${width}` : ''}>`;\n return `${tag + text}</${type}>\\n`;\n};\n\nconst splitCells = (tableRow, count, prevRow = [], skipEmptyRows) => {\n const cells = [...tableRow.trim().matchAll(/(?:[^|\\\\]|\\\\.?)+(?:\\|+|$)/g)].map((x) => x[0]);\n\n // Remove first/last cell in a row if whitespace only and no leading/trailing pipe\n if (!cells[0]?.trim()) { cells.shift(); }\n if (!cells[cells.length - 1]?.trim()) { cells.pop(); }\n\n let numCols = 0;\n let i, j, trimmedCell, prevCell, prevCols;\n\n for (i = 0; i < cells.length; i++) {\n trimmedCell = cells[i].split(/\\|+$/)[0];\n cells[i] = {\n rowspan: 1,\n colspan: Math.max(cells[i].length - trimmedCell.length, 1),\n text: trimmedCell.trim().replace(/\\\\\\|/g, '|')\n // display escaped pipes as normal character\n };\n\n // Handle Rowspan\n if (trimmedCell.slice(-1) === '^' && prevRow.length) {\n // Find matching cell in previous row\n prevCols = 0;\n for (j = 0; j < prevRow.length; j++) {\n prevCell = prevRow[j];\n if ((prevCols === numCols) && (prevCell.colspan === cells[i].colspan)) {\n // merge into matching cell in previous row (the \"target\")\n cells[i].rowSpanTarget = prevCell.rowSpanTarget ?? prevCell;\n cells[i].rowSpanTarget.text += ` ${cells[i].text.slice(0, -1)}`;\n cells[i].rowSpanTarget.rowspan += 1;\n cells[i].rowspan = 0;\n break;\n }\n prevCols += prevCell.colspan;\n if (prevCols > numCols) { break; }\n }\n }\n\n numCols += cells[i].colspan;\n }\n\n // If all cells have been merged, flag as an empty row\n if (cells.length > 0 && skipEmptyRows && cells.length === cells.filter((cell) => { return cell.rowspan === 0; }).length) {\n cells[0].emptyRow = true;\n for (i = 0; i < cells.length; i++) {\n cells[i].rowSpanTarget.rowspan -= 1;\n }\n }\n\n // Force main cell rows to match header column count\n if (numCols > count) {\n cells.splice(count);\n } else {\n while (numCols < count) {\n cells.push({\n rowspan: 1,\n colspan: 1,\n text: ''\n });\n numCols += 1;\n }\n }\n return cells;\n};\n\nmodule.exports = index;\n","/**\r\n * 消息提示工具函数\r\n */\r\n\r\n/**\r\n * 显示消息提示\r\n * @param content 消息内容\r\n * @param type 消息类型\r\n * @param duration 显示时长,0表示不自动关闭\r\n */\r\nexport const showMessage = (\r\n content: string,\r\n type: 'success' | 'error' | 'info' | 'warning' = 'info',\r\n duration: number = 3000\r\n): void => {\r\n const messageEl = document.createElement('components-message') as any;\r\n messageEl.content = content;\r\n messageEl.type = type;\r\n messageEl.duration = duration;\r\n\r\n // 添加到页面顶部\r\n document.body.appendChild(messageEl);\r\n\r\n // 调用显示方法\r\n messageEl.show();\r\n}; "],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +0,0 @@
1
- import{s as t}from"./p-BPY4JZY3.js";import{S as s}from"./p-B23366TU.js";import{E as e}from"./p-C0FYX2-Z.js";function r(t){try{const s=typeof t==="string"?parseInt(t,10):t;if(isNaN(s)||s<=0){return"未知时间"}const e=new Date(s*1e3);if(isNaN(e.getTime())){return"未知时间"}const r=new Date;const n=Math.floor((r.getTime()-e.getTime())/(1e3*60*60*24));const o=e.getHours().toString().padStart(2,"0");const a=e.getMinutes().toString().padStart(2,"0");const i=(e.getMonth()+1).toString().padStart(2,"0");const c=e.getDate().toString().padStart(2,"0");if(n===0){return`今天 ${o}:${a}`}if(n===1){return`昨天 ${o}:${a}`}if(n>1&&n<7){const t=["周日","周一","周二","周三","周四","周五","周六"];return`${t[e.getDay()]} ${o}:${a}`}return`${i}-${c} ${o}:${a}`}catch{return"时间解析失败"}}async function n(n,o,a="",i=20){try{const s=await t({url:"/sdk/v1/chat/conversations",method:"GET",data:{bot_id:n,last_id:a,limit:i}});if(s.success&&s.data){const t=s.data.data||s.data.items||[];const e=typeof s.data.has_more==="boolean"?s.data.has_more:t.length>i;const n=t.slice(0,i).map((t=>({id:t.id,name:t.name||"新会话",created_at:Number(t.created_at),updated_at:Number(t.updated_at),status:t.status,message_count:t.message_count||0,timeDisplay:r(t.created_at),inputs:t.inputs})));return{items:n,hasMore:e,nextCursor:n.length>0?n[n.length-1].id:""}}return{items:[],hasMore:false,nextCursor:""}}catch(t){console.error("获取历史会话失败:",t);s.captureError(t,{action:"fetchHistoryConversations",component:o,title:"获取历史会话失败"});e.emitError({error:t,message:"获取历史会话失败"});return{items:[],hasMore:false,nextCursor:""}}}export{n as f};
2
- //# sourceMappingURL=p-dDgC2F6T.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i}from"./p-DA8Myhft.js";import{c as o}from"./p-C7m_4Gmk.js";const n="CAST-1.0";const r=(t,e,i,o,n,r)=>({scene:t,question:e,options:{C:i,A:o,S:n,T:r}});const s=["C","A","S","T"];const a={C:{name:"掌控",englishName:"Command",drive:"目标驱动"},A:{name:"感召",englishName:"Attract",drive:"关系驱动"},S:{name:"协同",englishName:"Support",drive:"稳定驱动"},T:{name:"精研",englishName:"Think",drive:"标准驱动"}};const l=[r("求职准备","招聘会现场,你想去的企业展位排着长队。","找现场负责人问能不能加快,或先谈别家、回头插空","跟排队的人聊起来,顺便打听这家公司的情况","安静排队,利用等待时间想好要说什么","先对比几家展位的岗位说明,确认哪家最值得排"),r("面试","面试官问了一个你完全没准备过的问题。","先给结论再补充理由,不纠结","轻松地承认没想过,把气氛带一下再答","稳住语速,往自己熟悉的经历上靠","先花几秒确认问题理解得对不对,再分点回答"),r("职业选择","你同时拿到两个 offer:大平台做螺丝钉,小公司独当一面。你最看重——","哪个能更快拿到话语权和结果","哪个团队的人让我更想加入","哪个更稳定、变动风险更小","把薪资、成长、行业前景列出来打分对比"),r("团队协作","小组项目出现分歧,眼看要拖期。","拍板定方向,先推进再说","私下一个个沟通,先把情绪拉回来","主动接下别人不愿做的部分,先保住进度","把分歧点写清楚,用事实判断哪个方案可行"),r("入职适应","新入职第一周,制度和流程没人系统讲。","直接问领导边界在哪,然后按自己节奏干","先跟同事熟起来,从聊天里摸清规矩","观察别人怎么做,跟着做,不轻易出头","自己翻文档,整理一份流程笔记"),r("求职准备","简历投了两周没有回音。","加大投递并直接联系 HR、找内推,主动出击","找学长学姐、发朋友圈动用关系","保持每天固定的投递节奏,不慌,继续等","复盘简历和岗位的匹配度,分析问题出在哪"),r("任务处理","领导交给你一个没做过、也没说清要求的任务。","自己定一个目标,先动手做","找相关的人聊一圈,把需求问出来","请领导明确期望和时间,按要求稳妥推进","先查资料和历史案例,把验收标准搞清楚"),r("压力应对","连续加班一周,任务还在增加。","直接跟上级谈优先级,砍掉不该我做的","找人吐槽、互相打气,靠氛围撑过去","先忍一忍,把手上的做完再说","排一个优先级表,按投入产出重新安排"),r("面试","无领导小组讨论刚开始,还没有人说话。","先抢时间定讨论框架,把节奏带起来","做气氛协调,让每个人都能说上话","认真听,等别人说完再补充","负责记录和梳理,最后做总结陈述"),r("团队协作","你发现一位比你资深的同事做法有明显问题。","直接指出来,对事不对人","找个轻松的场合旁敲侧击提一下","先不说,再观察一段时间","把问题和依据整理清楚,用书面方式反馈"),r("学习成长","换赛道需要补一门新技能,你会——","直接上手做项目,边做边补","找人带、进社群,跟着大家一起学","按部就班跟完一整套系统课程","先搞清楚知识体系结构,再逐块攻"),r("面试","面试就在明天,你只剩一个晚上准备。","挑最可能问的几个问题直接练答法","找人模拟面试,练现场感觉","把常见问题稳稳过一遍","把公司、岗位、业务查透,做一份提纲"),r("薪酬谈判","HR 给出的薪资低于你的预期。","直接谈,报出自己的数字和理由","先聊其他条件,把关系谈好再回到薪资","觉得差不多就接受,稳妥拿下机会","拿行业薪酬数据和岗位职责说明来谈"),r("组织变化","部门要推一个新流程,你判断会增加大量重复劳动。","在会上直接提出反对,并给替代方案","先私下问问其他人怎么看,联合反馈","先按新流程执行,走一段再说","算一下实际增加多少工时,用数字说话"),r("入职适应","实习期快结束,还不确定能不能留用。","直接找负责人问清留用标准和自己的差距","多和团队走动,让更多人记住我","把手上的事做扎实,等公司安排","对照岗位要求自查,把短板列出来补"),r("求职准备","一个你很想去的岗位,要求里有两条你不满足。","照投,先拿到沟通机会再说","找认识的人问问这两条到底卡不卡","先不投,去找更匹配的岗位","评估这两条的权重,能补的先补上再投"),r("团队协作","团队里有人长期不出活,已经影响到你的进度。","直接摊开谈,或者向上反馈","先了解他遇到什么困难,帮着推一把","自己多做一点,把缺口补上","把任务拆细、节点写明,让责任可追溯"),r("任务处理","你被安排去做一件明显不擅长的事。","争取换掉,或者改成由我说了算的方式做","找擅长的人搭伙一起做","先接下来,慢慢摸索着做","先研究方法和范例,把门槛降下来"),r("人际拓展","参加行业交流会,到场发现一个认识的人都没有。","直奔我想认识的关键人物","随便找人聊起来,很快就能熟","待在相对安静的位置,跟着人群走","先看议程和参会名单,挑有价值的场次和人"),r("挫折应对","你的方案被否了,理由你并不认同。","再争取一次,把逻辑讲透","找决策人私下聊,弄清楚真实顾虑","接受结果,按新方向调整","复盘对方的判断依据,看是不是我漏了什么"),r("工作偏好","日常工作里,最让你不舒服的是——","什么都要请示,自己说了不算","一整天没人交流,各干各的","计划天天变,节奏总被打乱","标准模糊,全靠“大概差不多”"),r("求职准备","求职过程中,你更愿意把时间花在——","争取更好的机会,多谈几家","拓展人脉,让机会主动找上门","把已有的机会稳稳跟进好","分析行业和岗位,找准方向再出手"),r("任务处理","项目上线前一天,发现一个不影响主流程的小问题。","不影响就先上,上完再修","拉群同步一下,看大家怎么定","按原计划上线,不擅自改动","评估影响范围,写清楚风险再决定"),r("自我认知","别人对你的第一印象,通常是——","目标感强、有主见","好接近、聊得来","靠谱、让人放心","认真、想得细"),r("表达沟通","要向完全不懂你业务的人介绍自己的工作。","直接讲我做成了什么","讲个具体的故事,让对方有画面感","按时间顺序老老实实讲一遍","先讲清楚这件事的逻辑和结构"),r("职业选择","被问到“三年后想做什么”,你的思路是——","想清楚要到什么位置,然后倒推路径","看有什么人和圈子值得靠近","把当下做好,走一步看一步","分析行业趋势和自己的能力曲线"),r("团队协作","项目庆功,让你说两句。","简短说结果和下一步","感谢每个人,把气氛带热","说两句客套的,把话头让给别人","复盘一下这次做对了什么"),r("挫折应对","一次重要的求职失败(比如终面被刷)之后。","立刻投下一批,不停下来","找人说说,情绪过了再继续","缓一缓,按原来的节奏慢慢来","复盘整个流程,找出问题点")];const d=[{id:"soc",after:7,question:"我从来没有在简历或面试中,把自己的经历说得比实际更好一些。"},{id:"c1",after:14,question:"和陌生人打交道,对我来说是一件轻松的事。"},{id:"att",after:21,question:"注意力检查:请直接选择“比较不符合”。"},{id:"c2",after:28,question:"在陌生的场合,我更愿意少说话。"}];const c=[{name:"销售代表 / 商务拓展",weights:[.85,.8,.25,.35]},{name:"客户成功 / 客户经理",weights:[.4,.8,.65,.4]},{name:"项目经理 / PMO",weights:[.75,.55,.45,.65]},{name:"产品经理",weights:[.65,.55,.35,.75]},{name:"数据分析师",weights:[.25,.2,.45,.95]},{name:"财务 / 会计",weights:[.2,.2,.7,.9]},{name:"人力资源专员",weights:[.35,.7,.65,.55]},{name:"行政 / 综合事务",weights:[.2,.4,.9,.55]},{name:"软件工程师",weights:[.3,.2,.5,.9]},{name:"运营专员",weights:[.5,.6,.5,.6]},{name:"教师 / 培训讲师",weights:[.45,.8,.6,.55]},{name:"质量管理 / 合规审核",weights:[.35,.2,.6,.95]},{name:"客服 / 服务支持",weights:[.15,.6,.9,.45]},{name:"创业者 / 业务负责人",weights:[.95,.65,.2,.5]},{name:"市场策划 / 品牌",weights:[.55,.75,.35,.6]},{name:"供应链 / 仓储物流",weights:[.45,.3,.7,.7]}];const p={C:{name:"破局者",tag:"你习惯把模糊的局面推向一个明确的方向。别人还在观望时,你已经先动了。",strengths:"目标感强,决策快,不怕承担责任。在需要快速拿结果、边界不清、压力大的场合,你反而更容易出成绩。求职中你敢于主动出击、直接对话,往往比同龄人更早拿到机会。",cautions:"节奏太快时容易忽略他人的感受和信息的完整性,可能在还没听完的时候就下了判断。初入职场时,这种风格容易被解读为“不服管”。",advice:"优先考虑结果导向、授权充分、有明确指标的岗位。面试时把“我推动了什么、拿到了什么结果”讲清楚,但要主动补一句你是怎么和别人协作的——这是面试官最容易担心的点。"},A:{name:"联结者",tag:"你天然能把人和人接上。信息、资源、机会常常是从关系里流向你的。",strengths:"表达自然,感染力强,进入新环境的适应速度快。你善于在非正式场合获取真实信息,这在求职阶段是被严重低估的优势——很多岗位的真实情况只存在于对话里。",cautions:"注意力容易被人和场面牵走,独自处理需要长时间专注、细节精确的任务时会明显吃力。也容易因为不想让人失望而答应过多。",advice:"优先考虑与人打交道密度高的岗位。面试时你的临场表现通常是加分项,但要补足“具体做了什么、数据是多少”——避免只留下“很会说”的印象。"},S:{name:"压舱石",tag:"你不追求存在感,但你在的地方事情不容易塌。稳定本身就是一种稀缺能力。",strengths:"耐性好,责任心强,配合度高,交出去的事情让人放心。在需要长期投入、流程稳定、重复中见功力的岗位上,你的复利效应最明显。",cautions:"变动和不确定会持续消耗你的能量。你倾向于自己扛而不是提出来,久了容易积压。求职中也容易因为“不好意思争取”而低估自己的价码。",advice:"优先考虑组织成熟、节奏可预期的用人单位。面试时要刻意练习把自己的贡献说出口——“这件事是我做的”这句话,你需要比别人多说几次。"},T:{name:"解析者",tag:"你信任可以被验证的东西。在别人凭感觉决定的地方,你要求一个说得通的理由。",strengths:"标准意识强,逻辑清晰,出错率低。你能发现别人忽略的漏洞,在质量、风险、数据相关的环节上是团队的防线。求职中你的准备通常比别人扎实得多。",cautions:"追求确定性可能拖慢决策,信息不足时你会倾向于不动。对模糊指令的容忍度低,也容易在标准问题上让人觉得不好推进。",advice:"优先考虑规则清晰、专业性强、有明确方法论的岗位。面试时你的准备是优势,但要注意别把答案讲得太密——先给结论,再给依据。"},CA:{name:"开拓者",tag:"既能定方向,又能把人带上车。你适合从零开始的局面。",strengths:"驱动力和感染力同时在线,能一边扛目标一边聚人。在业务拓展、新市场、新团队这类没有现成路径的场景里,你的组合最有杀伤力。",cautions:"两个维度都偏“外放”,意味着耐性和细节是你的短板。容易开局漂亮、收尾粗糙,也容易同时铺开太多事。",advice:"优先考虑增量型、拓展型岗位。给自己配一个精研型的搭档比任何自我改进都有效——这句话在面试谈团队协作时也很好用。"},CS:{name:"攻坚手",tag:"想清楚就一直干下去。你的强势不体现在气势上,而体现在不放弃上。",strengths:"有主见又有韧性,能在长周期、难啃的任务上持续投入。看起来温和,但在关键问题上你不会退让,这种组合在团队里信任度很高。",cautions:"驱动和稳定这两股力量有时会互相拉扯,让你在“该推还是该等”上内耗。外部表达偏少,功劳容易被别人代言。",advice:"优先考虑需要长期攻坚的岗位。面试时主动讲一个“很久才做成”的事——这是你最有说服力的材料。"},CT:{name:"操盘手",tag:"你要的不只是做成,而是想清楚了再做成。判断和执行你都要抓在手里。",strengths:"决策快但有依据,既敢拍板又能自证。在需要独立判断、责任重、容错低的岗位上非常合适,也是团队里少见的能同时看战略和细节的人。",cautions:"对他人的容错度偏低,容易显得难以合作。习惯自己扛判断,授权和培养他人是你的弱项。",advice:"优先考虑有决策空间的专业岗或管理岗。面试时把“我依据什么做的判断”讲透,这是你区别于纯执行者的地方。"},AS:{name:"凝聚者",tag:"你让团队变得舒服。人在你身边容易放松,也容易被留下。",strengths:"亲和又可靠,是天然的黏合剂。冲突在你手里往往会软化,新人到你身边容易上手。服务、协作、支持类工作你会做得很自然。",cautions:"两个维度都偏“他人导向”,最容易的失误是把自己的诉求排在最后。面对需要强硬的场合会退,界限感偏弱。",advice:"优先考虑人际密度高、组织氛围好的单位。求职中要提前练习拒绝和谈条件——你不是不会,是不习惯。"},AT:{name:"洞察者",tag:"你既看得懂人,也看得懂数。这两样能凑到一起的人并不多。",strengths:"能把复杂的东西讲清楚,也能从对话中提取有效信息。适合做翻译层的工作——把需求变成方案,把方案讲给不懂的人听。",cautions:"分析和表达都强,但推进力偏弱。容易停在“想明白、说明白”,而不是“做成”。也可能因为看得太清楚而迟迟不下场。",advice:"优先考虑咨询、产品、研究、培训一类的岗位。面试时要补一个亲手落地的案例,避免留下“会分析不会干”的印象。"},ST:{name:"守正者",tag:"你把事情做对,而且一直做对。可靠是你最不需要证明的东西。",strengths:"严谨、稳定、低出错率,在需要长期一致性的岗位上极难被替代。规则、流程、数据、账目这些事交给你,别人不用复查。",cautions:"变化和模糊会让你不适,主动争取的意愿低。容易被安排而不是被选择,长期下来议价能力偏弱。",advice:"优先考虑制度成熟、专业纵深强的组织。求职中要主动展示你的“不出错”值多少钱——把差错率、经手规模这类数字讲出来。"},BAL:{name:"多面手",tag:"你的四个维度没有明显短板,也没有单一的强势面。这既是弹性,也是需要注意的地方。",strengths:"适应性强,能根据场合切换风格,在多变的环境和需要跨界协调的岗位上容易生存。团队重组、轮岗、创业早期这类场景对你有利。",cautions:"没有鲜明的风格标签,在需要“一眼被记住”的求职竞争中会吃亏。也容易在职业早期方向摇摆,什么都做一点,什么都不够深。",advice:"你的突破口不在性格,而在技能纵深。尽早选定一个可积累的专业方向,用能力标签补上风格标签的空缺。面试时把适应力讲成具体案例,而不是形容词。"},LOW:{name:"待探索",tag:"本次作答的区分度不足,暂时无法给出稳定的风格判断。",strengths:"这通常不代表你没有风格,而更可能是作答过快、题目情境与你的经历距离较远,或者你正处在职业角色的过渡期。",cautions:"在剖面平坦的情况下,任何风格解读都会失真,我们选择不给结论,而不是给一个看起来像样的结论。",advice:"建议在安静的状态下重新作答一次,代入真实经历而不是理想中的自己。如果两次结果都偏平,可以到人工咨询窗口做一次深度职业访谈。"}};const h='.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;z-index:1000;overflow-y:auto}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7);position:absolute;width:100%;height:auto}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:5vh auto auto auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100%;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;max-height:100%}.pc-layout{width:80%;max-width:600px;min-width:320px}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:10px 0px 0px 0px}.modal-container.fullscreen{width:100%;height:100%;max-height:100%;border-radius:16px 16px 0 0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{cursor:pointer;width:100%}.upload-placeholder{transition:all 0.3s ease;display:flex;flex-direction:column;align-items:center;background:rgba(0, 0, 0, 0.02);border:1px dashed #d9d9d9;border-radius:8px;cursor:pointer}.upload-placeholder:hover{border:1px dashed #1890ff}.upload-placeholder img{margin-top:8px;width:50px;height:50px}.upload-placeholder .upload-text{margin:4px 0;color:#332F39;font-size:14px}.upload-placeholder .upload-hint{font-size:14px;color:#949AA5;margin-top:8px;padding:0px 10px;text-align:center;white-space:normal;word-wrap:break-word;word-break:break-all;line-height:1.4}.file-item{position:relative;padding:16px;border:1px solid #e2e8f0;border-radius:8px;transition:border-color 0.3s;cursor:pointer;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.file-item:hover{border-color:#0D75FB}.file-item-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.file-icon{color:#0D75FB;flex-shrink:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 50px)}.remove-file{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;padding:4px;margin-left:8px;border-radius:4px;transition:all 0.2s;min-width:30px;min-height:30px}.remove-file:hover{background-color:#f1f5f9;color:#475569}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);background:linear-gradient(150deg, #2a6ee933, #0000 50%) 0 0 / 400px 200px no-repeat, #fff;overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:calc(100% - 16px);border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s;padding:8px}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.interview-settings-section{margin-bottom:24px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.settings-row{margin-bottom:20px}.settings-row:last-child{margin-bottom:0}.settings-label{display:block;font-weight:500;color:#333;margin-bottom:12px;font-size:14px}.question-number-section{width:100%}.slider-container{display:flex;align-items:center;gap:12px}.question-slider{flex:1;height:6px;background:#ddd;outline:none;border-radius:3px;-webkit-appearance:none;appearance:none}.question-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.question-slider::-moz-range-thumb{width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;border:none;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.slider-value{font-weight:600;color:#0D75FB;font-size:14px;min-width:30px;text-align:center}.analysis-toggle-section{width:100%}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:0.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:0.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}input:checked+.toggle-slider{background-color:#0D75FB}input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{font-size:14px;color:#666;font-weight:500}.submit-button{margin-top:10px;padding:10px 30px;background:#0D75FB;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center}.submit-button:hover{background-color:#40a9ff}.submit-button:disabled{background-color:rgba(0,0,0,0.04);color:rgba(0,0,0,0.25);cursor:not-allowed}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0, 0, 0, 0.1);border-radius:50%;border-top-color:var(--pcm-primary-color, #1890ff);animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{font-size:16px;color:var(--pcm-text-color, #333)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.header-history-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#bbb;cursor:pointer;font-size:13px;font-family:inherit;line-height:1;transition:all 0.2s ease;flex-shrink:0;white-space:nowrap}.header-history-button svg{width:16px;height:16px;display:block;flex-shrink:0}.header-history-button:hover{background-color:rgba(0, 0, 0, 0.04);color:#666}.header-history-button:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.history-drawer-content{height:100%;display:flex;flex-direction:column}.conversation-list{flex:1;overflow-y:auto;padding:8px 0}.loading-conversations,.empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999}.loading-conversations .loading-spinner-small{margin-bottom:12px}.conversation-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 8px 4px 8px;border-radius:8px;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent}.conversation-item:hover{background:#f5f5f5}.conversation-info{flex:1;min-width:0}.conversation-title{font-size:14px;font-weight:500;color:#262626;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#8c8c8c}.conversation-time{flex-shrink:0}.message-count{flex-shrink:0}.conversation-status{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.conversation-status.completed{background:#f6ffed;color:#52c41a}.conversation-status.running{background:#fff7e6;color:#fa8c16}.header-history-entry{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:4px 8px;border:none;border-radius:4px;background:#e6f7ff;color:#1890ff;cursor:pointer;font-size:12px;font-family:inherit;line-height:1;white-space:nowrap;transition:all 0.2s ease}.header-history-entry:hover{background:#bae7ff;color:#0958d9;transform:translateY(-1px)}.header-history-entry:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 16px;border-top:1px solid #f0f0f0}.history-pagination-button{min-width:72px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#595959;cursor:pointer;font-size:12px;transition:all 0.2s ease}.history-pagination-button:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#e6f7ff}.history-pagination-button:disabled{border-color:#f0f0f0;color:#bfbfbf;background:#fafafa;cursor:not-allowed}.history-pagination-info{flex:1;text-align:center;color:#8c8c8c;font-size:12px}';const u=':host{--cast-primary:#3f7ff0;--cast-primary-soft:#edf4ff;--cast-text:#141923;--cast-secondary:#8a909b;--cast-border:#e3e5e8;--cast-surface:#ffffff;display:block;font-family:"Microsoft YaHei", "PingFang SC", Arial, sans-serif}.cast-overlay{align-items:flex-start}.cast-modal{max-width:600px;min-height:430px;max-height:90vh;border-radius:10px;box-shadow:0 16px 44px rgba(31, 40, 58, 0.16)}.cast-close-button{position:absolute;top:10px;right:10px;z-index:4}.close-confirm-container{position:relative;z-index:100}.close-confirm-message{margin-bottom:16px;color:#595959;font-size:16px;line-height:1.5}.cast-scroll-area{flex:1;overflow-y:auto;overscroll-behavior:contain}.cast-content{width:100%;min-height:430px;padding:46px 26px 22px;box-sizing:border-box;color:var(--cast-text)}.brand-line{display:flex;align-items:center;gap:8px;color:var(--cast-secondary);font-size:13px;line-height:20px}.brand-dot{width:6px;height:6px;border-radius:50%;background:var(--cast-primary)}.intro-content h1{margin:17px 0 8px;font-size:21px;line-height:1.4;letter-spacing:0.01em}.intro-description,.privacy-note{margin:0;color:var(--cast-secondary);font-size:13px;line-height:1.7}.dimension-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:9px;margin:20px 0 24px}.dimension-card{min-height:72px;padding:14px;border:1px solid var(--cast-border);border-radius:8px;background:var(--cast-surface);box-shadow:0 1px 3px rgba(31, 40, 58, 0.08);box-sizing:border-box}.dimension-card strong{font-size:14px}.dimension-card strong span{margin-right:3px;font-size:15px}.dimension-card p{margin:8px 0 0;color:var(--cast-secondary);font-size:13px}.primary-button{width:100%;min-height:45px;padding:10px 18px;border:0;border-radius:6px;background:var(--cast-primary);color:#fff;font:inherit;font-size:15px;letter-spacing:0.14em;cursor:pointer;transition:background-color 0.2s, transform 0.2s}.primary-button:hover{background:#2f6fdd}.primary-button:active{transform:scale(0.99)}.primary-button:focus-visible,.answer-option:focus-visible,.validity-options button:focus-visible,.quiz-footer button:focus-visible,.phase-tabs span:focus-visible{outline:3px solid rgba(63, 127, 240, 0.28);outline-offset:2px}.privacy-note{margin-top:10px}.quiz-content{padding-top:46px}.progress-track{height:2px;overflow:hidden;background:var(--cast-border)}.progress-track span{display:block;height:100%;background:var(--cast-primary);transition:width 0.25s ease}.question-meta{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eceef1;color:var(--cast-secondary);font-size:12px}.question-meta span:first-child{color:#263044;font-family:Georgia, serif}.phase-tabs{display:flex;gap:8px;margin-top:14px}.phase-tabs span,.validity-hint{padding:4px 8px;border:1px solid var(--cast-border);border-radius:6px;color:#a2a7af;font-size:12px;line-height:16px}.phase-tabs span.active{border-color:var(--cast-primary);background:var(--cast-primary-soft);color:var(--cast-primary)}.validity-hint{display:inline-block;margin-top:14px;border-color:var(--cast-primary);color:var(--cast-primary)}.quiz-content h2{margin:13px 0 15px;font-size:16px;line-height:1.7}.option-list{display:flex;flex-direction:column;gap:8px}.answer-option{width:100%;min-height:47px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #dfe1e5;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(31, 40, 58, 0.08);color:#4f5662;font:inherit;font-size:13px;line-height:1.7;text-align:left;cursor:pointer;transition:border-color 0.18s, background-color 0.18s, box-shadow 0.18s}.answer-option:hover{border-color:#9dbcf5;background:#fbfdff}.answer-option.selected-most,.answer-option.selected-most:disabled{border-color:var(--cast-primary);background:var(--cast-primary-soft);box-shadow:0 0 0 1px rgba(63, 127, 240, 0.08);color:#2867d8;cursor:default;opacity:1}.option-letter{flex:0 0 16px;color:#a5aab3;font-family:Georgia, serif}.selected-most .option-letter{color:var(--cast-primary)}.answer-option.selected-least{border-color:#9ba2ad;border-style:dashed;background:#f7f8fa;color:#777f8b}.answer-mark{flex:0 0 auto;margin-left:auto;color:inherit;font-size:11px;white-space:nowrap}.validity-options{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:7px}.validity-options button{min-height:72px;padding:8px 4px;border:1px solid var(--cast-border);border-radius:8px;background:#fff;color:var(--cast-secondary);font:inherit;font-size:11px;cursor:pointer}.validity-options button:hover,.validity-options button.selected{border-color:var(--cast-primary);background:var(--cast-primary-soft);color:var(--cast-primary)}.validity-options button.selected strong{color:var(--cast-primary)}.validity-options strong,.validity-options span{display:block}.validity-options strong{margin-bottom:8px;color:var(--cast-text);font-size:18px}.quiz-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid #eceef1;color:#acb1ba;font-size:12px}.quiz-footer button{padding:5px 0;border:0;background:transparent;color:#7e8795;font:inherit;cursor:pointer}.quiz-footer button:disabled{color:#d7dade;cursor:default}.quiz-footer .saved-next-button{color:var(--cast-primary)}.result-content{padding:46px 36px 20px}.result-label{color:#a2a8b2;font-size:12px}.result-content>h1{margin:7px 0 1px;font-size:23px;line-height:1.3}.result-code{margin:0;color:#7f91ad;font-size:12px;font-weight:400}.result-tag{margin:12px 0 18px;padding-bottom:18px;border-bottom:1px solid #e8eaed;color:#949ba6;font-size:13px;line-height:1.8}.score-list{display:grid;gap:15px}.score-row>div:first-child{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:16px}.score-row>div:first-child strong>span{color:var(--cast-text)}.score-row>div:first-child>span{color:#9097a1;font-size:12px;font-weight:400}.score-track{position:relative;height:4px;border-radius:2px;background:#e9eaec;overflow:hidden}.score-track i{position:absolute;top:0;bottom:0;left:50%;width:1px;z-index:1;background:#bfc4cb}.score-track span{position:absolute;top:0;bottom:0;background:var(--cast-primary)}.job-matches{margin-top:30px}.result-section-label{margin-bottom:7px;color:#a2a8b2;font-size:12px}.job-match-row{display:flex;justify-content:space-between;align-items:center;min-height:40px;border-bottom:1px solid #e8eaed;color:#3f4651;font-size:13px}.job-match-row strong{color:#111722;font-size:13px}.quality-warning{margin:22px 0 0;padding:0;border:0;background:transparent;color:#a0a6af;font-size:12px;line-height:1.7}.quality-warning strong{font-weight:400}.result-content .primary-button{margin-top:26px}@media screen and (max-width: 600px){.cast-overlay{padding:0}.cast-modal{width:100%;min-width:0;min-height:100%;max-height:100%;margin:0;border-radius:0}.cast-content{min-height:100%;padding:46px 20px 24px}.result-content{padding:46px 20px 20px}.dimension-grid{gap:8px}.dimension-card{padding:12px}.validity-options{grid-template-columns:1fr}.validity-options button{min-height:46px;display:flex;align-items:center;gap:12px;padding:8px 14px;text-align:left}.validity-options strong{margin:0}}@media (prefers-reduced-motion: reduce){.primary-button,.answer-option,.progress-track span{transition:none}}';const g=":host{font-size:16px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-weight:normal;font-style:normal;font-variant:normal;line-height:1.5;letter-spacing:normal;word-spacing:normal;color:#333;text-align:left;text-indent:0;text-transform:none;white-space:normal;word-wrap:normal;word-break:normal;visibility:visible;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;border-collapse:separate;border-spacing:0;caption-side:top;empty-cells:show;table-layout:auto;quotes:auto;cursor:auto;direction:ltr;orphans:2;widows:2;page-break-inside:auto;text-decoration:none;text-shadow:none;box-sizing:border-box;writing-mode:horizontal-tb;text-orientation:mixed}";const x=class{constructor(i){t(this,i);this.modalClosed=e(this,"modal-closed");this.assessmentComplete=e(this,"assessment-complete")}isOpen=false;zIndex=1e3;fullscreen=false;isNeedClose=true;modalClosed;assessmentComplete;_screen="intro";_questionIndex=0;_phase=1;_mostDimension;_answers=[];_result;_showCloseConfirmModal=false;_deck=[];_questionStartedAt=0;handleIsOpenChange(t){if(t){this._resetAssessment()}else{this._showCloseConfirmModal=false}}componentWillLoad(){o.setItem("modal-zIndex",this.zIndex);this._resetAssessment()}_shuffleOptions(t){const e=s.map((e=>({dimension:e,text:t.options[e]})));for(let t=e.length-1;t>0;t--){const i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]]}return e}_createDeck(){const t=[];l.forEach(((e,i)=>{t.push({kind:"situation",scene:e.scene,question:e.question,options:this._shuffleOptions(e)});const o=d.find((t=>t.after===i+1));if(o){t.push({kind:"validity",id:o.id,scene:"作答核查",question:o.question})}}));return t}_resetAssessment(){this._deck=this._createDeck();this._screen="intro";this._questionIndex=0;this._phase=1;this._mostDimension=undefined;this._answers=new Array(this._deck.length).fill(undefined);this._result=undefined;this._questionStartedAt=0}_startAssessment=()=>{this._screen="quiz";this._questionStartedAt=performance.now()};_handleClose=()=>{if(this._screen!=="quiz"){this.modalClosed.emit();return}this._showCloseConfirmModal=true};_handleCloseConfirm=()=>{this._showCloseConfirmModal=false;this.modalClosed.emit()};_handleCloseCancel=()=>{this._showCloseConfirmModal=false};_selectSituationOption(t){if(this._phase===1){this._mostDimension=t.dimension;this._phase=2;return}if(t.dimension===this._mostDimension||!this._mostDimension)return;this._answers[this._questionIndex]={kind:"situation",most:this._mostDimension,least:t.dimension,mostIndex:this._getCurrentSituationItem().options.findIndex((t=>t.dimension===this._mostDimension)),duration:performance.now()-this._questionStartedAt};this._answers=[...this._answers];this._goToNextQuestion()}_selectValidityOption(t){this._answers[this._questionIndex]={kind:"validity",value:t,duration:performance.now()-this._questionStartedAt};this._answers=[...this._answers];this._goToNextQuestion()}_getCurrentSituationItem(){return this._deck[this._questionIndex]}_goToNextQuestion(){if(this._questionIndex>=this._deck.length-1){this._completeAssessment();return}this._questionIndex+=1;this._phase=1;this._mostDimension=undefined;this._questionStartedAt=performance.now()}_goToPreviousQuestion=()=>{if(this._questionIndex===0)return;this._questionIndex-=1;this._phase=1;this._mostDimension=undefined;this._questionStartedAt=performance.now()};_goToSavedNextQuestion=()=>{if(!this._answers[this._questionIndex])return;this._goToNextQuestion()};_getValidityValue(t){const e=this._deck.findIndex((e=>e.kind==="validity"&&e.id===t));const i=this._answers[e];return i?.kind==="validity"?i.value:3}_calculateCosineSimilarity(t,e){const i=t.reduce(((t,i,o)=>t+i*e[o]),0);const o=Math.sqrt(t.reduce(((t,e)=>t+e*e),0));const n=Math.sqrt(e.reduce(((t,e)=>t+e*e),0));return o&&n?i/(o*n):0}_calculateJobMatches(t){const e=s.map((e=>t[e]));return c.map((t=>{const i=t.weights.reduce(((t,e)=>t+e),0)/t.weights.length;const o=t.weights.map((t=>t-i));const n=this._calculateCosineSimilarity(e,o);return{name:t.name,percentage:Math.round((n+1)/2*100)}})).sort(((t,e)=>e.percentage-t.percentage)).slice(0,6)}_calculateResult(){const t={C:0,A:0,S:0,T:0};const e=[];let i=0;let o=0;this._answers.forEach((n=>{if(n?.kind!=="situation")return;o+=1;t[n.most]+=2;t[n.least]-=1;e.push(n.mostIndex);if(n.duration<1500)i+=1}));const n=s.reduce(((e,i)=>({...e,[i]:(t[i]-7)/12})),{});const r=[];if(i/o>.4)r.push(`作答速度偏快(${Math.round(i/o*100)}% 的情境题用时不足 1.5 秒)`);let a=1;let l=1;for(let t=1;t<e.length;t++){a=e[t]===e[t-1]?a+1:1;l=Math.max(l,a)}if(l>=5)r.push(`存在连续 ${l} 次选择同一位置选项的情况`);if(this._getValidityValue("soc")>=5)r.push("社会赞许倾向偏高,结果可能偏理想化");if(this._getValidityValue("att")!==2)r.push("注意力检查题未通过");if(Math.abs(this._getValidityValue("c1")+this._getValidityValue("c2")-6)>=3)r.push("一致性题组存在矛盾作答");const d=[...s].sort(((t,e)=>n[e]-n[t]));const c=n[d[0]]-n[d[3]];let h;if(r.length>=3||c<.35)h="LOW";else if(c<.75)h="BAL";else if(n[d[0]]-n[d[1]]<.5){h=s.filter((t=>t===d[0]||t===d[1])).join("")}else h=d[0];const u=p[h];return{type:h,name:u.name,tag:u.tag,strengths:u.strengths,cautions:u.cautions,advice:u.advice,rawScores:t,standardScores:n,jobMatches:this._calculateJobMatches(n),qualityWarnings:r,isReferenceOnly:r.length>0,completedAt:(new Date).toISOString()}}_createAnswerRecords(){return this._deck.flatMap(((t,e)=>{const i=this._answers[e];if(t.kind==="situation"&&i?.kind==="situation"){return[{kind:"situation",index:e+1,scene:t.scene,question:t.question,options:t.options.map((t=>({...t}))),most:i.most,least:i.least,mostIndex:i.mostIndex,duration:i.duration}]}if(t.kind==="validity"&&i?.kind==="validity"){return[{kind:"validity",index:e+1,id:t.id,scene:t.scene,question:t.question,value:i.value,duration:i.duration}]}return[]}))}_completeAssessment(){const t=this._calculateResult();const e={version:n,resultTitle:t.name,reportJson:JSON.stringify(t),answerRecordsJson:JSON.stringify(this._createAnswerRecords())};this._result=t;this._screen="result";this.assessmentComplete.emit(e)}_renderCloseButton(){if(!this.isNeedClose)return null;return i("button",{class:"close-button cast-close-button",type:"button","aria-label":"关闭测评",onClick:this._handleClose},i("span",{"aria-hidden":"true"},"×"))}_renderIntro(){return i("main",{class:"cast-content intro-content"},i("div",{class:"brand-line"},i("span",{class:"brand-dot","aria-hidden":"true"}),"聘才猫 · CAST 才型测评"),i("h1",null,"才型 · 职业性格测评"),i("p",{class:"intro-description"},"32 道题 / 约 6 分钟。按顺序作答,完成后立即查看结果。"),i("div",{class:"dimension-grid"},s.map((t=>i("div",{class:"dimension-card"},i("strong",null,i("span",null,t)," ",a[t].name),i("p",null,a[t].drive))))),i("button",{class:"primary-button",type:"button",onClick:this._startAssessment},"开始测评"),i("p",{class:"privacy-note"},"仅记录选项与作答用时,不采集姓名与联系方式;结果不用于录用决策。"))}_renderSituationOptions(t){const e=this._answers[this._questionIndex];const o=e?.kind==="situation"?e:undefined;const n=this._mostDimension??o?.most;const r=this._mostDimension?undefined:o?.least;return i("div",{class:"option-list",role:"group","aria-label":this._phase===1?"选择最符合你的选项":"选择最不符合你的选项"},t.options.map(((t,e)=>{const o=t.dimension===n;const s=t.dimension===r;return i("button",{class:{"answer-option":true,"selected-most":o,"selected-least":s},type:"button",disabled:this._phase===2&&o,"aria-pressed":o||s?"true":"false",onClick:()=>this._selectSituationOption(t)},i("span",{class:"option-letter"},"ABCD"[e]),i("span",null,t.text),o&&i("span",{class:"answer-mark"},"最符合"),s&&i("span",{class:"answer-mark"},"最不符合"))})))}_renderValidityOptions(){const t=["非常不符合","比较不符合","一般","比较符合","非常符合"];const e=this._answers[this._questionIndex];const o=e?.kind==="validity"?e.value:undefined;return i("div",{class:"validity-options",role:"group","aria-label":"选择符合程度"},t.map(((t,e)=>i("button",{class:{selected:o===e+1},type:"button","aria-pressed":o===e+1?"true":"false",onClick:()=>this._selectValidityOption(e+1)},i("strong",null,e+1),i("span",null,t)))))}_renderQuiz(){const t=this._deck[this._questionIndex];const e=this._questionIndex/this._deck.length*100;const o=Boolean(this._answers[this._questionIndex]);return i("main",{class:"cast-content quiz-content"},i("div",{class:"progress-track","aria-hidden":"true"},i("span",{style:{width:`${e}%`}})),i("div",{class:"question-meta"},i("span",null,String(this._questionIndex+1).padStart(2,"0")," / ",this._deck.length),i("span",null,t.scene)),t.kind==="situation"?i("div",{class:"phase-tabs","aria-label":"当前选择步骤"},i("span",{class:{active:this._phase===1}},"1 最符合我"),i("span",{class:{active:this._phase===2}},"2 最不符合我")):i("div",{class:"validity-hint"},"请选择这句话符合你的程度"),i("h2",null,t.question),t.kind==="situation"?this._renderSituationOptions(t):this._renderValidityOptions(),i("div",{class:"quiz-footer"},i("button",{type:"button",disabled:this._questionIndex===0,onClick:this._goToPreviousQuestion},"← 上一题"),o&&this._phase===1?i("button",{type:"button",class:"saved-next-button",onClick:this._goToSavedNextQuestion},"保留原答案,下一题 →"):i("span",null,t.kind==="situation"?this._phase===1?"先选最符合":"再选最不符合":"选择后自动进入下一题")))}_renderResult(){if(!this._result)return null;const t=p[this._result.type];return i("main",{class:"cast-content result-content"},i("div",{class:"result-label"},"你的才型"),i("h1",null,t.name),i("p",{class:"result-code"},this._result.type==="BAL"||this._result.type==="LOW"?"CAST · 均衡剖面":`${this._result.type} 型`),i("p",{class:"result-tag"},t.tag),i("div",{class:"score-list"},s.map((t=>{const e=this._result.standardScores[t];const o=Math.min(Math.abs(e)/2.2,1)*50;return i("div",{class:`score-row score-${t.toLowerCase()}`},i("div",null,i("strong",null,a[t].name," ",i("span",null,a[t].englishName)),i("span",null,e>=0?"+":"",e.toFixed(2))),i("div",{class:"score-track"},i("i",null),i("span",{style:{left:e>=0?"50%":`${50-o}%`,width:`${o}%`}})))}))),i("div",{class:"job-matches"},i("div",{class:"result-section-label"},"匹配岗位"),this._result.jobMatches.map((t=>i("div",{class:"job-match-row"},i("span",null,t.name),i("strong",null,t.percentage,"%"))))),this._result.qualityWarnings.length>0&&i("p",{class:"quality-warning"},i("strong",null,"作答提示:"),this._result.qualityWarnings.join(";"),"。本次结果已标记为“参考”,不计入常模样本库。"),i("button",{class:"primary-button",type:"button",onClick:()=>this._resetAssessment()},"重新测一次"))}render(){if(!this.isOpen)return null;return i("div",{class:{"modal-overlay":true,"fullscreen-overlay":this.fullscreen,"cast-overlay":true},style:{zIndex:String(this.zIndex)}},i("div",{class:{"modal-container":true,fullscreen:this.fullscreen,"pc-layout":true,"cast-modal":true}},this._renderCloseButton(),i("div",{class:"cast-scroll-area"},this._screen==="intro"&&this._renderIntro(),this._screen==="quiz"&&this._renderQuiz(),this._screen==="result"&&this._renderResult()),i("div",{class:"close-confirm-container"},i("components-confirm-modal",{isOpen:this._showCloseConfirmModal,modalTitle:"确认关闭?",okText:"确认关闭",cancelText:"继续测评",okType:"danger",maskClosable:false,onOk:this._handleCloseConfirm,onCancel:this._handleCloseCancel,onClosed:this._handleCloseCancel},i("div",{class:"close-confirm-message"},"关闭后当前作答进度和答案不会保存,确认要关闭吗?")))))}static get watchers(){return{isOpen:["handleIsOpenChange"]}}};x.style=h+(u+g);export{x as oem_cast_modal};
2
- //# sourceMappingURL=p-e28f36a4.entry.js.map